From 82e5335ce391e116a8aab48097e7efb76ce35007 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期五, 26 七月 2024 12:40:53 +0800 Subject: [PATCH] 解决j数采多个项目时数据回显不完的问题 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 188 +++++++++++++++++++++++++++-------------------- 1 files changed, 108 insertions(+), 80 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 0467e3d..d10c9a0 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -309,16 +309,16 @@ </el-select> <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='妫�娴嬩腑蹇�'"> <el-form-item label="娓╁害:" style="margin-bottom: 0;"> - <el-input v-model="otherForm.temperature" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'temperature')"></el-input> + <el-input v-model="otherForm.temperature" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'temperature')" ></el-input> <span style="margin-left: 4px;">鈩�</span> </el-form-item> <el-form-item label="婀垮害:" style="margin-bottom: 0;"> - <el-input v-model="otherForm.humidity" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input> + <el-input v-model="otherForm.humidity" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input> <span style="margin-left: 4px;">%</span> </el-form-item> </el-form> - <el-button type="primary" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='妫�娴嬩腑蹇�'" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button> - <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='妫�娴嬩腑蹇�'&&collected" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button> + <el-button type="primary" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button> + <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="dataAcquisitionEidt>0&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button> </div> </div> <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'&&tableLists.find(m=>m.templateId==currentTable).templateName!='鐑惊鐜楠屽師濮嬭褰�')"> @@ -469,7 +469,7 @@ <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code0" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="equipForm.code0" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in equipOptions" :key="item.value" @@ -482,7 +482,7 @@ <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code1" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="equipForm.code1" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in equipOptions" :key="item.value" @@ -533,7 +533,7 @@ {{ '澶栫'+(index+1) }} </template> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> + <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1" @change="m=>changeItem(scope.row.arr[index])"></el-input> </template> </el-table-column> <el-table-column @@ -545,7 +545,7 @@ {{ '鍐呯'+(index+1) }} </template> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> + <el-input size="small" :disabled="state>1" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> </template> </el-table-column> <el-table-column @@ -609,7 +609,7 @@ <el-divider></el-divider> <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;"> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code0" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="equipForm.code0" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in equipOptions" :key="item.value" @@ -619,7 +619,7 @@ </el-select> </el-form-item> <el-form-item label="浠櫒缂栧彿:"> - <el-select v-model="equipForm.code1" placeholder="璇烽�夋嫨" size="small"> + <el-select v-model="equipForm.code1" :disabled="state>1" placeholder="璇烽�夋嫨" size="small"> <el-option v-for="item in equipOptions" :key="item.value" @@ -631,8 +631,8 @@ <el-form-item label="寰幆娆℃暟:" v-if="thermalCyclingInfo.inspectionItemClass=='鐩存祦鐢甸樆'"> <el-input-number v-model="thermalCyclingInfo.inspectionItem" :min="1" :max="thermalCyclingInfo.max" label="" style="margin-top:4px;width: 190px;" size="small" @change="thermalCyclingChange"></el-input-number> </el-form-item> - <el-button type="primary" size="small" style="margin-bottom: 22px;margin-left: 30px;" @click="handleAddThermal">鏂板</el-button> - <el-button size="small" style="margin-bottom: 22px;" @click="handleDeleteThermal">鍒犻櫎</el-button> + <el-button type="primary" size="small" style="margin-bottom: 22px;margin-left: 30px;" @click="handleAddThermal" v-if="state==1">鏂板</el-button> + <el-button size="small" style="margin-bottom: 22px;" @click="handleDeleteThermal" v-if="state==1">鍒犻櫎</el-button> </el-form> <div class="table-container" v-loading="thermalCyclingLoading"> <table border="1" cellpadding="10" class="thermal-table"> @@ -646,12 +646,12 @@ <td v-for="(m,i) in thermalCyclingInfo.length" style="min-width: 150px;"> <div style="display: flex;align-items: center;margin-bottom: 5px;"> <label style="width: 100px;white-space: nowrap;font-size: 12px;">娓╁害:</label> - <el-input clearable size="small" placeholder="" v-model="item.arr[i].value0" @change="m=>saveThermalCycling(m,item,'value0')"></el-input> + <el-input clearable size="small" placeholder="" v-model="item.arr[i].value0" :disabled="state>1" @change="m=>saveThermalCycling(m,item,'value0')"></el-input> <span style="font-size: 12px;margin-left: 13px;margin-right: 13px;"> 鈩�</span> </div> <div style="display: flex;align-items: center;" v-if="item.name!='鐜娓╁害'&&thermalCyclingInfo.inspectionItemClass=='鐩存祦鐢甸樆'"> <label style="width: 100px;white-space: nowrap;font-size: 12px;">鐩存祦鐢甸樆:</label> - <el-input clearable size="small" placeholder="" v-model="item.arr[i].value1" @change="saveThermalCycling"></el-input> + <el-input clearable size="small" :disabled="state>1" placeholder="" v-model="item.arr[i].value1" @change="saveThermalCycling"></el-input> <span style="margin-left: 5px;font-size: 12px;"> 惟/km</span> </div> </td> @@ -678,7 +678,7 @@ accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' :headers="headers" :on-change="beforeUpload" style="width: 80px !important;" :on-error="onError" ref='upload'> - <el-button size="small" type="primary">闄勪欢涓婁紶</el-button></el-upload> + <el-button size="small" type="primary" v-if="state==1">闄勪欢涓婁紶</el-button></el-upload> <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList" :componentData="componentData0" :delUrl="$api.insOrderPlan.delfile" @@ -940,6 +940,7 @@ }, result: null, worker: null, + worker0: null, wareLength:[], dataAcquisitionInfo:{}, dataAcquisitionEidt:0, @@ -1124,68 +1125,91 @@ return } this.dataAcquisitionInfo = res.data - let list = this.tableList[0].arr - list.forEach((item,index)=>{ - let num = 0; - let str = '' - item.forEach(m=>{ - if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ - if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ - if(num==0){ - str = m.v.v+',' - num++ - } - } - if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ - if(num==1){ - str = str+m.v.v - } - } - if(this.dataAcquisitionInfo[str]){ - let num = 0; - list[index].forEach(n=>{ - if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){ - num++ - } - }) - list[index].forEach((n,i)=>{ - if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){ - let arr = n.v.ps.value.split('鍊�') - if(arr[1] ==this.dataAcquisitionInfo.frequency){ - setTimeout(()=>{ - this.$delete(n.v,'v') - this.$set(n.v,'v',this.dataAcquisitionInfo[str]) - this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) - },1000) - }else if(Number(this.dataAcquisitionInfo.frequency)>num){ - if(n.v.ps.value.includes(num)){ - setTimeout(()=>{ - this.$delete(n.v,'v') - this.$set(n.v,'v',this.dataAcquisitionInfo[str]) - this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) - },1000) - } - } - } - }) - } - } - }) - }) + // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 + this.worker0.postMessage(JSON.stringify({ + dataAcquisitionInfo: this.dataAcquisitionInfo, + list:this.tableList[0].arr + })); + // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋� + this.worker0.onmessage = (event) => { + let result = JSON.parse(event.data); + if(result.method=='changeInput'){ + 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) + } + }; + // let list = this.tableList[0].arr + // list.forEach((item,index)=>{ + // let num = 0; + // let str = '' + // item.forEach(m=>{ + // if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){ + // if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){ + // if(num==0){ + // str = m.v.v+',' + // num++ + // } + // } + // if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ + // if(num==1){ + // str = str+m.v.v + // } + // } + // if(this.dataAcquisitionInfo[str]){ + // let num = 0; + // list[index].forEach(n=>{ + // if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){ + // num++ + // } + // }) + // list[index].forEach((n,i)=>{ + // if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){ + // let arr = n.v.ps.value.split('鍊�') + // if(arr[1] ==this.dataAcquisitionInfo.frequency){ + // setTimeout(()=>{ + // this.$delete(n.v,'v') + // this.$set(n.v,'v',this.dataAcquisitionInfo[str]) + // this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) + // },1000) + // }else if(Number(this.dataAcquisitionInfo.frequency)>num){ + // if(n.v.ps.value.includes(num)){ + // setTimeout(()=>{ + // this.$delete(n.v,'v') + // this.$set(n.v,'v',this.dataAcquisitionInfo[str]) + // this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n) + // },1000) + // } + // } + // } + // }) + // } + // } + // }) + // }) }) }, // 澶氱嚎绋� startWorker() { - if (this.worker) { + if (this.worker) { this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� } // 鍒涘缓 Worker 瀹炰緥 this.worker = new Worker('/static/js/worker.js'); + if (this.worker0) { + this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + } + // 鍒涘缓 Worker 瀹炰緥 + this.worker0 = new Worker('/static/js/worker0.js'); }, stopWorker() { if (this.worker) { this.worker.terminate(); this.worker = null; + } + if (this.worker0) { + this.worker0.terminate(); + this.worker0 = null; } }, // 娓╁害寰幆---寮�濮� @@ -1527,7 +1551,6 @@ num0 = c.arr[i].value0 } }) - if(!num0||!b.value0){ b.state = null }else if(Number(num0)>Number(b.value0)){ @@ -1646,7 +1669,7 @@ } } }) - console.log(1111,this.param) + // console.log(1111,this.param) this.saveInsContext() }, // 鐑惊鐜�---缁撴潫 @@ -2238,13 +2261,15 @@ } catch (e) {} try { let equipValue = JSON.parse(a.insProductResult.equipValue) - this.param[a.id].equipValue = [] - for (let i = 0; i < equipValue.length; i++) { - this.param[a.id].equipValue.push({ - v:{ - v:'' - } - }) + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='鐑惊鐜楠屽師濮嬭褰�')){ + this.param[a.id].equipValue = [] + for (let i = 0; i < equipValue.length; i++) { + this.param[a.id].equipValue.push({ + v:{ + v:'' + } + }) + } } for (let i = 0; i < equipValue.length; i++) { if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='鐑惊鐜楠屽師濮嬭褰�')){ @@ -2275,13 +2300,15 @@ } catch (e) {} try { let equipName = JSON.parse(a.insProductResult.equipName) - this.param[a.id].equipName = [] - for (let i = 0; i < equipName.length; i++) { - this.param[a.id].equipName.push({ - v:{ - v:'' - } - }) + if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='鐑惊鐜楠屽師濮嬭褰�')){ + this.param[a.id].equipName = [] + for (let i = 0; i < equipName.length; i++) { + this.param[a.id].equipName.push({ + v:{ + v:'' + } + }) + } } for (let i = 0; i < equipName.length; i++) { if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'||this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='鐑惊鐜楠屽師濮嬭褰�')){ @@ -2747,6 +2774,7 @@ }) } } + console.log(this.param) this.saveInsContext() }, getAuthorizedPerson() { -- Gitblit v1.9.3