From d3a7b64c6855523c1d4b4978df09eda788c0064c Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期三, 24 四月 2024 18:20:41 +0800 Subject: [PATCH] 检验模板调整 --- src/components/do/b1-inspect-order-plan/Inspection.vue | 147 ++++++++++++++++++++++++++++++++---------------- 1 files changed, 98 insertions(+), 49 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 6946ec5..4e7f56e 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -114,11 +114,11 @@ } </style> <style> - .el-form-item__label { + .inspection .el-form-item__label { color: #000; } - .el-drawer__header::before { + .inspection .el-drawer__header::before { content: ""; display: inline-block; width: 4px; @@ -129,8 +129,20 @@ margin-right: 8.5px; } - .el-drawer__header { + .inspection .el-drawer__header { color: #303133; + } + + .inspection .el-input-group__append{ + padding: 0 10px; + color: #3A7BFA; + background-color: #fff; + } + + .inspection .center-box .el-input__inner{ + font-size: 12px; + padding: 0 6px; + text-align: center; } </style> <template> @@ -187,10 +199,12 @@ :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" - @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" /> + :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" @@ -200,19 +214,15 @@ </el-select> <span :style="`font-family:${n.v.ff} !important;`" v-else-if="getInspectionValueType(n.i) == 4">/</span> - <el-button type="primary" icon="el-icon-edit" size="mini" circle - v-if="getInspectionItemType(n.i) == 1" style="border: 0;margin-left: 2px;" - @click="getSystemValue(n)" :disabled="(n.u != userId && n.u != undefined && n.u != '')||state>1"> - </el-button> </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> </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> @@ -257,12 +267,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"> @@ -371,6 +381,7 @@ comValue: [], resValue: null, equipValue: [], + equipName: [], insResult: null } }) @@ -392,6 +403,7 @@ comValue: [], resValue: null, equipValue: [], + equipName: [], insResult: null } }) @@ -483,8 +495,12 @@ for (var i = 0; i < b.v.mc.cs; i++) { for (var i2 = 0; i2 < b.v.mc.rs; i2++) { if (a.template[c].c === b.c + i && a.template[c].r === b.r + i2) { - a.template[c].v.v = this.HaveJson(b).v.v - a.template[c].v.ps = this.HaveJson(b).v.ps + let bb = this.HaveJson(b) + a.template[c].v.v = bb.v.v + a.template[c].v.ps = bb.v.ps + a.template[c].v.fc = bb.v.fc + a.template[c].v.fs = bb.v.fs + a.template[c].v.ht = bb.v.ht a.template[c].mc = count break } @@ -522,8 +538,7 @@ if (str != '') { 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 === - null ? '' : this.currentSample.insProduct[i].inspectionItemSubclass) === str) { + .insProduct[i].inspectionItem + this.currentSample.insProduct[i].inspectionItemSubclass === str) { ids.push({ r: b.r, id: this.currentSample.insProduct[i].id, @@ -554,7 +569,7 @@ a.template[b].v.v = id.product.unit } if (a.template[b].v.ps != undefined && a.template[b].v.ps.value === '璇曢獙鏂规硶') { - a.template[b].v.v = id.product.method + a.template[b].v.v = id.product.methodS } } } @@ -609,6 +624,10 @@ 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 = '' if (b.i === undefined) { @@ -633,7 +652,6 @@ this.excelMethodList.push(b) } }) - console.log(this.param); set = Array.sort(set) set.forEach(b => { let arr = [] @@ -665,7 +683,16 @@ } } catch (e) {} try { - this.param[a.id].equipValue.v.v = a.insProductResult.equipValue + 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 { this.param[a.id].resValue.v.v = a.lastValue @@ -710,10 +737,9 @@ } }) }) - // console.log('褰撳墠鐨勬柟娉�',item.methodName,item.r,item.c,this.excelMethodList) - if (item.methodName == '鑷畾涔夋柟娉�' && item.v.ps && item.v.ps.value == '缁撹') { - if (this.tableList.find(m => m.id == item.i)) { - let ask = this.tableList.find(m => m.id == item.i).ask.split('&'); + if (item.methodName == '鑷畾涔夋柟娉�' && item.v.ps!=undefined && item.v.ps.value == '缁撹') { + if (this.currentSample.insProduct.find(m => m.id == item.i)) { + let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&'); let res = Object.values(comValue)[0] let comp = ask.map((m, i) => { if (m.includes('=')) { @@ -737,17 +763,7 @@ } else { item.v.v = 0 } - this.$axios.post(this.$api.insOrderPlan.saveInsContext, this.param, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { - if (res.code == 201) { - this.$message.error('淇濆瓨澶辫触') - return - } - this.$message.success('宸蹭繚瀛�') - }) + this.saveInsContext() } } else { let comResult = 0; @@ -785,20 +801,28 @@ valueList.forEach(b => { str = str.replace(b.name, b.value) }) - comResult = eval(str) + if(item.v.f.includes('/')>-1){ + if(Object.getOwnPropertyNames(comValue).length==valueList.length){ + comResult = eval(str) + }else{ + comResult = '' + } + }else{ + comResult = eval(str) + } 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(2)) + a[b].v.v = parseFloat(comResult.toFixed(3)) break } } } }) - this.changeInput(comResult, `${code.split('-')[0]}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝�� + this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝�� } } }) @@ -819,9 +843,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({ @@ -830,13 +854,12 @@ }) } } - item.valueList = valueList; } else { valueList = [] let regex = /[=\+\-\*\%\(\)\/\s]/g let mode = item.v.f.replace(regex, ' ').split(' '); mode.filter(m => m && !Number(m)).forEach(m => { - let r = m.split('')[1] - 1 + let r = m.replace(/[a-zA-Z]/g, "") - 1 let c = this.comparisonList.find(j => j.label == m.split('')[0]).value valueList.push({ c, @@ -888,9 +911,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 => { @@ -971,6 +996,30 @@ console.error(error) this.submitLoading = false; }) + }, + saveInsContext(){ + this.$axios.post(this.$api.insOrderPlan.saveInsContext, this.param, { + headers: { + 'Content-Type': 'application/json' + } + }).then(res => { + if (res.code == 201) { + this.$message.error('淇濆瓨澶辫触') + return + } + 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