From c4cc315e6b46adabc9f649c7b14e6c2b0bcc3346 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期四, 10 四月 2025 14:00:42 +0800 Subject: [PATCH] 修改检验任务 --- src/views/business/materialOrder/customsInspection.vue | 917 ++++++++++++++++++++++++-------------------------------- 1 files changed, 393 insertions(+), 524 deletions(-) diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue index 0f6f2c4..538acdd 100644 --- a/src/views/business/materialOrder/customsInspection.vue +++ b/src/views/business/materialOrder/customsInspection.vue @@ -5,23 +5,25 @@ <div> <span>閲囪喘璁㈠崟淇℃伅</span> <ul class="tab" v-if="active > 1 && isShowTab"> - <li v-for="(m,i) in dataTitle" :key="i" :class="{active:i===dataIndex}" @click="handleDataTab(m,i)">{{m.label}}</li> + <li v-for="(m, i) in dataTitle" :key="i" :class="{ active: i === dataIndex }" @click="handleDataTab(m, i)"> + {{ m.label }}</li> </ul> </div> <div> - <el-select v-show="active==1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" style="margin-right: 10px;" - @change="selectInsOrderTemplateByIdList"> + <el-select v-show="active == 1" v-model="template" placeholder="涓嬪崟妯℃澘" size="small" style="margin-right: 10px;" + @change="selectInsOrderTemplateByIdList"> <el-option v-for="(a, ai) in templates" :key="ai" :label="a.name" :value="a.id"> <span style="float: left">{{ a.name }}</span> <i class="el-icon-delete" style="float: right; color: #66b1ff; font-size: 16px" - @click.stop="handleDelete(a)"></i> + @click.stop="handleDelete(a)"></i> </el-option> </el-select> - <el-button v-show="active==1" size="small" @click="templateDia=true"> + <el-button v-show="active == 1" size="small" @click="templateDia = true"> <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span> </el-button> - <el-button v-show="active==1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="small" type="primary" @click="noNeedCheck">鍏嶆</el-button> - <el-button v-show="active==1" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button> + <el-button v-show="active == 1 && addObj.orderType === '杩涘巶妫�楠�'" :loading="noNeedCheckLoad" size="small" + type="primary" @click="noNeedCheck">鍏嶆</el-button> + <el-button v-show="active == 1" :loading="saveLoad" size="small" type="primary" @click="save">鎻愪氦</el-button> <el-button size="small" @click="goBack"> <span style="color: #3A7BFA;">杩斿洖</span> </el-button> @@ -33,42 +35,41 @@ <el-row> <el-col :span="6"> <el-form-item class="addObj-form-item" label="閲囪喘璁㈠崟鍙�:"> - <el-input v-model="addObj.orderNo" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.orderNo" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="濮旀墭鍗曚綅:"> - <el-input v-model="addObj.company" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.company" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鎺ユ敹鏃堕棿:"> - <el-date-picker - v-model="addObj.receiverDate" - disabled - placeholder="閫夋嫨鏃ユ湡" - size="small" - style="width: 100%;" - type="date" - value-format="yyyy-MM-dd"> + <el-date-picker v-model="addObj.receiverDate" disabled placeholder="閫夋嫨鏃ユ湡" size="small" + style="width: 100%;" type="date" value-format="yyyy-MM-dd"> </el-date-picker> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="闆朵欢鍙�:"> - <el-input v-model="addObj.partNo" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.partNo" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鏍峰搧鍚嶇О:"> - <el-input v-model="addObj.sample" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.sample" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鏍峰搧鎬绘暟:"> - <el-input v-model="addObj.qtyArrived" class="addObj-info" clearable disabled placeholder="" size="small"></el-input> + <el-input v-model="addObj.qtyArrived" class="addObj-info" clearable disabled placeholder="" + size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> @@ -90,22 +91,24 @@ </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="鎶芥鏁伴噺:" prop="testQuantity"> - <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info" - clearable - placeholder="璇峰~鍐欐娊妫�鏁伴噺" size="small"></el-input> + <el-input v-model="addObj.testQuantity" :disabled="active > 1" class="addObj-info" clearable + placeholder="璇峰~鍐欐娊妫�鏁伴噺" size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="妫�楠岀被鍒�:" prop="orderType"> - <el-select v-model="addObj.orderType" :disabled="active>1 || orderType==1" clearable size="small" style="width: 100%"> - <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label" :value="a.value"></el-option> + <el-select v-model="addObj.orderType" :disabled="active > 1 || orderType == 1" clearable size="small" + style="width: 100%"> + <el-option v-for="a in dict.type.check_type" :key="a.value" :label="a.label" + :value="a.value"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="瑙勬牸鍨嬪彿:" placeholder="璇峰~鍐�" prop="partDetail"> <el-tooltip :content="addObj.partDetail" :disabled="!addObj.partDetail"> - <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" size="small"></el-input> + <el-input v-model="addObj.partDetail" :disabled="active > 1" clearable class="addObj-info" + size="small"></el-input> </el-tooltip> </el-form-item> </el-col> @@ -113,226 +116,206 @@ <el-row> <el-col :span="6"> <el-form-item class="addObj-form-item" label="绱ф�ョ▼搴�:" placeholder="璇烽�夋嫨" prop="type"> - <el-select v-model="addObj.type" :disabled="active>1" class="addObj-info" clearable size="small" style="width: 100%"> - <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label" :value="a.value"></el-option> + <el-select v-model="addObj.type" :disabled="active > 1" class="addObj-info" clearable size="small" + style="width: 100%"> + <el-option v-for="a in dict.type.urgency_level" :key="a.value" :label="a.label" + :value="a.value"></el-option> </el-select> </el-form-item> </el-col> - <el-col :span="6"> + <!-- <el-col :span="6"> <el-form-item class="addObj-form-item" label="绾﹀畾鏃堕棿:" prop="appointed"> - <el-date-picker - v-model="addObj.appointed" - :disabled="active > 1" - format="yyyy-MM-dd" - placeholder="閫夋嫨鏃ユ湡" - size="small" - style="width: 100%" - type="date" - value-format="yyyy-MM-dd"> + <el-date-picker v-model="addObj.appointed" :disabled="active > 1" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" + size="small" style="width: 100%" type="date" value-format="yyyy-MM-dd"> </el-date-picker> + </el-form-item> + </el-col> --> + <el-col :span="6"> + <el-form-item class="addObj-form-item" label="鎶ユ绫诲瀷:"> + <el-input v-model="addObj.inspectionType" class="addObj-info" clearable disabled size="small"></el-input> + </el-form-item> + </el-col> + <el-col :span="6"> + <el-form-item class="addObj-form-item" label="杞﹂棿鍚嶇О:"> + <el-input v-model="addObj.workShopName" class="addObj-info" clearable disabled size="small"></el-input> </el-form-item> </el-col> <el-col :span="6"> <el-form-item class="addObj-form-item" label="澶囨敞:"> - <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2}" :disabled="active>1" :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable - size="small" type="textarea"></el-input> + <el-input v-model="addObj.remark" :autosize="{ minRows: 2, maxRows: 2 }" :disabled="active > 1" + :placeholder="active > 1 ? '' : '璇疯緭鍏�'" clearable size="small" type="textarea"></el-input> </el-form-item> </el-col> </el-row> </el-form> </div> <div> - <div style="display: flex;justify-content: space-between;"> - <div v-if="active==1"> + <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px"> + <div v-if="active == 1"> <el-form :inline="true" :model="addObj1" label-width="90px"> - <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px"> - <el-select v-model="model" :placeholder="active>1 ? '' : '璇疯緭鍏�'" - allow-create clearable default-first-option filterable - size="small" - @change="changeModel"> - <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> - </el-option> - </el-select> - </el-form-item> - <el-form-item label="妫�楠屾爣鍑�:"> - <el-select v-model="standardMethodListId" :loading="methodLoad" - :placeholder="active>1 ? '' : '璇疯緭鍏�'" clearable size="small" - @change="changeStandardMethodListId" @focus="methodFocus"> - <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> - </el-option> - </el-select> + <el-form-item label="闄勪欢鏌ョ湅:" style="margin-bottom: 6px;margin-top: 6px"> + <el-button type="text" @click="handleFileDialog"> + <i class="el-icon-document"></i> + 杞﹂棿闄勪欢鏌ョ湅 + </el-button> </el-form-item> </el-form> </div> - <div style="margin-top: 3px"> - <el-button v-show="active==1" :disabled="sampleList.length === 2" size="small" type="primary" @click="handleSplitCountNum">鎷嗗垎</el-button> + <el-button type="text" @click="handleFileDialog" v-show="active != 1"> + <i class="el-icon-document"></i> + 杞﹂棿闄勪欢鏌ョ湅 + </el-button> + <el-dialog :visible.sync="fileDialogVisible" title="闄勪欢鏌ョ湅" width="80%"> + <fileList :currentNo="addObj.workShopId" v-if="fileDialogVisible" :isLook="true" /> + </el-dialog> + <div style="margin-bottom: 6px;margin-top: 6px"> + <el-button v-show="active == 1" :disabled="sampleList.length === 2" size="small" type="primary" + @click="handleSplitCountNum">鎷嗗垎</el-button> </div> </div> - <el-table ref="sampleTable" :data="sampleList" - class="el-table sampleTable" - highlight-current-row - max-height="400px" - tooltip-effect="dark" - @selection-change="selectSample" @row-click="rowClick"> - <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column> + <el-table ref="sampleTable" :data="sampleList" class="el-table sampleTable" highlight-current-row + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border max-height="400px" tooltip-effect="dark" + @selection-change="selectSample" @row-click="rowClick"> + <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> <el-table-column align="center" label="搴忓彿" prop="index" type="index" width="65"></el-table-column> <el-table-column align="center" label="鏍峰搧鍚嶇О" min-width="100" prop="sample"> <template slot-scope="scope"> - <el-input v-model="scope.row.sample" :disabled="active>1 || scope.$index !== 0" size="small" @change="(val)=>changeValue(val, 'sample')"></el-input> + <el-input v-model="scope.row.sample" :disabled="active > 1 || scope.$index !== 0" size="small" + @change="(val) => changeValue(val, 'sample')"></el-input> </template> </el-table-column> <el-table-column align="center" label="鏍峰搧缂栧彿" min-width="140" prop="sampleCode"> <template slot-scope="scope"> - <el-input v-model="scope.row.sampleCode" :disabled="active>1 || scope.$index !== 0" clearable placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" - size="small" - @change="(val)=>changeValue(val, 'sampleCode')"></el-input> + <el-input v-model="scope.row.sampleCode" :disabled="active > 1 || scope.$index !== 0" clearable + placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚" size="small" @change="(val) => changeValue(val, 'sampleCode')"></el-input> </template> </el-table-column> <el-table-column align="center" label="鏍峰搧鍨嬪彿" min-width="100" prop="model"> <template slot-scope="scope"> - <el-select v-model="scope.row.model" :disabled="active>1 || scope.$index !== 0" allow-create default-first-option filterable - placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" @change="handleChangeModel"> + <el-select v-model="scope.row.model" :disabled="active > 1 || scope.$index !== 0" allow-create + default-first-option filterable placeholder="鏍峰搧鍨嬪彿" size="small" style="width: 100%;" + @change="handleChangeModel"> <el-option v-for="item in models" :key="item.value" :label="item.label" :value="item.value"> </el-option> </el-select> </template> </el-table-column> - <el-table-column v-if="!(active>1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="130"> + <el-table-column v-if="!(active > 1)" align="center" label="鍨嬪彿鍙傛暟" prop="modelNum" width="130"> <template slot-scope="scope"> - <el-input v-model="scope.row.modelNum" :disabled="active>1|| scope.$index !== 0" clearable placeholder="闈炲繀濉�" - size="small" - @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> + <el-input v-model="scope.row.modelNum" :disabled="active > 1 || scope.$index !== 0" clearable + placeholder="闈炲繀濉�" size="small" + @input="methodChange(scope.row.standardMethodListId, scope.row)"></el-input> </template> </el-table-column> <el-table-column align="center" label="妫�楠屾爣鍑�" min-width="100" prop="standardMethodListId"> <template slot-scope="scope"> - <el-select v-model="scope.row.standardMethodListId" :disabled="scope.row.model==null||active>1|| scope.$index !== 0" - :loading="methodLoad" clearable placeholder="妫�楠屾爣鍑�" size="small" - style="width: 100%;" @change="(value)=>methodChange(value, scope.row)" @clear="productList = []" @focus="methodFocus"> + <el-select v-model="scope.row.standardMethodListId" + :disabled="scope.row.model == null || active > 1 || scope.$index !== 0" :loading="methodLoad" clearable + placeholder="妫�楠屾爣鍑�" size="small" style="width: 100%;" @change="(value) => methodChange(value, scope.row)" + @clear="productList = []" @focus="methodFocus" multiple> <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id"> </el-option> </el-select> </template> </el-table-column> - <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鍚嶇О" prop="joinName" width="140"> + <el-table-column v-if="addObj.mating == 1" align="center" label="閰嶅鏍峰搧鍚嶇О" prop="joinName" width="140"> <template slot-scope="scope"> - <el-input v-model="scope.row.joinName" :autosize="{ minRows: 1, maxRows: 1}" size="small" - type="textarea"></el-input> + <el-input v-model="scope.row.joinName" :autosize="{ minRows: 1, maxRows: 1 }" size="small" + type="textarea"></el-input> </template> </el-table-column> - <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鍨嬪彿" prop="joinModel" width="140"> + <el-table-column v-if="addObj.mating == 1" align="center" label="閰嶅鏍峰搧鍨嬪彿" prop="joinModel" width="140"> <template slot-scope="scope"> - <el-input v-model="scope.row.joinModel" :autosize="{ minRows: 1, maxRows: 1}" size="small" - type="textarea"></el-input> + <el-input v-model="scope.row.joinModel" :autosize="{ minRows: 1, maxRows: 1 }" size="small" + type="textarea"></el-input> </template> </el-table-column> - <el-table-column v-if="addObj.mating==1" align="center" label="閰嶅鏍峰搧鏁伴噺" prop="joinNum" width="140"> + <el-table-column v-if="addObj.mating == 1" align="center" label="閰嶅鏍峰搧鏁伴噺" prop="joinNum" width="140"> <template slot-scope="scope"> <el-input-number v-model="scope.row.joinNum" :controls="false" :max="100" :min="1" :precision="0" - size="small" style="width: 80%;"></el-input-number> + size="small" style="width: 80%;"></el-input-number> </template> </el-table-column> <el-table-column align="center" label="寰呮椤规暟閲�" prop="quantity" width="105"> <template slot-scope="scope"> - <el-select v-model="scope.row.quantity" :disabled="active>1|| scope.$index !== 0 || sampleList.length > 1" clearable - size="small"> - <el-option v-for="item in quantityList" :key="item.value" :label="item.label" :value="item.value"></el-option> + <el-select v-model="scope.row.quantity" disabled clearable size="small"> + <el-option v-for="item in quantityList" :key="item.value" :label="item.label" + :value="item.value"></el-option> </el-select> </template> </el-table-column> </el-table> - <el-table ref="productTable" v-loading="getProductLoad" :data="productList" - :row-class-name="tableRowClassName" - class="el-table" - max-height="400px" - style="margin-bottom: 10px;" - tooltip-effect="dark" - @select="selectOne" - @selection-change="selectProduct" - @select-all="handleAll"> - <el-table-column v-if="active==1" :selectable="selectable" type="selection" width="65"></el-table-column> + <el-table ref="productTable" v-loading="getProductLoad" :data="productList" :row-class-name="tableRowClassName" + class="el-table" max-height="400px" style="margin-bottom: 10px;" + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border tooltip-effect="dark"> + <!-- <el-table-column v-if="active == 1" :selectable="selectable" type="selection" width="65"></el-table-column> --> <el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" show-overflow-tooltip> <template slot="header" slot-scope="scope"> <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」</span> - <el-input - v-if="active==1" - v-model="inspectionItem" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="inspectionItem" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> - <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass" - show-overflow-tooltip> + <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass" show-overflow-tooltip> <template slot="header" slot-scope="scope"> <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>妫�楠岄」瀛愰」</span> - <el-input - v-if="active==1" - v-model="inspectionItemSubclass" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="inspectionItemSubclass" placeholder="璇疯緭鍏�" size="mini" + @input="searchFilterList" /> </div> </template> </el-table-column> <el-table-column label="瑕佹眰鍊�" min-width="220px" prop="ask"> <template slot-scope="scope"> - <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鍊�" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row)"></el-input> + <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" + clearable placeholder="瑕佹眰鍊�" size="small" type="textarea" + @change="e => requestChange(e, scope.row)"></el-input> <span v-else> - <template >{{ scope.row.ask }}</template> + <template>{{ scope.row.ask }}</template> </span> </template> </el-table-column> <el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell"> <template slot-scope="scope"> - <el-input v-if="active==1&&isAskOnlyRead" v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3}" clearable placeholder="瑕佹眰鎻忚堪" - size="small" type="textarea" - @change="e=>requestChange(e,scope.row,'tell')"></el-input> + <el-input v-if="active == 1 && isAskOnlyRead" v-model="scope.row.tell" + :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪" size="small" type="textarea" + @change="e => requestChange(e, scope.row, 'tell')"></el-input> <span v-else> - <template >{{ scope.row.tell }}</template> - </span> + <template>{{ scope.row.tell }}</template> + </span> </template> </el-table-column> - <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> + <el-table-column label="璇曢獙鏉′欢" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> <el-table-column label="璇曢獙鏂规硶" min-width="120" prop="methodS" show-overflow-tooltip> <template slot="header" slot-scope="scope"> <div style="display: flex;align-items: center;flex-direction: column;font-size: 14px"> <span>璇曢獙鏂规硶</span> - <el-input - v-if="active==1" - v-model="methodS" - placeholder="璇疯緭鍏�" - size="mini" - @input="searchFilterList"/> + <el-input v-if="active == 1" v-model="methodS" placeholder="璇疯緭鍏�" size="mini" @input="searchFilterList" /> </div> </template> </el-table-column> <el-table-column label="璁¢噺鍗曚綅" prop="unit" show-overflow-tooltip width="100"></el-table-column> <el-table-column label="鍗曚环" prop="price" show-overflow-tooltip width="100"></el-table-column> <el-table-column label="鍖洪棿" min-width="120" prop="section" show-overflow-tooltip></el-table-column> - <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" prop="sonLaboratory" - show-overflow-tooltip></el-table-column> + <el-table-column :filter-method="filterHandler" :filters="filters" label="瀛愬疄楠屽" min-width="130" + prop="sonLaboratory" show-overflow-tooltip></el-table-column> </el-table> </div> <!--鐗规畩鍊煎鐞嗘--> - <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" - :visible.sync="bsm1DiaAll" - min-width="400px" - title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"> + <el-dialog :before-close="beforeClose" :close-on-click-modal="false" :close-on-press-escape="false" + :show-close="false" :visible.sync="bsm1DiaAll" min-width="400px" title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"> <div v-for="(item, index) in bsm1DiaList" :key="item.id" class="body" style="max-height: 60vh;"> - <span>{{item.inspectionItem}}</span> + <span>{{ item.inspectionItem }}</span> <el-row v-if="item.bsm1"> <el-col :span="24" class="search_thing" style="height: initial;margin: 5px 0;"> <div class="search_label" style="width: 80px;"><span class="required-span">* </span>閫夐」锛�</div> <div class="search_input"> <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a" + style="margin-bottom: 2px;margin-top: 2px;"></el-radio> </el-radio-group> </div> </el-col> @@ -340,8 +323,8 @@ <div class="search_label" style="width: 80px;">瑕佹眰鍊硷細</div> <div class="search_input"> <el-radio-group v-model="item.bsm1Val" v-removeAriaHidden @input="upBsmAll(item)"> - <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" - :label="a">{{JSON.parse(item.bsmRow.askCopy)[ai]}}</el-radio> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.sectionCopy)" :key="ai" :label="a">{{ + JSON.parse(item.bsmRow.askCopy)[ai] }}</el-radio> </el-radio-group> </div> </el-col> @@ -354,8 +337,8 @@ </span> </el-dialog> <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" - :show-close="false" :visible.sync="bsm3Dia" - title="鍖洪棿鍊煎~鍐�" width="800px"> + :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border :show-close="false" + :visible.sync="bsm3Dia" title="鍖洪棿鍊煎~鍐�" width="800px"> <el-table :data="editTable" height="80vh" style="width: 100%"> <!-- inspectionItemList --> <el-table-column label="妫�楠岄」" prop="inspectionItemList" width="180"> @@ -368,36 +351,27 @@ </el-table-column> <el-table-column label="璇嗗埆绗﹀��" prop="value"> <template slot-scope="scope"> - <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" @input="inputValueHandler(scope.row,scope.$index)"></el-input> + <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small" + @input="inputValueHandler(scope.row, scope.$index)"></el-input> </template> </el-table-column> </el-table> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="bsm3Dia=false">鍙� 娑�</el-button> + <el-button @click="bsm3Dia = false">鍙� 娑�</el-button> <el-button :loading="saveLoad" type="primary" @click="save0">纭� 瀹�</el-button> </el-row> </span> </el-dialog> - <el-dialog - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - :visible.sync="dialogVisible" - title="鎻愮ず" - width="32%"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="dialogVisible" title="鎻愮ず" width="32%"> <span>{{ dialogMessage }}</span> <span slot="footer" class="dialog-footer"> - <el-button type="primary" @click="goBack()">纭� 瀹�</el-button> + <el-button type="primary" @click="dialogVisible = false, closeOpenPage()">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - :visible.sync="dialogVisible2" - title="鎻愮ず" - width="32%"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="dialogVisible2" title="鎻愮ず" width="32%"> <span>{{ dialogMessage2 }}</span> <span slot="footer" class="dialog-footer"> <el-button type="primary" @click="dialogVisible2 = false">纭� 瀹�</el-button> @@ -415,13 +389,8 @@ <el-button :loading="templateLoading" type="primary" @click="addTemplateDia">纭� 瀹�</el-button> </span> </el-dialog> - <el-dialog - :close-on-click-modal="false" - :close-on-press-escape="false" - :show-close="false" - :visible.sync="noNeedCheckDia" - title="鍏嶆鎻愮ず" - width="32%"> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" + :visible.sync="noNeedCheckDia" title="鍏嶆鎻愮ず" width="32%"> <span>纭鍏嶆褰撳墠妫�楠屽崟锛�</span> <span slot="footer" class="dialog-footer"> <el-button :loading="noNeedCheckLoad" type="primary" @click="handleNoNeedCheck">纭� 瀹�</el-button> @@ -445,24 +414,24 @@ selectStandardProductList, selectStandardTreeListByPartNo } from "@/api/business/rawMaterialOrder"; +import fileList from "../../structural/capabilityAndLaboratory/workshop/components/fileList.vue" +import limsTable from "@/components/Table/lims-table.vue"; export default { name: "CustomsInspection", dicts: ['check_type', 'urgency_level'], - components: {}, + components: { limsTable, fileList }, props: { - isReport: { - type: Number, - default: () => null - } }, data() { return { customsInspection: {}, + fileDialogVisible: false, orderType: '', active: 0, currentId: 0, - editTable:[], // 鍖洪棿鐗规畩鍊煎~鍐� + isReport: '', + editTable: [], // 鍖洪棿鐗规畩鍊煎~鍐� template: null, saveLoad: false, // 淇濆瓨鎸夐挳loading noNeedCheckLoad: false, // 鍏嶆鎸夐挳loading @@ -503,6 +472,8 @@ typeSource: 1, ifsInventoryId: '', sampleStatus: 'In good condition', + workShopName: '',//杞﹂棿鍚嶇О + workShopId: '',//杞﹂棿ID }, addObjRules: { // 琛ㄥ崟鏍¢獙瑙勫垯 testQuantity: [ @@ -554,10 +525,10 @@ totalArr: [], addObj1: {}, model: null, - standardMethodListId: null, - inspectionItem:null, - inspectionItemSubclass:null, - methodS:null, + standardMethodListId: [], + inspectionItem: null, + inspectionItemSubclass: null, + methodS: null, codeLevel: '', // 鏍峰搧鎵�鍦ㄧ骇鍒� selectTreeTem: '', // 鏍峰搧鐖剁骇 checkType: [], // 妫�楠岀被鍨嬮�夐」鏁版嵁 @@ -570,14 +541,14 @@ templateName: '', // 淇濆瓨妯$増鍚嶇О templates: [], // 妯$増涓嬫媺妗嗘暟鎹� quantityList: [ - { label: 1, value: 1}, - { label: 2, value: 2}, - { label: 3, value: 3}, - { label: 4, value: 4}, - { label: 5, value: 5}, - { label: 6, value: 6}, - { label: 7, value: 7}, - { label: 8, value: 8}, + { label: 1, value: 1 }, + { label: 2, value: 2 }, + { label: 3, value: 3 }, + { label: 4, value: 4 }, + { label: 5, value: 5 }, + { label: 6, value: 6 }, + { label: 7, value: 7 }, + { label: 8, value: 8 }, ], types: [], // 绱ф�ョ▼搴︿笅鎷夋 dataTitle: [ @@ -586,13 +557,13 @@ value: 0 }, { - label: '瀛e害妫�楠�', + label: '鍙潬鎬ф楠�', value: 1 }, ], dataIndex: 0, isShowTab: false, - symbolList:['RTS'], + symbolList: ['RTS'], bsm3Dia: false, // 鍖洪棿鍊煎~鍐欏脊妗� bsmRow: {}, bsm1: false, @@ -629,24 +600,37 @@ }, 'addObj.sample'(val) { this.model = null - this.standardMethodListId = null + this.standardMethodListId = [] }, 'addObj.qtyArrived'(val) { this.model = null - this.standardMethodListId = null + this.standardMethodListId = [] } }, - mounted() { + created() { this.active = this.$route.query.active this.orderType = this.$route.query.orderType this.currentId = this.$route.query.currentId + this.isReport = this.$route.query.isReport this.customsInspection = this.$route.query.customsInspection - this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 - this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁 - this.getInfo() // 鑾峰彇鏁版嵁 + this.getInfo(); }, + activated() { + this.active = this.$route.query.active + this.orderType = this.$route.query.orderType + this.currentId = this.$route.query.currentId + this.isReport = this.$route.query.isReport + this.customsInspection = this.$route.query.customsInspection + this.getInfo(); + }, + // getInfo() { + // this.getInfo() // 鑾峰彇鏁版嵁 + // }, methods: { - save1 () { + handleFileDialog() { + this.fileDialogVisible = true + }, + save1() { if (this.bsm1DiaList.length > 0) { this.bsm1DiaList.forEach(item => { if (!item.bsm1Val) { @@ -667,24 +651,26 @@ done() }, //鐗规畩鍊煎~鍐欏鐞� - inputValueHandler(row,index){ - if(row){ - const nextIndex = index+1 + inputValueHandler(row, index) { + if (row) { + const nextIndex = index + 1 for (let i = nextIndex; i < this.editTable.length; i++) { const element = this.editTable[i]; - if(element.model==row.model&&row.symbolItem==element.symbolItem){ + if (element.model == row.model && row.symbolItem == element.symbolItem) { this.editTable[i].value = row.value } } } }, // 鏌ョ湅鏃跺垏鎹ab鏍� - handleDataTab (m, i) { + handleDataTab(m, i) { this.dataIndex = i this.getInfo() }, // 鑾峰彇鏁版嵁 - getInfo () { + getInfo() { + this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 + this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁 if (this.active == 2) { let orderId = '' if (!this.customsInspection.enterOrderId && this.customsInspection.quarterOrderId) { @@ -698,7 +684,7 @@ orderId = this.dataIndex === 0 ? this.customsInspection.enterOrderId : this.customsInspection.quarterOrderId } else if (!this.customsInspection.enterOrderId && !this.customsInspection.quarterOrderId) { this.isShowTab = false - orderId = this.isReport === 1 ? this.customsInspection.insOrderId : this.customsInspection.id + orderId = this.isReport == 1 ? this.customsInspection.insOrderId : this.customsInspection.id } // 鏌ョ湅 // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹� @@ -720,6 +706,11 @@ this.addObj.updateBatchNo = res.data.insOrderTemplate.updateBatchNo this.addObj.type = String(this.addObj.type) this.sampleList = this.HaveJson(res.data.sampleProduct) + this.sampleList.forEach(m => { + if (m.standardMethodListId) { + m.standardMethodListId = JSON.parse(m.standardMethodListId) + } + }) this.getProNum() this.$nextTick(() => { this.$refs.sampleTable.doLayout() @@ -732,11 +723,13 @@ } }) } else { - notificationRawOrder({ifsInventoryId:this.customsInspection.id}).then(res => { + notificationRawOrder({ ifsInventoryId: this.customsInspection.id }).then(res => { if (res.code === 200) { if (res.data === 1) { - this.dialogVisible2 = true - this.dialogMessage2 = '褰撳墠鎵规鐨勬牱鍝佸凡妫�楠岃繃, 鍙互鍏嶆' + if (this.orderType != 1) { + this.dialogVisible2 = true + this.dialogMessage2 = '褰撳墠鎵规鐨勬牱鍝佸凡妫�楠岃繃, 鍙互鍏嶆' + } } else if (res.data === 2) { this.dialogVisible2 = true this.dialogMessage2 = '褰撳墠鎵规鐨勬牱鍝佸凡瓒�20鍚�, 闇�瑕佸绾у娆℃楠�' @@ -744,35 +737,43 @@ } }) // 鎶ユ娴佺▼ - selectStandardTreeListByPartNo({partNo:this.customsInspection.partNo}).then(res => { - this.addObj.sample = res.data.label - this.codeLevel = res.data.code - this.$set(this.addObj, 'qtyArrived', this.customsInspection.qtyArrived) - this.$set(this.addObj, 'partNo', this.customsInspection.partNo) - this.$set(this.addObj, 'receiverDate', this.customsInspection.receiverDate) - this.$set(this.addObj, 'orderNo', this.customsInspection.orderNo) - this.$set(this.addObj, 'declareUser', this.customsInspection.declareUser) - this.$set(this.addObj, 'testQuantity', this.customsInspection.testQuantity) - this.$set(this.addObj, 'buyUnitMeas', this.customsInspection.buyUnitMeas) - this.$set(this.addObj, 'updateBatchNo', this.customsInspection.updateBatchNo) - this.$set(this.addObj, 'partDetail', this.customsInspection.partDesc) - if (this.orderType == 1) { - this.$set(this.addObj, 'orderType', 'Quarterly inspection') + selectStandardTreeListByPartNo({ partNo: this.customsInspection.partNo }).then(res => { + if (res.data !== null) { + this.addObj.sample = res.data.label + this.codeLevel = res.data.code + this.$set(this.addObj, 'qtyArrived', this.customsInspection.qtyArrived) + this.$set(this.addObj, 'partNo', this.customsInspection.partNo) + this.$set(this.addObj, 'receiverDate', this.customsInspection.receiverDate) + this.$set(this.addObj, 'orderNo', this.customsInspection.orderNo) + this.$set(this.addObj, 'declareUser', this.customsInspection.declareUser) + this.$set(this.addObj, 'testQuantity', this.customsInspection.testQuantity) + this.$set(this.addObj, 'buyUnitMeas', this.customsInspection.buyUnitMeas) + this.$set(this.addObj, 'updateBatchNo', this.customsInspection.updateBatchNo) + this.$set(this.addObj, 'partDetail', this.customsInspection.partDesc) + this.$set(this.addObj, 'workShopName', res.data.workShopName) + this.$set(this.addObj, 'workShopId', res.data.workShopId) + this.$set(this.addObj, 'inspectionType', this.customsInspection.inspectionType) + console.log(111111, this.addObj) + if (this.orderType == 1) { + this.$set(this.addObj, 'orderType', 'Quarterly inspection') + } + const str = res.data.treeName.split('-') + this.selectTreeTem = str.join(' - ') + this.selectTree = str.join(' - ') + this.addListInfo(this.codeLevel, res.data) // 鍘熻緟鏉愭牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒� + this.selectInsOrderTemplate() // 鍘熻緟鏉愭ā鏉垮垪琛ㄦ煡璇� + } else { + this.dialogVisible = true + this.dialogMessage = res.message } - const str = res.data.treeName.split('-') - this.selectTreeTem = str.join(' - ') - this.selectTree = str.join(' - ') - this.addListInfo(this.codeLevel, res.data) // 鍘熸潗鏂欐牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒� - this.selectInsOrderTemplate() // 鍘熸潗鏂欐ā鏉垮垪琛ㄦ煡璇� }).catch(err => { - this.dialogVisible = true - this.dialogMessage = err.message + }) } }, // 鏌ヨ妯℃澘-鍙嶆樉妯℃澘 selectInsOrderTemplateByIdList(e) { - selectRawMaterOrderTemplateById({id: e}).then(res => { + selectRawMaterOrderTemplateById({ id: e }).then(res => { let obj = JSON.parse(res.data) this.sampleList = obj.sampleList; this.productList = obj.sampleList[0].insProduct @@ -794,7 +795,7 @@ thing: JSON.stringify({ // addObj: this.addObj, sampleList: sampleList, - selectTree:this.selectTree + selectTree: this.selectTree }) }).then(res => { this.templateLoading = false; @@ -814,22 +815,22 @@ cancelButtonText: "鍙栨秷", type: "warning" }).then(() => { - delRawMaterOrderTemplate({id: row.id}).then(res => { + delRawMaterOrderTemplate({ id: row.id }).then(res => { this.$message.success('鍒犻櫎鎴愬姛') this.selectInsOrderTemplate() }).catch(e => { this.$message.error('鍒犻櫎澶辫触') }) - }).catch(() => {}) + }).catch(() => { }) }, // 鏌ヨ妯℃澘鍒楄〃 selectInsOrderTemplate() { - selectRawMaterOrderTemplate({partNo:this.addObj.partNo}).then(res => { + selectRawMaterOrderTemplate({ partNo: this.addObj.partNo }).then(res => { this.templates = res.data }) }, // 鎷嗗垎 - handleSplitCountNum () { + handleSplitCountNum() { this.sample.joinName = null this.sample.joinModel = null this.sample.joinNum = 1 @@ -852,7 +853,7 @@ this.computationalPairing(this.sampleList.length) }, // 妫�楠岄」鍒楄〃绛涢�� - searchFilterList () { + searchFilterList() { const vtw = { inspectionItem: this.inspectionItem, // 妫�楠岄」 inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」 @@ -863,7 +864,7 @@ }) this.changeProductList0() if (isHaveValue) { - for(let i in vtw) { + for (let i in vtw) { if (vtw[i]) { this.productList = this.productList0.filter((item) => { return item[i] && item[i].includes(vtw[i]) @@ -876,11 +877,11 @@ } }, containsValue(str) { - if(str){ + if (str) { let symbolItem = '' - this.symbolList.some(value =>{ - if(str.includes(value)){ - symbolItem = value + this.symbolList.some(value => { + if (str.includes(value)) { + symbolItem = value return true } }) @@ -891,12 +892,8 @@ save() { this.$refs['addObj'].validate((valid) => { if (valid) { - if (!this.sampleList.every(m => m.standardMethodListId)) { + if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) { this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�') - return - } - if (!this.sampleList.every(m => m.quantity)) { - this.$message.error('璇烽�夋嫨寰呮椤规暟閲�') return } const sampleList = this.HaveJson(this.sampleList) @@ -904,19 +901,19 @@ item.insProduct = this.productList }) this.getTotal(sampleList) - let projectNum = this.totalArr.filter(a => a.state == 1).length - if(projectNum==0){ + let projectNum = this.totalArr.length + if (projectNum == 0) { this.$confirm('妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?', "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" }).then(() => { this.saveMethod(sampleList) - }).catch(() => {}) - }else{ - let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1) + }).catch(() => { }) + } else { + let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b => a.ask.includes(b)) && a.state == 1) if (isRTS) { - this.editTable = this.handleData(sampleList,this.containsValue, 0) + this.editTable = this.handleData(sampleList, this.containsValue, 0) this.editTable.forEach(item => { item.value = item.modelNum }) @@ -932,24 +929,24 @@ }); }, // 鎻愪氦鍖洪棿鍊� - save0(){ - if(this.editTable.every(m=>m.value)){ + save0() { + if (this.editTable.every(m => m.value)) { this.sampleList.forEach(item => { item.insProduct = this.productList }) - let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) + let sampleList = this.handleData(this.HaveJson(this.sampleList), this.handleAsk, 1) sampleList.forEach(a => { - a.insProduct = a.insProduct.filter(b=>b.state === 1) + a.insProduct = a.insProduct.filter(b => b.state === 1) }) this.saveMethod(sampleList) - }else{ + } else { this.$message.error('璇峰~鍐欒瘑鍒鍊�') } }, - noNeedCheck () { + noNeedCheck() { this.$refs['addObj'].validate((valid) => { if (valid) { - if (!this.sampleList.every(m => m.standardMethodListId)) { + if (!this.sampleList.every(m => m.standardMethodListId && m.standardMethodListId.length > 0)) { this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�') return } @@ -960,7 +957,7 @@ }) this.getTotal(sampleList) let projectNum = this.totalArr.filter(a => a.state == 1).length - if (projectNum!=0){ + if (projectNum != 0) { this.$message.error('鍏嶆涓嶅彲閫夋嫨妫�楠岄」') return } @@ -971,7 +968,7 @@ } }); }, - handleNoNeedCheck () { + handleNoNeedCheck() { // 妫�楠岀被鍨嬩负杩涘巶妫�楠屾椂鍙�夋嫨鍏嶆锛屼絾涓嶈兘閫夋嫨妫�楠岄」 const sampleList = this.HaveJson(this.sampleList) sampleList.forEach(item => { @@ -979,19 +976,19 @@ }) this.getTotal(sampleList) let trees = this.selectTree.split(" - ") - if (trees.length < 3) { + if (trees.length < 5) { this.$message.error('鏈�夋嫨瀵硅薄') return } this.addObj.factory = trees[0] this.addObj.laboratory = trees[1] - this.addObj.sampleType = trees[2] - if ((trees[3] === undefined || trees[3] === '') || trees.length === 4) { - this.addObj.sample = trees[2] + this.addObj.sampleType = trees[3] + if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) { + this.addObj.sample = trees[4] } else { - this.addObj.sample = trees[3] + this.addObj.sample = trees[5] } - this.addObj.model = (trees[4] == undefined ? null : trees[4]) + this.addObj.model = (trees[6] == undefined ? null : trees[6]) this.addObj.ifsInventoryId = this.customsInspection.id this.noNeedCheckLoad = true addExemptionOrder({ @@ -1011,44 +1008,46 @@ } else { a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) } - a.insProduct = a.insProduct.filter(b=>b.state === 1) + a.insProduct = a.insProduct.filter(b => b.state === 1) return a }), }).then(res => { this.noNeedCheckLoad = false - if (res.code == 201) return this.noNeedCheckDia = false this.$message.success('宸叉彁浜�') - this.goBack() - }).catch(e=>{ + this.closeOpenPage() + }).catch(e => { this.noNeedCheckLoad = false }) }, - saveMethod(sampleList){ + saveMethod(sampleList) { let trees = this.selectTree.split(" - ") - if (trees.length < 3) { + if (trees.length < 5) { this.$message.error('鏈�夋嫨瀵硅薄') return } this.addObj.factory = trees[0] this.addObj.laboratory = trees[1] - this.addObj.sampleType = trees[2] - if ((trees[3] === undefined || trees[3] === '') || trees.length === 4) { - this.addObj.sample = trees[2] + this.addObj.sampleType = trees[4] + if ((trees[5] === undefined || trees[5] === '') || trees.length === 6) { + this.addObj.sample = trees[4] } else { - this.addObj.sample = trees[3] + this.addObj.sample = trees[5] } - this.addObj.model = (trees[4] == undefined ? null : trees[4]) + this.addObj.model = (trees[6] == undefined ? null : trees[6]) this.addObj.ifsInventoryId = this.customsInspection.id this.saveLoad = true + if (this.addObj.createTime) { + delete this.addObj.createTime + } addInsOrder({ - insOrder: this.addObj, + insOrder: { + ...this.addObj, + workShopId: this.addObj.workShopId || '' // 纭繚 workShopId 浼犻�掔粰鍚庣 + }, sampleList: sampleList.map(a => { - if (a.insProduct.length > 0) { - a.insProduct.forEach(c => { - delete c.id - }) - } + a.standardMethodListId = JSON.stringify(a.standardMethodListId) + a.insProduct = this.productList if (a.modelNum) { // 鏍规嵁x鍙峰垽鏂瀷鍙峰弬鏁颁笌鏍峰搧鍨嬪彿鐨勬嫾鎺ヤ綅缃� // 渚嬪脳4锛屽氨涓�500ML脳4锛�4脳锛屽氨涓�4脳500ML @@ -1063,21 +1062,19 @@ } else { a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? '' : ('-' + a.modelNum)) } - a.insProduct = a.insProduct.filter(b=>b.state === 1) return a }), }).then(res => { this.saveLoad = false - if (res.code == 201) return this.$message.success('宸叉彁浜�') this.bsm3Dia = false; - this.goBack() - }).catch(e=>{ + this.closeOpenPage() + }).catch(e => { this.saveLoad = false }) }, - handleAsk(ask,symbolItem, value) { - try{ + handleAsk(ask, symbolItem, value) { + try { let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤", "*", "/"]; let code2 = ['+', '*', '/', '-'] if (ask.includes('&')) { @@ -1121,42 +1118,42 @@ return code[index] + '' + num } } - }catch(e){} + } catch (e) { } }, - handleData(sampleList,calBack,type){ + handleData(sampleList, calBack, type) { let editTable = [] sampleList.forEach(item => { let obj = { - sampleCode:item.sampleCode, - model:item.model, - symbolList:[], - sampleId:item.id, - modelNum:item.modelNum, + sampleCode: item.sampleCode, + model: item.model, + symbolList: [], + sampleId: item.id, + modelNum: item.modelNum, } if (item.insProduct && item.insProduct.length > 0) { item.insProduct.forEach(a => { if (a.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(a.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:a.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: a.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { let arr = this.editTable.filter(b => b.sampleId == item.id) - for (var i=0;i<arr.length;i++){ - if(a.ask){ - if(a.ask.includes(arr[i].symbolItem)){ - let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value) + for (var i = 0; i < arr.length; i++) { + if (a.ask) { + if (a.ask.includes(arr[i].symbolItem)) { + let ask = calBack(a.ask, arr[i].symbolItem, arr[i].value) if (ask) { a.ask = ask } - let tell = this.handleAsk(a.tell, arr[i].symbolItem,arr[i].value) + let tell = this.handleAsk(a.tell, arr[i].symbolItem, arr[i].value) if (tell) { a.tell = tell } } - }else{ + } else { this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') } } @@ -1172,21 +1169,21 @@ if (b.productList && b.productList.length > 0) { b.productList.forEach(c => { if (c.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(c.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:c.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: c.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { let arr = this.editTable.filter(b => b.sampleId == item.id) arr.forEach(f => { - if(c.ask.includes(f.symbolItem)){ - let ask = calBack(c.ask, f.symbolItem,f.value) + if (c.ask.includes(f.symbolItem)) { + let ask = calBack(c.ask, f.symbolItem, f.value) if (ask) { c.ask = ask } - let tell = this.handleTell(c.tell, f.symbolItem,f.value) + let tell = this.handleTell(c.tell, f.symbolItem, f.value) if (tell) { c.tell = tell } @@ -1203,25 +1200,25 @@ if (b.productList && b.productList.length > 0) { b.productList.forEach(c => { if (c.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(c.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:c.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: c.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { // let ask = calBack(c.ask, c.rts) // if (ask && c.state == 1) { // c.ask = csk // } let arr = this.editTable.filter(b => b.sampleId == item.id) arr.forEach(f => { - if(c.ask.includes(f.symbolItem)){ - let ask = calBack(c.ask, f.symbolItem,f.value) + if (c.ask.includes(f.symbolItem)) { + let ask = calBack(c.ask, f.symbolItem, f.value) if (ask) { c.ask = ask } - let tell = this.handleTell(c.tell, f.symbolItem,f.value) + let tell = this.handleTell(c.tell, f.symbolItem, f.value) if (tell) { c.tell = tell } @@ -1236,25 +1233,25 @@ if (c.productList && c.productList.length > 0) { c.productList.forEach(d => { if (d.state == 1) { - if(type==0){ + if (type == 0) { let str = calBack(d.ask) - str&&obj.symbolList.push({ - symbolItem:str, - inspectionItem:d.inspectionItem, + str && obj.symbolList.push({ + symbolItem: str, + inspectionItem: d.inspectionItem, }) - }else if(type==1){ + } else if (type == 1) { // let ask = calBack(d.ask, d.rts) // if (ask && d.state == 1) { // d.ask = ask // } let arr = this.editTable.filter(b => b.sampleId == item.id) arr.forEach(f => { - if(d.ask.includes(f.symbolItem)){ - let ask = calBack(d.ask, f.symbolItem,f.value) + if (d.ask.includes(f.symbolItem)) { + let ask = calBack(d.ask, f.symbolItem, f.value) if (ask) { d.ask = ask } - let tell = this.handleTell(d.tell, f.symbolItem,f.value) + let tell = this.handleTell(d.tell, f.symbolItem, f.value) if (tell) { d.tell = tell } @@ -1270,11 +1267,11 @@ } }) } - if(type==0){ + if (type == 0) { editTable.push(obj) } }) - if(type==0){ + if (type == 0) { editTable.forEach(a => { a.symbolList.forEach(b => { let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem); @@ -1283,13 +1280,13 @@ }) editTable.forEach(a => { let mySet = new Set(); - a.symbolList = a.symbolList.filter(b =>{ + a.symbolList = a.symbolList.filter(b => { let num0 = mySet.size; mySet.add(b.symbolItem); let num1 = mySet.size; - if(num0!=num1){ + if (num0 != num1) { return true; - }else{ + } else { return false } }) @@ -1298,19 +1295,19 @@ editTable.forEach(a => { a.symbolList.forEach(b => { let obj = { - sampleCode:a.sampleCode, - model:a.model, - symbolItem:b.symbolItem, - sampleId:a.sampleId, - value:null, - inspectionItemList:b.inspectionItemList, - modelNum:a.modelNum, + sampleCode: a.sampleCode, + model: a.model, + symbolItem: b.symbolItem, + sampleId: a.sampleId, + value: null, + inspectionItemList: b.inspectionItemList, + modelNum: a.modelNum, } editTableNew.push(obj) }) }) return editTableNew - }else{ + } else { return sampleList } }, @@ -1320,7 +1317,7 @@ } catch (e) { } }, - replaceAll(str,find,value) { + replaceAll(str, find, value) { if (str === undefined) { return str } @@ -1398,10 +1395,10 @@ let num1 = mySet0.size mySet0.add(item.sonLaboratory) let num2 = mySet0.size - if(num2>num1){ + if (num2 > num1) { this.sonLaboratoryList.push({ - label:item.sonLaboratory, - value:item.sonLaboratory, + label: item.sonLaboratory, + value: item.sonLaboratory, }) } }) @@ -1449,11 +1446,11 @@ } else { this.methods = res.data.standardMethodList } - } catch (e) {} + } catch (e) { } }) }, // 璧嬪�肩涓�鏉¢粯璁ゆ暟鎹� - addListInfo (codeLevel, data) { + addListInfo(codeLevel, data) { this.sampleList = [] this.productList = [] this.sample.model = this.addObj.model @@ -1462,18 +1459,18 @@ this.sample.joinNum = 1 this.sample.sample = this.addObj.sample this.sample.unit = this.addObj.unit - this.sample.standardMethodListId = null + this.sample.standardMethodListId = [] this.sample.insProduct = [] this.sample.id = this.count this.sample.childSampleList = [] this.sample.insulating = null this.sample.sheath = null this.sample.quantity = 1 - if (codeLevel === '[5]') { + if (codeLevel === '[7]') { this.sample.model = this.addObj.sample - } else if (codeLevel === '[4]') { + } else if (codeLevel === '[6]') { this.models = data.children2 - } else if (codeLevel === '[3]') { + } else if (codeLevel === '[5]') { this.models = data.children1 } this.sampleList.push(this.HaveJson(this.sample)) @@ -1497,12 +1494,12 @@ // 閫変腑琛ㄦ牸琛岀殑鍥炶皟 rowClick(row, column, event) { this.currentMethod = row - let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) - if (obj && obj.code == '鎶�鏈姹�') { - this.isAskOnlyRead = true - } else { - this.isAskOnlyRead = false - } + // let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) + // if (obj && obj.code == '鎶�鏈姹�') { + // this.isAskOnlyRead = true + // } else { + // this.isAskOnlyRead = false + // } this.sampleId = row.id if (this.active !== 1) { this.sampleIds = [] @@ -1546,14 +1543,14 @@ } this.bsm2Val3 = this.HaveJson(this.permute(nums)) }, - tableRowClassName({row, rowIndex}) { + tableRowClassName({ row, rowIndex }) { if (row.state === 0) { return ''; } return 'warning-row'; }, // 淇敼鏍峰搧鍚嶇О - changeValue (val, string) { + changeValue(val, string) { if (this.sampleList.length > 1) { // 鏈変袱鏉℃牱鍝佹椂锛岀浜屾潯鏍峰搧淇℃伅鍜岀涓�鏉′繚鎸佷竴鑷� this.sampleList.forEach(item => { @@ -1572,29 +1569,32 @@ }) } this.currentMethod = row - let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) - if (obj && obj.code == '鎶�鏈姹�') { - this.isAskOnlyRead = true - } else { - this.isAskOnlyRead = false - } + // let obj = this.methods.find(a => a.id == this.currentMethod.standardMethodListId) + // if (obj && obj.code == '鎶�鏈姹�') { + // this.isAskOnlyRead = true + // } else { + // this.isAskOnlyRead = false + // } this.getProductLoad = true let selectTreeList = this.selectTree.split(" - ") - this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model) + this.addObj.model && (selectTreeList[selectTreeList.length - 1] = this.addObj.model) selectStandardProductList({ - model: this.addObj.model?this.addObj.model:row.model, + model: this.addObj.model ? this.addObj.model : row.model, modelNum: row.modelNum, - standardMethodListId: val, + standardMethodListIds: val, factory: selectTreeList.join(" - "), partNo: this.addObj.partNo, ifsInventoryId: this.customsInspection.id }).then(res => { this.getProductLoad = false - res.data.forEach(a => { - a.state = 0 + // 鐩存帴灏嗘煡璇㈢粨鏋滆祴鍊肩粰 productList + // this.fullProductList = res.data + this.productList = res.data.forEach(m => { + m.state = 1 }) - this.productList = this.HaveJson(res.data) - this.productList0 = JSON.parse(JSON.stringify(this.productList)) + this.productList0 = res.data.forEach(m => { + m.state = 1 + }) this.$refs.sampleTable.setCurrentRow(row) setTimeout(() => { this.productList.forEach(a => { @@ -1602,26 +1602,7 @@ }) }, 200) }).catch(err => { - console.log('err-',err) - }) - }, - // 閫夋嫨鏍峰搧鍨嬪彿鐨勫洖璋� - changeModel() { - this.sampleList.forEach(a => { - let obj = this.sampleIds.find(b => b == a.id) - if (obj) { - a.model = this.model - } - }) - }, - // 閫夋嫨妫�楠屾爣鍑嗙殑鍥炶皟 - changeStandardMethodListId() { - this.sampleList.forEach(a => { - let obj = this.sampleIds.find(b => b == a.id) - if (obj) { - a.standardMethodListId = this.standardMethodListId - this.methodChange(this.standardMethodListId, a) - } + console.log('err-', err) }) }, // 鎷兼帴鏍峰搧鏍戠殑瀛楃涓� @@ -1663,7 +1644,7 @@ } }, // 鍏ㄩ�夌壒娈婂�煎鐞嗘閫夋嫨瑕佹眰鍊肩殑鍥炶皟 - upBsmAll (item) { + upBsmAll(item) { const i = this.bsm1DiaList.findIndex(obj => obj.id === item.id) if (i > -1) { // 鎵惧埌鐩稿簲鐨勬楠岄」璧嬪�� @@ -1690,133 +1671,10 @@ this.changeProductList0() this.currentMethod.insProduct = this.productList0 }, - // 鍗曢�夐�夋嫨妫�楠岄」鐨勫洖璋� - selectOne(selection, row) { - this.bsm1DiaList = [] - row.state = row.state == 1 ? 0 : 1 - if(row.section === null) { - row.section = "" - } - if (row.sectionCopy === undefined && row.section) { - if (row.section.indexOf('[') > -1) { - this.$set(row, 'sectionCopy', row.section) - } - } - if (row.ask.includes('[')) { - this.$set(row, 'askCopy', row.ask) - } - if (row.tell.includes('[')) { - this.$set(row, 'tellCopy', row.tell) - } - let arr = this.productList.filter(m=>m.state==1&&row.sectionCopy&&row.sectionCopy.includes(m.sectionCopy)&&m.ask&&m.sectionCopy.indexOf('[')==-1) - if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.sectionCopy !== undefined && row.state === 1&&arr.length==0) { - if (row.sectionCopy.indexOf('[') > -1) { - row.bsmRow = this.HaveJson(row) - } - row.bsm1 = true - this.bsm1DiaList.push(row) - this.bsm1DiaAll = true - } else if (row.bsm === '1' && row.sectionCopy !== '' && row.sectionCopy !== null && row.state === 0&&arr.length==0) { - row.bsm1 = false - }else if(arr.length>0){ - try{ - row.bsmRow = this.HaveJson(row) - let section = arr[0].section - let arr0 = JSON.parse(row.section) - let arr1 = JSON.parse(row.ask) - let arr4 = JSON.parse(row.tell) - let index = arr0.indexOf(section) - row.section = section - row.ask = arr1[index] - row.tell = arr4[index] - } catch(e) {} - } - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1) { - item.insProduct.map(m => { - if (m.id == row.id) { - m.state = row.state; - } - return m; - }) - } - return item - }) - this.changeProductList0() - this.currentMethod.insProduct = this.productList0 - this.getProNum() - }, - handleAll(e) { - if (e.length > 0) { - this.productList.map(m => { - if(e.find(a=>a.id == m.id)){ - m.state = 1 - } - return m - }) - } else { - this.productList.map(m => { - m.state = 0 - return m - }) - } - this.bsmRow3 = []; - this.bsm1DiaList = [] - this.productList.forEach(p => { - if (p.sectionCopy === undefined && p.section) { - if (p.section.indexOf('[') > -1) { - this.$set(p, 'sectionCopy', p.section) - } - } - if (p.ask.includes('[')) { - this.$set(p, 'askCopy', p.ask) - } - if (p.tell.includes('[')) { - this.$set(p, 'tellCopy', p.tell) - } - if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.sectionCopy !== undefined && p.state === 1) { - if (p.sectionCopy.indexOf('[') > -1) { - p.bsmRow = this.HaveJson(p) - } - p.bsm1 = true - this.bsm1DiaList.push(p) - this.bsm1DiaAll = true - } else if (p.bsm === '1' && p.sectionCopy !== '' && p.sectionCopy !== null && p.state === 0) { - p.bsm1 = false - } - }) - if (e.length > 0) { - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1) { - item.insProduct.map(m => { - m.state = 1 - return m; - }) - } - return item - }) - } else { - this.sampleList.map(item => { - if (this.sampleIds.indexOf(item.id) > -1) { - item.insProduct.map(m => { - m.state = 0 - return m; - }) - } - return item - }) - } - this.changeProductList0() - this.currentMethod.insProduct = this.productList0 - this.getProNum() - this.$nextTick(() => { - this.$refs.productTable.doLayout() - }) - }, - changeProductList0(){ - this.productList0.forEach(a=>{ + changeProductList0() { + this.productList0.forEach(a => { let obj = this.productList.find(m => m.id == a.id) - if(obj){ + if (obj) { a.state = obj.state a.section = obj.section a.ask = obj.ask @@ -1824,7 +1682,7 @@ // a.price = obj.price a.tell = obj.tell } - if(a.state == 0&&a.bsmRow){ + if (a.state == 0 && a.bsmRow) { a = this.HaveJson(a.bsmRow) } }) @@ -1833,10 +1691,17 @@ const property = column['property']; return row[property] === value; }, - goBack () { - const obj = { path: "/business/materialOrder" }; - this.$tab.closeOpenPage(obj); - } + goBack() { + if (this.active == 1) { + this.$router.go(-1) + } else { + this.closeOpenPage() + } + }, + closeOpenPage() { + this.$router.go(-1) + this.$tab.closeOpenPage() + }, } } </script> @@ -1847,6 +1712,7 @@ justify-content: space-between; margin-bottom: 10px; } + .tab { list-style-type: none; display: flex; @@ -1876,4 +1742,7 @@ } +:deep(.warning-row) { + color: #1890FF; +} </style> -- Gitblit v1.9.3