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 |  137 +++++++++++++++++++++++++++++++++++++++------
 1 files changed, 119 insertions(+), 18 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 b58a998..551d30c 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>
@@ -101,7 +101,7 @@
                   </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>
@@ -145,6 +145,7 @@
                             :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>
@@ -163,7 +164,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 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,7 +210,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 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>
@@ -250,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>
@@ -438,6 +439,7 @@
     // 鍒濆鍖栨暟鎹�
     initData(){
       this.allBandList = []
+      this.intermodulationNum = 0
       // 澶勭悊椤圭洰
       this.insProductNew = JSON.parse(JSON.stringify(this.insProduct)).filter(m=>m.inspectionItem.includes('鐢佃矾璇曢獙'))
       this.insProductNew.forEach(async item => {
@@ -451,6 +453,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 = []
@@ -581,11 +632,11 @@
       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++
             }
           })
@@ -725,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
       }
@@ -735,13 +786,15 @@
         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){
@@ -797,6 +850,54 @@
         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;

--
Gitblit v1.9.3