From c263fb316fc23d9db98ce711fda30d81c28d2d9c Mon Sep 17 00:00:00 2001 From: zouyu <2723363702@qq.com> Date: 星期四, 08 八月 2024 19:02:10 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before --- src/components/do/b1-inspect-order-plan/Inspection.vue | 573 +++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 455 insertions(+), 118 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 125ee7e..cf1bc9f 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -22,7 +22,7 @@ .search .form-inline { padding-top: 20px; - padding-left: 50px; + padding-left: 0px; } .center { @@ -125,6 +125,9 @@ width: 100%; height: 100%; } + .table_input >>>.el-input__inner{ + border-color: rgba(0, 0, 0, 0.5) !important; + } .collection { width: 50px; @@ -143,7 +146,7 @@ .table_caret{ font-size: 16px; margin: 0 5px; - color: rgba(0, 0, 0, 0.1); + color: rgba(0, 0, 0, 0.5); } .table_caret:hover{ color: #409eff; @@ -226,13 +229,16 @@ display: flex; align-items: center; } + .custom-dialog .el-dialog__body { + max-width: 1000px; /* 璁剧疆鏈�澶у搴� */ + } </style> <template> <div v-loading="loading" class="inspection"> <el-row class="title"> - <el-col :span="12" style="padding-left: 20px;text-align: left;" v-once>妫�楠屽崟璇︽儏 + <el-col :span="12" style="padding-left: 20px;text-align: left;" >妫�楠屽崟璇︽儏 </el-col> - <el-col :span="12" style="text-align: right;" v-once> + <el-col :span="12" style="text-align: right;"> <!-- <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> --> @@ -248,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="璇疯緭鍏�"></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="璇疯緭鍏�"></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> @@ -273,6 +281,10 @@ <el-form-item label="褰撳墠鏍峰搧浣嶆暟:"> <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag> </el-form-item> + <el-form-item label="澶囨敞:"> + <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span> + <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> --> + </el-form-item> </el-form> </div> <div class="center"> @@ -285,8 +297,19 @@ </el-radio-group> </div> <div style="display: flex;align-items: center;"> + <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'"> 濂楃锛�</span> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,3)" v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> + <el-option + v-for="item in casing" + :key="item.id" + :label="item.color" + :value="item.id"> + <span style="float: left">{{ item.color}}</span> + <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag> + </el-option> + </el-select> <span v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> 鍏夌氦甯︼細</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small"> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> <el-option v-for="item in fibers" :key="item.value" @@ -297,7 +320,7 @@ </el-option> </el-select> <span v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'"> 鍏夌氦锛�</span> - <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small"> + <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)"> <el-option v-for="item in fiber" :label="item.bushColor+'-'+item.color" @@ -317,12 +340,12 @@ <span style="margin-left: 4px;">%</span> </el-form-item> </el-form> - <el-button type="primary" size="small" v-if="(dataAcquisitionEidt>0||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&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> + <el-button type="primary" size="small" v-if="(isGet||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button> + <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'))&&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.includes('鐑惊鐜�')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙'))"> - <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable"> + <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id"> <tbody> <tr v-for="(m,i) in item.arr" :key="i"> <td :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c' v-for="(n,j) in m" :key="j" @@ -335,7 +358,8 @@ <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')" @input="handleInput(n)" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"> + @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j" + @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)"> <!-- <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> --> </el-input> @@ -344,7 +368,7 @@ :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" /> <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" - :disabled="state>1" @visible-change="e=>getDic(e,n.i)" + :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)" @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)"> <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option> </el-select> @@ -364,7 +388,8 @@ </template> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧缂栫爜' && state==1"> - <el-select v-model="n.v.v" placeholder="璁惧" @visible-change="e=>getEquipOptions(e,n.i)" remote + <el-select v-model="n.v.v" placeholder="璁惧" + class="table_input" @visible-change="e=>getEquipOptions(e,n.i)" remote @change="(val)=>changeEquip(val, n)"> <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> </el-option> @@ -376,6 +401,7 @@ <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='瑕佹眰鍊�' && state==1"> <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span> </template> + <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁$畻鍊�' && state==1"><span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</span></template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏈�缁堝��' && state==1"> <!-- <el-input class="table_input" type="textarea" :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @@ -424,7 +450,7 @@ v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i> </div> </template> - <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" v-once></span> + <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span> </div> </td> </tr> @@ -536,7 +562,7 @@ {{ '澶栫'+(index+1) }} </template> <template slot-scope="scope"> - <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1" @change="m=>changeItem(scope.row.arr[index])"></el-input> + <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1||!dataAcquisitionEidtAble" @change="m=>changeItem(scope.row.arr[index])"></el-input> </template> </el-table-column> <el-table-column @@ -548,7 +574,7 @@ {{ '鍐呯'+(index+1) }} </template> <template slot-scope="scope"> - <el-input size="small" :disabled="state>1" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> + <el-input size="small" :disabled="state>1||!dataAcquisitionEidtAble" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input> </template> </el-table-column> <el-table-column @@ -738,6 +764,7 @@ size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> </template> </el-table-column> + <el-table-column prop="checkName" label="妫�楠屼汉" min-width="80px" show-overflow-tooltip></el-table-column> <el-table-column prop="isLeave" label="鏄惁鐣欐牱" width="95px" show-overflow-tooltip align="center"> <template slot-scope="scope"> <span>{{ scope.row.isLeave==0?'鍚�':'鏄�' }}</span> @@ -783,6 +810,41 @@ <el-button type="primary" @click="submit()">纭� 瀹�</el-button> </span> </el-dialog> + <el-dialog title="鏁版嵁閲囬泦" :visible.sync="dataGetDia" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" custom-class="custom-dialog"> + <div> + <table border="1" cellpadding="10" class="thermal-table"> + <tr> + <td style="width: 120px;">妫�楠岄」</td> + <td style="width: 120px;">妫�楠屽瓙椤�</td> + <td>鏁伴噰鏁版嵁</td> + </tr> + <template v-for="(item,index) in getData"> + <tr> + <td :rowspan="item.child.length">{{item.faName}}</td> + <td>{{ item.child[0].name }}</td> + <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-group> + </td> + </tr> + <tr v-for="(m,i) in item.child" :key="i+'bbbbbbbbbbbbbb'" v-show="i>0"> + <td>{{ m.name }}</td> + <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-group> + </td> + </tr> + </template> + </table> + </div> + <span slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitDataGet()" :loading="getDataIndexLoading">纭� 瀹�</el-button> + </span> + </el-dialog> </div> </template> @@ -797,6 +859,7 @@ }, data() { return { + dataGetDia:false, wareTableDataLoading:false, fileAdd:false, sampleVisible: false, @@ -880,6 +943,8 @@ requiredUp: [] }, upIndex: 0, + changeType:null, + getReportModelLoading:false, insOrder: {}, sampleProduct: [], typeList: [], @@ -922,6 +987,7 @@ temptList:null, fiber:[], fibers:[], + casing:[], currentTab:null, wareForm:{ inspectionItem:1, @@ -946,8 +1012,9 @@ worker0: null, wareLength:[], dataAcquisitionInfo:{}, - dataAcquisitionEidt:0, + dataAcquisitionInfoNew:{}, dataAcquisitionEidtAble:false, + isGet:false, dataAcquisitionLoading:false, collected:false, // 鐑惊鐜�---寮�濮� @@ -960,6 +1027,32 @@ }, thermalCyclingLoading:false, temDataAcquisition:false, + getData:[ + { + faName:'娉㈤暱闄勫姞琛板噺', + child:[ + { + name:'1285nm~1330nm', + arr:[12,13,14,15], + }, + { + name:'1525nm~1575nm', + arr:[12,13,14,15], + }, + ] + }, + { + faName:'鎴嚦娉㈤暱', + child:[ + { + name:'鎴嚦娉㈤暱', + arr:[12,13,14,15], + } + ] + } + ], + getDataIndex:[], + getDataIndexLoading:false } }, computed: { @@ -1028,6 +1121,7 @@ insResult: null } }) + this.determineWhetherToCollectData() this.getReportModel(this.currentSample.id) if (this.currentSample.index == undefined) this.currentSample['index'] = 1 let bushing = this.currentSample.bushing @@ -1049,16 +1143,58 @@ }) }, currentTable(val1, val0) { - if (val0 != null && val1 != val0) { - this.tableLists.forEach((m, i) => { + 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) { - // this.tableList = null; - // this.tableList = [(this.tableLists[i])]; - this.$delete(this.tableList, 0) - this.$set(this.tableList, 0, this.tableLists[i]) - this.handleTableData() + let list = await this.getCurrentProduct(this.currentSample.id,0) + this.currentSample.insProduct = this.HaveJson(list) + // console.log(this.currentSample) + this.currentSample.insProduct.forEach(a => { + this.param[a.id] = { + insValue: [], + comValue: [], + resValue: null, + equipValue: [], + equipName: [], + insResult: null + } + }) + this.getReportModel(this.currentSample.id) + const mySet1 = new Set(); + this.tableLists = this.currentSample.insProduct.filter(m => { + let num0 = mySet1.size; + if (m.templateId != null&&m.template != null) { + try { + mySet1.add(JSON.stringify({ + template: m.template, + templateId: m.templateId + })) + } catch (error) { + console.log(222,error); + } + } + let num1 = mySet1.size; + if (num1 > num0) { + return m + } + }); + if (this.tableLists && this.tableLists.length > 0) { + this.tableList = null; + this.tableList = this.tableLists.filter(m => m.templateId == val1) + this.handleTableData() + } } }) + this.handleCasing() } }, equipForm:{ @@ -1101,21 +1237,6 @@ } } }, - param:{ - deep:true, - handler(val){ - this.dataAcquisitionEidt = 0 - if(val){ - for (let key in val) { - val[key].equipValue.forEach(m=>{ - if(m.isItADataAcquisitionDevice){ - this.dataAcquisitionEidt++ - } - }) - } - } - } - } }, beforeDestroy() { // 鍦ㄧ粍浠堕攢姣佸墠纭繚鍋滄 Worker锛岄伩鍏嶅唴瀛樻硠婕� @@ -1160,37 +1281,159 @@ if(res.code!=200){ return } - this.dataAcquisitionInfo = res.data - try { - // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 - this.worker0.postMessage(JSON.stringify({ - dataAcquisitionInfo: this.dataAcquisitionInfo, - list:this.tableList[0].arr - })); - } catch (error) { - console.log(1111,error); - } - // 鐩戝惉 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) - } - }; + this.dataAcquisitionInfoNew = this.HaveJson(res.data) + this.handleDataAcquisition(res.data) }) } + }, + handleDataAcquisition(data){ + this.dataAcquisitionInfo = {} + this.getData = [] + for (let i in data){ + let obj = { + faName:i, + child:[] + } + for(let j in data[i]){ + if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){ + this.dataAcquisitionInfo[i+','+j] = { + value:data[i][j].result, + frequency:data[i].frequency + } + let list = this.tableList[0].arr + 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=='妫�楠岄」'){ + if(num0==0){ + str = m.v.v+',' + num0++ + } + } + if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ + if(num0==1){ + str = str+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) + } + } + }) + }) + }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){ + let str0 = i+','+j + let list = this.tableList[0].arr + let maxNum = 0 + list.forEach((item,index)=>{ + let num0 = 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(num0==0){ + str = m.v.v+',' + num0++ + } + } + if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){ + if(num0==1){ + str = str+m.v.v + } + } + 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++ + } + }) + if(str0==str){ + maxNum = num + } + } + 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) + } + } + }) + }) + let obj0 = { + name:j, + arr:data[i][j].result, + maxNum:maxNum, + value:[] + } + 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] = { + value:data[i][j].result + } + } + } + } + if(obj.child.length>0){ + this.getData.push(obj) + } + } + if(this.getData.length>0){ + this.dataGetDia = true + }else{ + try { + // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫 + this.getDataIndexLoading = false + this.dataGetDia = false + this.worker0.postMessage(JSON.stringify({ + dataAcquisitionInfo: this.dataAcquisitionInfo, + list:this.tableList[0].arr + })); + } catch (error) { + console.log(1111,error); + } + } + // 鐩戝惉 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) + } + }; + }, + submitDataGet(){ + if(this.getDataIndex.length==0){ + this.$message.error('璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁') + return + } + this.getDataIndex.sort((a, b) => a - b); + for (let i=0;i<this.getData.length;i++){ + for(let j=0;j<this.getData[i].child.length;j++){ + let arr = [] + for(let k=0;k<this.getDataIndex.length;k++){ + arr.push( this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result[this.getDataIndex[k]]) + } + this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result = arr + } + } + this.getDataIndexLoading = true + this.handleDataAcquisition(this.dataAcquisitionInfoNew) }, // 澶氱嚎绋� startWorker() { if (this.worker) { - this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� } // 鍒涘缓 Worker 瀹炰緥 this.worker = new Worker('/static/js/worker.js'); if (this.worker0) { - this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� + this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝� } // 鍒涘缓 Worker 瀹炰緥 this.worker0 = new Worker('/static/js/worker0.js'); @@ -1324,6 +1567,23 @@ ] obj.value0 = insValue[0].v obj.value1 = insValue[1].v + }else if(insValue&&insValue.length==1){ + this.param[obj.id].insValue = [ + { + i:obj.id, + v:{ + v:insValue[0].v + } + }, + { + i:obj.id, + v:{ + v:'' + } + } + ] + obj.value0 = insValue[0].v + obj.value1 = '' } break; case 'comValue': @@ -1793,6 +2053,7 @@ this.currentSample = this.HaveJson(row) let list = await this.getCurrentProduct(row.id,0) this.currentSample.insProduct = this.HaveJson(list) + this.handleCasing() this.currentSample.insProduct.forEach(a => { this.param[a.id] = { insValue: [], @@ -1812,17 +2073,32 @@ this.getTableLists(); this.currentKey = row.index this.currentTab = null; + this.worker.postMessage(JSON.stringify({ + type: 'saveData', + tableList:this.tableList, + param:this.param, + 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('鏉惧绠�')) + } }, getReportModel(id){ if(this.PROJECT!='妫�娴嬩腑蹇�'){ return } + this.getReportModelLoading = true this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => { + this.getReportModelLoading = false this.fibers = res.data['鍏夌氦甯�'] this.fiber = res.data['鍏夌氦'] + this.casing = res.data['濂楃'] }) }, async handleChange(m,type){ + this.changeType = type; if(m){ let list = await this.getCurrentProduct(m,type) if(list.length>0){ @@ -1838,6 +2114,13 @@ }) this.getTableLists0(list) this.getReportModel(this.currentSample.id) + this.worker.postMessage(JSON.stringify({ + type: 'saveData', + tableList:this.tableList, + param:this.param, + currentTable:this.currentTable, + bushing:m + })); }else{ this.tableLists = [] this.tableList = [] @@ -1992,7 +2275,21 @@ label:m }) }) - this.wareFormChange() + this.wareTableDataLoading = true + this.$axios.post(this.$api.deviceScope.temDataAcquisition2,{ + entrustCode:this.insOrder.entrustCode, + sampleCode:this.currentSample.sampleCode, + model:this.currentSample.model, + }, { + headers: { + 'Content-Type': 'application/json' + }, + noQs:true + }).then(res=>{ + // console.log(res.data) + this.wareFormChange() + }) + // this.wareFormChange() } // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫 // 鐑惊鐜楠屽師濮嬭褰�---寮�濮� @@ -2202,15 +2499,18 @@ b.i && this.param[b.i].comValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') { - b.v.v = '' + // b.v.v = '' + this.$set(b.v, 'v', '' ) b.i && this.param[b.i].equipValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') { - b.v.v = '' + this.$set(b.v, 'v', '' ) + // b.v.v = '' b.i && this.param[b.i].equipName.push(b) } if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') { - b.v.v = '' + // b.v.v = '' + this.$set(b.v, 'v', '' ) /* if (b.i === undefined) { for (var c in this.param) { this.param[c].resValue = b @@ -2258,14 +2558,14 @@ try { let comValue = JSON.parse(a.insProductResult.comValue) for (var i = 0; i < comValue.length; i++) { - this.param[a.id].comValue[i].v.v = comValue[i].v + this.param[a.id].comValue[i].v.v = this.toFixed(comValue[i].v,this.param[a.id].comValue[i].v.ct) } } catch (e) {} try { let insValue = JSON.parse(a.insProductResult.insValue) for (let i = 0; i < insValue.length; i++) { if(this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r)){ - this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.v = insValue[i].v + this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.v = this.toFixed(insValue[i].v,this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.ct) this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).u = insValue[i].u // this.param[a.id].insValue[i].v.v = insValue[i].v // this.param[a.id].insValue[i].u = insValue[i].u @@ -2291,23 +2591,6 @@ this.param[a.id].equipValue[i].v.v = equipValue[i].v }else{ this.param[a.id].equipValue[i].v.v = equipValue[i].v - if(equipValue[i].v){ - let isItADataAcquisitionDevice = await this.determineWhetherToCollectData(equipValue[i].v) - this.param[a.id].equipValue[i].isItADataAcquisitionDevice = isItADataAcquisitionDevice - - }else{ - this.param[a.id].equipValue[i].isItADataAcquisitionDevice = false - } - this.dataAcquisitionEidt = 0 - if(this.param){ - for (let key in this.param) { - this.param[key].equipValue.forEach(m=>{ - if(m.isItADataAcquisitionDevice){ - this.dataAcquisitionEidt++ - } - }) - } - } } } } catch (e) {} @@ -2334,13 +2617,40 @@ } } catch (e) {} try { - this.param[a.id].resValue.v.v = a.lastValue + this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct) this.param[a.id].insResult.v.v = a.insResult } catch (e) {} }) this.handleExcelMethod() }, changeInput(m, code, n) { + // let str = code.split('-') + // let pId = str[3] + // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){ + // let inspectionItem = '' + // let idS = [] + // let child = 0 + // for (let i in this.currentSample.insProduct) { + // if(this.currentSample.insProduct[i].id==pId){ + // inspectionItem = this.currentSample.insProduct[i].inspectionItem + // } + // } + // for (let i in this.currentSample.insProduct) { + // if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){ + // idS.push(this.currentSample.insProduct[i].id) + // } + // } + // for (let i = 0;i<idS.length;i++) { + // if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){ + // child++ + // } + // } + // if(child==0){ + // n.v.v = null + // this.$message.error('璇峰厛濉啓璁惧淇℃伅') + // return + // } + // } if (n) { // if (this.PROJECT === '瑁呭鐢电紗') { // let num2 = new this.$Big(n.v.v) @@ -2390,18 +2700,6 @@ } } } - // let obj = this.param[code.split('-')[3]] - // this.tableList[0].arr.forEach(item=>{ - // item.forEach(m=>{ - // if(obj&&obj.insResult&&m.c==obj.insResult.c&&m.r==obj.insResult.r){ - // m.v.v = obj.insResult.v.v - // } - // if(obj&&obj.resValue&&m.c==obj.resValue.c&&m.r==obj.resValue.r){ - // m.v.v = obj.resValue.v.v - // } - // }) - // }) - // console.log(this.tableList,this.param) this.saveInsContext() }) break; @@ -2417,9 +2715,9 @@ } }; }, - async determineWhetherToCollectData(managementNumber){ - let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+'?managementNumber='+managementNumber) - return res.data + async determineWhetherToCollectData(){ + let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+"?managementNumber=''") + this.isGet = res.data }, handleFraction(str){ if(str&&typeof(str)=='string'&&str.includes('/')){ @@ -2540,6 +2838,15 @@ }, getValue(v){ let str = v.v?v.v:(v.v===0?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>').replace(new RegExp('@', 'g'), '<br/>'):'')) + if(v.ct&&v.ct.fa&&v.ct.fa.includes('.')&&str){ + let num = 0 + let str0 = v.ct.fa.split('.')[1] + num = str0.length + str = Number(str).toFixed(num) + } + if(v.v&&typeof v.v == 'string'&&v.v.includes('@')){ + str = v.v.replace(new RegExp('@', 'g'), '<br/>') + } return str }, getInspectionValueType(id) { @@ -2658,6 +2965,8 @@ getUserInfo() { this.$axios.get(this.$api.user.getUserInfo).then(res => { this.userId = res.data.id + this.componentData.entity.userId = res.data.id + // console.log(1111,this.userId) }) }, // 澶嶆牳 @@ -2785,7 +3094,7 @@ return }, saveInsContext() { - // console.log(1111,this.param) + console.log(1111,this.param) try { if(this.param){ this.$axios.post(this.$api.insOrderPlan.saveInsContext, { @@ -2809,31 +3118,52 @@ console.log(999,error); } }, - changeEquip(val, n) { + changeEquip(val, n,v) { + this.$set(n.v,'v',val) + this.tableList[0].arr.forEach((item,index)=>{ + item.forEach((m,i)=>{ + if(this.param[m.i]){ + this.param[m.i].state = 1 + } + if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'&&v){ + this.$set(m.v,'v',v) + } + }) + }) + for (let i in this.param) { + if(this.param[i].state!=1){ + delete this.param[i] + } + } + if(val&&v){ + for (let i1 in this.param[n.i].equipName) { + if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { + this.$delete(this.param[n.i].equipValue[i1].v,'v') + this.$set(this.param[n.i].equipValue[i1].v,'v',val) + this.$delete(this.param[n.i].equipName[i1].v,'v') + this.$set(this.param[n.i].equipName[i1].v,'v',v) + } + } + } for (let i in this.equipOptions) { - if (this.equipOptions[i].value === val) { + if (this.equipOptions[i].value == val) { for (let i1 in this.param[n.i].equipName) { if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) { this.$delete(this.param[n.i].equipValue[i1].v,'v') this.$set(this.param[n.i].equipValue[i1].v,'v',val) this.$delete(this.param[n.i].equipName[i1].v,'v') this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label) - this.param[n.i].equipValue[i1].isItADataAcquisitionDevice = this.equipOptions[i].isItADataAcquisitionDevice + this.tableList[0].arr.forEach((item,index)=>{ + item.forEach((m)=>{ + if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'){ + this.$set(m.v,'v',this.equipOptions[i].label) + } + }) + }) } } } } - this.dataAcquisitionEidt = 0 - if(this.param){ - for (let key in this.param) { - this.param[key].equipValue.forEach(m=>{ - if(m.isItADataAcquisitionDevice){ - this.dataAcquisitionEidt++ - } - }) - } - } - // console.log(this.param) this.saveInsContext() }, getAuthorizedPerson() { @@ -2891,6 +3221,7 @@ 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.currentSample.insProduct.forEach(a => { this.param[a.id] = { @@ -2903,6 +3234,12 @@ } }) this.getTableLists() + this.worker.postMessage(JSON.stringify({ + type: 'saveData', + tableList:this.tableList, + param:this.param, + currentTable:this.currentTable + })); }, caretBushing(num){ let index = this.currentKey0 + num @@ -3034,12 +3371,12 @@ * @returns 鏍煎紡鍖栧悗鐨勫瓧绗︿覆鎴栧師濮嬫暟鍊硷紙鑻ラ厤缃笉绗﹀悎瑕佹眰锛� */ toFixed(v,ct){ - if(v&&ct&&ct.fa&&ct.fa.includes('##')){ + if(v&&ct&&ct.fa){ if(ct.fa.includes('.')){ let num = ct.fa.slice(4).length return Number(v).toFixed(num) }else{ - return Number(v).toFixed(0) + return v } }else{ return v -- Gitblit v1.9.3