From 41c2f79abd464e6c063166d680b51f746d6f0456 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期六, 10 八月 2024 16:25:13 +0800
Subject: [PATCH] 修改特殊值填值

---
 src/components/do/b1-ins-order/fiberoptic-config.vue |  277 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 211 insertions(+), 66 deletions(-)

diff --git a/src/components/do/b1-ins-order/fiberoptic-config.vue b/src/components/do/b1-ins-order/fiberoptic-config.vue
index ad78730..7ae348a 100644
--- a/src/components/do/b1-ins-order/fiberoptic-config.vue
+++ b/src/components/do/b1-ins-order/fiberoptic-config.vue
@@ -31,16 +31,16 @@
               style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 8px;padding: 0 12px;box-sizing: border-box;">
               <div class="search-item" style="margin-right: 10px;">
                 <label>濂楃鏁扮洰</label>
-                <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @blur="addBushing" :disabled="active!=1"></el-input>
+                <el-input v-model="packageInfo.num1" placeholder="璇疯緭鍏�" size="small" @blur="addBushing" :disabled="active!=1" ></el-input>
               </div>
               <div class="search-item" style="margin-right: 10px;">
-                <label style="width: 70px;">鏍囧噯閲�</label>
-                <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @blur="addStandNum" :disabled="active!=1"></el-input>
+                <label style="width: 100px">姣忔牴绠℃娊妫�鏍囧噯閲�</label>
+                <el-input v-model="packageInfo.standNum" placeholder="璇疯緭鍏�" size="small" @blur="addStandNum" :disabled="packageInfo.radio===0||active!=1" style="width:100px"></el-input>
               </div>
               <div class="search-item">
-                <label style="width: 70px;">妫�娴嬮噺</label>
+                <label style="width: 100px">姣忔牴绠℃娊妫�妫�娴嬮噺</label>
                 <el-input v-model="packageInfo.testNum" placeholder="璇疯緭鍏�" size="small" @blur="addTestNum"
-                  :disabled="packageInfo.radio===0||active!=1"></el-input>
+                  :disabled="packageInfo.radio===0||active!=1" style="width:70px"></el-input>
               </div>
             </div>
             <el-table ref="table0" :data="bushing" tooltip-effect="dark" style="width: 100%" height="203px" size="small"
@@ -78,7 +78,7 @@
               @select="upProductSelect"
               >
               <el-table-column type="selection" width="55"
-              :selectable="()=>((currentDetectionItems||this.multiFiberList.length > 0)&&active==1)">
+              :selectable="()=>((currentDetectionItems||this.selectFiberList.length > 0 || this.multiFiberList.length > 0)&&active==1)">
               </el-table-column>
               <el-table-column label="瀹為獙瀹�" show-overflow-tooltip prop="sonLaboratory" ></el-table-column>
               <el-table-column prop="inspectionItem" label="妫�楠岄」" show-overflow-tooltip>
@@ -95,8 +95,14 @@
               </el-table-column> -->
               <el-table-column prop="ask" label="妫�娴嬭姹�" show-overflow-tooltip width="200px">
                 <template slot-scope="scope">
