From 245ca19f528d2da8463fa31f57bbf7b91d0a5710 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期五, 10 五月 2024 22:20:25 +0800 Subject: [PATCH] 各bug修复 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 210 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 178 insertions(+), 32 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 28d7580..24d4b14 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -59,7 +59,6 @@ .content { display: flex; - /* width: 100px; */ height: 100%; align-items: center; justify-content: left; @@ -144,6 +143,23 @@ padding: 0 6px; text-align: center; } + + .inspection .el-textarea__inner{ + padding: 2px; + } + + .inspection .el-textarea__inner::-webkit-scrollbar{ + width: 0; + } + + .inspection .el-select{ + display: flex; + align-items: center; + } + + .inspection .el-textarea__inner{ + min-height: 100% !important; + } </style> <template> <div v-loading="loading" class="inspection"> @@ -189,16 +205,21 @@ </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}`"> + :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 != '')" @@ -206,8 +227,10 @@ <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" + v-model="n.v.v" + :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"> <el-option label="鏄�" value="鏄�"></el-option> <el-option label="鍚�" value="鍚�"></el-option> @@ -216,9 +239,15 @@ v-else-if="getInspectionValueType(n.i) == 4">/</span> </template> <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'"> - <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 :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> + <el-select v-if="getInspectionValueType(n.i) == 2 && state==1" class="table_input" v-model="n.v.v" @change="saveInsContext()"> + <el-option label="鍚堟牸" :value="1"></el-option> + <el-option label="涓嶅悎鏍�" :value="0"></el-option> + </el-select> + <template v-else> + <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 :style="`font-family:${n.v.ff} !important;`">寰呭畾</span> + </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)" @@ -226,6 +255,9 @@ <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> </el-option> </el-select> + </template> + <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> <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span> </div> @@ -347,7 +379,10 @@ reviewLoading: false, reviewDia: false, noReason: '', - tableWidth: 1000 + tableWidth: 1000, + currentTable:null, + tableLists:[], + widthList:[] } }, created() { @@ -387,10 +422,22 @@ }) 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: { @@ -407,7 +454,8 @@ insResult: null } }) - this.handleTableData() + // this.handleTableData() + this.getTableLists(); this.sampleVisible = false; this.currentKey = row.index }, @@ -466,10 +514,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({ @@ -481,7 +528,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 => { @@ -539,7 +596,9 @@ 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) { + .insProduct[i].inspectionItem + + (this.currentSample.insProduct[i].inspectionItemSubclass==null?'':this.currentSample.insProduct[i].inspectionItemSubclass) + === str) { ids.push({ r: b.r, id: this.currentSample.insProduct[i].id, @@ -570,7 +629,7 @@ if (a.template[b].v.ps != undefined && a.template[b].v.ps.value === '鍗曚綅') { a.template[b].v.v = id.product.unit } - if (a.template[b].v.ps != undefined && a.template[b].v.ps.value === '璇曢獙鏂规硶') { + if (a.template[b].v.ps != undefined && (a.template[b].v.ps.value === '璇曢獙鏂规硶' || a.template[b].v.ps.value === '妫�娴嬫柟娉�')) { a.template[b].v.v = id.product.methodS } } @@ -644,13 +703,15 @@ } } 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) { @@ -821,7 +882,8 @@ 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)) + let val = parseFloat(comResult.toFixed(3)) + a[b].v.v = isNaN(val)?'':val break } } @@ -831,6 +893,72 @@ } } }) + 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) { @@ -884,6 +1012,25 @@ } } }, + getTell(id) { + for (var a in this.currentSample.insProduct) { + if (this.currentSample.insProduct[a].id == id) { + return this.currentSample.insProduct[a].tell + } + } + }, + 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) { if (this.currentSample.insProduct[a].id == id) { @@ -924,7 +1071,7 @@ }).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 }) @@ -1003,10 +1150,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('淇濆瓨澶辫触') @@ -1025,6 +1170,7 @@ } } } + this.saveInsContext() } } } -- Gitblit v1.9.3