From 763526c0fe84bd19e0c96cdf022216f04d0dd96a Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期三, 09 十月 2024 16:46:19 +0800
Subject: [PATCH] 修改电路试验bug

---
 src/components/do/b1-inspect-order-plan/circuit-parameters1.vue |  154 ++++++++++++++++++++++++++++++++-------------------
 1 files changed, 97 insertions(+), 57 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 68f6cfa..72737b1 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,11 @@
         </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 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>
         </div>
       </el-col>
     </el-row>
@@ -70,9 +70,9 @@
             :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 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;">{{ n.tell }}</div>
+              <div style="text-align: center;" v-html="n.tell"></div>
             </el-col>
             <el-col :span="16">
               <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -100,8 +100,8 @@
                     </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>
+                      @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'">
@@ -129,7 +129,7 @@
               <div style="text-align: center;">{{ n.unit }}</div>
             </el-col>
             <el-col :span="2">
-              <div style="text-align: center;">{{ n.tell }}</div>
+              <div style="text-align: center;" v-html="n.tell"></div>
             </el-col>
             <el-col :span="16">
               <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -143,7 +143,7 @@
                     </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>
@@ -151,8 +151,8 @@
                     </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>
+                      @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'">
@@ -180,7 +180,7 @@
               <div style="text-align: center;">{{ n.unit }}</div>
             </el-col>
             <el-col :span="2">
-              <div style="text-align: center;">{{ n.tell }}</div>
+              <div style="text-align: center;" v-html="n.tell"></div>
             </el-col>
             <el-col :span="16">
               <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -194,8 +194,8 @@
                     </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>
+                      @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'">
@@ -223,7 +223,7 @@
               <div style="text-align: center;">{{ n.unit }}</div>
             </el-col>
             <el-col :span="2">
-              <div style="text-align: center;">{{ n.tell }}</div>
+              <div style="text-align: center;" v-html="n.tell"></div>
             </el-col>
             <el-col :span="16">
               <div class="content" style="text-align: center;width: 100%;overflow-x: auto;">
@@ -261,7 +261,7 @@
 
 <script>
 export default {
-  props:['insProduct','orderId','sampleId','state'],
+  props:['insProduct','orderId','sampleId','state','num','isLook','currentNum'],
   data() {
     return {
       value: "",
@@ -343,7 +343,8 @@
       allBandList:[],//棰戞
       insProductNew:[],
       isMore:false,
-      loading:{}
+      loading:{},
+      intermodulationNum:0,//浜掕皟妫�楠岄」鐩殑鏁伴噺
     };
   },
   watch: {
@@ -351,8 +352,17 @@
     angleList(val) {
       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 +387,10 @@
           }
         })
       })
-      console.log(this.allBandList)
+      // console.log(this.allBandList)
+    },
+    currentNum(val) {
+      this.initData()
     }
   },
   mounted() {
@@ -396,8 +409,11 @@
     // 鍒濆鍖栨暟鎹�
     initData(){
       // 澶勭悊椤圭洰
-      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)
       })
@@ -432,16 +448,26 @@
                   })
                   this.angleList = angleList
                 }
+                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
+                }
+                console.log(tell)
                 let obj = {
                   inspectionItemSubclass: item.inspectionItemSubclass,
                   unit:item.unit,
-                  tell:item.tell,
+                  tell:tell,
                   result:n.result,
                   id:item.id,
                   often:n.often,
                   equipName:n.equipName,
                   equipValue:n.equipValue,
-                  frequency:n.frequency
+                  frequency:n.frequency,
+                  sonLaboratory:item.sonLaboratory
                 }
                 this.$set(obj,'portList', n.port?portList:[])
                 this.$set(obj,'angleList', n.angle?angleList:[])
@@ -514,30 +540,7 @@
               message: '涓嶈兘鍒犻櫎鏈�鍚庝竴涓簰璋�'
             });
           }else{
-            if(list[index].frequency){
-              this.$confirm(`鏄惁纭畾鍒犻櫎 ${list[index].often} 棰戠偣鏁版嵁?`, "鎻愮ず", {
-                confirmButtonText: "纭畾",
-                cancelButtonText: "鍙栨秷",
-                type: "warning"
-              }).then(() => {
-                this.$axios.post(this.$api.insOrderPlan.deleteInsContext2, {
-                  frequency:list[index].frequency,
-                  productId:list[index].id,
-                  often:list[index].often
-                }).then(res => {
-                  if (res.code === 201) {
-                    this.$message.error('鍒犻櫎澶辫触')
-                    return
-                  }
-                  this.$message.success('宸插垹闄�')
-                  list.splice(index, 1)
-                }).catch(err => {
-                  console.log(err)
-                })
-              }).catch(() => {})
-            }else{
-              list.splice(index, 1)
-            }
+            list.splice(index, 1)
           }
         }else if(type=='鍒犻櫎棰戞'){
           this.$confirm(`鏄惁纭畾鍒犻櫎 ${list[index].band} 棰戞鏁版嵁?`, "鎻愮ず", {
@@ -547,7 +550,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'
@@ -584,7 +588,38 @@
             index = i;
           }
         })
+        obj.often = ''
+        obj.result = ''
+        let num0 = obj.value.length
+        let num1 = obj.value[0].length
+        delete obj.value
+        obj.value = []
+        for(let i = 0;i<num0;i++){
+          obj.value.push([])
+          for(let j = 0;j<num1;j++){
+            obj.value[i].push('')
+          }
+        }
         list.splice(index+1, 0, obj)
+      }else if(type=='棰戞'){
+        let obj = JSON.parse(JSON.stringify(list[0]));
+        obj.band = ''
+        obj.projectList.forEach(item=>{
+          item.often = ''
+          item.result = ''
+          item.frequency = ''
+          let num0 = item.value.length
+          let num1 = item.value[0].length
+          delete item.value
+          item.value = []
+          for(let i = 0;i<num0;i++){
+            item.value.push([])
+            for(let j = 0;j<num1;j++){
+              item.value[i].push('')
+            }
+          }
+        })
+        list.push(obj)
       }else{
         let obj = JSON.parse(JSON.stringify(list[0]));
         list.push(obj)
@@ -639,12 +674,17 @@
       if(!n.often){
         return
       }
-      if(!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,

--
Gitblit v1.9.3