From 81150f2c6e86f747a7e7539e91f7b75e9fa87075 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 10 十二月 2024 14:14:38 +0800
Subject: [PATCH] 电路试验退出保存优化
---
src/components/do/b1-inspect-order-plan/circuit-parameters1.vue | 243 ++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 201 insertions(+), 42 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue b/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
index 1ac292c..b1a94cc 100644
--- a/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
+++ b/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
@@ -36,9 +36,8 @@
<el-col :span="7">
<div style="display: flex;align-items: center;justify-content: flex-end;flex-wrap: wrap;" class="btns" v-if="!isLook">
<el-button type="primary" size="small" @click="addList(allBandList,'棰戞')" :disabled="state>1" style="margin: 4px;">娣诲姞棰戞</el-button>
- <el-button size="small" @click="deleteList(allBandList.length-1,allBandList,'鍒犻櫎棰戞')" :disabled="state>1" style="margin: 4px;">鍒犻櫎棰戞</el-button>
- <el-button type="primary" size="small" @click="addList(angleList)" :disabled="state>1" style="margin: 4px;">娣诲姞瑙掑害</el-button>
- <el-button size="small" @click="deleteList(angleList.length-1,angleList)" :disabled="state>1" style="margin: 4px;">鍒犻櫎瑙掑害</el-button>
+ <el-button type="success" size="small" @click="addList(angleList)" :disabled="state>1" style="margin: 4px;">娣诲姞瑙掑害</el-button>
+ <el-button size="small" @click="deleteList(angleList.length-1,angleList)" :disabled="state>1" style="margin: 4px;" type="danger">鍒犻櫎瑙掑害</el-button>
</div>
</el-col>
</el-row>
@@ -70,8 +69,9 @@
:value="item.value">
</el-option>
</el-select>
+ <el-button size="small" @click="deleteList(y,allBandList,'鍒犻櫎棰戞')" :disabled="state>1" style="margin-left: 16px;" type="danger">鍒犻櫎棰戞</el-button>
<el-button type="primary" size="small" @click="addList(h.projectList,'浜掕皟')" style="margin-left: 16px;" :disabled="state>1" v-show="!isLook&&intermodulationNum>0">娣诲姞浜掕皟</el-button>
- <el-button size="small" @click="deleteList(0,h.projectList,'浜掕皟')" :disabled="state>1" v-show="!isLook&&intermodulationNum>0">鍒犻櫎浜掕皟</el-button>
+ <!-- <el-button size="small" @click="deleteList(0,h.projectList,'浜掕皟')" :disabled="state>1" v-show="!isLook&&intermodulationNum>0">鍒犻櫎浜掕皟</el-button> -->
<el-button type="primary" size="small" @click="save(h,y)" :disabled="state>1" :loading="loading[y]" v-show="!isLook">淇� 瀛�</el-button>
</div>
<el-divider></el-divider>
@@ -86,7 +86,7 @@
<div style="text-align: center;">{{ n.unit }}</div>
</el-col>
<el-col :span="2">
- <div style="text-align: center;" v-html="n.tell"></div>
+ <div style="text-align: center;" v-html="n.ask"></div>
</el-col>
<el-col :span="16">
<div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -97,11 +97,6 @@
<div style="display: flex;align-items: center;">
<el-input size="small" placeholder="绔彛" v-model="item.value" :disabled="state>1"></el-input>
</div>
- </td>
- <td :rowspan="n.angleList.length+1">
- <el-button icon="el-icon-minus" circle size="mini" type="danger"
- @click="deleteList(n.portList.length-1,n.portList)" :disabled="state>1" style="margin: 5px;"></el-button>
- <el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addList(n.portList)" :disabled="state>1" style="margin: 5px;"></el-button>
</td>
</tr>
<tr v-for="(item,index) in n.angleList" :key="index + 'eee'">
@@ -115,7 +110,10 @@
</table>
</div>
</el-col>
- <el-col :span="2">
+ <el-col :span="1">
+ <el-input-number v-model="n.portNum" :min="1" :max="100" label="鏁伴噺" size="small" @change="m=>changePort(m,n.portList)" :disabled="state>1"></el-input-number>
+ </el-col>
+ <el-col :span="1">
<div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':(n.result===3?'涓嶅垽瀹�':(n.result===3?'涓嶅垽瀹�':'寰呭畾'))) }}
</div>
</el-col>
@@ -129,16 +127,25 @@
<div style="text-align: center;">{{ n.unit }}</div>
</el-col>
<el-col :span="2">
- <div style="text-align: center;" v-html="n.tell"></div>
+ <div style="text-align: center;" v-html="n.ask"></div>
</el-col>
<el-col :span="16">
<div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
<table border="1" cellpadding="10" class="thermal-table">
<tr>
- <td>棰戠偣</td>
+ <td>棰戞</td>
<td :colspan="n.portList.length+1">
<div style="display: flex;align-items: center;">
- <el-input size="small" placeholder="棰戠偣" v-model="n.often" :disabled="state>1" @blur="handlePort(n)"></el-input>
+ <!-- <el-input size="small" placeholder="棰戞" v-model="n.often" :disabled="state>1" @blur="handlePort(n)"></el-input> -->
+ <el-select v-model="n.often" placeholder="璇烽�夋嫨" size="small" style="width: 200px;" :disabled="state>1">
+ <el-option
+ v-for="item in bandList0"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ <el-button type="danger" icon="el-icon-delete" circle size="small" @click="deleteList(j,h.projectList,'浜掕皟')" :disabled="state>1" v-show="!isLook&&intermodulationNum>0" style="margin-left: 20px;"></el-button>
</div>
</td>
</tr>
@@ -149,11 +156,11 @@
<el-input size="small" placeholder="绔彛" v-model="item.value" :disabled="state>1"></el-input>
</div>
</td>
- <td :rowspan="n.angleList.length+1">
+ <!-- <td :rowspan="n.angleList.length+1">
<el-button icon="el-icon-minus" circle size="mini" type="danger"
@click="deleteList(n.portList.length-1,n.portList)" :disabled="state>1" style="margin: 5px;"></el-button>
<el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addList(n.portList)" :disabled="state>1" style="margin: 5px;"></el-button>
- </td>
+ </td> -->
</tr>
<tr v-for="(item,index) in n.angleList" :key="index + 'eee'">
<td>
@@ -166,7 +173,10 @@
</table>
</div>
</el-col>
- <el-col :span="2">
+ <el-col :span="1">
+ <el-input-number v-model="n.portNum" :min="1" :max="100" label="鏁伴噺" size="small" @change="m=>changePort(m,n.portList)" :disabled="state>1"></el-input-number>
+ </el-col>
+ <el-col :span="1">
<div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':(n.result===3?'涓嶅垽瀹�':(n.result===3?'涓嶅垽瀹�':'寰呭畾'))) }}
</div>
</el-col>
@@ -180,7 +190,7 @@
<div style="text-align: center;">{{ n.unit }}</div>
</el-col>
<el-col :span="2">
- <div style="text-align: center;" v-html="n.tell"></div>
+ <div style="text-align: center;" v-html="n.ask"></div>
</el-col>
<el-col :span="16">
<div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -192,11 +202,11 @@
<el-input size="small" placeholder="棰戞" v-model="item.value" :disabled="state>1"></el-input>
</div>
</td>
- <td :rowspan="n.angleList.length+1">
+ <!-- <td :rowspan="n.angleList.length+1">
<el-button icon="el-icon-minus" circle size="mini" type="danger"
@click="deleteList(n.portList.length-1,n.portList)" :disabled="state>1" style="margin: 5px;"></el-button>
<el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addList(n.portList)" :disabled="state>1" style="margin: 5px;"></el-button>
- </td>
+ </td> -->
</tr>
<tr v-for="(item,index) in n.angleList" :key="index + 'eee'">
<td>
@@ -209,7 +219,10 @@
</table>
</div>
</el-col>
- <el-col :span="2">
+ <el-col :span="1">
+ <el-input-number v-model="n.portNum" :min="1" :max="100" label="鏁伴噺" size="small" @change="m=>changePort(m,n.portList)" :disabled="state>1"></el-input-number>
+ </el-col>
+ <el-col :span="1">
<div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':(n.result===3?'涓嶅垽瀹�':'寰呭畾')) }}
</div>
</el-col>
@@ -223,9 +236,9 @@
<div style="text-align: center;">{{ n.unit }}</div>
</el-col>
<el-col :span="2">
- <div style="text-align: center;" v-html="n.tell"></div>
+ <div style="text-align: center;" v-html="n.ask"></div>
</el-col>
- <el-col :span="16">
+ <el-col :span="17">
<div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
<table border="1" cellpadding="10" class="thermal-table">
<tr>
@@ -247,7 +260,7 @@
</table>
</div>
</el-col>
- <el-col :span="2">
+ <el-col :span="1">
<div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':(n.result===3?'涓嶅垽瀹�':'寰呭畾')) }}
</div>
</el-col>
@@ -266,6 +279,7 @@
return {
value: "",
bandList:[],
+ bandList0:[],
portList:[
{
value:'1',
@@ -289,7 +303,7 @@
{
name:'鐢靛帇椹绘尝姣�',
unit:'/',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:'',
conclusion:'鍚堟牸',
portList:[],
@@ -299,7 +313,7 @@
{
name:'鍚屾瀬鍖栭殧绂诲害',
unit:'dB',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:'',
conclusion:'鍚堟牸',
portList:[],
@@ -310,7 +324,7 @@
name:'浜掕皟',
band:'2100MHz',
unit:'dB',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:'',
conclusion:'鍚堟牸',
portList:[],
@@ -320,7 +334,7 @@
{
name:'鍋忓樊',
unit:'dB',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:'',
conclusion:'鍚堟牸',
portList:[],
@@ -331,7 +345,7 @@
name:'鏈�澶ц�﹀悎搴�',
unit:'dB',
band:'2100MHz',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:'',
conclusion:'鍚堟牸',
portList:[],
@@ -340,17 +354,20 @@
resValue:''
},
],
+
allBandList:[],//棰戞
insProductNew:[],
isMore:false,
loading:{},
intermodulationNum:0,//浜掕皟妫�楠岄」鐩殑鏁伴噺
+ upTemplateState:false,
};
},
watch: {
// 瑙掑害鏁伴噺鍙樺寲鏃讹紝鏇存柊鎵�鏈夐娈典笅闈㈢殑鎵�鏈夐」鐩笅鐨勬墍鏈夌鍙e拰瑙掑害
angleList(val) {
- this.allBandList.forEach(item => {
+ if(!this.upTemplateState){
+ this.allBandList.forEach(item => {
item.projectList.forEach(m => {
// 娣诲姞瑙掑害
for(let i=0;i<val.length;i++){
@@ -387,6 +404,7 @@
}
})
})
+ }
// console.log(this.allBandList)
},
currentNum(val) {
@@ -411,6 +429,11 @@
category: "鐢佃矾璇曢獙娉㈡"
}).then(res => {
this.bandList = res.data
+ })
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "浜掕皟-棰戞"
+ }).then(res => {
+ this.bandList0 = res.data
})
},
// 鍒濆鍖栨暟鎹�
@@ -455,27 +478,29 @@
angleList.push({value:m})
})
this.angleList = angleList
+ this.upTemplateState = false;
}
- let tell = ''
- if(item.tell.includes(',')){
- item.tell.split(',').forEach((m,i)=>{
- tell = tell + m+ (i==item.tell.split(',').length-1?'':'<br/>')
+ let ask = ''
+ if(item.ask.includes(',')){
+ item.ask.split(',').forEach((m,i)=>{
+ ask = ask + m+ (i==item.ask.split(',').length-1?'':'<br/>')
})
}else{
- tell = item.tell
+ ask = item.ask
}
- console.log(tell)
+ console.log(ask)
let obj = {
inspectionItemSubclass: item.inspectionItemSubclass,
unit:item.unit,
- tell:tell,
+ ask:ask,
result:n.result,
id:item.id,
often:n.often,
equipName:n.equipName,
equipValue:n.equipValue,
frequency:n.frequency,
- sonLaboratory:item.sonLaboratory
+ sonLaboratory:item.sonLaboratory,
+ portNum:JSON.parse(n.value).length>0?JSON.parse(n.value)[0].length:4
}
this.$set(obj,'portList', n.port?portList:[])
this.$set(obj,'angleList', n.angle?angleList:[])
@@ -528,6 +553,7 @@
item.result = ''
// 璧嬪�兼渶宸��
item.value = []
+ item.portNum = 4
if(item.inspectionItemSubclass.includes('鑰﹀悎搴�')){
for(let i = 0;i<item.angleList.length;i++){
item.value.push([''])
@@ -553,13 +579,14 @@
},
// 鍒犻櫎鏁扮粍
deleteList(index,list,type){
+ this.upTemplateState = false;
if(list.length>1){
if(type=='浜掕皟'){
- let index = null;
+ // let index = null;
let num = 0;
list.forEach((m,i)=>{
if(m.inspectionItemSubclass.includes('浜掕皟')){
- index = i;
+ // index = i;
num++
}
})
@@ -608,6 +635,7 @@
},
// 娣诲姞鏁扮粍
addList(list,type){
+ this.upTemplateState = false;
if(type=='浜掕皟'){
let obj = null;
let index = null;
@@ -649,9 +677,27 @@
}
})
list.push(obj)
+ }else if('绔彛'){
+ let obj = JSON.parse(JSON.stringify(list[0]));
+ obj.value = null;
+ list.push(obj)
}else{
let obj = JSON.parse(JSON.stringify(list[0]));
list.push(obj)
+ }
+ },
+ // 鏀瑰彉绔彛
+ changePort(num,list){
+ if(num>list.length){
+ for(let i = list.length;i<num;i++){
+ let obj = JSON.parse(JSON.stringify(list[0]));
+ obj.value = null;
+ list.push(obj)
+ }
+ }else if(num<list.length){
+ for(let i = list.length;i>num;i--){
+ list.pop()
+ }
}
},
// 鑾峰彇璁惧閫夐」 id:涓烘楠岄」id
@@ -728,8 +774,8 @@
this.$delete(this.loading, y)
this.$set( this.loading, y, true)
this.$axios.post(this.$api.insOrderPlan.saveInsContext2, {
- orderId:this.orderId,
- sampleId:this.sampleId,
+ // orderId:this.orderId,
+ sampleId:this.orderId,
sonLaboratory:h.projectList[0].sonLaboratory,
frequency:h.band,
insProductResult2s:arr
@@ -751,6 +797,86 @@
}).catch(err => {
console.log(err)
})
+ },
+ async saveAll(){
+ if(this.allBandList.find(m=>!m.band)){
+ this.$message.error('璇峰厛濉啓棰戞')
+ return false
+ }else{
+ let arr0 = []
+ this.allBandList.forEach((h,j)=>{
+ // this.save(h,j)
+ let arr = h.projectList.map(item=>{
+ if(item.portList&&item.portList.length>0){
+ item.value.forEach(m=>{
+ m = m.splice(item.portList.length)
+ })
+ }
+ let obj = {
+ insProductId:item.id,
+ equipValue:this.insProductNew.find(m=>m.id==item.id).equipValue,
+ equipName:this.insProductNew.find(m=>m.id==item.id).equipName,
+ port:item.portList.map(m=>m.value).join(','),
+ angle:item.angleList.map(m=>m.value).join(','),
+ value:JSON.stringify(item.value),
+ often:item.often
+ }
+ return obj
+ })
+ let obj0 = {
+ sampleId:this.orderId,
+ sonLaboratory:h.projectList[0].sonLaboratory,
+ frequency:h.band,
+ insProductResult2s:arr
+ }
+ arr0.push(obj0)
+ })
+ let res = await this.$axios.post(this.$api.insOrderPlan.saveInsContext2s, {insProductResultDtos:arr0
+ }, {
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs:true})
+ if(res.code===201){
+ this.$message.error('淇濆瓨澶辫触')
+ return false
+ }else{
+ this.$message.success('宸蹭繚瀛�')
+ return true
+ }
+ }
+ },
+ // 鏇存柊妯℃澘
+ upTemplate(obj){
+ this.upTemplateState = true;
+ // return
+ obj.allBandList.forEach((item,index)=>{
+ if(!this.allBandList[index]){
+ this.$set(this.allBandList, index, {projectList:this.HaveJson(this.allBandList[0].projectList)})
+ // this.allBandList[index] = {
+ // projectList:this.HaveJson(this.allBandList[0].projectList)
+ // }
+ }
+ this.allBandList[index].band = item.band
+ let arr = []
+ item.projectList.forEach((m,i)=>{
+ if(this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass)){
+ let obj0 = {
+ angleList:m.angleList,
+ portList:m.portList,
+ portNum:m.portNum,
+ valueType:m.valueType
+ }
+ this.$set(obj0,'value',m.value)
+ arr.push({...this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass),...obj0})
+ }
+ })
+ this.$delete(this.allBandList[index],'projectList')
+ this.$set(this.allBandList[index],'projectList',arr)
+ // this.allBandList[index].projectList = arr
+ })
+ this.angleList = obj.angleList
+ this.intermodulationNum = obj.intermodulationNum
}
}
}
@@ -798,4 +924,37 @@
.green{
color: green;
}
+>>>.el-input-number {
+ display: inline-flex;
+ flex-direction: column !important;
+ line-height: 26px;
+}
+
+>>>.el-input-number__increase, >>>.el-input-number__decrease {
+ width: 26px;
+ height: 26px;
+}
+>>>.el-input-number__increase{
+ top: 36px;
+ left: 10px;
+ border: 0px;
+ border-radius: 50%;
+ background: #3A7BFA;
+ color: #fff;
+}
+>>>.el-input-number__decrease{
+ top: -30px;
+ border: 0px;
+ border-radius: 50%;
+ left: 10px;
+ background: #F56C6C;
+ color: #fff;
+}
+>>>.el-input-number .el-input{
+ width: 50px;
+}
+>>>.el-input-number .el-input__inner{
+ width: 50px;
+ padding: 0;
+}
</style>
--
Gitblit v1.9.3