From 1e9c7a02ec2b8caf7dda6000d7f0f79849df6b45 Mon Sep 17 00:00:00 2001 From: 朱佳吉 <1527963051@qq.com> Date: 星期四, 09 五月 2024 14:15:25 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/do/b1-inspect-order-plan/Inspection.vue | 239 +++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 191 insertions(+), 48 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..dee79ce 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,25 +189,30 @@ </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;`"> + <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"> <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" v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1" :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==='妫�楠屽��'"> + :style="`background:${n.v.bg};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}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}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`"> + <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> <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea" :autosize="{ minRows: 1}" v-model="n.v.v" :disabled="state>1" /> - <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" + <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v" :disabled="state>1"> <el-option label="鏄�" value="鏄�"></el-option> <el-option label="鍚�" value="鍚�"></el-option> @@ -214,9 +225,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 +272,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 +352,10 @@ reviewLoading: false, reviewDia: false, noReason: '', - tableWidth: 1000 + tableWidth: 1000, + currentTable:null, + tableLists:[], + widthList:[] } }, 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,17 @@ 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.widthList = this.tableList[0].style.columnlen; this.tableList.forEach(a => { let mcList = [] a.template.forEach(b => { @@ -528,6 +566,7 @@ } }) if (str != '') { + let count2 = 0 for (let i in this.currentSample.insProduct) { if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample .insProduct[i].inspectionItem + this.currentSample.insProduct[i].inspectionItemSubclass === str) { @@ -536,11 +575,12 @@ id: this.currentSample.insProduct[i].id, product: this.currentSample.insProduct[i] }) - break + break } - if(i == this.currentSample.insProduct.length-1){ - dels.add(b.r) - } + count2++ + } + if(count2 == this.currentSample.insProduct.length){ + dels.add(b.r) } } } @@ -606,34 +646,43 @@ 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 = '' - this.param[b.i].comValue.push(b) + b.i&&this.param[b.i].comValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') { b.v.v = '' - this.param[b.i].equipValue.push(b) + b.i&&this.param[b.i].equipValue.push(b) + } + if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') { + b.v.v = '' + b.i&&this.param[b.i].equipName.push(b) } if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') { b.v.v = '' - if (b.i === undefined) { + /* if (b.i === undefined) { for (var c in this.param) { this.param[c].resValue = b } } else { this.param[b.i].resValue = b + } */ + if(b.i !== undefined){ + this.param[b.i].resValue = b } } if (b.v.ps != undefined && b.v.ps.value === '缁撹') { - this.param[b.i].insResult = b - conclusionList.forEach((n, i) => { - if (n.r == b.r && n.c == b.c) { - b.v.f = - `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})` - } - }) + if(b.i!==undefined){ + this.param[b.i].insResult = b + conclusionList.forEach((n, i) => { + if (n.r == b.r && n.c == b.c) { + b.v.f = + `(${this.comparisonList.find(j=>j.value==(finalList[i].c)).label}${finalList[i].r+1})` + } + }) + } } set.add(b.r) if (b.v.f) { @@ -674,6 +723,12 @@ let equipValue = JSON.parse(a.insProductResult.equipValue) for (var i = 0; i < equipValue.length; i++) { this.param[a.id].equipValue[i].v.v = equipValue[i].v + } + } 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 { @@ -795,7 +850,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 +859,76 @@ } } }) - 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': + 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 +946,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 +957,6 @@ }) } } - item.valueList = valueList; } else { valueList = [] let regex = /[=\+\-\*\%\(\)\/\s]/g @@ -861,6 +981,18 @@ return this.currentSample.insProduct[a].inspectionValueType } } + }, + handleWidth(n){ + let sum = 0; + if(n.v.mc&&n.v.mc.cs&&n.v.mc.c!=undefined){ + for(let i=0;i<n.v.mc.cs;i++){ + let num = this.widthList[i+n.v.mc.c]?this.widthList[i+n.v.mc.c]:100 + sum+=num; + } + }else{ + sum = this.widthList[n.c]?this.widthList[n.c]:100 + } + return sum }, getInspectionItemType(id) { for (var a in this.currentSample.insProduct) { @@ -894,13 +1026,15 @@ }, 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 => { - m.value = m.factoryNo + m.value = m.managementNumber m.label = m.deviceName return m }) @@ -979,10 +1113,8 @@ }) }, saveInsContext(){ - this.$axios.post(this.$api.insOrderPlan.saveInsContext, this.param, { - headers: { - 'Content-Type': 'application/json' - } + this.$axios.post(this.$api.insOrderPlan.saveInsContext, { + param: JSON.stringify(this.param) }).then(res => { if (res.code == 201) { this.$message.error('淇濆瓨澶辫触') @@ -990,6 +1122,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