From 129fecf9a1cc53fc4d8d7ec6d7751e78571e73d0 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 21 八月 2025 17:34:13 +0800
Subject: [PATCH] 出库后刷新
---
src/components/do/b1-inspect-order-plan/circuit-parameters2.vue | 733 ++++++++++++++++++++++++++++++++++---------------------
1 files changed, 450 insertions(+), 283 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 4a506c4..16ac9f7 100644
--- a/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
+++ b/src/components/do/b1-inspect-order-plan/circuit-parameters2.vue
@@ -5,44 +5,48 @@
<el-col :span="17">
<el-row>
<el-col :span="23" style="display: flex;flex-wrap: wrap;">
- <table border="1" cellpadding="10" style="margin: 4px 10px 10px 0;width: 32%;" v-for="(item,index) in insProductNew" :key="index + 'ppp'" v-show="isMore?true:(index<3?true:false)">
+ <table border="1" cellpadding="10" style="margin: 4px 10px 10px 0;width: 32%;"
+ v-for="(item, index) in insProductNew" :key="index + 'ppp'"
+ v-show="isMore ? true : (index < 3 ? true : false)">
<tr>
<td style="text-align: center;background: #F0F1F5;">
- <el-tooltip effect="dark" :content="item.inspectionItemSubclass" placement="top-start"><span style="display: inline-block;width: 95px;" class="single-line-ellipsis">{{ item.inspectionItemSubclass }}</span>
+ <el-tooltip effect="dark" :content="item.inspectionItemSubclass" placement="top-start"><span
+ style="display: inline-block;width: 95px;" class="single-line-ellipsis">{{
+ item.inspectionItemSubclass }}</span>
</el-tooltip>
</td>
<td>
<el-input size="small" placeholder="璁惧鍚嶇О" v-model="item.equipName" readonly></el-input>
</td>
<td>
- <el-select v-model="item.equipValue" placeholder="璁惧缂栫爜" size="small" :disabled="state>1" @focus="methodFocus(item)" @change="m=>handleEquip(m,item)">
- <el-option
- v-for="m in item.equipOptions"
- :key="m.value"
- :label="m.value"
- :value="m.value">
+ <el-select v-model="item.equipValue" placeholder="璁惧缂栫爜" size="small" :disabled="state > 1"
+ @focus="methodFocus(item)" @change="m => handleEquip(m, item)">
+ <el-option v-for="m in item.equipOptions" :key="m.value" :label="m.value" :value="m.value">
</el-option>
</el-select>
</td>
</tr>
</table>
</el-col>
- <el-col :span="1" v-show="insProductNew.length>3">
- <el-button icon="el-icon-arrow-down" type="text" @click="isMore=true" v-if="!isMore">鏇村</el-button>
- <el-button icon="el-icon-arrow-up" type="text" @click="isMore=false" v-if="isMore">鏀惰捣</el-button>
+ <el-col :span="1" v-show="insProductNew.length > 3">
+ <el-button icon="el-icon-arrow-down" type="text" @click="isMore = true" v-if="!isMore">鏇村</el-button>
+ <el-button icon="el-icon-arrow-up" type="text" @click="isMore = false" v-if="isMore">鏀惰捣</el-button>
</el-col>
</el-row>
</el-col>
<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="primary" size="small" @click="addList(allBandList, '棰戞')" :disabled="state > 1"
+ 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>
- <el-row :gutter="5" style="font-size: 18px;font-weight: 700;background: #F0F1F5;padding: 16px 0;box-sizing: border-box;width: 100%;">
+ <el-row :gutter="5"
+ style="font-size: 18px;font-weight: 700;background: #F0F1F5;padding: 16px 0;box-sizing: border-box;width: 100%;">
<el-col :span="2">
<div style="text-align: center;">妫�楠岄」鐩�</div>
</el-col>
@@ -59,26 +63,27 @@
<div style="text-align: center;">缁撹</div>
</el-col>
</el-row>
- <div class="circuit-parameters-item" v-for="(h,y) in allBandList" :key="y+'ooo'">
+ <div class="circuit-parameters-item" v-for="(h, y) in allBandList" :key="y + 'ooo'">
<div class="circuit-parameters-item-title">
<span>棰戞锛�</span>
- <el-select v-model="h.band" placeholder="璇烽�夋嫨" size="small" style="width: 200px;" :disabled="state>1">
- <el-option
- v-for="item in bandList"
- :key="item.value"
- :label="item.label"
- :value="item.value">
+ <el-select v-model="h.band" placeholder="璇烽�夋嫨" size="small" style="width: 200px;" :disabled="state > 1">
+ <el-option v-for="item in bandList" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
- <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 type="primary" size="small" @click="save(h,y)" :disabled="state>1" :loading="loading[y]" style="margin-left: 16px;" v-show="!isLook">淇� 瀛�</el-button>
+ <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 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>
<div class="circuit-parameters-item-content">
- <template v-for="(n,j) in h.projectList">
+ <template v-for="(n, j) in h.projectList">
<!-- 鐢靛帇椹绘尝姣�/鍚屾瀬鍖栭殧绂诲害/寮傛瀬鍖栭殧绂诲害 -->
- <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;" v-if="n.inspectionItemSubclass.includes('椹绘尝姣�')||n.inspectionItemSubclass.includes('闅旂搴�')">
+ <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;"
+ v-if="(n.inspectionItemSubclass.includes('椹绘尝姣�') || n.inspectionItemSubclass.includes('闅旂搴�'))&&isLooks(n)">
<el-col :span="2">
<div style="text-align: center;">{{ n.inspectionItemSubclass }}</div>
</el-col>
@@ -86,16 +91,20 @@
<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;">
+ <el-input size="small" v-model="n.ask" :disabled="state > 1"
+ ></el-input>
+ </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 v-for="(item,index) in n.portList" :key="index+'aaa'">
+ <td v-for="(item, index) in n.portList" :key="index + 'aaa'">
<div style="display: flex;align-items: center;">
- <el-input size="small" placeholder="绔彛" v-model="item.value" :disabled="state>1"></el-input>
+ <el-input size="small" placeholder="绔彛" v-model="item.value" :disabled="state > 1"
+ @blur="handleInterface(n.portList, index)"></el-input>
</div>
</td>
</tr>
@@ -103,23 +112,27 @@
<td>
<span>鏈�宸��</span>
</td>
- <td v-for="(m,i) in n.portList" :key="i+'ggg'">
- <el-input size="small" placeholder="鏈�宸��" v-model="n.value[0][i]" v-if="n.value" :disabled="state>1"></el-input>
+ <td v-for="(m, i) in n.portList" :key="i + 'ggg'">
+ <el-input size="small" placeholder="鏈�宸��" v-model="n.value[0][i]" v-if="n.value"
+ :disabled="state > 1"></el-input>
</td>
</tr>
</table>
</div>
</el-col>
<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-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 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>
</el-row>
<!-- 浜掕皟 -->
- <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;" v-if="n.inspectionItemSubclass.includes('浜掕皟')">
+ <el-row :gutter="5" style="margin: 12px 0 0;display: flex;align-items: center;"
+ v-if="n.inspectionItemSubclass.includes('浜掕皟')&&isLooks(n)">
<el-col :span="2">
<div style="text-align: center;">{{ n.inspectionItemSubclass }}</div>
</el-col>
@@ -127,55 +140,64 @@
<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;">
+ <el-input size="small" v-model="n.ask" :disabled="state > 1"
+ ></el-input>
+ </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 :colspan="n.portList.length+1">
+ <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-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"
+ <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>
<tr>
<td>绔彛</td>
- <td v-for="(item,index) in n.portList" :key="index+'fff'">
+ <td v-for="(item, index) in n.portList" :key="index + 'fff'">
<div style="display: flex;align-items: center;">
- <el-input size="small" placeholder="绔彛" v-model="item.value" :disabled="state>1"></el-input>
+ <el-input size="small" placeholder="绔彛" v-model="item.value" :disabled="state > 1"
+ @blur="handleInterface(n.portList, index)"></el-input>
</div>
</td>
</tr>
- <tr v-for="(item,index) in n.angleList" :key="index + 'eee'">
+ <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>
+ <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>
</td>
</tr>
</table>
</div>
</el-col>
<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-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 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>
</el-row>
- <el-divider v-if="j!=h.projectList.length-1"></el-divider>
+ <el-divider v-if="j != h.projectList.length - 1&&isLooks(n)"></el-divider>
</template>
</div>
</div>
@@ -184,106 +206,106 @@
<script>
export default {
- props:['insProduct','orderId','sampleId','state','num','isLook','currentNum'],
+ props: ['insProduct', 'orderId', 'sampleId', 'state', 'num', 'isLook', 'currentNum'],
data() {
return {
value: "",
- bandList:[],
- bandList0:[],
- portList:[
+ bandList: [],
+ bandList0: [],
+ portList: [
{
- value:'1',
+ value: 'P1',
},
{
- value:'2',
+ value: 'P2',
},
{
- value:'3',
+ value: 'P3',
},
{
- value:'4',
+ value: 'P4',
},
],
- angleList:[
+ angleList: [
{
- value:''
+ value: ''
}
],
- projectList:[
+ projectList: [
{
- inspectionItemSubclass:'鐢靛帇椹绘尝姣�',
- unit:'/',
- tell:'鈮�1.45',
- result:0,
- portList:[],
- angleList:[],
- value:[],//鍙屽眰鏁扮粍
+ inspectionItemSubclass: '鐢靛帇椹绘尝姣�',
+ unit: '/',
+ ask: '鈮�1.45',
+ result: 0,
+ portList: [],
+ angleList: [],
+ value: [],//鍙屽眰鏁扮粍
},
{
- inspectionItemSubclass:'鍚屾瀬鍖栭殧绂诲害',
- unit:'dB',
- tell:'鈮�1.45',
- result:0,
- portList:[],
- angleList:[],
- value:[],//鍙屽眰鏁扮粍
+ inspectionItemSubclass: '鍚屾瀬鍖栭殧绂诲害',
+ unit: 'dB',
+ ask: '鈮�1.45',
+ result: 0,
+ portList: [],
+ angleList: [],
+ value: [],//鍙屽眰鏁扮粍
},
{
- inspectionItemSubclass:'浜掕皟',
- often:'',//浜掕皟鐗规湁瀛楁
- unit:'dB',
- tell:'鈮�1.45',
- result:0,
- portList:[],
- angleList:[],
- value:[],//鍙屽眰鏁扮粍
+ inspectionItemSubclass: '浜掕皟',
+ often: '',//浜掕皟鐗规湁瀛楁
+ unit: 'dB',
+ ask: '鈮�1.45',
+ result: 0,
+ portList: [],
+ angleList: [],
+ value: [],//鍙屽眰鏁扮粍
},
],
- allBandList:[],//棰戞
- isMore:false,
- insProductNew:[],
- intermodulationNum:0,//浜掕皟妫�楠岄」鐩殑鏁伴噺
- loading:{},
- upTemplateState:false,
+ allBandList: [],//棰戞
+ isMore: false,
+ insProductNew: [],
+ intermodulationNum: 0,//浜掕皟妫�楠岄」鐩殑鏁伴噺
+ loading: {},
+ upTemplateState: false,
};
},
watch: {
// 瑙掑害鏁伴噺鍙樺寲鏃讹紝鏇存柊鎵�鏈夐娈典笅闈㈢殑鎵�鏈夐」鐩笅鐨勬墍鏈夌鍙e拰瑙掑害
angleList(val) {
- if(!this.upTemplateState){
+ 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))
- }
- if(m.inspectionItemSubclass.includes('浜掕皟')){
- for(let i = 0;i<m.angleList.length;i++){
- if(!m.value[i]){
- this.$set(m.value,i, [])
+ item.projectList.forEach(m => {
+ if (m.angleList.length !== val.length) {
+ m.angleList = JSON.parse(JSON.stringify(this.angleList))
+ }
+ if (m.inspectionItemSubclass.includes('浜掕皟')) {
+ for (let i = 0; i < m.angleList.length; i++) {
+ if (!m.value[i]) {
+ this.$set(m.value, i, [])
+ }
+ for (let j = 0; j < m.portList.length; j++) {
+ if (!m.value[i][j]) {
+ m.value[i].push('')
+ }
+ }
}
- for(let j=0;j<m.portList.length;j++){
- if(!m.value[i][j]){
- m.value[i].push('')
+ } else {
+ for (let j = 0; j < m.portList.length; j++) {
+ if (!m.value[0][j]) {
+ m.value[0].push('')
}
}
}
- }else{
- for(let j=0;j<m.portList.length;j++){
- if(!m.value[0][j]){
- m.value[0].push('')
- }
- }
- }
+ })
})
- })
}
},
currentNum(val) {
this.initData()
},
- insProduct:{
- deep:true,
- handler:function(val){
+ insProduct: {
+ deep: true,
+ handler: function (val) {
this.initData()
}
}
@@ -307,115 +329,165 @@
})
},
// 鍒濆鍖栨暟鎹�
- initData(){
+ 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 = JSON.parse(JSON.stringify(this.insProduct)).filter(m => m.inspectionItem.includes('鐢佃矾璇曢獙'))
+ this.insProductNew.forEach(item => {
+ // 鏄惁瀛樺湪浜掕皟妫�楠岄」鐩�
+ if (item.inspectionItemSubclass.includes('浜掕皟')) {
+ this.intermodulationNum++
+ }
// 鑾峰彇璁惧鍒楄〃
item.equipOptions = []
})
- if(this.insProductNew[0].insProductResult2&&this.insProductNew[0].insProductResult2.length>0){
+ if (this.insProductNew[0].insProductResult2 && this.insProductNew[0].insProductResult2.length > 0) {
// 宸茬粡瀛樺湪鍊兼椂锛岃祴鍊�
- let bandList = this.insProductNew[0].insProductResult2.map(m=>m.frequency)
+ 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 = 'P1,P2,P3,P4'
+ 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 = 'P1,P2,P3,P4'
+ 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++){
+ for (let i = 0; i < bandList.length; i++) {
let arr = []
this.insProductNew.forEach(item => {
- if(item.inspectionItemSubclass.includes('浜掕皟')){
+ if (item.inspectionItemSubclass.includes('浜掕皟')) {
this.intermodulationNum++
}
let equipNameList = []
let equipValueList = []
item.insProductResult2.forEach(n => {
- if(n.frequency===bandList[i]){
+ if (n.frequency === bandList[i]) {
// 璧嬪�奸〉闈㈣澶囧悕绉板拰鍊�
- if(n.equipValue){
+ if (n.equipValue) {
equipNameList.push(n.equipName)
equipValueList.push(n.equipValue)
}
// 浠ヤ笅涓鸿祴鍊煎垪琛ㄤ俊鎭�
let portList = []
let angleList = []
- if(n.port&&n.port.split(',').length>0){
- n.port.split(',').forEach(m=>{
- portList.push({value:m})
+ if (n.port && n.port.split(',').length > 0) {
+ n.port.split(',').forEach(m => {
+ portList.push({ value: m })
})
}
- if(n.angle&&n.angle.split(',').length>0){
- n.angle.split(',').forEach(m=>{
- angleList.push({value:m})
+ if (n.angle && n.angle.split(',').length > 0) {
+ n.angle.split(',').forEach(m => {
+ 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/>')
- })
- }else{
- tell = item.tell
- }
+ // let ask = ''
+ // if (item.ask.includes(',')) {
+ // item.ask.split(',').forEach((m, i) => {
+ // ask = ask + m + (i == item.ask.split(',').length - 1 ? '' : '<br/>')
+ // })
+ // } else {
+ // ask = item.ask
+ // }
let obj = {
inspectionItemSubclass: item.inspectionItemSubclass,
- unit:item.unit,
- tell:tell,
- result:n.result,
- id:item.id,
- often:n.often,
- equipName:n.equipName,
- equipValue:n.equipValue,
- frequency:n.frequency,
- sonLaboratory:item.sonLaboratory,
- portNum:JSON.parse(n.value).length>0?JSON.parse(n.value)[0].length:4
+ unit: item.unit,
+ ask: n.ask,
+ result: n.result,
+ id: item.id,
+ often: n.often,
+ equipName: n.equipName,
+ equipValue: n.equipValue,
+ frequency: n.frequency,
+ 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:[])
- this.$set(obj,'value', JSON.parse(n.value))
+ this.$set(obj, 'portList', n.port ? portList : [])
+ this.$set(obj, 'angleList', n.angle ? angleList : [])
+ this.$set(obj, 'value', JSON.parse(n.value))
arr.push(obj)
}
})
- if(equipValueList.length>0){
- this.$delete(item,'equipName')
- this.$delete(item,'equipValue')
- this.$set(item,'equipName',equipNameList[equipNameList.length-1])
- this.$set(item,'equipValue',equipValueList[equipValueList.length-1])
+ if (equipValueList.length > 0) {
+ this.$delete(item, 'equipName')
+ this.$delete(item, 'equipValue')
+ this.$set(item, 'equipName', equipNameList[equipNameList.length - 1])
+ this.$set(item, 'equipValue', equipValueList[equipValueList.length - 1])
}
})
- this.$set(this.allBandList,i, {
+ this.$set(this.allBandList, i, {
band: bandList[i],
projectList: arr
})
}
- }else{
+ } else {
// 娌℃湁鍊兼椂锛屽垵濮嬪寲椤甸潰
this.insProductNew.forEach(async item => {
- // 鏄惁瀛樺湪浜掕皟妫�楠岄」鐩�
- if(item.inspectionItemSubclass.includes('浜掕皟')){
- this.intermodulationNum++
- }
// 璧嬪�艰澶�
item.equipName = ''
item.equipValue = ''
this.portList = [
{
- value:'1',
+ value: 'P1',
},
{
- value:'2',
+ value: 'P2',
},
{
- value:'3',
+ value: 'P3',
},
{
- value:'4',
+ value: 'P4',
},
]
this.angleList = [
{
- value:''
+ value: ''
}
]
// 璧嬪�肩鍙e拰瑙掑害
@@ -426,16 +498,16 @@
item.portNum = 4
// 璧嬪�兼渶宸��
item.value = []
- if(item.inspectionItemSubclass.includes('浜掕皟')){
- for(let i = 0;i<item.angleList.length;i++){
+ if (item.inspectionItemSubclass.includes('浜掕皟')) {
+ for (let i = 0; i < item.angleList.length; i++) {
item.value.push([])
- for(let j=0;j<item.portList.length;j++){
+ for (let j = 0; j < item.portList.length; j++) {
item.value[i].push('')
}
}
- }else{
+ } else {
item.value.push([])
- for(let j=0;j<item.portList.length;j++){
+ for (let j = 0; j < item.portList.length; j++) {
item.value[0].push('')
}
}
@@ -443,48 +515,49 @@
// 鍒濆鍖栭娈�
this.allBandList.push(
{
- band:'',
+ band: '',
projectList: JSON.parse(JSON.stringify(this.insProductNew))
}
)
}
},
// 鍒犻櫎鏁扮粍
- deleteList(index,list,type){
+ deleteList(index, list, type) {
this.upTemplateState = false
- if(list.length>1){
- if(type=='浜掕皟'){
- let index = null;
+ if (list.length > 1) {
+ if (type == '浜掕皟') {
+ // let index = null;
let num = 0;
- list.forEach((m,i)=>{
- if(m.inspectionItemSubclass.includes('浜掕皟')){
- index = i;
+ list.forEach((m, i) => {
+ if (m.inspectionItemSubclass.includes('浜掕皟')) {
+ // index = i;
num++
}
})
- if(num==1){
+ if (num == 1) {
this.$message({
type: 'warning',
message: '涓嶈兘鍒犻櫎鏈�鍚庝竴涓簰璋�'
});
- }else{
+ } else {
list.splice(index, 1)
}
- }else if(type=='鍒犻櫎棰戞'){
+ } else if (type == '鍒犻櫎棰戞') {
this.$confirm(`鏄惁纭畾鍒犻櫎 ${list[index].band} 棰戞鏁版嵁?`, "鎻愮ず", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
}).then(() => {
this.$axios.post(this.$api.insOrderPlan.deleteInsContext, {
- frequency:list[index].band,
- productIds:list[index].projectList.map(m=>m.id),
- num:this.num
+ frequency: list[index].band,
+ productIds: list[index].projectList.map(m => m.id),
+ num: this.num
}, {
- headers: {
- 'Content-Type': 'application/json'
- },
- noQs:true}).then(res => {
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs: true
+ }).then(res => {
if (res.code === 201) {
this.$message.error('鍒犻櫎澶辫触')
return
@@ -494,11 +567,11 @@
}).catch(err => {
console.log(err)
})
- }).catch(() => {})
- }else{
+ }).catch(() => { })
+ } else {
list.splice(index, 1)
}
- }else{
+ } else {
this.$message({
type: 'warning',
message: '涓嶈兘鍒犻櫎鏈�鍚庝竴涓�'
@@ -506,13 +579,13 @@
}
},
// 娣诲姞鏁扮粍
- addList(list,type){
+ addList(list, type) {
this.upTemplateState = false
- if(type=='浜掕皟'){
+ if (type == '浜掕皟') {
let obj = null;
let index = null;
- list.forEach((m,i)=>{
- if(m.inspectionItemSubclass.includes('浜掕皟')){
+ list.forEach((m, i) => {
+ if (m.inspectionItemSubclass.includes('浜掕皟')) {
obj = JSON.parse(JSON.stringify(m));
index = i;
}
@@ -523,17 +596,17 @@
let num1 = obj.value[0].length
delete obj.value
obj.value = []
- for(let i = 0;i<num0;i++){
+ for (let i = 0; i < num0; i++) {
obj.value.push([])
- for(let j = 0;j<num1;j++){
+ for (let j = 0; j < num1; j++) {
obj.value[i].push('')
}
}
- list.splice(index+1, 0, obj)
- }else if(type=='棰戞'){
+ list.splice(index + 1, 0, obj)
+ } else if (type == '棰戞') {
let obj = JSON.parse(JSON.stringify(list[0]));
obj.band = ''
- obj.projectList.forEach(item=>{
+ obj.projectList.forEach(item => {
item.often = ''
item.result = ''
item.frequency = ''
@@ -541,33 +614,33 @@
let num1 = item.value[0].length
delete item.value
item.value = []
- for(let i = 0;i<num0;i++){
+ for (let i = 0; i < num0; i++) {
item.value.push([])
- for(let j = 0;j<num1;j++){
+ for (let j = 0; j < num1; j++) {
item.value[i].push('')
}
}
})
list.push(obj)
- }else if(type=='绔彛'){
+ } else if (type == '绔彛') {
let obj = JSON.parse(JSON.stringify(list[0]));
obj.value = null;
list.push(obj)
- }else{
+ } 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++){
+ 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--){
+ } else if (num < list.length) {
+ for (let i = list.length; i > num; i--) {
list.pop()
}
}
@@ -588,84 +661,98 @@
}
return arr
},
- // 缁熶竴淇敼瑙掑害锛屽鏋滆搴︽病鏈夊甫掳锛屽垯鎷兼帴涓�涓�
- handleAngle(e,index){
- if(!e){
+ // 缁熶竴淇敼鍚屼竴棰戞鐨勮搴︼紝濡傛灉瑙掑害娌℃湁甯β帮紝鍒欐嫾鎺ヤ竴涓�
+ handleAngle(e, index, band) {
+ if (!e) {
return
}
let val = e
- if(!val.includes('掳')){
+ if (!val.includes('掳')) {
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
- }
- })
- }
- })
+ this.allBandList.forEach(item => {
+ 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){
- if(!n.often){
+ // 娣诲姞棰戠偣鍗曚綅
+ handlePort(n) {
+ if (!n.often) {
return
}
- if(!n.often.includes('MHz')&&!n.often.includes('MHZ')){
+ if (!n.often.includes('MHz') && !n.often.includes('MHZ')) {
n.often = n.often + 'MHz'
}
},
- async methodFocus(item){
+ // 娣诲姞绔彛P
+ handleInterface(arr, index) {
+ if (!arr[index].value) {
+ return
+ }
+ if (!arr[index].value.includes('P')) {
+ this.$set(arr[index], 'value', 'P' + arr[index].value)
+ }
+ },
+ async methodFocus(item) {
this.$delete(item, 'equipOptions')
this.$set(item, 'equipOptions', await this.getEquipOptions(item))
},
- handleEquip(m,item){
+ handleEquip(m, item) {
this.$delete(item, 'equipValue')
this.$set(item, 'equipValue', m)
this.$delete(item, 'equipName')
- this.$set(item, 'equipName', item.equipOptions.find(m=>m.value==item.equipValue).label)
+ this.$set(item, 'equipName', item.equipOptions.find(m => m.value == item.equipValue).label)
},
- save(h,y) {
- let arr = h.projectList.map(item=>{
- if(item.portList&&item.portList.length>0){
- item.value.forEach(m=>{
+ save(h, y) {
+ 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
+ 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,
+ ask: item.ask
}
return obj
})
this.$delete(this.loading, y)
- this.$set( this.loading, y, true)
+ this.$set(this.loading, y, true)
// this.loading[y] = true
this.$axios.post(this.$api.insOrderPlan.saveInsContext2, {
- orderId:this.orderId,
- sampleId:this.sampleId,
- sonLaboratory:h.projectList[0].sonLaboratory,
- frequency:h.band,
- insProductResult2s:arr
+ // orderId:this.orderId,
+ sampleId: this.orderId,
+ sonLaboratory: h.projectList[0].sonLaboratory,
+ frequency: h.band,
+ insProductResult2s: arr
}, {
- headers: {
- 'Content-Type': 'application/json'
- },
- noQs:true}).then(res => {
- this.$set( this.loading, y, false)
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ noQs: true
+ }).then(res => {
+ this.$set(this.loading, y, false)
// this.loading[y] = false
if (res.code === 201) {
this.$message.error('淇濆瓨澶辫触')
return
}
- for(let i=0;i<res.data.length;i++){
+ for (let i = 0; i < res.data.length; i++) {
h.projectList[i].result = res.data[i]
}
this.$message.success('宸蹭繚瀛�')
@@ -673,88 +760,165 @@
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,
+ ask: item.ask
+ }
+ 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){
+ upTemplate(obj) {
this.upTemplateState = true;
// return
- obj.allBandList.forEach((item,index)=>{
- if(!this.allBandList[index]){
- this.allBandList[index] = {
- projectList:this.HaveJson(this.allBandList[0].projectList),
- band:item.band
- }
+ 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)){
+ 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
+ angleList: m.angleList,
+ portList: m.portList,
+ portNum: m.portNum,
+ // value:m.value,
+ valueType: m.valueType
}
- arr.push({...this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass),...obj0})
+ 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.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
+ },
+ // 鏌ョ湅鏃跺鏋滄病鏈夋暟鎹紝灏变笉鏄剧ず杩欎釜妫�楠岄」
+ isLooks(n){
+ if(this.state<2){
+ return true
+ }
+ let state = n.value.some(m=>m.some(n=>n))
+ if(this.state > 1&&state){
+ return true
+ }
+ return false
}
}
}
</script>
<style scoped>
-.circuit-parameters-item{
+.circuit-parameters-item {
margin-bottom: 10px;
border: 1px solid #eee;
padding: 10px;
box-sizing: border-box;
border-radius: 8px;
}
-.circuit-parameters-item-title{
+
+.circuit-parameters-item-title {
display: flex;
align-items: center;
}
-.thermal-table{
+
+.thermal-table {
min-width: calc(100% - 10px);
table-layout: fixed;
}
-.thermal-table td,.thermal-table th {
- min-width: 70px;
+
+.thermal-table td,
+.thermal-table th {
+ min-width: 120px;
text-align: center;
font-size: 14px;
word-wrap: break-word;
white-space: normal;
padding: 5px;
}
-.thermal-table .el-input{
+
+.thermal-table .el-input {
display: flex;
align-items: center;
}
-.equip{
+
+.equip {
display: flex;
align-items: center;
}
-.red{
+
+.red {
color: red;
}
-.green{
+
+.green {
color: green;
}
+
>>>.el-input-number {
display: inline-flex;
flex-direction: column !important;
line-height: 26px;
}
->>>.el-input-number__increase, >>>.el-input-number__decrease {
+>>>.el-input-number__increase,
+>>>.el-input-number__decrease {
width: 26px;
height: 26px;
}
->>>.el-input-number__increase{
+
+>>>.el-input-number__increase {
top: 36px;
left: 10px;
border: 0px;
@@ -762,7 +926,8 @@
background: #3A7BFA;
color: #fff;
}
->>>.el-input-number__decrease{
+
+>>>.el-input-number__decrease {
top: -30px;
border: 0px;
border-radius: 50%;
@@ -770,10 +935,12 @@
background: #F56C6C;
color: #fff;
}
->>>.el-input-number .el-input{
+
+>>>.el-input-number .el-input {
width: 50px;
}
->>>.el-input-number .el-input__inner{
+
+>>>.el-input-number .el-input__inner {
width: 50px;
padding: 0;
}
--
Gitblit v1.9.3