From c23d55414d3aadf97253418b7d198cd8ae5a6a90 Mon Sep 17 00:00:00 2001 From: Crunchy <3114200645@qq.com> Date: 星期六, 10 八月 2024 14:19:10 +0800 Subject: [PATCH] 数采bug修复 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 192 ++++++++++++++++++++++++++++++++++------------- 1 files changed, 139 insertions(+), 53 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index b9f79b7..a24c112 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -242,7 +242,7 @@ <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">鍏夌氦鍒囨崲</el-button> <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">鍏夌氦甯﹀垏鎹�</el-button> <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">濂楃鍒囨崲</el-button> --> - <el-button size="small" type="primary" @click="sampleVisible=true">鏍峰搧鍒囨崲</el-button> + <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button> <el-button size="small" type="primary" @click="addVerifyDia = true" v-if="state==1" :loading="submitLoading">鎻愪氦</el-button> @@ -384,6 +384,7 @@ <template v-if="PROJECT=='妫�娴嬩腑蹇�'||PROJECT=='瑁呭鐢电紗'&&getInspectionValueType(n.i) != 2 "> <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">鍚堟牸</span> <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">涓嶅悎鏍�</span> + <span v-else-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">涓嶅垽瀹�</span> <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> </template> </template> @@ -612,6 +613,7 @@ <template slot-scope="scope"> <span v-if="scope.row.arr[index].insResult===1" style="color: green;">鍚堟牸</span> <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> <span v-else>寰呭畾</span> </template> </el-table-column> @@ -691,6 +693,7 @@ <template v-else> <span v-if="item.insResult===1" style="color: green;">鍚堟牸</span> <span v-else-if="item.insResult===0" style="color: red;">涓嶅悎鏍�</span> + <span v-else-if="item.insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span> <span v-else>寰呭畾</span> </template> </td> @@ -825,7 +828,7 @@ <td style="text-align: left;"> <el-checkbox-group v-model="getDataIndex" :max="item.child[0].maxNum"> - <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox> + <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j">{{n}}</el-checkbox> </el-checkbox-group> </td> </tr> @@ -834,7 +837,7 @@ <td style="text-align: left;"> <el-checkbox-group v-model="getDataIndex" :max="m.maxNum"> - <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox> + <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j">{{n}}</el-checkbox> </el-checkbox-group> </td> </tr> @@ -943,6 +946,7 @@ requiredUp: [] }, upIndex: 0, + changeType:null, getReportModelLoading:false, insOrder: {}, sampleProduct: [], @@ -1051,7 +1055,9 @@ } ], getDataIndex:[], - getDataIndexLoading:false + getDataIndexLoading:false, + changeType:null, + getDataTypeId:'' } }, computed: { @@ -1109,15 +1115,18 @@ } let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) - // console.log(this.currentSample) + this.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.determineWhetherToCollectData() @@ -1143,19 +1152,30 @@ }, currentTable(val1, val0) { if (val0 != null && val1 != val0) { + if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ + if(this.casing.length>0){ + this.handleChange(this.casing[0].id,3) + } + return + } + if(this.changeType&&this.changeType>0){ + return + } this.tableLists.forEach(async (m, i) => { if (m.templateId == val1) { let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) - // console.log(this.currentSample) + this.param = {} this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.getReportModel(this.currentSample.id) @@ -1184,12 +1204,6 @@ } } }) - this.handleCasing() - if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){ - if(this.casing.length>0){ - this.handleChange(this.casing[0].id,3) - } - } } }, equipForm:{ @@ -1290,8 +1304,14 @@ child:[] } for(let j in data[i]){ + let str0 = '' + if(i==j){ + str0 = i+',' + }else{ + str0 = i+','+j + } if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){ - this.dataAcquisitionInfo[i+','+j] = { + this.dataAcquisitionInfo[str0] = { value:data[i][j].result, frequency:data[i].frequency } @@ -1299,7 +1319,6 @@ list.forEach((item,index)=>{ let num0 = 0; let str = '' - let str0 = i+','+j item.forEach(m=>{ if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ @@ -1322,7 +1341,12 @@ }) }) }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ - let str0 = i+','+j + let str0 = '' + if(i==j){ + str0 = i+',' + }else{ + str0 = i+','+j + } let list = this.tableList[0].arr let maxNum = 0 list.forEach((item,index)=>{ @@ -1351,7 +1375,6 @@ maxNum = num } } - console.log('data[i][j].equipName',data[i][j].equipName,'data[i][j].equipValue',data[i][j].equipValue,'m.v',m.v,'m.v.ps',m.v.ps,'m.v.ps.value',m.v.ps.value,'str0',str0,'str',str,'m.v.v',m.v.v) if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){ if(!m.v.v){ this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName) @@ -1359,6 +1382,13 @@ } }) }) + // let arr3 = [] + // for (let l=0 ;i<data[i][j].result.length;i++){ + // arr3.push({ + // id:, + // value: + // }) + // } let obj0 = { name:j, arr:data[i][j].result, @@ -1368,7 +1398,7 @@ if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){ obj.child.push(obj0) }else{ - this.dataAcquisitionInfo[i+','+j] = { + this.dataAcquisitionInfo[str0] = { value:data[i][j].result } } @@ -1380,11 +1410,13 @@ } if(this.getData.length>0){ this.dataGetDia = true + this.getDataIndex = [] }else{ try { // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 this.getDataIndexLoading = false this.dataGetDia = false + this.getDataTypeId = '' this.worker0.postMessage(JSON.stringify({ dataAcquisitionInfo: this.dataAcquisitionInfo, list:this.tableList[0].arr @@ -1400,6 +1432,8 @@ let {list,n} = result.value this.$set(this.tableList[0],'arr',list) this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) + }else if(result.getDataTypeId){ + this.getDataTypeId = result.getDataTypeId } }; }, @@ -1973,6 +2007,14 @@ this.collected = collected this.temDataAcquisition = temDataAcquisition }, + uploadSample(){ + this.$axios.post(this.$api.insOrderPlan.doInsOrder, { + id: this.id, + laboratory: this.sonLaboratory + }).then(async res => { + this.sampleProduct = res.data.sampleProduct + }) + }, async getCurrentProduct(id,type){ this.tableLoading = true; let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory) @@ -2049,15 +2091,18 @@ this.currentSample = this.HaveJson(row) let list = await this.getCurrentProduct(row.id,0) this.currentSample.insProduct = this.HaveJson(list) - this.handleCasing() + this.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.getReportModel(row.id) @@ -2076,9 +2121,15 @@ currentTable:this.currentTable })); }, - handleCasing(){ - if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='鎴愬搧缂嗘楠屽師濮嬭褰�')){ - this.currentSample.insProduct = this.currentSample.insProduct.filter(m=>!m.inspectionItem.includes('鏉惧绠�')) + handleCasing(inspectionItem){ + if(this.changeType!=3){ + if(inspectionItem.includes('鏉惧绠�')){ + return false + }else{ + return true + } + }else{ + return true } }, getReportModel(id){ @@ -2094,9 +2145,11 @@ }) }, async handleChange(m,type){ + this.changeType = type if(m){ let list = await this.getCurrentProduct(m,type) if(list.length>0){ + this.param = {} list.forEach(a => { this.param[a.id] = { insValue: [], @@ -2646,6 +2699,26 @@ // return // } // } + let str = code.split('-') + let pId = str[3] + for(let i =0;i<this.currentSample.insProduct.length;i++){ + if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/'||this.currentSample.insProduct[i].ask=='鈥�')){ + this.tableList[0].arr.forEach(item=>{ + item.forEach(m=>{ + if(m.i==pId&&m.v.ps&&m.v.ps.value=='缁撹'){ + this.$set(m.v,'v',3) + } + }) + }) + if(this.param[pId].insResult&&this.param[pId].insResult.v){ + this.param[pId].insResult.v.v = 3 + } + this.saveInsContext() + return + } + } + // this.currentTable. + // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){} if (n) { // if (this.PROJECT === '瑁呭鐢电紗') { // let num2 = new this.$Big(n.v.v) @@ -2671,15 +2744,20 @@ currentSample:this.currentSample, PROJECT:this.PROJECT, param:this.param, - currentTable:this.currentTable + currentTable:this.currentTable, + getDataTypeId:this.getDataTypeId })); } catch (error) { console.log(444,error); } + let getDataType = false // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋� this.worker.onmessage = (event) => { this.result = JSON.parse(event.data); + if(this.result.value.getDataTypeId){ + getDataType = true + } switch (this.result.method){ case 'saveInsContext': this.$nextTick(()=>{ @@ -2695,7 +2773,13 @@ } } } - this.saveInsContext() + if(this.isGet&&!this.dataAcquisitionEidtAble&&!getDataType){ + return + } + setTimeout(()=>{ + this.saveInsContext() + },2000) + // this.saveInsContext() }) break; case 'tableList': @@ -3089,8 +3173,8 @@ return }, saveInsContext() { - console.log(1111,this.param) try { + console.log(1111,this.param) if(this.param){ this.$axios.post(this.$api.insOrderPlan.saveInsContext, { param: JSON.stringify(this.param) @@ -3216,16 +3300,18 @@ this.currentSample = this.HaveJson(this.sampleProduct[index - 1]) let list = await this.getCurrentProduct(this.currentSample.id,0) this.currentSample.insProduct = this.HaveJson(list) - this.handleCasing() this.param = {} + this.changeType = 0; this.currentSample.insProduct.forEach(a => { - this.param[a.id] = { - insValue: [], - comValue: [], - resValue: null, - equipValue: [], - equipName: [], - insResult: null + if(this.handleCasing(a.inspectionItem)){ + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } } }) this.getTableLists() -- Gitblit v1.9.3