From ff017259dac281ca30195b4d2d337f14c24f9332 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 19 十二月 2024 14:16:25 +0800
Subject: [PATCH] 完成cnas8.7搬迁
---
src/components/do/b1-inspect-order-plan/circuit-parameters2.vue | 309 ++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 256 insertions(+), 53 deletions(-)
diff --git a/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue b/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
index 5afe6f5..311b594 100644
--- a/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
+++ b/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
@@ -36,9 +36,8 @@
<el-col :span="7" v-if="!isLook">
<div style="display: flex;align-items: center;justify-content: flex-end;" class="btns">
<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)" v-if="!(state>1)&&intermodulationNum>0" style="margin: 4px;">娣诲姞瑙掑害</el-button>
- <el-button size="small" @click="deleteList(angleList.length-1,angleList)" v-if="!(state>1)&&intermodulationNum>0" style="margin: 4px;">鍒犻櫎瑙掑害</el-button>
+ <el-button type="success" size="small" @click="addList(angleList)" v-if="!(state>1)&&intermodulationNum>0" style="margin: 4px;">娣诲姞瑙掑害</el-button>
+ <el-button size="small" @click="deleteList(angleList.length-1,angleList)" v-if="!(state>1)&&intermodulationNum>0" 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;" v-if="intermodulationNum>0&&!(state>1)">娣诲姞浜掕皟</el-button>
- <el-button size="small" @click="deleteList(0,h.projectList,'浜掕皟')" v-if="intermodulationNum>0&&!(state>1)">鍒犻櫎浜掕皟</el-button>
+ <!-- <el-button size="small" @click="deleteList(0,h.projectList,'浜掕皟')" v-if="intermodulationNum>0&&!(state>1)">鍒犻櫎浜掕皟</el-button> -->
<el-button type="primary" size="small" @click="save(h,y)" :disabled="state>1" :loading="loading[y]" style="margin-left: 16px;" 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>
@@ -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?'涓嶅垽瀹�':'寰呭畾')) }}
</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,15 +156,10 @@
<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'">
<td>
- <el-input size="small" placeholder="瑙掑害" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index)"></el-input>
+ <el-input size="small" placeholder="瑙掑害" v-model="item.value" :disabled="state>1" @blur="handleAngle(item.value,index,h.band)"></el-input>
</td>
<td v-for="(m,i) in n.portList" :key="i+'ggg'">
<el-input size="small" placeholder="鏈�宸��" v-model="n.value[index][i]" v-if="n.value[index]" :disabled="state>1"></el-input>
@@ -166,7 +168,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>
@@ -185,6 +190,7 @@
return {
value: "",
bandList:[],
+ bandList0:[],
portList:[
{
value:'1',
@@ -208,7 +214,7 @@
{
inspectionItemSubclass:'鐢靛帇椹绘尝姣�',
unit:'/',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:0,
portList:[],
angleList:[],
@@ -217,7 +223,7 @@
{
inspectionItemSubclass:'鍚屾瀬鍖栭殧绂诲害',
unit:'dB',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:0,
portList:[],
angleList:[],
@@ -227,7 +233,7 @@
inspectionItemSubclass:'浜掕皟',
often:'',//浜掕皟鐗规湁瀛楁
unit:'dB',
- tell:'鈮�1.45',
+ ask:'鈮�1.45',
result:0,
portList:[],
angleList:[],
@@ -238,13 +244,15 @@
isMore:false,
insProductNew:[],
intermodulationNum:0,//浜掕皟妫�楠岄」鐩殑鏁伴噺
- loading:{}
+ loading:{},
+ upTemplateState:false,
};
},
watch: {
// 瑙掑害鏁伴噺鍙樺寲鏃讹紝鏇存柊鎵�鏈夐娈典笅闈㈢殑鎵�鏈夐」鐩笅鐨勬墍鏈夌鍙e拰瑙掑害
angleList(val) {
- this.allBandList.forEach(item => {
+ if(!this.upTemplateState){
+ this.allBandList.forEach(item => {
item.projectList.forEach(m => {
if(m.angleList.length!==val.length){
m.angleList = JSON.parse(JSON.stringify(this.angleList))
@@ -269,6 +277,7 @@
}
})
})
+ }
},
currentNum(val) {
this.initData()
@@ -292,13 +301,23 @@
}).then(res => {
this.bandList = res.data
})
+ this.$axios.post(this.$api.enums.selectEnumByCategory, {
+ category: "浜掕皟-棰戞"
+ }).then(res => {
+ this.bandList0 = res.data
+ })
},
// 鍒濆鍖栨暟鎹�
initData(){
this.allBandList = []
+ this.intermodulationNum = 0
// 澶勭悊椤圭洰
this.insProductNew = JSON.parse(JSON.stringify(this.insProduct)).filter(m=>m.inspectionItem.includes('鐢佃矾璇曢獙'))
- this.insProductNew.forEach(async item => {
+ this.insProductNew.forEach( item => {
+ // 鏄惁瀛樺湪浜掕皟妫�楠岄」鐩�
+ if(item.inspectionItemSubclass.includes('浜掕皟')){
+ this.intermodulationNum++
+ }
// 鑾峰彇璁惧鍒楄〃
item.equipOptions = []
})
@@ -306,6 +325,55 @@
// 宸茬粡瀛樺湪鍊兼椂锛岃祴鍊�
let bandList = this.insProductNew[0].insProductResult2.map(m=>m.frequency)
bandList = Array.from(new Set(bandList))
+ // 涓婁紶闄勪欢鍚庯紝璁剧疆妫�楠岄」鏁版嵁涓虹┖鐨勫唴瀹�
+ let sample = this.insProductNew[0];//鑾峰彇椹绘尝姣旂殑鏁版嵁锛屽鏋滈┗娉㈡瘮鍊煎瓨鍦ㄨ�屽叾浠栨楠岄」鍊间笉瀛樺湪锛屽垯鏍规嵁椹绘尝姣旇缃粯璁ゆ暟鎹�
+ if(sample.insProductResult2&&sample.insProductResult2.length>0){
+ this.insProductNew.forEach(item => {
+ if(!item.inspectionItemSubclass.includes('椹绘尝姣�')&&(!item.insProductResult2||item.insProductResult2.length==0||item.insProductResult2.length<bandList.length)){
+ if(!(item.insProductResult2.length>0&&item.insProductResult2.length<bandList.length)){
+ item.insProductResult2 = []
+ }
+ sample.insProductResult2.forEach(m=>{
+ let obj = this.HaveJson(m)
+ // 濡傛灉鏁版嵁鏈夛紝浣嗘槸涓嶅鎵�鏈夐娈电殑鏁伴噺锛屽垯琛ュ叏鏁版嵁
+ if(item.insProductResult2.length>0&&item.insProductResult2.length<bandList.length){
+ let obj0 = item.insProductResult2.find(n=>m.frequency==n.frequency)
+ if(!obj0){
+ let port = '1,2,3,4'
+ let value = JSON.parse(m.value)
+ let value0 = []
+ value.forEach(n=>{
+ if(!item.inspectionItemSubclass.includes('鑰﹀悎搴�')){
+ value0.push(['','','',''])
+ }else{
+ value0.push([''])
+ }
+ })
+ obj.port = port
+ obj.value = JSON.stringify(value0)
+ item.insProductResult2.push(obj)
+ }
+ }else{
+ // 濡傛灉涓�鏉℃暟鎹兘娌℃湁锛屽垯琛ュ叏鏁版嵁
+ let port = '1,2,3,4'
+ let value = JSON.parse(m.value)
+ let value0 = []
+ value.forEach(n=>{
+ if(!item.inspectionItemSubclass.includes('鑰﹀悎搴�')){
+ value0.push(['','','',''])
+ }else{
+ value0.push([''])
+ }
+ })
+ obj.port = port
+ obj.value = JSON.stringify(value0)
+ item.insProductResult2.push(obj)
+ }
+ })
+ }
+ })
+ }
+ // 缁х画鍥炴樉鏁版嵁
this.allBandList = []
for(let i = 0;i<bandList.length;i++){
let arr = []
@@ -335,26 +403,28 @@
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
}
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:[])
@@ -377,10 +447,6 @@
}else{
// 娌℃湁鍊兼椂锛屽垵濮嬪寲椤甸潰
this.insProductNew.forEach(async item => {
- // 鏄惁瀛樺湪浜掕皟妫�楠岄」鐩�
- if(item.inspectionItemSubclass.includes('浜掕皟')){
- this.intermodulationNum++
- }
// 璧嬪�艰澶�
item.equipName = ''
item.equipValue = ''
@@ -408,6 +474,7 @@
item.angleList = JSON.parse(JSON.stringify(this.angleList))
// 璧嬪�肩粨璁�
item.result = ''
+ item.portNum = 4
// 璧嬪�兼渶宸��
item.value = []
if(item.inspectionItemSubclass.includes('浜掕皟')){
@@ -435,13 +502,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++
}
})
@@ -490,6 +558,7 @@
},
// 娣诲姞鏁扮粍
addList(list,type){
+ this.upTemplateState = false
if(type=='浜掕皟'){
let obj = null;
let index = null;
@@ -531,9 +600,27 @@
}
})
list.push(obj)
+ }else if(type=='绔彛'){
+ 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
@@ -552,8 +639,8 @@
}
return arr
},
- // 缁熶竴淇敼瑙掑害锛屽鏋滆搴︽病鏈夊甫掳锛屽垯鎷兼帴涓�涓�
- handleAngle(e,index){
+ // 缁熶竴淇敼鍚屼竴棰戞鐨勮搴︼紝濡傛灉瑙掑害娌℃湁甯β帮紝鍒欐嫾鎺ヤ竴涓�
+ handleAngle(e,index,band){
if(!e){
return
}
@@ -562,15 +649,17 @@
val = val + '掳'
}
this.allBandList.forEach(item=>{
- item.projectList.forEach(m=>{
- if(m.inspectionItemSubclass.includes('浜掕皟')){
- m.angleList.forEach((n,i)=>{
- if(index==i){
- n.value = val
- }
- })
- }
- })
+ if(item.band==band){
+ item.projectList.forEach(m=>{
+ if(m.inspectionItemSubclass.includes('浜掕皟')){
+ m.angleList.forEach((n,i)=>{
+ if(index==i){
+ n.value = val
+ }
+ })
+ }
+ })
+ }
})
},
handlePort(n){
@@ -613,8 +702,8 @@
this.$set( this.loading, y, true)
// 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
@@ -636,6 +725,87 @@
}).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),
+ // 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,
+ // value:m.value,
+ valueType:m.valueType
+ }
+ this.$set(obj0,'value',m.value)
+ arr.push({...this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass),...obj0})
+ }
+ })
+ // this.allBandList[index].projectList = arr
+ this.$delete(this.allBandList[index],'projectList')
+ this.$set(this.allBandList[index],'projectList',arr)
+ })
+ this.angleList = obj.angleList
+ this.intermodulationNum = obj.intermodulationNum
}
}
}
@@ -679,4 +849,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