From 41c2f79abd464e6c063166d680b51f746d6f0456 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期六, 10 八月 2024 16:25:13 +0800 Subject: [PATCH] 修改特殊值填值 --- src/components/do/b1-ins-order/fiberoptic-config.vue | 277 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 211 insertions(+), 66 deletions(-) diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue index ad78730..7ae348a 100644 --- a/src/components/do/b1-ins-order/fiberoptic-config.vue +++ b/src/components/do/b1-ins-order/fiberoptic-config.vue @@ -31,16 +31,16 @@ style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;"> <div class="search-item" style="margin-right: 10px;"> <label>濂楃鏁扮洰</label> - <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @blur="addBushing" :disabled="active!=1"></el-input> + <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @blur="addBushing" :disabled="active!=1" ></el-input> </div> <div class="search-item" style="margin-right: 10px;"> - <label style="width: 70px;">鏍囧噯閲�</label> - <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @blur="addStandNum" :disabled="active!=1"></el-input> + <label style="width: 100px">姣忔牴绠℃娊妫�鏍囧噯閲�</label> + <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @blur="addStandNum" :disabled="packageInfo.radio===0||active!=1" style="width:100px"></el-input> </div> <div class="search-item"> - <label style="width: 70px;">妫�娴嬮噺</label> + <label style="width: 100px">姣忔牴绠℃娊妫�妫�娴嬮噺</label> <el-input v-model="packageInfo.testNum" placeholder="璇疯緭鍏�" size="small" @blur="addTestNum" - :disabled="packageInfo.radio===0||active!=1"></el-input> + :disabled="packageInfo.radio===0||active!=1" style="width:70px"></el-input> </div> </div> <el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small" @@ -78,7 +78,7 @@ @select="upProductSelect" > <el-table-column type="selection" width="55" - :selectable="()=>((currentDetectionItems||this.multiFiberList.length > 0)&&active==1)"> + :selectable="()=>((currentDetectionItems||this.selectFiberList.length > 0 || this.multiFiberList.length > 0)&&active==1)"> </el-table-column> <el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory" ></el-table-column> <el-table-column prop="inspectionItem" label="妫�楠岄」" show-overflow-tooltip> @@ -95,8 +95,14 @@ </el-table-column> --> <el-table-column prop="ask" label="妫�娴嬭姹�" show-overflow-tooltip width="200px"> <template slot-scope="scope"> - <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input> + <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input> <span v-else>{{ scope.row.ask }}</span> + </template> + </el-table-column> + <el-table-column prop="tell" label="瑕佹眰鎻忚堪" show-overflow-tooltip width="150"> + <template slot-scope="scope"> + <el-input v-model="scope.row.tell" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input> + <span v-else>{{ scope.row.tell }}</span> </template> </el-table-column> </el-table> @@ -134,7 +140,7 @@ <div class="search-item" style="width: 50%;margin-right: 16px;"> <label style="width: 80px;">绾ゅ甫绫诲瀷</label> <el-select v-model="miresModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" - :disabled="selectBushing.length===0||active!=1" + > <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value"> </el-option> @@ -152,8 +158,11 @@ </div> </div> - <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px" + <!-- <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px" size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)" + :header-cell-class-name="setClassName0"> --> + <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px" + size="small" @selection-change="handleSelectionChange" highlight-current-row :header-cell-class-name="setClassName0"> <el-table-column type="selection" @@ -227,9 +236,12 @@ </el-select> </div> </div> - <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" + <!-- <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" size="small" highlight-current-row @selection-change="handleSelectionChange4" @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)" + :header-cell-class-name="setClassName0"> --> + <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px" + size="small" highlight-current-row @selection-change="handleSelectionChange4" :header-cell-class-name="setClassName0"> <el-table-column type="selection" @@ -358,6 +370,7 @@ return { detectionType: null, detectionSelect: [], + selectFiberList: [], type:1, saveLoad: false, packageInfo: { @@ -467,9 +480,8 @@ // 鍏夌氦甯� this.fibersList.push(b) // 鍏夌氦 - b.fiber.forEach(c=>{ - this.fiberList.push(c) - }) + // this.fiberList = [] + // this.fiberList = b.fiber }) } else { a.fiber.forEach(b=>{ @@ -478,6 +490,7 @@ } }else{ + this.fiberList = [] a.fiber.forEach(b=>{ this.fiberList.push(b) }) @@ -492,8 +505,11 @@ }, methods: { handleSelectionChange(val) { - this.selectFibers = val + // this.selectFibers = val this.multiFiberList = val + if(val.length > 0) { + this.rowClickFiber(val[val.length-1],null,null,1) + } }, handleSelectionChange1(val) { this.selectBushing = val @@ -502,27 +518,87 @@ this.detectionSelect = val // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦甯� if(this.detectionItems.type == 1) { - for(let i= 0; i < this.fibersList.length; i++){ this.multiFiberList.forEach(item => { - if(this.fibersList[i].ident == item.ident){ + this.fibersList.forEach(a => { + if(a.ident == item.ident){ + a.productList = [] this.fibersList.find(a => a.ident == item.ident).productList = this.detectionSelect } }) - } + }) } + console.log(this.fibersList); + + if(this.detectionItems.type == 0) { // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦 - this.multiFiberList.forEach(item => { + this.selectFiberList.forEach(item => { this.fiberList.forEach(a => { if(a.ident == item.ident){ + a.productList = [] this.fiberList.find(a => a.ident == item.ident).productList = this.detectionSelect } }) }) + // 閫夋嫨鐨勬椂鍊欏氨灏唂iberList鐨勫�艰祴鍊肩粰瀵瑰簲鐨刦iberList + setTimeout(() => { + if(this.multiFiberList.length > 0) { + this.multiFiberList.forEach(item => { + this.fibersList.forEach(a => { + if(a.ident == item.ident){ + a.fiber = this.fiberList + } + }) + }) + } + },100) } }, handleSelectionChange4(val){ - this.multiFiberList = val + this.selectFiberList = val + if(val != 0) { + this.rowClickFiber(val[val.length-1],null,null,0) + } + }, + + changeASk(row) { + // 鍏堝嬀閫夌殑鎯呭喌涓� + this.detectionSelect.forEach(item => { + if(item.id == row.id) { + item.ask = row.ask + item.tell = row.tell + // 鍏夌氦 0 鍏夌氦甯� 1 + if(item.isFibers == 0) { + this.selectFiberList.forEach(a => { + this.fiberList.forEach(b => { + if(b.ident == a.ident){ + b.productList.forEach(item => { + if(item.id == row.id) { + item.ask = row.ask + item.tell = row.tell + } + }) + } + }) + }) + } + if(item.isFibers == 1) { + this.multiFiberList.forEach(a => { + this.fibersList.forEach(b => { + if(b.ident == a.ident){ + b.productList.forEach(item => { + if(item.id == row.id) { + item.ask = row.ask + item.tell = row.tell + } + }) + } + }) + }) + + } + } + }) }, outConfig() { this.$parent.configShow = false @@ -551,6 +627,11 @@ }, // 濂楃鏍囧噯閲忚祴鍊� addStandNum() { + if(this.packageInfo.testNum > this.packageInfo.standNum) { + this.$message.error('妫�娴嬮噺涓嶈兘澶т簬鏍囧噯閲�') + this.packageInfo.testNum = this.packageInfo.standNum + } + if(this.selectBushing.length > 0) { this.bushing.forEach(item => { this.selectBushing.forEach(a => { @@ -563,6 +644,11 @@ }, // 濂楃妫�娴嬮噺璧嬪�� addTestNum() { + + if(parseInt(this.packageInfo.testNum) > parseInt(this.packageInfo.standNum)) { + this.packageInfo.testNum = this.packageInfo.standNum + this.$message.error('妫�娴嬮噺涓嶈兘澶т簬鏍囧噯閲�') + } if(this.selectBushing.length > 0) { this.bushing.forEach(item => { this.selectBushing.forEach(a => { @@ -577,26 +663,34 @@ this.fiberList = [] this.fibersList = [] this.detectionItems = [] - // 椤甸潰鏄惁鍚湁鍏夌氦甯� if(this.packageInfo.ismiers) { // 鍏ㄦ if (this.packageInfo.radio == 0) { + if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') { + this.$message.error('璇峰厛杈撳叆鏍囧噯閲�') + return + } // 鏍规嵁鏍囧噯閲忚祴鍊兼娴嬮噺 if(parseInt(this.packageInfo.standNum) > 0 ) { - // 缁欏厜绾ゅ甫璧嬪�� this.packageInfo.testNum = this.packageInfo.standNum - this.selectBushing = this.bushing - this.addFibers() - this.selectFibers = this.fibersList - // 榛樿鍕鹃�� - setTimeout(() => { - this.selectBushing.forEach(item =>{ - let rowToSelect = this.bushing.find(a => a.ident == item.ident) - this.$refs.table0.toggleRowSelection(rowToSelect, true) + // 缁欏厜绾ゅ甫璧嬪�� + this.bushing.forEach(item => { + item.testNum = this.packageInfo.testNum + item.standNum = this.packageInfo.standNum + this.$refs.table0.toggleRowSelection(item, true) }) - this.selectFibers.forEach(item =>{ + this.addFibers() + this.multiFiberList = this.fibersList + // 榛樿鍕鹃�� + setTimeout(() => { + // this.selectBushing.forEach(item =>{ + // let rowToSelect = this.bushing.find(a => a.ident == item.ident) + // this.$refs.table0.toggleRowSelection(rowToSelect, true) + // }) + + this.multiFiberList.forEach(item =>{ let rowToSelect = this.fibersList.find(a => a.ident == item.ident) this.$refs.table2.toggleRowSelection(rowToSelect, true) }) @@ -605,16 +699,29 @@ } }else { if(this.packageInfo.radio == 0) { + if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') { + this.$message.error('璇峰厛杈撳叆鏍囧噯閲�') + return + } if(parseInt(this.packageInfo.standNum) > 0 ) { - this.packageInfo.testNum = this.packageInfo.standNum + this.packageInfo.testNum = this.packageInfo.standNum + this.bushing.forEach(item => { + item.testNum = this.packageInfo.testNum + item.standNum = this.packageInfo.standNum + this.$refs.table0.toggleRowSelection(item, true) + }) + console.log(this.bushing); this.selectBushing = this.bushing this.addFiber() - // 榛樿鍕鹃�� setTimeout(() => { - this.selectBushing.forEach(item =>{ - let rowToSelect = this.bushing.find(a => a.ident == item.ident) - this.$refs.table0.toggleRowSelection(rowToSelect, true) + // this.selectBushing.forEach(item =>{ + // let rowToSelect = this.bushing.find(a => a.ident == item.ident) + // this.$refs.table0.toggleRowSelection(rowToSelect, true) + // }) + + this.fiberList.forEach(item =>{ + this.$refs.table3.toggleRowSelection(item, true) }) }, 200) } @@ -759,21 +866,11 @@ // }) // 灏嗕笅鎷夋鍊艰祴鍊肩粰鍏夌氦 鐩戝惉鍘婚櫎 - if(this.multiFiberList.length == 0) { + if(this.selectFiberList.length == 0) { this.$message.error('璇烽�夋嫨鏁版嵁') return } - this.multiFiberList.forEach(item => { - this.fiberList.forEach(a => { - if(a.ident == item.ident){ - a.model = this.mireModel.split(' - ')[1] // 鍏夌氦瑙勬牸 - a.noSplitModel = this.mireModel // 鍏夌氦瑙勬牸 - if(this.mireStandards != null) { - a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code // 鍙傝�冩爣鍑� - } - } - }) - }) + if (val === null || val === '') return if(this.mireStandards == null ) return this.$axios.post(this.$api.standardTree.selectStandardProductList, { @@ -794,6 +891,18 @@ this.detectionType = 0 this.$set(this.detectionItems,'type',0) } + this.mireStandards.find(a => a.id == val).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true + this.selectFiberList.forEach(item => { + this.fiberList.forEach(a => { + if(a.ident == item.ident){ + a.model = this.mireModel.split(' - ')[1] // 鍏夌氦瑙勬牸 + a.noSplitModel = this.mireModel // 鍏夌氦瑙勬牸 + if(this.mireStandards != null) { + a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code // 鍙傝�冩爣鍑� + } + } + }) + }) }) }, @@ -843,6 +952,8 @@ this.detectionItems = res.data this.detectionType = 1 this.$set(this.detectionItems,'type',1) + // 鍒ゆ柇鏄惁涓哄鎵樿姹� + this.miresStandards.find(a => a.id == val).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true } // 缁欓�変腑鐨勫厜绾ゅ甫璧嬪�� @@ -863,7 +974,6 @@ }) }, addFiber() { - // 鏈�鏂� let colors2 = [] if (this.packageInfo.num1 / this.colors.length > 1) { @@ -878,8 +988,8 @@ this.fiberList = [] // 閫夋嫨浜嗗厜绾ゅ甫 if (this.packageInfo.ismiers) { - if(this.selectFibers.length != 0){ - this.selectFibers.forEach((a,index) => { + if(this.multiFiberList.length != 0){ + this.multiFiberList.forEach((a,index) => { a.fiber = [] for (var i = 0; i < parseInt(a.num); i++) { let fiber = { @@ -904,6 +1014,7 @@ bushColor: a.color, color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label, model: null, + noSplitModel: null, standard: null, productList: [] } @@ -1131,6 +1242,11 @@ // }) // }, 200) if(type == 1) { + this.fiberList = row.fiber + if((row.model == null || row.model == '') && (row.standard == null || row.standard == '')){ + this.detectionItems = [] + return + } if(row.model != null && row.model != ''){ this.miresModel = row.model this.selectsStandardMethodByFLSSM2() @@ -1152,27 +1268,42 @@ this.detectionItems = [] if(res.data != null && res.data.length != 0){ res.data.forEach(a => { - a.state = 0 + this.$set(a,'isFibers',1) }) + // 鍒ゆ柇鏄惁涓哄鎵樿姹� + this.miresStandards.find(a => a.id == this.miresStandard).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true + if(!this.isAskOnlyRead){ + row.productList.forEach(a => { + res.data.forEach(b => { + if(a.id == b.id){ + b.ask = a.ask + b.tell = a.tell + } + }) + }) + } this.detectionItems = res.data this.detectionType = 1 this.$set(this.detectionItems,'type',1) - if (row.productList != null && row.productList.length > 0) { + let product = JSON.parse(JSON.stringify(row.productList)) setTimeout(() => { - row.productList.forEach(product => { - let rowToSelect = this.detectionItems.find(item => item.id === product.id); + product.forEach(p => { + let rowToSelect = this.detectionItems.find(item => item.id === p.id); if (rowToSelect) { this.toggleSelection(rowToSelect); } }); - },200) - + },200) } } }) - },1000) + },500) }else if(type == 0) { + if((row.noSplitModel == null || row.noSplitModel == '') && (row.standard == null || row.standard == '')){ + this.detectionItems = [] + return + } if(row.model != null && row.model != ''){ this.mireModel = row.noSplitModel this.selectsStandardMethodByFLSSM() @@ -1194,15 +1325,30 @@ if(res.data != null && res.data.length != 0){ res.data.forEach(a => { a.state = 0 + this.$set(a,'isFibers',0) }) + // 鍒ゆ柇鏄惁涓哄鎵樿姹� + this.mireStandards.find(a => a.id == this.mireStandard).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true + if(!this.isAskOnlyRead){ + row.productList.forEach(a => { + res.data.forEach(b => { + if(a.id == b.id){ + b.ask = a.ask + b.tell = a.tell + } + }) + }) + } this.detectionItems = res.data this.detectionType = 0 this.$set(this.detectionItems,'type',0) + if (row.productList != null && row.productList.length > 0) { + let product = JSON.parse(JSON.stringify(row.productList)) setTimeout(() => { - row.productList.forEach(product => { - let rowToSelect = this.detectionItems.find(item => item.id === product.id); + product.forEach(p => { + let rowToSelect = this.detectionItems.find(item => item.id === p.id); if (rowToSelect) { this.toggleSelection(rowToSelect); } @@ -1210,9 +1356,8 @@ },200) } } - }) - },1000); + },500); } }, toggleSelection(row) { @@ -1330,8 +1475,8 @@ }, upProductSelect(selection, row) { row.state = row.state == 1 ? 0 : 1 - if(this.multiFiberList.length > 0){ - this.multiFiberList.map(item => { + if(this.selectFiberList.length > 0){ + this.selectFiberList.map(item => { item.productList.map(m=>{ if(m.id == row.id){ m.state = row.state; @@ -1430,9 +1575,9 @@ this.bushing.forEach(item=>{ // 濡傛灉鍏夌氦甯︽湁鍊� if(this.fibersList.length != 0) { - this.fibersList.forEach(a=>{ - a.fiber = this.fiberList.filter(b=>b.fibersIdent == a.ident) - }) + // this.fibersList.forEach(a=>{ + // a.fiber = this.fiberList + // }) item.fibers = this.fibersList // 鍏夌氦甯� item.fiber = [] // 鍏夌氦 }else { -- Gitblit v1.9.3