From cbef8fa558dad5e994827bf1bd05e3abf8940d80 Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 29 四月 2024 13:43:28 +0800 Subject: [PATCH] 任务检验模板切换完成80%' --- src/components/do/b1-inspect-order-plan/Inspection.vue | 175 ++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 151 insertions(+), 24 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 7680dda..3f82a71 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -138,6 +138,12 @@ color: #3A7BFA; background-color: #fff; } + + .inspection .center-box .el-input__inner{ + font-size: 12px; + padding: 0 6px; + text-align: center; + } </style> <template> <div v-loading="loading" class="inspection"> @@ -183,6 +189,12 @@ </el-form> </div> <div class="center"> + <div class="search"> + <el-radio-group v-model="currentTable" size="small"> + <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" + :key="index" size="small">{{ item.templateName }}</el-radio-button> + </el-radio-group> + </div> <div class="center-box"> <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index" :style="`width: ${tableWidth}px;`"> @@ -193,9 +205,9 @@ :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1" :style="`background:${n.v.bg};color:${n.v.fc};font-size:${n.v.fs}px;width:${item.style.columnlen[n.c]}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`"> - <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��'"> + <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��' && state==1"> <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" - :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')||state>1" + :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-button slot="append" type="primary" icon="el-icon-edit" size="mini" v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button> </el-input> @@ -214,9 +226,9 @@ <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">涓嶅悎鏍�</span> <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> </template> - <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧缂栫爜'"> + <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)" - :disabled="state>1"> + remote @change="(val)=>changeEquip(val, n)"> <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> </el-option> </el-select> @@ -261,12 +273,12 @@ <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList" :componentData="componentData" :key="upIndex" /> </el-drawer> - <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="400px"> - <div class="body" style="display: flex;" v-if="reviewDia"> - <div class="search_label" style="width: 120px;"><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div> - <div class="search_input"> + <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="500px"> + <div class="body" style="display: flex;padding: 10px;" v-if="reviewDia"> + <div class="search_label" style="width: 150px;"><span class="required-span">* </span>涓嶉�氳繃鐨勭悊鐢憋細</div> + <div class="search_input" style="width: 100%;"> <el-input size="small" clearable v-model="noReason" type="textarea" - :autosize="{ minRows: 3, maxRows: 5}"></el-input> + :autosize="{ minRows: 4}"></el-input> </div> </div> <span slot="footer" class="dialog-footer"> @@ -341,7 +353,9 @@ reviewLoading: false, reviewDia: false, noReason: '', - tableWidth: 1000 + tableWidth: 1000, + currentTable:null, + tableLists:[] } }, created() { @@ -375,15 +389,28 @@ comValue: [], resValue: null, equipValue: [], + equipName: [], insResult: null } }) if (this.currentSample.index == undefined) this.currentSample['index'] = 1 this.loading = false - this.handleTableData() + // this.handleTableData() + this.getTableLists(); this.componentData.currentId = val; this.currentKey = 1; }) + }, + currentTable(val1,val0){ + if(val0!=null&&val1!=val0){ + this.tableLists.forEach((m,i)=>{ + if(m.templateId==val1){ + this.tableList = null; + this.tableList = [(this.tableLists[i])]; + this.handleTableData() + } + }) + } } }, methods: { @@ -396,10 +423,12 @@ comValue: [], resValue: null, equipValue: [], + equipName: [], insResult: null } }) - this.handleTableData() + // this.handleTableData() + this.getTableLists(); this.sampleVisible = false; this.currentKey = row.index }, @@ -458,10 +487,9 @@ }) { row.index = rowIndex + 1; }, - handleTableData() { - this.excelMethodList = [] + getTableLists(){ const mySet1 = new Set(); - this.tableList = JSON.parse(JSON.stringify(this.currentSample.insProduct)).filter(m => { + this.tableLists = this.currentSample.insProduct.filter(m => { let num0 = mySet1.size; if (m.templateId != null) { mySet1.add(JSON.stringify({ @@ -473,7 +501,16 @@ if (num1 > num0) { return m } - }) + }); + if(this.tableLists&&this.tableLists.length>0){ + this.tableList = null; + this.tableList = [this.tableLists[0]] + this.currentTable = this.tableLists[0].templateId; + this.handleTableData() + } + }, + handleTableData() { + this.excelMethodList = [] this.tableList.forEach(a => { let mcList = [] a.template.forEach(b => { @@ -606,7 +643,7 @@ if (b.v.ps != undefined && b.v.ps.value === '妫�楠屽��') { b.v.v = '' b.u = '' - this.param[b.i].insValue.push(b) + b.i&&this.param[b.i].insValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') { b.v.v = '' @@ -615,6 +652,10 @@ if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') { b.v.v = '' this.param[b.i].equipValue.push(b) + } + if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') { + b.v.v = '' + this.param[b.i].equipName.push(b) } if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') { b.v.v = '' @@ -677,11 +718,18 @@ } } catch (e) {} try { + let equipName = JSON.parse(a.insProductResult.equipName) + for (var i = 0; i < equipName.length; i++) { + this.param[a.id].equipName[i].v.v = equipName[i].v + } + } catch (e) {} + try { this.param[a.id].resValue.v.v = a.lastValue this.param[a.id].insResult.v.v = a.insResult } catch (e) {} }) this.handleExcelMethod() + console.log(55555555555,this.currentSample.insProduct,this.tableList,this.param) }, changeInput(m, code) { let str = code.split('-') @@ -795,7 +843,7 @@ break; } list.forEach(a => { - if (a[0].r == item.r) { + if (a[0].r == item.r && comResult != '') { for (var b in a) { if (a[b].c == item.c) { a[b].v.v = parseFloat(comResult.toFixed(3)) @@ -804,10 +852,77 @@ } } }) - this.changeInput(comResult, `${code.split('-')[0]}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝�� + this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝�� } } }) + this.getCurrentInsProduct(pId) + }, + getCurrentInsProduct(pId){ + if(!this.tableList[0].insProductResult){ + this.tableList[0].insProductResult = {} + } + for (let m in this.param[pId]){ + let value = this.param[pId][m] + switch (m){ + case 'comValue': + if(value&&value.length>0){ + this.tableList[0].insProductResult[m]=[]; + value.forEach((a,i)=>{ + let obj = { + v:a.v.v, + } + this.tableList[0].insProductResult[m].push(obj); + }) + } + this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) + break; + case 'insValue': + if(value&&value.length>0){ + this.tableList[0].insProductResult[m]=[]; + value.forEach((a,i)=>{ + let obj = { + v:a.v.v, + u:a.u, + } + this.tableList[0].insProductResult[m].push(obj); + }) + } + this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) + break; + case 'equipValue': + if(value&&value.length>0){ + this.tableList[0].insProductResult[m]=[]; + value.forEach((a,i)=>{ + let obj = { + v:a.v.v, + } + this.tableList[0].insProductResult[m].push(obj); + }) + } + this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) + break; + case 'equipName': + if(value&&value.length>0){ + this.tableList[0].insProductResult[m]=[]; + value.forEach((a,i)=>{ + let obj = { + v:a.v.v, + } + this.tableList[0].insProductResult[m].push(obj); + }) + } + this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m]) + break; + case 'resValue': + console.log(this.param) + this.tableList[0].lastValue = value.v.v + break; + case 'insResult': + this.tableList[0].insResult = value.v.v + break; + } + } }, handleExcelMethod() { if (this.excelMethodList.length > 0) { @@ -825,9 +940,9 @@ let start = mode.split(':')[0] let end = mode.split(':')[1] c0 = this.comparisonList.find(j => j.label == start.split('')[0]).value - r0 = start.split('')[1] - 1 + r0 = start.replace(/[a-zA-Z]/g, "") - 1 c1 = this.comparisonList.find(j => j.label == end.split('')[0]).value - r1 = end.split('')[1] - 1 + r1 = end.replace(/[a-zA-Z]/g, "") - 1 for (let i = Number(r0); i <= Number(r1); i++) { for (let u = Number(c0); u <= Number(c1); u++) { valueList.push({ @@ -836,7 +951,6 @@ }) } } - item.valueList = valueList; } else { valueList = [] let regex = /[=\+\-\*\%\(\)\/\s]/g @@ -894,9 +1008,11 @@ }, getEquipOptions(e, id) { if (e) { - let category = this.currentSample.insProduct.find(m => m.id == id).deviceGroup + this.equipOptions = [] + let product = this.currentSample.insProduct.find(m => m.id == id) this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, { - category + inspectionItem: product.inspectionItem, + inspectionItemSubclass: product.inspectionItemSubclass }).then(res => { if (res.code === 200 && res.data) { this.equipOptions = res.data.map(m => { @@ -990,6 +1106,17 @@ } this.$message.success('宸蹭繚瀛�') }) + }, + changeEquip(val,n){ + for(let i in this.equipOptions){ + 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.param[n.i].equipName[i1].v.v = this.equipOptions[i].label + } + } + } + } } } } -- Gitblit v1.9.3