From b7694aa2f71009351c1da999eaf9f5b70c96f2ea Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期一, 22 四月 2024 11:01:50 +0800 Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before into master --- src/components/do/b1-inspect-order-plan/Inspection.vue | 201 +++++++++++++++++++++++++++++++------------------ 1 files changed, 127 insertions(+), 74 deletions(-) diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue index 4bf4d11..6946ec5 100644 --- a/src/components/do/b1-inspect-order-plan/Inspection.vue +++ b/src/components/do/b1-inspect-order-plan/Inspection.vue @@ -38,11 +38,16 @@ display: flex; align-items: center; justify-content: center; + flex-direction: column; flex-wrap: wrap; + width: 100%; + /* overflow-x: hidden; */ + overflow-x: scroll; } .tables { - margin-bottom: 16px; + table-layout: fixed; + margin: 5px 5px 16px; } .tables td { @@ -54,12 +59,14 @@ .content { display: flex; - width: 100%; + /* width: 100px; */ height: 100%; align-items: center; justify-content: left; padding: 5px; box-sizing: border-box; + overflow: hidden; + user-select: none; } .content-h-0 { @@ -171,12 +178,14 @@ </div> <div class="center"> <div class="center-box"> - <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"> + <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index" + :style="`width: ${tableWidth}px;`"> <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" - :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;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`"> + 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==='妫�楠屽��'"> <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v" @@ -201,10 +210,10 @@ <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==='璁惧'"> - <el-select v-model="n.v.v" placeholder="璇烽�夋嫨" @visible-change="e=>getEquipOptions(e,n.i)" + <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧缂栫爜'"> + <el-select v-model="n.v.v" placeholder="璁惧" @visible-change="e=>getEquipOptions(e,n.i)" :disabled="state>1"> - <el-option v-for="item in equipOptions" :key="item.value" :label="item.label" :value="item.label"> + <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value"> </el-option> </el-select> </template> @@ -224,7 +233,7 @@ </el-table-column> <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿" min-width="100px" show-overflow-tooltip></el-table-column> <el-table-column prop="model" label="鏍峰搧鍨嬪彿" min-width="100px" show-overflow-tooltip></el-table-column> - <el-table-column prop="insState" label="妫�娴嬬姸鎬�" width="95px" show-overflow-tooltip> + <el-table-column prop="insState" label="妫�娴嬬姸鎬�" width="100px" show-overflow-tooltip> <template slot-scope="scope"> <el-tag v-for="(item, i) in typeList" :key="i" v-if="item.value == scope.row.insState" :type="item.type" size="medium" style="margin-right: 5px;">{{item.label}}</el-tag> @@ -265,6 +274,9 @@ </template> <script> + import { + set + } from 'shelljs'; import ValueTable from '../../tool/value-table.vue' export default { props: ['sonLaboratory', 'orderId', 'state'], @@ -324,7 +336,8 @@ userId: 0, reviewLoading: false, reviewDia: false, - noReason: '' + noReason: '', + tableWidth: 1000 } }, created() { @@ -357,7 +370,7 @@ insValue: [], comValue: [], resValue: null, - equipValue: null, + equipValue: [], insResult: null } }) @@ -378,7 +391,7 @@ insValue: [], comValue: [], resValue: null, - equipValue: null, + equipValue: [], insResult: null } }) @@ -446,61 +459,88 @@ const mySet1 = new Set(); this.tableList = JSON.parse(JSON.stringify(this.currentSample.insProduct)).filter(m => { let num0 = mySet1.size; - mySet1.add(JSON.stringify({ - template: m.template, - templateId: m.templateId - })) + if (m.templateId != null) { + mySet1.add(JSON.stringify({ + template: m.template, + templateId: m.templateId + })) + } let num1 = mySet1.size; if (num1 > num0) { return m } }) this.tableList.forEach(a => { - let dels = [] - let ids = [] + let mcList = [] a.template.forEach(b => { - if (b.v.ps != undefined && b.v.ps.value === '妫�楠岄」') { - let count = 0 - for (let i in this.currentSample.insProduct) { - if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample.insProduct[i].inspectionItem === b.v.v) { - let count2 = 0 - for (var c in a.template) { - if (a.template[c].r === b.r && a.template[c].v.ps != undefined && a.template[c].v.ps.value === '妫�楠屽瓙椤�') { - if(this.currentSample.insProduct[i].inspectionItemSubclass === a.template[c].v.v){ - ids.push({ - r: b.r, - id: this.currentSample.insProduct[i].id, - product: this.currentSample.insProduct[i] - }) - break - } - } - count2++ - } - if (count2 < a.template.length) { + if (b.v.mc != undefined && b.v.mc.cs != undefined && b.v.mc.rs != undefined) { + mcList.push(b) + } + }) + let count = 0 + mcList.forEach(b => { + for (var c in a.template) { + 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 + a.template[c].mc = count break } } - count++ } - if (count === this.currentSample.insProduct.length) { - dels.push(b) + } + count++ + }) + }) + this.tableList.forEach(a => { + let dels = new Set() + let ids = [] + let set3 = new Set() + a.template.forEach(b => { + let size1 = set3.size + let size2 = set3.add(b.r).size + if (size1 < size2) { + let str = '' + let count4 = 0 + a.template.forEach(c => { + if (b.r === c.r) { + if (c.v.ps != undefined && c.v.ps.value === '妫�楠岄」') { + if (count4 === 0) { + str += c.v.v + count4 += 1 + } + } else if (c.v.ps != undefined && c.v.ps.value === '妫�楠屽瓙椤�') { + if (count4 === 1) { + str += c.v.v + count4 += 1 + } + } + } + }) + 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) { + ids.push({ + r: b.r, + id: this.currentSample.insProduct[i].id, + product: this.currentSample.insProduct[i] + }) + break + } + if(i == this.currentSample.insProduct.length-1){ + dels.add(b.r) + } + } } } }) dels.forEach(del => { for (let b = 0; b < a.template.length; b++) { - if (a.template[b].r === del.r) { - if (a.template[b].v.mc != undefined) { - if (a.template[b].v.mc.rs != undefined && a.template[b].v.mc.rs > 1) { - if (a.template[b].r === a.template[b].v.mc.r) { - a.template[b].r += 1 - a.template[b].v.mc.r += 1 - a.template[b].v.mc.rs -= 1 - continue - } - } - } + if (a.template[b].r === del) { a.template.splice(b, 1) b -= 1 } @@ -513,7 +553,29 @@ 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 === '璇曢獙鏂规硶') { + a.template[b].v.v = id.product.method + } } + } + }) + let set2 = new Set() + a.template.forEach(b => { + let size1 = set2.size + let size2 = set2.add(b.mc).size + if (b.mc != undefined && size1 < size2) { + b.v.mc.rs = 0 + b.v.mc.cs = 0 + a.template.forEach(c => { + if (b.mc === c.mc) { + if (b.r === c.r) { + b.v.mc.cs += 1 + } + if (b.c === c.c) { + b.v.mc.rs += 1 + } + } + }) } }) }) @@ -526,7 +588,8 @@ conclusionList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '缁撹') finalList = a.template.filter(n => n.v.ps != undefined && n.v.ps.value === '鏈�缁堝��') a.template.forEach(b => { - if (b.v.ps != undefined && b.v.ps.value === '搴忓彿') { + if (b.v.ps != undefined && b.v.ps.value === '搴忓彿' && (b.v.mc == undefined || Object.keys(b.v.mc) + .length === 4)) { count1++ b.v.v = count1 } @@ -542,9 +605,9 @@ b.v.v = '' this.param[b.i].comValue.push(b) } - if (b.v.ps != undefined && b.v.ps.value === '璁惧') { + if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') { b.v.v = '' - this.param[b.i].equipValue = b + this.param[b.i].equipValue.push(b) } if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') { b.v.v = '' @@ -557,9 +620,7 @@ } } if (b.v.ps != undefined && b.v.ps.value === '缁撹') { - for (var c in this.param) { - this.param[c].insResult = b - } + this.param[b.i].insResult = b conclusionList.forEach((n, i) => { if (n.r == b.r && n.c == b.c) { b.v.f = @@ -572,30 +633,22 @@ this.excelMethodList.push(b) } }) + console.log(this.param); set = Array.sort(set) set.forEach(b => { let arr = [] a.template.forEach(c => { if (c.r === b) { - if (arr.length === 0) { - if (c.v.mc == undefined || Object.keys(c.v.mc).length == 4) arr.push(c) - } else { - for (let d = 0; d < arr.length; d++) { - if (c.c < arr[d].c) { - if (c.v.mc == undefined || Object.keys(c.v.mc).length == 4) arr.splice(d, 0, c) - break - } - if (d === arr.length - 1) { - if (c.v.mc == undefined || Object.keys(c.v.mc).length == 4) arr.push(c) - break - } - } - } + arr.push(c) } }) arrs.push(arr) }) a.arr = arrs + this.tableWidth = 0 + for (let i = 0; i < arrs[0].length; i++) { + this.tableWidth += (a.style.columnlen[i] === undefined ? 100 : a.style.columnlen[i]) + } }) this.currentSample.insProduct.forEach(a => { try { @@ -769,8 +822,8 @@ r0 = start.split('')[1] - 1 c1 = this.comparisonList.find(j => j.label == end.split('')[0]).value r1 = end.split('')[1] - 1 - for (let i = Number(r0); i <= r1; i++) { - for (let u = c0; u <= c1; u++) { + for (let i = Number(r0); i <= Number(r1); i++) { + for (let u = Number(c0); u <= Number(c1); u++) { valueList.push({ r: i, c: u @@ -841,7 +894,7 @@ }).then(res => { if (res.code === 200 && res.data) { this.equipOptions = res.data.map(m => { - m.value = m.id + m.value = m.factoryNo m.label = m.deviceName return m }) -- Gitblit v1.9.3