From 0b1c5e6680c2986b54866b8dded31c4d9c497fdc Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 22 四月 2024 17:26:47 +0800
Subject: [PATCH] 消息通知页面
---
src/components/do/b1-inspect-order-plan/Inspection.vue | 199 +++++++++++++++++++++++++++++++------------------
1 files changed, 126 insertions(+), 73 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index f368245..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
}
@@ -534,7 +597,7 @@
b.v.v = this.getAsk(b.i)
}
if (b.v.ps != undefined && b.v.ps.value === '妫�楠屽��') {
- // b.v.v = ''
+ b.v.v = ''
b.u = ''
this.param[b.i].insValue.push(b)
}
@@ -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 {
@@ -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