-                  <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead"></el-input>
+                  <el-input v-model="scope.row.ask" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input>
                   <span v-else>{{ scope.row.ask }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="tell" label="瑕佹眰鎻忚堪" show-overflow-tooltip width="150">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.tell" placeholder="璇疯緭鍏�" size="small" :disabled="active!=1" v-if="!isAskOnlyRead" @change="changeASk(scope.row)"></el-input>
+                  <span v-else>{{ scope.row.tell }}</span>
                 </template>
               </el-table-column>
             </el-table>
@@ -134,7 +140,7 @@
               <div class="search-item" style="width: 50%;margin-right: 16px;">
                 <label style="width: 80px;">绾ゅ甫绫诲瀷</label>
                 <el-select v-model="miresModel" placeholder="璇烽�夋嫨" size="small" style="width: 100%;"
-                  :disabled="selectBushing.length===0||active!=1"
+
                   >
                   <el-option v-for="(item,a) in miresModels" :key="a" :label="item.label" :value="item.value">
                   </el-option>
@@ -152,8 +158,11 @@
               </div>
 
             </div>
-            <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
+            <!-- <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
               size="small" @selection-change="handleSelectionChange" highlight-current-row @row-click="(row, column, event)=>rowClickFiber(row, column, event,1)"
+              :header-cell-class-name="setClassName0"> -->
+              <el-table ref="table2" :data="fibersList" tooltip-effect="dark" style="width: 100%" height="270px"
+              size="small" @selection-change="handleSelectionChange" highlight-current-row
               :header-cell-class-name="setClassName0">
               <el-table-column
               type="selection"
@@ -227,9 +236,12 @@
                 </el-select>
               </div>
             </div>
-            <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
+            <!-- <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
               size="small" highlight-current-row @selection-change="handleSelectionChange4"
               @row-click="(row, column, event)=>rowClickFiber(row, column, event,0)"
+              :header-cell-class-name="setClassName0"> -->
+              <el-table ref="table3" :data="fiberList" tooltip-effect="dark" style="width: 100%" height="270px"
+              size="small" highlight-current-row @selection-change="handleSelectionChange4"
               :header-cell-class-name="setClassName0">
               <el-table-column
               type="selection"
@@ -358,6 +370,7 @@
       return {
         detectionType: null,
         detectionSelect: [],
+        selectFiberList: [],
         type:1,
         saveLoad: false,
         packageInfo: {
@@ -467,9 +480,8 @@
               // 鍏夌氦甯�
               this.fibersList.push(b)
               // 鍏夌氦
-              b.fiber.forEach(c=>{
-                this.fiberList.push(c)
-              })
+              // this.fiberList = []
+              // this.fiberList = b.fiber
             })
             } else {
               a.fiber.forEach(b=>{
@@ -478,6 +490,7 @@
             }
 
           }else{
+            this.fiberList = []
             a.fiber.forEach(b=>{
               this.fiberList.push(b)
             })
@@ -492,8 +505,11 @@
     },
     methods: {
       handleSelectionChange(val) {
-        this.selectFibers = val
+        // this.selectFibers = val
         this.multiFiberList = val
+        if(val.length > 0) {
+          this.rowClickFiber(val[val.length-1],null,null,1)
+        }
       },
       handleSelectionChange1(val) {
         this.selectBushing = val
@@ -502,27 +518,87 @@
         this.detectionSelect = val
         // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦甯�
         if(this.detectionItems.type == 1) {
-          for(let i= 0; i < this.fibersList.length; i++){
             this.multiFiberList.forEach(item => {
-              if(this.fibersList[i].ident == item.ident){
+            this.fibersList.forEach(a => {
+              if(a.ident == item.ident){
+                a.productList  =  []
                 this.fibersList.find(a => a.ident == item.ident).productList = this.detectionSelect
               }
             })
-        }
+          })
       }
+      console.log(this.fibersList);
+      
+
       if(this.detectionItems.type == 0) {
         // 璧嬪�兼娴嬮」淇℃伅 鍏夌氦
-        this.multiFiberList.forEach(item => {
+        this.selectFiberList.forEach(item => {
             this.fiberList.forEach(a => {
               if(a.ident == item.ident){
+                a.productList  =  []
                 this.fiberList.find(a => a.ident == item.ident).productList = this.detectionSelect
               }
             })
           })
+          // 閫夋嫨鐨勬椂鍊欏氨灏唂iberList鐨勫�艰祴鍊肩粰瀵瑰簲鐨刦iberList
+          setTimeout(() => {
+            if(this.multiFiberList.length > 0) {
+            this.multiFiberList.forEach(item => {
+            this.fibersList.forEach(a => {
+              if(a.ident == item.ident){
+                a.fiber = this.fiberList
+              }
+            })
+          })
+          }
+          },100)
         }
       },
       handleSelectionChange4(val){
-        this.multiFiberList = val
+        this.selectFiberList = val
+        if(val != 0) {
+          this.rowClickFiber(val[val.length-1],null,null,0)
+        }
+      },
+
+      changeASk(row) {
+        // 鍏堝嬀閫夌殑鎯呭喌涓�
+          this.detectionSelect.forEach(item => {
+            if(item.id == row.id) {
+              item.ask = row.ask
+              item.tell = row.tell
+              // 鍏夌氦 0  鍏夌氦甯� 1
+            if(item.isFibers == 0) {
+              this.selectFiberList.forEach(a => {
+                this.fiberList.forEach(b => {
+                  if(b.ident == a.ident){
+                    b.productList.forEach(item => {
+                      if(item.id == row.id) {
+                        item.ask = row.ask
+                        item.tell = row.tell
+                      }
+                    })
+                  }
+                })
+              })
+            }
+            if(item.isFibers == 1) {
+              this.multiFiberList.forEach(a => {
+                this.fibersList.forEach(b => {
+                  if(b.ident == a.ident){
+                    b.productList.forEach(item => {
+                      if(item.id == row.id) {
+                        item.ask = row.ask
+                        item.tell = row.tell
+                      }
+                    })
+                  }
+                })
+              })
+
+            }
+            }
+          })
       },
       outConfig() {
         this.$parent.configShow = false
@@ -551,6 +627,11 @@
       },
       // 濂楃鏍囧噯閲忚祴鍊�
       addStandNum() {
+        if(this.packageInfo.testNum > this.packageInfo.standNum) {
+          this.$message.error('妫�娴嬮噺涓嶈兘澶т簬鏍囧噯閲�')
+          this.packageInfo.testNum = this.packageInfo.standNum
+        }
+
         if(this.selectBushing.length > 0) {
           this.bushing.forEach(item => {
           this.selectBushing.forEach(a => {
@@ -563,6 +644,11 @@
       },
       // 濂楃妫�娴嬮噺璧嬪��
       addTestNum() {
+
+        if(parseInt(this.packageInfo.testNum) > parseInt(this.packageInfo.standNum)) {
+          this.packageInfo.testNum = this.packageInfo.standNum
+          this.$message.error('妫�娴嬮噺涓嶈兘澶т簬鏍囧噯閲�')
+        }
         if(this.selectBushing.length > 0) {
           this.bushing.forEach(item => {
           this.selectBushing.forEach(a => {
@@ -577,26 +663,34 @@
         this.fiberList = []
         this.fibersList = []
         this.detectionItems = []
-
         // 椤甸潰鏄惁鍚湁鍏夌氦甯�
         if(this.packageInfo.ismiers) {
           // 鍏ㄦ
           if (this.packageInfo.radio == 0) {
+            if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') {
+          this.$message.error('璇峰厛杈撳叆鏍囧噯閲�')
+          return
+        }
           // 鏍规嵁鏍囧噯閲忚祴鍊兼娴嬮噺
           if(parseInt(this.packageInfo.standNum) > 0 ) {
-            // 缁欏厜绾ゅ甫璧嬪��
             this.packageInfo.testNum = this.packageInfo.standNum
-            this.selectBushing = this.bushing
-            this.addFibers()
-            this.selectFibers = this.fibersList
-            // 榛樿鍕鹃��
-            setTimeout(() => {
-              this.selectBushing.forEach(item =>{
-              let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
-              this.$refs.table0.toggleRowSelection(rowToSelect, true)
+            // 缁欏厜绾ゅ甫璧嬪��
+            this.bushing.forEach(item => {
+                item.testNum = this.packageInfo.testNum
+                item.standNum = this.packageInfo.standNum
+                this.$refs.table0.toggleRowSelection(item, true)
               })
 
-              this.selectFibers.forEach(item =>{
+            this.addFibers()
+            this.multiFiberList = this.fibersList
+            // 榛樿鍕鹃��
+            setTimeout(() => {
+              // this.selectBushing.forEach(item =>{
+              // let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
+              // this.$refs.table0.toggleRowSelection(rowToSelect, true)
+              // })
+
+              this.multiFiberList.forEach(item =>{
               let rowToSelect =  this.fibersList.find(a => a.ident == item.ident)
               this.$refs.table2.toggleRowSelection(rowToSelect, true)
               })
@@ -605,16 +699,29 @@
       }
         }else {
           if(this.packageInfo.radio == 0) {
+            if(this.packageInfo.standNum == null || this.packageInfo.standNum == '') {
+          this.$message.error('璇峰厛杈撳叆鏍囧噯閲�')
+          return
+        }
             if(parseInt(this.packageInfo.standNum) > 0 ) {
-              this.packageInfo.testNum = this.packageInfo.standNum
+            this.packageInfo.testNum = this.packageInfo.standNum
+              this.bushing.forEach(item => {
+                item.testNum = this.packageInfo.testNum
+                item.standNum = this.packageInfo.standNum
+                this.$refs.table0.toggleRowSelection(item, true)
+              })
+              console.log(this.bushing);
               this.selectBushing = this.bushing
               this.addFiber()
-
               // 榛樿鍕鹃��
             setTimeout(() => {
-              this.selectBushing.forEach(item =>{
-              let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
-              this.$refs.table0.toggleRowSelection(rowToSelect, true)
+              // this.selectBushing.forEach(item =>{
+              // let rowToSelect =  this.bushing.find(a => a.ident == item.ident)
+              // this.$refs.table0.toggleRowSelection(rowToSelect, true)
+              // })
+
+              this.fiberList.forEach(item =>{
+                this.$refs.table3.toggleRowSelection(item, true)
               })
             }, 200)
             }
@@ -759,21 +866,11 @@
         // })
 
           // 灏嗕笅鎷夋鍊艰祴鍊肩粰鍏夌氦  鐩戝惉鍘婚櫎
-          if(this.multiFiberList.length == 0) {
+          if(this.selectFiberList.length == 0) {
             this.$message.error('璇烽�夋嫨鏁版嵁')
             return
           }
-          this.multiFiberList.forEach(item => {
-            this.fiberList.forEach(a => {
-              if(a.ident == item.ident){
-                a.model = this.mireModel.split(' - ')[1] // 鍏夌氦瑙勬牸
-                a.noSplitModel = this.mireModel // 鍏夌氦瑙勬牸
-                if(this.mireStandards != null) {
-                  a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code  // 鍙傝�冩爣鍑�
-                }
-              }
-            })
-          })
+          
          if (val === null || val === '') return
          if(this.mireStandards == null ) return
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
@@ -794,6 +891,18 @@
           this.detectionType = 0
            this.$set(this.detectionItems,'type',0)
           }
+          this.mireStandards.find(a => a.id == val).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
+          this.selectFiberList.forEach(item => {
+            this.fiberList.forEach(a => {
+              if(a.ident == item.ident){
+                a.model = this.mireModel.split(' - ')[1] // 鍏夌氦瑙勬牸
+                a.noSplitModel = this.mireModel // 鍏夌氦瑙勬牸
+                if(this.mireStandards != null) {
+                  a.standard = this.mireStandards.find(a => a.id == this.mireStandard).code  // 鍙傝�冩爣鍑�
+                }
+              }
+            })
+          })
 
         })
       },
@@ -843,6 +952,8 @@
             this.detectionItems = res.data
             this.detectionType = 1
             this.$set(this.detectionItems,'type',1)
+            // 鍒ゆ柇鏄惁涓哄鎵樿姹�
+            this.miresStandards.find(a => a.id == val).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
           }
 
           // 缁欓�変腑鐨勫厜绾ゅ甫璧嬪��
@@ -863,7 +974,6 @@
       })
       },
       addFiber() {
-
         // 鏈�鏂�
         let colors2 = []
         if (this.packageInfo.num1 / this.colors.length > 1) {
@@ -878,8 +988,8 @@
         this.fiberList = []
         // 閫夋嫨浜嗗厜绾ゅ甫
         if (this.packageInfo.ismiers) {
-          if(this.selectFibers.length != 0){
-          this.selectFibers.forEach((a,index) => {
+          if(this.multiFiberList.length != 0){
+          this.multiFiberList.forEach((a,index) => {
             a.fiber = []
             for (var i = 0; i < parseInt(a.num); i++) {
               let fiber = {
@@ -904,6 +1014,7 @@
                 bushColor: a.color,
                 color: colors2[(i+(parseInt(a.testNum))*index)>colors2.length?0:i+(parseInt(a.testNum))*index].label,
                 model: null,
+                noSplitModel: null,
                 standard: null,
                 productList: []
               }
@@ -1131,6 +1242,11 @@
         //   })
         // }, 200)
         if(type == 1) {
+          this.fiberList = row.fiber
+          if((row.model == null || row.model == '') && (row.standard == null || row.standard == '')){
+            this.detectionItems = []
+            return
+          }
           if(row.model != null && row.model != ''){
           this.miresModel = row.model
           this.selectsStandardMethodByFLSSM2()
@@ -1152,27 +1268,42 @@
           this.detectionItems = []
           if(res.data != null && res.data.length != 0){
             res.data.forEach(a => {
-              a.state = 0
+              this.$set(a,'isFibers',1)
             })
+            // 鍒ゆ柇鏄惁涓哄鎵樿姹�
+            this.miresStandards.find(a => a.id == this.miresStandard).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
+            if(!this.isAskOnlyRead){
+              row.productList.forEach(a => {
+                res.data.forEach(b => {
+                  if(a.id == b.id){
+                    b.ask = a.ask
+                    b.tell = a.tell
+                  }
+                })
+              })
+            }
             this.detectionItems = res.data
             this.detectionType = 1
             this.$set(this.detectionItems,'type',1)
-
             if (row.productList != null && row.productList.length > 0) {
+              let product =  JSON.parse(JSON.stringify(row.productList))
               setTimeout(() => {
-                row.productList.forEach(product => {
-                let rowToSelect = this.detectionItems.find(item => item.id === product.id);
+                product.forEach(p => {
+                let rowToSelect = this.detectionItems.find(item => item.id === p.id);
                 if (rowToSelect) {
                   this.toggleSelection(rowToSelect);
                 }
               });
-              },200)
-
+            },200)
             }
           }
         })
-        },1000)
+        },500)
       }else if(type == 0) {
+        if((row.noSplitModel == null || row.noSplitModel == '') && (row.standard == null || row.standard == '')){
+            this.detectionItems = []
+            return
+          }
         if(row.model != null && row.model != ''){
           this.mireModel = row.noSplitModel
           this.selectsStandardMethodByFLSSM()
@@ -1194,15 +1325,30 @@
           if(res.data != null && res.data.length != 0){
            res.data.forEach(a => {
             a.state = 0
+            this.$set(a,'isFibers',0)
           })
+          // 鍒ゆ柇鏄惁涓哄鎵樿姹�
+          this.mireStandards.find(a => a.id == this.mireStandard).code == '濮旀墭瑕佹眰'?this.isAskOnlyRead = false:this.isAskOnlyRead = true
+          if(!this.isAskOnlyRead){
+            row.productList.forEach(a => {
+              res.data.forEach(b => {
+                if(a.id == b.id){
+                  b.ask = a.ask
+                  b.tell = a.tell
+                }
+              })
+            })
+          }
           this.detectionItems = res.data
           this.detectionType = 0
           this.$set(this.detectionItems,'type',0)
+          
 
           if (row.productList != null && row.productList.length > 0) {
+            let product =  JSON.parse(JSON.stringify(row.productList))
             setTimeout(() => {
-              row.productList.forEach(product => {
-                let rowToSelect = this.detectionItems.find(item => item.id === product.id);
+              product.forEach(p => {
+                let rowToSelect = this.detectionItems.find(item => item.id === p.id);
                 if (rowToSelect) {
                   this.toggleSelection(rowToSelect);
                 }
@@ -1210,9 +1356,8 @@
             },200)
             }
           }
-
         })
-        },1000);
+        },500);
       }
     },
       toggleSelection(row) {
@@ -1330,8 +1475,8 @@
       },
       upProductSelect(selection, row) {
         row.state = row.state == 1 ? 0 : 1
-        if(this.multiFiberList.length > 0){
-          this.multiFiberList.map(item => {
+        if(this.selectFiberList.length > 0){
+          this.selectFiberList.map(item => {
             item.productList.map(m=>{
               if(m.id == row.id){
                 m.state = row.state;
@@ -1430,9 +1575,9 @@
         this.bushing.forEach(item=>{
           // 濡傛灉鍏夌氦甯︽湁鍊�
           if(this.fibersList.length != 0) {
-              this.fibersList.forEach(a=>{
-                a.fiber = this.fiberList.filter(b=>b.fibersIdent == a.ident)
-              })
+              // this.fibersList.forEach(a=>{
+              //   a.fiber = this.fiberList
+              // })
               item.fibers = this.fibersList // 鍏夌氦甯�
               item.fiber = [] // 鍏夌氦
           }else {

--
Gitblit v1.9.3