From a0db9daa3a9ea540fd78203e53a9b7d38e9aecd9 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 04 七月 2024 10:56:53 +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 | 400 +++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 330 insertions(+), 70 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 3acbdfe..a38a441 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -257,7 +257,7 @@
</el-form>
</div>
<div class="center">
- <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;">
+ <div class="search" style="text-align: left;display: flex;align-items: center;justify-content: space-between;overflow-x: auto;">
<div style="display: flex;align-items: center;">
<span v-if="tableList.length>0">妫�楠屾ā鏉匡細</span>
<el-radio-group v-model="currentTable" size="small">
@@ -265,7 +265,7 @@
size="small">{{ item.templateName }}</el-radio-button>
</el-radio-group>
</div>
- <div>
+ <div style="display: flex;align-items: center;">
<span v-if="fibers.length>0"> 鍏夌氦甯︼細</span>
<el-radio-group v-model="currentTab" size="small" v-if="fibers.length>0" @input="m=>handleChange(m,1)">
<el-radio-button :label="item.id" v-for="(item,index) in fibers" :key="index"
@@ -276,13 +276,13 @@
<el-radio-button :label="item.id" v-for="(item,index) in fiber" :key="index"
size="small">{{ item.color }}</el-radio-button>
</el-radio-group>
- <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px">
+ <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;">
<el-form-item label="娓╁害:" style="margin-bottom: 0;">
- <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 70px;" @change="m=>subOtherForm(m,'temperature')"></el-input>
+ <el-input clearable v-model="otherForm.temperature" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'temperature')"></el-input>
<span style="margin-left: 4px;">鈩�</span>
</el-form-item>
<el-form-item label="婀垮害:" style="margin-bottom: 0;">
- <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 70px;" @change="m=>subOtherForm(m,'humidity')"></el-input>
+ <el-input clearable v-model="otherForm.humidity" size="small" placeholder="" style="width: 50px;" @change="m=>subOtherForm(m,'humidity')"></el-input>
<span style="margin-left: 4px;">%</span>
</el-form-item>
</el-form>
@@ -301,7 +301,8 @@
<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 != '')"
- @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" type="number" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j">
+ @input="handleInput(n)"
+ @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j">
<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>
@@ -395,20 +396,20 @@
</table>
</div>
<div class="center-box" v-loading="tableLoading" v-else>
- <!-- <el-divider></el-divider> -->
+ <el-divider></el-divider>
<h4 style="margin-bottom: 20px;">娓╁害寰幆妫�楠屽師濮嬭褰�</h4>
- <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px">
+ <el-form :inline="true" :model="wareForm" class="form-inline" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
<el-form-item label="鍨嬪彿:" style="margin-bottom: 0;">
- <el-input clearable v-model="wareForm.entrustCode" disabled size="small" placeholder=""></el-input>
+ <el-input clearable v-model="wareForm0.model" disabled size="small" placeholder=""></el-input>
</el-form-item>
<el-form-item label="璇曢獙鏂规硶:" style="margin-bottom: 0;">
- <el-input clearable v-model="wareForm.sampleCode" disabled size="small" placeholder=""></el-input>
+ <el-input clearable v-model="wareForm0.methodName" disabled size="small" placeholder=""></el-input>
</el-form-item>
- <el-form-item label="妫�娴嬩緷鎹�:" style="margin-bottom: 0;">
- <el-input clearable v-model="wareForm.sample" disabled size="small" placeholder=""></el-input>
- </el-form-item>
+ <!-- <el-form-item label="妫�娴嬩緷鎹�:" style="margin-bottom: 0;">
+ <el-input clearable v-model="wareForm0.sample" disabled size="small" placeholder=""></el-input>
+ </el-form-item> -->
<el-form-item label="寰幆娆℃暟:" style="margin-bottom: 0;">
- <el-select v-model="wareForm.value" placeholder="璇烽�夋嫨" size="small">
+ <el-select v-model="wareForm.inspectionItem" placeholder="璇烽�夋嫨" size="small" @change="m=>wareFormChange(m,'inspectionItem')">
<el-option
v-for="item in numOptions"
:key="item.value"
@@ -418,7 +419,7 @@
</el-select>
</el-form-item>
<el-form-item label="娓╁害:" style="margin-bottom: 0;">
- <el-select v-model="wareForm.value" placeholder="璇烽�夋嫨" size="small">
+ <el-select v-model="wareForm.inspectionItemSubclass" placeholder="璇烽�夋嫨" size="small" @change="m=>wareFormChange(m,'inspectionItemSubclass')">
<el-option
v-for="item in temperatureOptions"
:key="item.value"
@@ -430,43 +431,29 @@
</el-form-item>
</el-form>
<el-divider></el-divider>
- <el-form :inline="true" :model="wareForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
+ <el-form :inline="true" :model="equipForm" label-width="100px" style="justify-content: flex-start;display: flex;align-items: center;width: 100%;">
<el-form-item label="浠櫒鍚嶇О:">
- <el-select v-model="wareForm.value" placeholder="璇烽�夋嫨" size="small">
- <el-option
- v-for="item in temperatureOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
+ <el-input clearable v-model="equipForm.value0" disabled size="small" placeholder=""></el-input>
</el-form-item>
<el-form-item label="浠櫒缂栧彿:">
- <el-select v-model="wareForm.value" placeholder="璇烽�夋嫨" size="small">
+ <el-select v-model="equipForm.code0" placeholder="璇烽�夋嫨" size="small">
<el-option
- v-for="item in temperatureOptions"
+ v-for="item in equipOptions"
:key="item.value"
- :label="item.label"
+ :label="item.value"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="浠櫒鍚嶇О:" style="margin-left: 80px;">
- <el-select v-model="wareForm.value" placeholder="璇烽�夋嫨" size="small">
- <el-option
- v-for="item in temperatureOptions"
- :key="item.value"
- :label="item.label"
- :value="item.value">
- </el-option>
- </el-select>
+ <el-input clearable v-model="equipForm.value1" disabled size="small" placeholder=""></el-input>
</el-form-item>
<el-form-item label="浠櫒缂栧彿:">
- <el-select v-model="wareForm.value" placeholder="璇烽�夋嫨" size="small">
+ <el-select v-model="equipForm.code1" placeholder="璇烽�夋嫨" size="small">
<el-option
- v-for="item in temperatureOptions"
+ v-for="item in equipOptions"
:key="item.value"
- :label="item.label"
+ :label="item.value"
:value="item.value">
</el-option>
</el-select>
@@ -474,59 +461,82 @@
</el-form>
<el-table
:data="wareTableData"
+ ref="wareTableData"
border
+ v-loading="wareTableDataLoading"
style="width: 100%;margin-bottom: 30px;" align="center">
<el-table-column
label="搴忓彿"
type="index"
width="65"
+ align="center"
>
</el-table-column>
<el-table-column
- prop="date"
+ prop="bushColor"
label="绠¤壊鏍�"
- width="150">
+ width="120"
+ align="center">
</el-table-column>
<el-table-column
- prop="name"
+ prop="code"
label="鍏夌氦甯︾紪鍙�"
- width="180">
+ width="150"
+ align="center">
</el-table-column>
<el-table-column
- prop="province"
+ prop="color"
label="鍏夌氦鑹叉爣"
- width="150">
+ align="center"
+ width="120">
</el-table-column>
<el-table-column
- prop="city"
+ prop="inspectionItemClass"
+ label="鍏夌氦椤圭洰"
+ align="center"
+ width="130">
+ </el-table-column>
+ <el-table-column
+ prop="value0"
label="澶栫"
- width="150">
+ align="center"
+ width="130">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.input" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ <el-input size="small" v-model="scope.row.value0" placeholder="" @change="m=>changeItem(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column
- prop="address"
+ prop="value1"
label="鍐呯"
- width="150">
+ align="center"
+ width="130">
<template slot-scope="scope">
- <el-input size="small" v-model="scope.row.input" placeholder="璇疯緭鍏ュ唴瀹�"></el-input>
+ <el-input size="small" v-model="scope.row.value1" placeholder="" @change="m=>changeItem(scope.row)"></el-input>
</template>
</el-table-column>
<el-table-column
- prop="zip"
+ prop="comValue"
+ align="center"
label="骞冲潎鍊�"
min-width="150">
</el-table-column>
<el-table-column
- prop="zip"
+ prop="resValue"
label="琛板噺宸�"
+ align="center"
+ v-if="wareForm.inspectionItemSubclass!=20"
min-width="150">
</el-table-column>
<el-table-column
- prop="zip"
- label="妫�娴嬩汉"
- min-width="150">
+ prop="insResult"
+ label="缁撹"
+ align="center"
+ min-width="150" v-if="wareForm.inspectionItemSubclass!=20">
+ <template slot-scope="scope">
+ <span v-if="scope.row.insResult===1" style="color: green;">鍚堟牸</span>
+ <span v-else-if="scope.row.insResult===0" style="color: red;">涓嶅悎鏍�</span>
+ <span v-else>寰呭畾</span>
+ </template>
</el-table-column>
</el-table>
</div>
@@ -655,6 +665,7 @@
},
data() {
return {
+ wareTableDataLoading:false,
fileAdd:false,
sampleVisible: false,
taskVisible: false,
@@ -780,7 +791,11 @@
fiber:[],
fibers:[],
currentTab:null,
- wareForm:{},
+ wareForm:{
+ inspectionItem:1,
+ inspectionItemSubclass:20,
+ },
+ wareForm0:{},
numOptions:[],
temperatureOptions:[],
wareTableData:[
@@ -789,6 +804,12 @@
otherForm:{
humidity:null,
temperature:null,
+ },
+ equipForm:{
+ value0:null,
+ code0:null,
+ value1:null,
+ code1:null,
}
}
},
@@ -846,7 +867,7 @@
}
let list = await this.getCurrentProduct(this.currentSample.id,0)
this.currentSample.insProduct = this.HaveJson(list)
- console.log(this.currentSample)
+ // console.log(this.currentSample)
this.currentSample.insProduct.forEach(a => {
this.param[a.id] = {
insValue: [],
@@ -888,8 +909,198 @@
})
}
},
+ equipForm:{
+ deep:true,
+ handler(val){
+ if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&this.equipOptions&&this.equipOptions.length>0){
+ this.param[this.currentSample.insProduct[0].id].equipValue = []
+ this.param[this.currentSample.insProduct[0].id].equipName = []
+ if(this.equipForm.code0){
+ this.equipForm.value0 = this.equipOptions.find(m=>m.value==this.equipForm.code0).label
+ this.param[this.currentSample.insProduct[0].id].equipValue.push({
+ i:this.currentSample.insProduct[0].id,
+ v:{
+ v:this.equipForm.code0
+ }
+ })
+ this.param[this.currentSample.insProduct[0].id].equipName.push({
+ i:this.currentSample.insProduct[0].id,
+ v:{
+ v:this.equipForm.value0
+ }
+ })
+ }
+ if(this.equipForm.code1){
+ this.equipForm.value1 = this.equipOptions.find(m=>m.value==this.equipForm.code1).label
+ this.param[this.currentSample.insProduct[0].id].equipValue.push({
+ i:this.currentSample.insProduct[0].id,
+ v:{
+ v:this.equipForm.code1
+ }
+ })
+ this.param[this.currentSample.insProduct[0].id].equipName.push({
+ i:this.currentSample.insProduct[0].id,
+ v:{
+ v:this.equipForm.value1
+ }
+ })
+ }
+ this.saveInsContext()
+ }
+ }
+ }
},
methods: {
+ changeItem(row){
+ if(row.value0&&row.value1){
+ this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(5))
+ }else{
+ return
+ }
+ this.param[row.id].insValue = [
+ {
+ i:row.id,
+ v:{
+ v:row.value0
+ }
+ },
+ {
+ i:row.id,
+ v:{
+ v:row.value1
+ }
+ }
+ ]
+ this.param[row.id].comValue = [{
+ i:row.id,
+ v:{
+ v:row.comValue
+ }
+ }]
+ if(this.wareForm.inspectionItemSubclass!=20){
+ row.resValue = row.comValue?Math.abs(row.comValue-20).toFixed(5):''
+ this.param[row.id].resValue.v.v = row.resValue
+ if(row.ask&&row.resValue){
+ if(row.ask.includes('<')){
+ row.insResult = row.resValue<row.ask.split('<')[1]?1:0
+ }else if(row.ask.includes('>')){
+ row.insResult = row.resValue<row.ask.split('>')[1]?1:0
+ }else if(row.ask.includes('=')){
+ row.insResult = row.resValue==row.ask.split('=')[1]?1:0
+ }else if(row.ask.includes('鈮�')){
+ row.insResult = row.resValue>=row.ask.split('鈮�')[1]?1:0
+ }else if(row.ask.includes('鈮�')){
+ row.insResult = row.resValue<=row.ask.split('鈮�')[1]?1:0
+ }
+ this.param[row.id].insResult.v.v = row.insResult
+ }
+ }else{
+ this.param[row.id].insResult.v.v = 1
+ }
+ this.$refs.wareTableData.doLayout()
+ this.saveInsContext()
+ },
+ wareFormChange(m,type){
+ if(this.PROJECT!='妫�娴嬩腑蹇�'){
+ return
+ }
+ if(m&&type){
+ this.wareForm[type] = Number(m)
+ }
+ let wareForm = {...this.wareForm}
+ wareForm.inspectionItemSubclass = wareForm.inspectionItemSubclass+'鈩�'
+ this.wareTableDataLoading = true
+ this.$axios.post(this.$api.insOrderPlan.temCycle,{
+ sampleId:this.currentSample.id,
+ ...wareForm
+ }).then(res => {
+ this.wareTableDataLoading = false
+ if (res.code == 201) return
+ let {productVos,sampleVo} = res.data
+ this.wareForm0 = sampleVo
+ productVos = productVos.map(m=>{
+ let obj = {...m,...m.insProduct}
+ this.param[obj.id] = {
+ insValue: [],
+ comValue: [],
+ resValue: {
+ i:obj.id,
+ v:{
+ v:null
+ }
+ },
+ equipValue: [],
+ equipName: [],
+ insResult: {
+ i:obj.id,
+ v:{
+ v:null
+ }
+ }
+ }
+ let insProductResult = obj.insProductResult
+ if(insProductResult){
+ for(let i in insProductResult){
+ switch (i) {
+ case 'insValue':
+ let insValue = JSON.parse(insProductResult[i])
+ if(insValue&&insValue.length>1){
+ this.param[obj.id].insValue = [
+ {
+ i:obj.id,
+ v:{
+ v:insValue[0].v
+ }
+ },
+ {
+ i:obj.id,
+ v:{
+ v:insValue[1].v
+ }
+ }
+ ]
+ obj.value0 = insValue[0].v
+ obj.value1 = insValue[1].v
+ }
+ break;
+ case 'comValue':
+ let comValue = JSON.parse(insProductResult[i])
+ if(comValue&&comValue.length>0){
+ this.param[obj.id].comValue = [
+ {
+ i:obj.id,
+ v:{
+ v:comValue[0].v
+ }
+ }
+ ]
+ obj.comValue = comValue[0].v
+ }
+ break;
+ default:
+ break;
+ }
+ }
+ this.param[obj.id].resValue = {
+ i:obj.id,
+ v:{
+ v:obj.lastValue
+ }
+ }
+ obj.resValue = obj.lastValue
+ this.param[obj.id].insResult = {
+ i:obj.id,
+ v:{
+ v:obj.insResult
+ }
+ }
+ }
+ return obj
+ })
+ this.wareTableData = productVos
+ })
+ this.getEquipOptions(true,this.currentSample.insProduct[0].id)
+ },
subOtherForm(m,type){
let ids = []
for (let i in this.param) {
@@ -1022,6 +1233,9 @@
this.currentTab = null;
},
getReportModel(id){
+ if(this.PROJECT!='妫�娴嬩腑蹇�'){
+ return
+ }
this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => {
this.fibers = res.data['鍏夌氦甯�']
this.fiber = res.data['鍏夌氦']
@@ -1164,6 +1378,33 @@
handleTableData() {
this.excelMethodList = []
this.widthList = this.tableList[0].style.columnlen;
+ // 娓╁害寰幆妫�楠屽師濮嬭褰�--寮�濮�
+ if(this.tableLists.find(m=>m.templateId==this.currentTable)||this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'){
+ let ask = this.currentSample.insProduct[0].ask
+ let askList = ask.split(';')
+ this.numOptions = []
+ for (let i = 1; i <= askList[askList.length-1]; i++) {
+ this.numOptions.push({
+ value:i,
+ label:i
+ })
+ }
+ let mySet1 = new Set();
+ askList.forEach((m,i) => {
+ if(i<askList.length-1){
+ mySet1.add(m.split(',')[0].replace('鈩�',''))
+ }
+ })
+ this.temperatureOptions = []
+ mySet1.forEach(m => {
+ this.temperatureOptions.push({
+ value:m,
+ label:m
+ })
+ })
+ this.wareFormChange()
+ }
+ // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫
this.tableList.forEach(a => {
let mcList = []
a.template.forEach(b => {
@@ -1249,8 +1490,7 @@
}
}
})
- console.log(5555,a.template)
- return
+ // return
ids.forEach(id => {
for (let b = 0; b < a.template.length; b++) {
if (a.template[b].r === id.r) {
@@ -1374,21 +1614,31 @@
} catch (e) {}
try {
let insValue = JSON.parse(a.insProductResult.insValue)
- for (var i = 0; i < insValue.length; i++) {
+ for (let i = 0; i < insValue.length; i++) {
this.param[a.id].insValue[i].v.v = insValue[i].v
this.param[a.id].insValue[i].u = insValue[i].u
}
} catch (e) {}
try {
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
+ for (let i = 0; i < equipValue.length; i++) {
+ if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){
+ // 娓╁害寰幆璧嬪��
+ this.$set(this.equipForm,`code`+i,equipValue[i].v)
+ }else{
+ 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
+ for (let i = 0; i < equipName.length; i++) {
+ if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'){
+ // 娓╁害寰幆璧嬪��
+ this.$set(this.equipForm,`value`+i,equipName[i].v)
+ }else{
+ this.param[a.id].equipName[i].v.v = equipName[i].v
+ }
}
} catch (e) {}
try {
@@ -1405,7 +1655,6 @@
let id = str[0]
let pId = str[3]
var list = []
- // console.log(id, 'r', r , 'c',c,this.tableList)
for (let a in this.tableList) {
if (this.tableList[a].templateId == id) {
list = this.tableList[a].arr
@@ -1429,7 +1678,11 @@
}
if(this.getInspectionValueType(item.i)==1){
if (!isNaN(parseFloat(c.v.v))) {
- comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
+ if(c.v.v.includes('^')){
+ comValue[(tableCode + (c.r + 1))] = c.v.v
+ }else{
+ comValue[(tableCode + (c.r + 1))] = parseFloat(c.v.v)
+ }
}
}else{
comValue[(tableCode + (c.r + 1))] = c.v.v
@@ -1745,6 +1998,13 @@
}
return sum
},
+ handleInput (n) {
+ if (n.v.v > 10000) {
+ let num2 = new this.$Big(n.v.v)
+ n.v.v = num2.toExponential()
+ }
+ n.v.v = n.v.v.replace(/[^\d.^e]/g, '');
+ },
getInspectionItemType(id) {
for (var a in this.currentSample.insProduct) {
if (this.currentSample.insProduct[a].id == id) {
@@ -1773,14 +2033,14 @@
}
})
} catch (e) {
- console.log(e);
+ // console.log(e);
this.$message.error('鎵句笉鍒拌澶囧唴瀹�')
}
- console.log(n, code);
+ // console.log(n, code);
fetch('http://localhost:82/寰俊鍥剧墖_20240518100811.png').then(res=>res.blob()).then(blob=>{
- console.log(blob);
+ // console.log(blob);
const url = URL.createObjectURL(blob)
- console.log(url);
+ // console.log(url);
})
/* this.$message.error('閲囬泦澶辫触銆愬凡寮�鏀炬墜鍔ㄦ柟寮忋��')
for (var a in this.currentSample.insProduct) {
--
Gitblit v1.9.3