From f743df9508776dd59e19c1d8bd946b49d83e07eb Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期六, 29 六月 2024 15:28:41 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/do/b1-ins-order/add.vue | 559 +++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 432 insertions(+), 127 deletions(-) diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index f2ac520..560dc58 100644 --- a/src/components/do/b1-ins-order/add.vue +++ b/src/components/do/b1-ins-order/add.vue @@ -117,7 +117,7 @@ <div class="ins_order_add"> <div v-show="!configShow&&!equipConfigShow&&!cableConfigShow"> <el-row class="title"> - <el-col :span="6" style="padding-left: 20px;">濮旀墭鍗曚俊鎭� 鎬讳环锛�<span + <el-col :span="6" style="padding-left: 20px;text-align: left;">濮旀墭鍗曚俊鎭� 鎬讳环锛�<span style="color: #3A7BFA">锟{total}}</span></el-col> <el-col :span="18" style="text-align: right;"> <el-select v-model="template" size="medium" placeholder="涓嬪崟妯℃澘" style="margin-right: 10px;" v-show="active==1" @@ -163,8 +163,8 @@ </el-select> </div> </el-col> - <el-col class="search_thing" :span="6"> - <div class="search_label"><span class="required-span">* </span>濮旀墭浜猴細</div> + <el-col class="search_thing" :span="6" > + <div class="search_label"><span class="required-span">* </span>鍒跺崟浜猴細</div> <div class="search_input"> <el-input size="small" clearable disabled v-model="addObj.custom"></el-input> <!-- <el-input readonly size="small" v-model="addObj.custom"> @@ -186,7 +186,7 @@ <el-col class="search_thing" :span="6"> <div class="search_label"><span class="required-span">* </span>鑱旂郴鏂瑰紡锛�</div> <div class="search_input"> - <el-input size="small" placeholder="閫夋嫨濮旀墭瀹㈡埛" clearable disabled v-model="addObj.phone"></el-input> + <el-input size="small" placeholder="閫夋嫨濮旀墭瀹㈡埛" clearable :readonly="active>1" v-model="addObj.phone"></el-input> </div> </el-col> <el-col class="search_thing" :span="6"> @@ -303,6 +303,12 @@ <div class="search_label">OTC璁㈠崟鍙凤細</div> <div class="search_input"> <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.otcCode" :readonly="active>1"></el-input> + </div> + </el-col> + <el-col class="search_thing" :span="6"> + <div class="search_label">濮旀墭浜猴細</div> + <div class="search_input"> + <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addObj.prepareUser" :readonly="active>1"></el-input> </div> </el-col> <el-col class="search_thing" :span="6" style="align-items: flex-start;margin: 8px 0;"> @@ -427,7 +433,7 @@ :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" v-if="active==1&&isAskOnlyRead"></el-input> <span v-else> - <template v-if="(scope.row.ask.indexOf('D')>-1 + <!-- <template v-if="(scope.row.ask.indexOf('D')>-1 ||scope.row.ask.indexOf('W')>-1 ||scope.row.ask.indexOf('X')>-1 ||scope.row.ask.indexOf('RTS')>-1 @@ -435,7 +441,8 @@ ||scope.row.ask.indexOf('L')>-1)&&active==1"> <input class="askRts" v-model="scope.row.rts" /><br />{{ scope.row.ask }} </template> - <template v-else>{{ scope.row.ask }}</template> + <template v-else>{{ scope.row.ask }}</template> --> + <template >{{ scope.row.ask }}</template> </span> </template> </el-table-column> @@ -540,19 +547,20 @@ <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :active="active" /> <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" /> <cableConfig v-if="cableConfigShow" :active="active" /> +<!-- 鍗曢�夌壒娈婂�煎鐞嗘--> <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false" :before-close="beforeClose"> <div class="body" style="max-height: 60vh;"> <el-row v-if="bsm1"> - <el-col class="search_thing" :span="22"> + <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> <div class="search_label"><span class="required-span">* </span>閫夐」锛�</div> <div class="search_input"> <el-radio-group v-model="bsm1Val" @input="upBsm1"> - <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio> + <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> </el-radio-group> </div> </el-col> - <el-col class="search_thing" :span="22"> + <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> <div class="search_label">瑕佹眰鍊硷細</div> <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''"> <el-radio-group v-model="bsm1Val" @input="upBsm1"> @@ -601,15 +609,98 @@ </el-row> --> </div> </el-dialog> - <el-dialog title="RTS濉啓" :visible.sync="bsm3Dia" width="500px" :show-close="false" :before-close="beforeClose0"> - <el-row> - <el-col class="search_thing" :span="22" style="display: flex;align-items: center;"> - <div class="search_label"><span class="required-span">* </span>RTS锛�</div> - <div class="search_input"> - <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="bsm3Val"></el-input> - </div> - </el-col> - </el-row> +<!-- 鍏ㄩ�夌壒娈婂�煎鐞嗘--> + <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1DiaAll" width="500px" :show-close="false" + :before-close="beforeClose"> + <div class="body" style="max-height: 60vh;" v-for="(item, index) in bsm1DiaList" :key="index"> + <el-row v-if="item.bsm1"> + <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> + <div class="search_label"><span class="required-span">* </span>閫夐」锛�</div> + <div class="search_input"> + <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)"> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" :label="a" style="margin-bottom: 2px;margin-top: 2px;"></el-radio> + </el-radio-group> + </div> + </el-col> + <el-col class="search_thing" :span="22" style="height: initial;margin: 5px 0;"> + <div class="search_label">瑕佹眰鍊硷細</div> + <div class="search_input" v-show="item.bsm1Val!==null&&item.bsm1Val!==''"> + <el-radio-group v-model="item.bsm1Val" @input="upBsmAll(item)"> + <el-radio v-for="(a, ai) in JSON.parse(item.bsmRow.section)" :key="ai" + :label="a">{{JSON.parse(item.bsmRow.ask)[ai]}}</el-radio> + </el-radio-group> + </div> + </el-col> + </el-row> + <el-row v-if="item.bsm2"> + <el-col class="search_thing" :span="22"> + <div class="search_label" style="width: 220px;"><span class="required-span">* </span>鏍峰搧鐔旀帴閰嶅鏁伴噺锛�</div> + <div class="search_input"> + <el-input-number size="medium" v-model="item.bsm2Val" :min="1" :max="item.bsm2Val3.length" :precision="0" + style="width: 70%;" :controls="false" @change="bsm2Up"></el-input-number> + <span>MAX锛歿{item.bsm2Val3.length}}</span> + </div> + </el-col> + <el-col style="margin-top: 6px;"> + <el-col v-for="(a,ai) in item.bsm2Val2" :key="ai"> + <el-col :span="10"> + <el-select v-model="a[0]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> + <el-option v-for="(item,index) in item.sampleList" :key="index" :label="index+1" :value="index+1"> + </el-option> + </el-select> + </el-col> + <!-- <el-col :span="10" class="pairing">{{a[0]}}</el-col> --> + <el-col :span="4" class="pairing" style="border: 0;color: rgba(0, 0, 0, 0.2);">鈥斺��</el-col> + <el-col :span="10"> + <el-select v-model="a[1]" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"> + <el-option v-for="(item,index) in item.sampleList" :key="index" :label="index+1" :value="index+1"> + </el-option> + </el-select> + </el-col> + <!-- <el-col :span="10" class="pairing">{{a[1]}}</el-col> --> + </el-col> + </el-col> + </el-row> + </div> + </el-dialog> + <el-dialog title="鐗规畩鍊煎~鍐�" :visible.sync="bsm3Dia" width="800px" :show-close="false"> + <el-table + :data="editTable" + style="width: 100%"> + <!-- inspectionItemList --> + <el-table-column + prop="inspectionItemList" + label="妫�楠岄」" + width="180"> + </el-table-column> + <el-table-column + prop="sampleCode" + label="鏍峰搧缂栧彿" + width="180"> + </el-table-column> + <el-table-column + prop="model" + label="鏍峰搧鍨嬪彿" + width="180"> + </el-table-column> + <el-table-column + prop="symbolItem" + label="璇嗗埆绗﹀彿"> + </el-table-column> + <el-table-column + prop="value" + label="璇嗗埆绗﹀��"> + <template slot-scope="scope"> + <el-input v-model="scope.row.value" placeholder="璇疯緭鍏�" size="small"></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 type="primary" @click="save0" :loading="saveLoad">纭� 瀹�</el-button> + </el-row> + </span> </el-dialog> </div> </template> @@ -639,6 +730,7 @@ }, data() { return { + editTable:[], template: null, templates: [], addObj: { @@ -670,7 +762,8 @@ engineeringEn: null, production: null, productionEn: null, - companyId: null + companyId: null, + prepareUser:null }, sample: { sampleCode: null, @@ -723,6 +816,7 @@ addSampleDia: false, count: 1, productList: [], + bsm1DiaList: [], productIds: [], getProductLoad: false, saveLoad: false, @@ -754,6 +848,7 @@ bsm1: false, bsm1Val: null, bsm1Dia: false, + bsm1DiaAll: false, equipConfigShow: false, cableConfigShow: false, bsm2: false, @@ -769,6 +864,8 @@ totalArr: [], model: null, standardMethodListId: null, + symbolList:[ + 'RTS','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'] } }, watch: { @@ -873,43 +970,57 @@ this.addObj.companyId = selects.id this.selectUserDia = false }, - handleAsk(ask, rts) { + containsValue(str) { + if(str){ + let symbolItem = '' + this.symbolList.some(value =>{ + if(str.includes(value)){ + symbolItem = value + return true + } + }) + return symbolItem + } + }, + handleAsk(ask,symbolItem, value) { try{ let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"]; - if (ask.includes('RTS') || ask.includes('D') || ask.includes('W') || - ask.includes('X') || ask.includes('H') || ask.includes('L')) { - if (ask.includes('&')) { - // 澶氫釜鏉′欢 - let arr0 = ask.split('&') - let arr1 = [] - arr0.forEach(m => { - let index = code.findIndex(b => m.includes(b)) - if (index > -1) { - let arr = m.split(code[index]).filter(b => !!b) - let num = eval(this.replaceAll(arr[0], 'RTS', rts)) - m = code[index] + '' + num - arr1.push(m) - } - }) - return arr1.join('&') - } else { - // 鍗曚釜鏉′欢 - let index = code.findIndex(b => ask.includes(b)) + if (ask.includes('&')) { + // 澶氫釜鏉′欢 + let arr0 = ask.split('&') + let arr1 = [] + arr0.forEach(m => { + let index = code.findIndex(b => m.includes(b)) if (index > -1) { - let arr = ask.split(code[index]).filter(b => !!b) - let num = eval(this.replaceAll(arr[0], 'RTS', rts)) - return code[index] + '' + num + let arr = m.split(code[index]).filter(b => !!b) + let num = eval(this.replaceAll(arr[0], symbolItem, value)) + m = code[index] + '' + num + arr1.push(m) } + }) + return arr1.join('&') + } else { + // 鍗曚釜鏉′欢 + let index = code.findIndex(b => ask.includes(b)) + if (index > -1) { + let arr = ask.split(code[index]).filter(b => !!b) + let num = eval(this.replaceAll(arr[0], symbolItem, value)) + return code[index] + '' + num } } }catch(e){} }, - replaceAll(str, find, rts) { - if (rts === undefined) { + handleTell(tell,symbolItem, value){ + try{ + let num = this.replaceAll(tell, symbolItem, value) + return num + }catch(e){} + }, + replaceAll(str,find,value) { + if (str === undefined) { return str } - return str.replace('RTS', rts).replace('D', rts).replace('W', rts).replace('X', rts).replace('H', rts).replace( - 'L', rts); + return str.replace(find, value); }, save() { if (!this.addObj.companyId) { @@ -936,61 +1047,171 @@ this.$message.error('璇烽�夋嫨妫�楠屾爣鍑�') } else { let sampleList = this.HaveJson(this.sampleList) - let isRTS = this.totalArr.find(a => a.ask != null && (a.ask.includes('RTS') || a.ask.includes('D') || a.ask - .includes('W') || - a.ask.includes('X') || a.ask.includes('H') || a.ask.includes('L')) && a.state == 1) - if (isRTS) { - sampleList.forEach(item => { - if (item.insProduct && item.insProduct.length > 0) { - item.insProduct.forEach(a => { - if (a.state == 1) { - let ask = this.handleAsk(a.ask, a.rts) - if (ask && a.state == 1) { - a.ask = ask + let projectNum = this.totalArr.filter(a => a.state == 1).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) + if (isRTS) { + this.editTable = this.handleData(sampleList,this.containsValue, 0) + this.editTable.forEach(item => { + item.value = item.modelNum + }) + this.bsm3Dia = true; + return + } + this.saveMethod(sampleList) + } + } + }, + save0(){ + if(this.editTable.every(m=>m.value)){ + let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1) + this.saveMethod(sampleList) + }else{ + this.$message.error('璇峰~鍐欒瘑鍒鍊�') + } + }, + handleData(sampleList,calBack,type){ + let editTable = [] + sampleList.forEach(item => { + let obj = { + 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){ + let str = calBack(a.ask) + str&&obj.symbolList.push({ + symbolItem:str, + inspectionItem:a.inspectionItem, + }) + }else if(type==1){ + let arr = this.editTable.filter(b => b.sampleId == item.id) + arr.forEach(f => { + if(a.ask.includes(f.symbolItem)){ + let ask = calBack(a.ask, f.symbolItem,f.value) + if (ask) { + a.ask = ask + } + let tell = this.handleTell(a.tell, f.symbolItem,f.value) + if (tell) { + a.tell = tell + } } - } - }) + }) + } } - // 鍏夌氦甯﹂」鐩� - if (item.bushing && item.bushing.length > 0) { - item.bushing.forEach(a => { - if (a.fiber && a.fiber.length > 0) { - a.fiber.forEach(b => { - if (b.productList && b.productList.length > 0) { - b.productList.forEach(c => { - if (c.state == 1) { - let ask = this.handleAsk(c.ask, c.rts) - if (ask && c.state == 1) { - c.ask = ask + }) + } + // 鍏夌氦甯﹂」鐩� + if (item.bushing && item.bushing.length > 0) { + item.bushing.forEach(a => { + if (a.fiber && a.fiber.length > 0) { + a.fiber.forEach(b => { + if (b.productList && b.productList.length > 0) { + b.productList.forEach(c => { + if (c.state == 1) { + if(type==0){ + let str = calBack(c.ask) + str&&obj.symbolList.push({ + symbolItem:str, + inspectionItem:c.inspectionItem, + }) + }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 (ask) { + c.ask = ask + } + let tell = this.handleTell(c.tell, f.symbolItem,f.value) + if (tell) { + c.tell = tell + } } - } - }) + }) + } } }) } - if (a.fibers && a.fibers.length > 0) { - a.fibers.forEach(b => { - if (b.productList && b.productList.length > 0) { - b.productList.forEach(c => { - if (c.state == 1) { - let ask = this.handleAsk(c.ask, c.rts) - if (ask && c.state == 1) { - c.ask = ask - } - } - }) - } - if (b.fiber && b.fiber.length > 0) { - b.fiber.forEach(c => { - if (c.productList && c.productList.length > 0) { - c.productList.forEach(d => { - if (d.state == 1) { - let ask = this.handleAsk(d.ask, d.rts) - if (ask) { - d.ask = ask - } + }) + } + if (a.fibers && a.fibers.length > 0) { + a.fibers.forEach(b => { + if (b.productList && b.productList.length > 0) { + b.productList.forEach(c => { + if (c.state == 1) { + if(type==0){ + let str = calBack(c.ask) + str&&obj.symbolList.push({ + symbolItem:str, + inspectionItem:c.inspectionItem, + }) + }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 (ask) { + c.ask = ask } - }) + let tell = this.handleTell(c.tell, f.symbolItem,f.value) + if (tell) { + c.tell = tell + } + } + }) + } + } + }) + } + if (b.fiber && b.fiber.length > 0) { + b.fiber.forEach(c => { + if (c.productList && c.productList.length > 0) { + c.productList.forEach(d => { + if (d.state == 1) { + if(type==0){ + let str = calBack(d.ask) + str&&obj.symbolList.push({ + symbolItem:str, + inspectionItem:d.inspectionItem, + }) + }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 (ask) { + d.ask = ask + } + let tell = this.handleTell(d.tell, f.symbolItem,f.value) + if (tell) { + d.tell = tell + } + } + }) + } } }) } @@ -1000,34 +1221,81 @@ } }) } - this.saveLoad = true - this.$axios.post(this.$api.insOrder.addInsOrder, { - str: JSON.stringify({ - insOrder: this.addObj, - list: JSON.stringify(sampleList.map(a => { - a.model = a.model + ((a.modelNum == null || a.modelNum == '' || a.modelNum == 'null') ? - '' : ( - '-' + a.modelNum)) - return a - })), - pairing: JSON.stringify(this.bsm2Val2) + if(type==0){ + editTable.push(obj) + } + }) + if(type==0){ + editTable.forEach(a => { + a.symbolList.forEach(b => { + let arr = a.symbolList.filter(c => c.symbolItem == b.symbolItem); + b.inspectionItemList = arr.map(c => c.inspectionItem).join(',') }) - }).then(res => { - this.saveLoad = false - if (res.code == 201) return - this.$message.success('宸叉彁浜�') - this.$parent.playOrder(0) - }).catch(e=>{ - this.saveLoad = false }) + editTable.forEach(a => { + let mySet = new Set(); + a.symbolList = a.symbolList.filter(b =>{ + let num0 = mySet.size; + mySet.add(b.symbolItem); + let num1 = mySet.size; + if(num0!=num1){ + return true; + }else{ + return false + } + }) + }) + let editTableNew = [] + 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, + } + editTableNew.push(obj) + }) + }) + return editTableNew + }else{ + return sampleList } + }, + saveMethod(sampleList){ + this.saveLoad = true + this.$axios.post(this.$api.insOrder.addInsOrder, { + str: JSON.stringify({ + insOrder: this.addObj, + list: JSON.stringify(sampleList.map(a => { + 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 + })), + pairing: JSON.stringify(this.bsm2Val2) + }) + }).then(res => { + this.saveLoad = false + if (res.code == 201) return + this.$message.success('宸叉彁浜�') + this.bsm3Dia = false; + this.$parent.playOrder(0) + }).catch(e=>{ + this.saveLoad = false + }) }, upInsOrderOfState(state) { if (state == 1) { this.saveLoad = true this.$axios.post(this.$api.insOrder.upInsOrderOfState, { state, - id: this.currentId + id: this.currentId, + companyId:this.addObj.companyId }, { headers: { 'Content-Type': 'application/json' @@ -1036,6 +1304,8 @@ this.saveLoad = false if (res.code == 201) return this.$message.success('鎻愪氦鎴愬姛') + // this.$parent.multipleSelection = [{id: this.currentId}] + // this.$parent.print() // 濡傛灉绱ф�ョ▼搴︿负绱ф�ワ紝闇�瑕佺洿鎺ヤ笅鍙戜汉鍛� // if (this.addObj.type == 2) { // this.issuedDialogVisible = true; @@ -1144,7 +1414,7 @@ } }, selectStandardTreeList() { - this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => { + this.$axios.get(this.$api.standardTree.selectStandardTreeList2).then(res => { this.list = res.data this.list.forEach(a => { this.expandedKeys.push(a.label) @@ -1284,15 +1554,18 @@ this.$refs.productTable.toggleRowSelection(row, true); }, upProductSelect(selection, row) { + console.log('danxuan', row) + this.bsm1DiaList = [] row.state = row.state == 1 ? 0 : 1 if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) { if (row.section.indexOf('[') > -1) { - this.bsmRow = this.HaveJson(row) + row.bsmRow = this.HaveJson(row) } - this.bsm1 = true - this.bsm1Dia = true + row.bsm1 = true + this.bsm1DiaList.push(row) + this.bsm1DiaAll = true } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) { - this.bsm1 = false + row.bsm1 = false } if (row.bsm === '1' && row.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length > 1 && row.state === 1) { this.bsm2 = true @@ -1506,6 +1779,7 @@ let obj = this.sampleIds.find(b => b == a.id) if (obj) { a.standardMethodListId = this.standardMethodListId + this.methodChange(this.standardMethodListId, a) } }) }, @@ -1550,6 +1824,7 @@ } }, handleAll(e) { + console.log('鍏ㄩ��') if (e.length > 0) { this.productList.map(m => { m.state = 1 @@ -1562,15 +1837,17 @@ }) } this.bsmRow3 = []; + this.bsm1DiaList = [] this.productList.forEach(p => { if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) { if (p.section.indexOf('[') > -1) { - this.bsmRow = this.HaveJson(p) + p.bsmRow = this.HaveJson(p) } - this.bsm1 = true - this.bsm1Dia = true + p.bsm1 = true + this.bsm1DiaList.push(p) + this.bsm1DiaAll = true } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) { - this.bsm1 = false + p.bsm1 = false } if (p.bsm === '1' && p.inspectionItem === '鐔旀帴鎹熻��' && this.sampleList.length > 1 && p.state === 1) { this.bsm2 = true @@ -1769,13 +2046,41 @@ } } }, - beforeClose(done) { - if (this.bsm1) { - if (this.bsm1Val === null || this.bsm1Val === '') { - this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') - return + upBsmAll (item) { + let sections = JSON.parse(item.bsmRow.section); + let asks = JSON.parse(item.bsmRow.ask); + let tells = JSON.parse(item.bsmRow.tell); + let manHours = JSON.parse(item.bsmRow.manHour); + let prices = JSON.parse(item.bsmRow.price); + for (var a in sections) { + if (item.bsm1Val === sections[a]) { + this.productList.forEach(p => { + if (p.id === item.bsmRow.id) { + p.section = sections[a] + p.ask = asks[a] + p.tell = tells[a] + p.manHour = manHours[a] + p.price = prices[a] + } + }) + break } } + }, + beforeClose(done) { + // if (this.bsm1) { + // if (this.bsm1Val === null || this.bsm1Val === '') { + // this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') + // return + // } + // } + if (this.bsm1DiaList.length > 0) { + this.bsm1DiaList.forEach(item => { + if (!item.bsm1Val) { + throw this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') + } + }) + } if (this.bsm2) { if (this.bsm2Val2.length === 0) { this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊') -- Gitblit v1.9.3