From 5f13420b2258ae2741fae9b1d77963db9e43d222 Mon Sep 17 00:00:00 2001 From: spring <2396852758@qq.com> Date: 星期四, 10 四月 2025 13:06:39 +0800 Subject: [PATCH] 优化原辅材下单10% --- src/views/business/materialOrder/customsInspection.vue | 732 +++++++++++++++++++++++++++----------------------------- 1 files changed, 353 insertions(+), 379 deletions(-) diff --git a/src/views/business/materialOrder/customsInspection.vue b/src/views/business/materialOrder/customsInspection.vue index 3aa17dc..3677dda 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,29 +116,34 @@ <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> @@ -143,198 +151,171 @@ </div> <div> <div style="display: flex;justify-content: space-between;background-color: #F5F7FB;margin-bottom: 6px"> - <div v-if="active==1"> + <div v-if="active == 1"> <el-form :inline="true" :model="addObj1" label-width="90px"> - <el-form-item label="鏍峰搧鍨嬪彿:" style="margin-bottom: 6px;margin-top: 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="妫�楠屾爣鍑�:" style="margin-bottom: 6px;margin-top: 6px"> - <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> + <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> + <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 - :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 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 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;" - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border - 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="120" prop="methodS" show-overflow-tooltip> + <el-table-column label="璇曢獙鏉′欢" min-width="140" prop="radius" show-overflow-tooltip></el-table-column> + <el-table-column label="璇曢獙鏂规硶" min-width="120" prop="method" 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> @@ -342,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> @@ -356,9 +337,8 @@ </span> </el-dialog> <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" - :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border - :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"> @@ -371,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="dialogVisible= false,closeOpenPage()">纭� 瀹�</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> @@ -418,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> @@ -448,21 +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: { }, data() { return { customsInspection: {}, + fileDialogVisible: false, orderType: '', active: 0, currentId: 0, isReport: '', - editTable:[], // 鍖洪棿鐗规畩鍊煎~鍐� + 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,11 +600,11 @@ }, 'addObj.sample'(val) { this.model = null - this.standardMethodListId = null + this.standardMethodListId = [] }, 'addObj.qtyArrived'(val) { this.model = null - this.standardMethodListId = null + this.standardMethodListId = [] } }, created() { @@ -652,13 +623,14 @@ this.customsInspection = this.$route.query.customsInspection this.getInfo(); }, - getInfo() { - this.getUserNowList() // 鑾峰彇褰撳墠鐢ㄦ埛淇℃伅 - this.selectStandardMethods() // 鑾峰彇妫�楠屾爣鍑嗕笅鎷夋鏁版嵁 - this.getInfo() // 鑾峰彇鏁版嵁 - }, + // getInfo() { + // this.getInfo() // 鑾峰彇鏁版嵁 + // }, methods: { - save1 () { + handleFileDialog() { + this.fileDialogVisible = true + }, + save1() { if (this.bsm1DiaList.length > 0) { this.bsm1DiaList.forEach(item => { if (!item.bsm1Val) { @@ -679,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) { @@ -732,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() @@ -744,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鍚�, 闇�瑕佸绾у娆℃楠�' @@ -756,7 +737,7 @@ } }) // 鎶ユ娴佺▼ - selectStandardTreeListByPartNo({partNo:this.customsInspection.partNo}).then(res => { + selectStandardTreeListByPartNo({ partNo: this.customsInspection.partNo }).then(res => { if (res.data !== null) { this.addObj.sample = res.data.label this.codeLevel = res.data.code @@ -769,14 +750,18 @@ 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() // 鍘熸潗鏂欐ā鏉垮垪琛ㄦ煡璇� + this.addListInfo(this.codeLevel, res.data) // 鍘熻緟鏉愭牱鍝佹槸鍥哄畾鐨勶紝灏遍粯璁よ祴鍊间竴鏉℃暟鎹紝鍙媶鍒� + this.selectInsOrderTemplate() // 鍘熻緟鏉愭ā鏉垮垪琛ㄦ煡璇� } else { this.dialogVisible = true this.dialogMessage = res.message @@ -788,7 +773,7 @@ }, // 鏌ヨ妯℃澘-鍙嶆樉妯℃澘 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 @@ -810,7 +795,7 @@ thing: JSON.stringify({ // addObj: this.addObj, sampleList: sampleList, - selectTree:this.selectTree + selectTree: this.selectTree }) }).then(res => { this.templateLoading = false; @@ -830,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 @@ -868,7 +853,7 @@ this.computationalPairing(this.sampleList.length) }, // 妫�楠岄」鍒楄〃绛涢�� - searchFilterList () { + searchFilterList() { const vtw = { inspectionItem: this.inspectionItem, // 妫�楠岄」 inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」 @@ -879,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]) @@ -892,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 } }) @@ -907,7 +892,7 @@ 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 } @@ -916,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 }) @@ -944,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 } @@ -972,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 } @@ -983,7 +968,7 @@ } }); }, - handleNoNeedCheck () { + handleNoNeedCheck() { // 妫�楠岀被鍨嬩负杩涘巶妫�楠屾椂鍙�夋嫨鍏嶆锛屼絾涓嶈兘閫夋嫨妫�楠岄」 const sampleList = this.HaveJson(this.sampleList) sampleList.forEach(item => { @@ -991,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({ @@ -1023,7 +1008,7 @@ } 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 => { @@ -1031,35 +1016,41 @@ this.noNeedCheckDia = false this.$message.success('宸叉彁浜�') this.closeOpenPage() - }).catch(e=>{ + }).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.fullProductList.map(item => ({ + ...item, + state: 1 + })) if (a.modelNum) { // 鏍规嵁x鍙峰垽鏂瀷鍙峰弬鏁颁笌鏍峰搧鍨嬪彿鐨勬嫾鎺ヤ綅缃� // 渚嬪脳4锛屽氨涓�500ML脳4锛�4脳锛屽氨涓�4脳500ML @@ -1074,7 +1065,6 @@ } 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 => { @@ -1082,12 +1072,12 @@ this.$message.success('宸叉彁浜�') this.bsm3Dia = false; this.closeOpenPage() - }).catch(e=>{ + }).catch(e => { this.saveLoad = false }) }, - handleAsk(ask,symbolItem, value) { - try{ + handleAsk(ask, symbolItem, value) { + try { let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤", "*", "/"]; let code2 = ['+', '*', '/', '-'] if (ask.includes('&')) { @@ -1131,42 +1121,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('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒') } } @@ -1182,21 +1172,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 } @@ -1213,25 +1203,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 } @@ -1246,25 +1236,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 } @@ -1280,11 +1270,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); @@ -1293,13 +1283,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 } }) @@ -1308,19 +1298,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 } }, @@ -1330,7 +1320,7 @@ } catch (e) { } }, - replaceAll(str,find,value) { + replaceAll(str, find, value) { if (str === undefined) { return str } @@ -1408,10 +1398,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, }) } }) @@ -1459,11 +1449,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 @@ -1472,18 +1462,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)) @@ -1507,12 +1497,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 = [] @@ -1556,14 +1546,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 => { @@ -1582,29 +1572,28 @@ }) } 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 - }) - this.productList = this.HaveJson(res.data) - this.productList0 = JSON.parse(JSON.stringify(this.productList)) + // 鐩存帴灏嗘煡璇㈢粨鏋滆祴鍊肩粰 productList + this.fullProductList = res.data + this.productList = res.data + this.productList0 = res.data this.$refs.sampleTable.setCurrentRow(row) setTimeout(() => { this.productList.forEach(a => { @@ -1612,26 +1601,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) }) }, // 鎷兼帴鏍峰搧鏍戠殑瀛楃涓� @@ -1673,7 +1643,7 @@ } }, // 鍏ㄩ�夌壒娈婂�煎鐞嗘閫夋嫨瑕佹眰鍊肩殑鍥炶皟 - upBsmAll (item) { + upBsmAll(item) { const i = this.bsm1DiaList.findIndex(obj => obj.id === item.id) if (i > -1) { // 鎵惧埌鐩稿簲鐨勬楠岄」璧嬪�� @@ -1704,7 +1674,7 @@ selectOne(selection, row) { this.bsm1DiaList = [] row.state = row.state == 1 ? 0 : 1 - if(row.section === null) { + if (row.section === null) { row.section = "" } if (row.sectionCopy === undefined && row.section) { @@ -1718,18 +1688,18 @@ 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) { + 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) { + } 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{ + } else if (arr.length > 0) { + try { row.bsmRow = this.HaveJson(row) let section = arr[0].section let arr0 = JSON.parse(row.section) @@ -1739,7 +1709,7 @@ row.section = section row.ask = arr1[index] row.tell = arr4[index] - } catch(e) {} + } catch (e) { } } this.sampleList.map(item => { if (this.sampleIds.indexOf(item.id) > -1) { @@ -1759,7 +1729,7 @@ handleAll(e) { if (e.length > 0) { this.productList.map(m => { - if(e.find(a=>a.id == m.id)){ + if (e.find(a => a.id == m.id)) { m.state = 1 } return m @@ -1823,10 +1793,10 @@ 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 @@ -1834,7 +1804,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) } }) @@ -1843,7 +1813,7 @@ const property = column['property']; return row[property] === value; }, - goBack () { + goBack() { if (this.active == 1) { this.$router.go(-1) } else { @@ -1864,6 +1834,7 @@ justify-content: space-between; margin-bottom: 10px; } + .tab { list-style-type: none; display: flex; @@ -1893,4 +1864,7 @@ } +:deep(.warning-row) { + color: #1890FF; +} </style> -- Gitblit v1.9.3