From db18125cec18e11d04dbf10d2ef7108e779edcd8 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 04 十一月 2024 14:09:57 +0800
Subject: [PATCH] 修改电路试验模板

---
 src/components/do/b1-inspect-order-plan/circuit-parameters1.vue |  145 ++++++++++++++++++++++++++++++++++++++++++------
 1 files changed, 126 insertions(+), 19 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 9f0b31e..eccd8f6 100644
--- a/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
+++ b/src/components/do/b1-inspect-order-plan/circuit-parameters1.vue
@@ -98,11 +98,6 @@
                         <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>
@@ -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?'涓嶅垽瀹�':(n.result===3?'涓嶅垽瀹�':'寰呭畾'))) }}
               </div>
             </el-col>
@@ -135,10 +133,18 @@
               <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>
                       </div>
                     </td>
                   </tr>
@@ -149,11 +155,11 @@
                         <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" 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>
+                    </td> -->
                   </tr>
                   <tr v-for="(item,index) in n.angleList" :key="index + 'eee'">
                     <td>
@@ -166,7 +172,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?'涓嶅垽瀹�':(n.result===3?'涓嶅垽瀹�':'寰呭畾'))) }}
               </div>
             </el-col>
@@ -189,14 +198,14 @@
                     <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" 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>
+                    </td> -->
                   </tr>
                   <tr v-for="(item,index) in n.angleList" :key="index + 'eee'">
                     <td>
@@ -209,7 +218,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>
@@ -225,7 +237,7 @@
             <el-col :span="2">
               <div style="text-align: center;" v-html="n.tell"></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>
@@ -247,7 +259,7 @@
                 </table>
               </div>
             </el-col>
-            <el-col :span="2">
+            <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>
@@ -266,6 +278,7 @@
     return {
       value: "",
       bandList:[],
+      bandList0:[],
       portList:[
         {
           value:'1',
@@ -340,17 +353,20 @@
           resValue:''
         },
       ],
+
       allBandList:[],//棰戞
       insProductNew:[],
       isMore:false,
       loading:{},
       intermodulationNum:0,//浜掕皟妫�楠岄」鐩殑鏁伴噺
+      upTemplateState:false,
     };
   },
   watch: {
     // 瑙掑害鏁伴噺鍙樺寲鏃讹紝鏇存柊鎵�鏈夐娈典笅闈㈢殑鎵�鏈夐」鐩笅鐨勬墍鏈夌鍙e拰瑙掑害
     angleList(val) {
-      this.allBandList.forEach(item => {
+      if(!this.upTemplateState){
+        this.allBandList.forEach(item => {
         item.projectList.forEach(m => {
           // 娣诲姞瑙掑害
           for(let i=0;i<val.length;i++){
@@ -387,6 +403,7 @@
           }
         })
       })
+      }
       // console.log(this.allBandList)
     },
     currentNum(val) {
@@ -411,6 +428,11 @@
         category: "鐢佃矾璇曢獙娉㈡"
       }).then(res => {
         this.bandList = res.data
+      })
+      this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        category: "浜掕皟-棰戞"
+      }).then(res => {
+        this.bandList0 = res.data
       })
     },
     // 鍒濆鍖栨暟鎹�
@@ -455,6 +477,7 @@
                     angleList.push({value:m})
                   })
                   this.angleList = angleList
+                  this.upTemplateState = false;
                 }
                 let tell = ''
                 if(item.tell.includes(',')){
@@ -475,7 +498,8 @@
                   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:[])
@@ -528,6 +552,7 @@
           item.result = ''
           // 璧嬪�兼渶宸��
           item.value = []
+          item.portNum = 4
           if(item.inspectionItemSubclass.includes('鑰﹀悎搴�')){
             for(let i = 0;i<item.angleList.length;i++){
               item.value.push([''])
@@ -553,6 +578,7 @@
     },
     // 鍒犻櫎鏁扮粍
     deleteList(index,list,type){
+      this.upTemplateState = false;
       if(list.length>1){
         if(type=='浜掕皟'){
           let index = null;
@@ -608,6 +634,7 @@
     },
     // 娣诲姞鏁扮粍
     addList(list,type){
+      this.upTemplateState = false;
       if(type=='浜掕皟'){
         let obj = null;
         let index = null;
@@ -649,9 +676,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
@@ -751,6 +796,35 @@
       }).catch(err => {
         console.log(err)
       })
+    },
+    // 鏇存柊妯℃澘
+    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)
+          }
+        }
+        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,
+              value:m.value,
+              valueType:m.valueType
+            }
+            arr.push({...this.allBandList[index].projectList.find(n=>n.inspectionItemSubclass==m.inspectionItemSubclass),...obj0})
+          }
+        })
+        this.allBandList[index].projectList = arr
+      })
+      this.angleList = obj.angleList
+      this.intermodulationNum = obj.intermodulationNum
     }
   }
 }
@@ -798,4 +872,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