From 5c8aaba66c16b1a143fdec27e29ad36eaefd1e3a Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期二, 31 十二月 2024 14:33:25 +0800 Subject: [PATCH] 无源器件检验开发 --- src/components/do/b1-inspect-order-plan/circuit-parameters1.vue | 426 +++++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 344 insertions(+), 82 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 a39291f..551d30c 100644 --- a/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue +++ b/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue @@ -1,21 +1,21 @@ <template> <div class="circuit-parameters"> <el-divider></el-divider> - <el-row :gutter="5" style="width: calc(100% - 1px);margin-bottom: 10px;"> + <el-row :gutter="8" style="width: calc(100% - 1px);margin-bottom: 10px;"> <el-col :span="17"> <el-row> <el-col :span="23" style="display: flex;flex-wrap: wrap;"> - <table border="1" cellpadding="10" style="margin: 0 10px 10px 0;" 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> </td> <td> - <el-input size="small" placeholder="璁惧鍚嶇О" v-model="item.equipName" style="width: 95px;" readonly></el-input> + <el-input size="small" placeholder="璁惧鍚嶇О" v-model="item.equipName" readonly></el-input> </td> <td> - <el-select v-model="item.equipValue" placeholder="璁惧缂栫爜" size="small" style="width: 95px;" :disabled="state>1" @focus="methodFocus(item)" @change="m=>handleEquip(m,item)"> + <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" @@ -34,11 +34,10 @@ </el-row> </el-col> <el-col :span="7"> - <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">娣诲姞棰戞</el-button> - <el-button size="small" @click="deleteList(allBandList.length-1,allBandList,'鍒犻櫎棰戞')" :disabled="state>1">鍒犻櫎棰戞</el-button> - <el-button type="primary" size="small" @click="addList(angleList)" :disabled="state>1">娣诲姞瑙掑害</el-button> - <el-button size="small" @click="deleteList(angleList.length-1,angleList)" :disabled="state>1">鍒犻櫎瑙掑害</el-button> + <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 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,9 +69,10 @@ :value="item.value"> </el-option> </el-select> - <el-button type="primary" size="small" @click="addList(h.projectList,'浜掕皟')" style="margin-left: 16px;" :disabled="state>1">娣诲姞浜掕皟</el-button> - <el-button size="small" @click="deleteList(0,h.projectList,'浜掕皟')" :disabled="state>1">鍒犻櫎浜掕皟</el-button> - <el-button type="primary" size="small" @click="save(h,y)" :disabled="state>1" :loading="loading[y]">淇� 瀛�</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;" :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> <div class="circuit-parameters-item-content"> @@ -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;"> @@ -98,15 +98,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"></el-button> - <el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addList(n.portList)" :disabled="state>1"></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" @blur="handleAngle(item.value,index)" :disabled="state>1"></el-input> + <el-input size="small" placeholder="瑙掑害" v-model="item.value" @blur="handleAngle(item.value,index,h.band)" :disabled="state>1"></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> @@ -115,8 +110,11 @@ </table> </div> </el-col> - <el-col :span="2"> - <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':'寰呭畾') }} + <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> </el-row> @@ -129,35 +127,44 @@ <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> <tr> - <td>瑙掑害</td> + <td>绔彛</td> <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> </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"></el-button> - <el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addList(n.portList)" :disabled="state>1"></el-button> - </td> + @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,8 +173,11 @@ </table> </div> </el-col> - <el-col :span="2"> - <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':'寰呭畾') }} + <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> </el-row> @@ -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;"> @@ -189,18 +199,18 @@ <td>棰戞</td> <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"></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"></el-button> - <el-button icon="el-icon-plus" circle size="mini" type="primary" @click="addList(n.portList)" :disabled="state>1"></el-button> - </td> + @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> @@ -209,8 +219,11 @@ </table> </div> </el-col> - <el-col :span="2"> - <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':'寰呭畾') }} + <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> </el-row> @@ -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> @@ -238,7 +251,7 @@ </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> <el-input size="small" placeholder="鏈�宸��" v-model="n.value[index][0]" :disabled="state>1"></el-input> @@ -247,8 +260,8 @@ </table> </div> </el-col> - <el-col :span="2"> - <div style="text-align: center;" :class="{red:n.result===0,green:n.result===1}">{{ n.result===0?'涓嶅悎鏍�':(n.result===1?'鍚堟牸':'寰呭畾') }} + <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> </el-row> @@ -261,11 +274,12 @@ <script> export default { - props:['insProduct','orderId','sampleId','state'], + props:['insProduct','orderId','sampleId','state','num','isLook','currentNum'], data() { 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,19 +354,32 @@ resValue:'' }, ], + allBandList:[],//棰戞 insProductNew:[], isMore:false, - loading:{} + loading:{}, + intermodulationNum:0,//浜掕皟妫�楠岄」鐩殑鏁伴噺 + 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)) + // 娣诲姞瑙掑害 + for(let i=0;i<val.length;i++){ + if(!m.angleList[i]){ + this.$set(m.angleList,i, {value:''}) + } + } + // 鍒犻櫎瑙掑害 + for(let i=0;i<m.angleList.length;i++){ + if(!val[i]){ + m.angleList.splice(i,1) + } } if(m.inspectionItemSubclass.includes('鑰﹀悎搴�')){ for(let i = 0;i<m.angleList.length;i++){ @@ -377,7 +404,18 @@ } }) }) - console.log(this.allBandList) + } + // console.log(this.allBandList) + }, + currentNum(val) { + this.initData() + }, + insProduct:{ + deep:true, + handler:function(val){ + // console.log('鏇存柊椤甸潰鍟�') + this.initData() + } } }, mounted() { @@ -392,19 +430,78 @@ }).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)) + this.insProductNew = JSON.parse(JSON.stringify(this.insProduct)).filter(m=>m.inspectionItem.includes('鐢佃矾璇曢獙')) this.insProductNew.forEach(async item => { + if(item.inspectionItemSubclass.includes('浜掕皟')){ + this.intermodulationNum++ + } // 鑾峰彇璁惧鍒楄〃 - item.equipOptions = await this.getEquipOptions(item) + item.equipOptions = [] }) if(this.insProductNew[0].insProductResult2&&this.insProductNew[0].insProductResult2.length>0){ // 宸茬粡瀛樺湪鍊兼椂锛岃祴鍊� 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 = [] @@ -431,26 +528,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 + 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:[]) @@ -471,18 +571,39 @@ }) } }else{ + console.log(2222) // 娌℃湁鍊兼椂锛屽垵濮嬪寲椤甸潰 this.insProductNew.forEach(async item => { // 璧嬪�艰澶� item.equipName = '' item.equipValue = '' // 璧嬪�肩鍙e拰瑙掑害 + this.portList = [ + { + value:'1', + }, + { + value:'2', + }, + { + value:'3', + }, + { + value:'4', + }, + ] + this.angleList = [ + { + value:'' + } + ] item.portList = JSON.parse(JSON.stringify(this.portList)) item.angleList = JSON.parse(JSON.stringify(this.angleList)) // 璧嬪�肩粨璁� item.result = '' // 璧嬪�兼渶宸�� item.value = [] + item.portNum = 4 if(item.inspectionItemSubclass.includes('鑰﹀悎搴�')){ for(let i = 0;i<item.angleList.length;i++){ item.value.push(['']) @@ -503,17 +624,19 @@ projectList: JSON.parse(JSON.stringify(this.insProductNew)) } ) + console.log(this.allBandList) } }, // 鍒犻櫎鏁扮粍 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++ } }) @@ -533,7 +656,8 @@ }).then(() => { this.$axios.post(this.$api.insOrderPlan.deleteInsContext, { frequency:list[index].band, - productIds:list[index].projectList.map(m=>m.id) + productIds:list[index].projectList.map(m=>m.id), + num:this.num }, { headers: { 'Content-Type': 'application/json' @@ -561,6 +685,7 @@ }, // 娣诲姞鏁扮粍 addList(list,type){ + this.upTemplateState = false; if(type=='浜掕皟'){ let obj = null; let index = null; @@ -585,7 +710,6 @@ list.splice(index+1, 0, obj) }else if(type=='棰戞'){ let obj = JSON.parse(JSON.stringify(list[0])); - console.log(2222,obj) obj.band = '' obj.projectList.forEach(item=>{ item.often = '' @@ -603,9 +727,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 @@ -634,8 +776,8 @@ this.$delete(item, 'equipName') this.$set(item, 'equipName', item.equipOptions.find(m=>m.value==item.equipValue).label) }, - // 缁熶竴淇敼瑙掑害锛屽鏋滆搴︽病鏈夊甫掳锛屽垯鎷兼帴涓�涓� - handleAngle(e,index){ + // 缁熶竴淇敼鍚屼竴棰戞鐨勮搴︼紝濡傛灉瑙掑害娌℃湁甯β帮紝鍒欐嫾鎺ヤ竴涓� + handleAngle(e,index,band){ if(!e){ return } @@ -644,25 +786,32 @@ val = val + '掳' } this.allBandList.forEach(item=>{ - item.projectList.forEach(m=>{ - m.angleList.forEach((n,i)=>{ - if(index==i){ - n.value = val - } + if(item.band==band){ + item.projectList.forEach(m=>{ + m.angleList.forEach((n,i)=>{ + if(index==i){ + n.value = val + } + }) }) - }) + } }) }, 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' } }, 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, @@ -677,8 +826,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 @@ -700,6 +849,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 } } } @@ -747,4 +976,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