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 | 204 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 146 insertions(+), 58 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index efdf353..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> @@ -254,18 +254,20 @@ </el-col> </el-row> <div class="search"> - <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px"> + <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px" label-position="right"> <el-form-item label="濮旀墭缂栧彿:"> <el-input clearable v-model="insOrder.entrustCode" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="鏍峰搧缂栧彿:"> - <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" style="width: 100px;"></el-input> + <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode"> + <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" ></el-input> + </el-tooltip> </el-form-item> <el-form-item label="鏍峰搧鍚嶇О:"> <el-input clearable v-model="currentSample.sample" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="鏍峰搧鏁伴噺:"> - <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" style="width: 70px;"></el-input> + <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" ></el-input> </el-form-item> <el-form-item label="涓嬪彂鏃堕棿:"> <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input> @@ -274,7 +276,7 @@ <el-input clearable v-model="insOrder.typeName" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="绾﹀畾鏃堕棿:"> - <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�" style="width: 100px;"></el-input> + <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�"></el-input> </el-form-item> <el-form-item label="褰撳墠鏍峰搧浣嶆暟:"> <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag> @@ -382,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> @@ -415,7 +418,7 @@ <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i> <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div> <i class="el-icon-caret-right table_caret" style="width: 16px;" - v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i> + v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i> </div> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'"> @@ -610,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> @@ -689,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> @@ -823,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> @@ -832,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> @@ -941,6 +946,7 @@ requiredUp: [] }, upIndex: 0, + changeType:null, getReportModelLoading:false, insOrder: {}, sampleProduct: [], @@ -1049,7 +1055,9 @@ } ], getDataIndex:[], - getDataIndexLoading:false + getDataIndexLoading:false, + changeType:null, + getDataTypeId:'' } }, computed: { @@ -1107,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() @@ -1141,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) @@ -1182,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:{ @@ -1288,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 } @@ -1297,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=='妫�楠岄」'){ @@ -1320,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)=>{ @@ -1349,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) @@ -1357,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, @@ -1366,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 } } @@ -1378,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 @@ -1398,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 } }; }, @@ -1971,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) @@ -2047,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) @@ -2074,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){ @@ -2092,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: [], @@ -2644,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) @@ -2669,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(()=>{ @@ -2693,7 +2773,13 @@ } } } - this.saveInsContext() + if(this.isGet&&!this.dataAcquisitionEidtAble&&!getDataType){ + return + } + setTimeout(()=>{ + this.saveInsContext() + },2000) + // this.saveInsContext() }) break; case 'tableList': @@ -3087,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) @@ -3214,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