From c045e52faa55b6cb58375dcfaf74d8e743eb0d26 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期四, 04 七月 2024 14:34:42 +0800
Subject: [PATCH] 装备电缆:检验对象导入 bug修复

---
 src/components/do/b1-ins-order/add.vue |  148 +++++++++++++++++++++++++++++++++++--------------
 1 files changed, 105 insertions(+), 43 deletions(-)

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 229fabb..6b59665 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -788,6 +788,9 @@
               :data="opticalProject"
               tooltip-effect="dark"
               style="width: 100%"
+              @row-click="rowClickOptical"
+              @select="selectOpticalProject"
+              @select-all="selectAllOptical"
               @selection-change="handleSelectionChange">
               <el-table-column
                 type="selection"
@@ -814,17 +817,17 @@
             style="width: 100%">
             <el-table-column prop="date" label="娓╁害鐐�(鈩�)" width="120px">
               <template slot-scope="scope">
-                <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�"></el-input>
+                <el-input size="small" v-model="scope.row.temperaturePoint" clearable placeholder="璇疯緭鍏�" @change="changeTemperature"></el-input>
               </template>
             </el-table-column>
             <el-table-column prop="name" label="瑕佹眰(dB/Km)">
               <template slot-scope="scope">
                 <span>x</span>
-                <el-select v-model="scope.row.askSymbol" placeholder="璇烽�夋嫨" size="small" style="width: 120px">
+                <el-select v-model="scope.row.askSymbol" placeholder="璇烽�夋嫨" size="small" style="width: 120px" @change="changeTemperature">
                   <el-option v-for="item in temperatureDataList" :key="item.value" :label="item.label" :value="item.value">
                   </el-option>
                 </el-select>
-                <el-input size="small" v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" style="width: 120px"></el-input>
+                <el-input size="small" v-model="scope.row.askNum" clearable placeholder="璇疯緭鍏�" style="width: 120px" @change="changeTemperature"></el-input>
               </template>
             </el-table-column>
           </el-table>
@@ -1018,9 +1021,9 @@
         temperatureDataList: [
           {label: '<', value: '<'},
           {label: '鈮�', value: '鈮�'},
-          {label: '锛�', value: '锛�'},
+          {label: '=', value: '='},
           {label: '鈮�', value: '鈮�'},
-          {label: '锛�', value: '锛�'},
+          {label: '>', value: '>'},
         ]
       }
     },
@@ -1101,28 +1104,33 @@
           this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
           return
         }
-
-        const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList))
-        let entrustTime = this.circulateForm.entrustTime
-        let entrustNum = this.circulateForm.entrustNum
-        let temperaturePoint1 = JSON.parse(JSON.stringify(this.temperatureData))
-        temperaturePoint1.forEach(t => {
-          if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
-            throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
-          }
-        })
-        let temperaturePoint = JSON.parse(JSON.stringify(this.temperatureData))
-        let askArr = []
-        let opticalProjectArr = []
         // 鎷兼帴瑕佹眰鍊糰sk
+        const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList))
         opticalProjectList.forEach(o => {
-          opticalProjectArr.push(o.value)
-          temperaturePoint.forEach(t => {
-            const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + t.askSymbol + t.askNum
-            askArr.push(askObj)
+          o.temperatureData.forEach(t => {
+            if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+              throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+            }
           })
         })
-        askArr.unshift(20 + '鈩�')
+        let entrustTime = this.circulateForm.entrustTime
+        let entrustNum = this.circulateForm.entrustNum
+        let opticalProjectList2 = JSON.parse(JSON.stringify(this.opticalProjectList))
+        let askArr = []
+        let opticalProjectArr = []
+        opticalProjectList.forEach(o => {
+          opticalProjectArr.push(o.value)
+          o.temperatureData.unshift({temperaturePoint: 20})
+          o.temperatureData.forEach(t => {
+            if (!t.askSymbol) {
+                  const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + null
+                  askArr.push(askObj)
+                } else {
+                  const askObj = t.temperaturePoint + '鈩�' + ',' + o.value + ',' + t.askSymbol + t.askNum
+                  askArr.push(askObj)
+                }
+          })
+        })
         askArr.push(this.circulateForm.entrustNum)
         const ask = askArr.join(';')
         // 鎷兼帴瑕佹眰鎻忚堪tell
@@ -1131,20 +1139,22 @@
         let temperaturePointList2 = []
         entrustTime = entrustTime + 'h'
         entrustNum = entrustNum + '娆�'
-        temperaturePoint.forEach(t => {
-          t.temperaturePoint = t.temperaturePoint + '鈩�'
-          temperaturePointList.push(t.temperaturePoint)
+        opticalProjectList2.forEach(o => {
+          o.temperatureData.forEach(t => {
+            t.temperaturePoint = t.temperaturePoint + '鈩�'
+            temperaturePointList2.push(t.temperaturePoint)
+            temperaturePointList.push(t.temperaturePoint)
+            askNum.push(t.askSymbol + t.askNum + 'dB/Km')
+          })
         })
-        temperaturePoint1.forEach(t => {
-          t.temperaturePoint = t.temperaturePoint + '鈩�'
-          askNum.push(t.askSymbol + t.askNum + 'dB/Km')
-          temperaturePointList2.push(t.temperaturePoint)
-        })
+        temperaturePointList = Array.from(new Set(temperaturePointList))
+        temperaturePointList2 = Array.from(new Set(temperaturePointList2))
+        temperaturePointList2.unshift(20 + '鈩�')
         let additionArr = []
         askNum.forEach(a => {
-          additionArr.push(temperaturePointList2.join(',') + a)
+          additionArr.push(temperaturePointList.join(',') + a)
         })
-        temperaturePointList2.unshift(20 + '鈩�')
+        additionArr = Array.from(new Set(additionArr))
         const tell = '娓╁害鑼冨洿:' + temperaturePointList2.join(',') + ';' + '淇濇俯鏃堕棿:' + entrustTime + ';' + '寰幆娆℃暟:'
           + entrustNum + ';' + '鍏夌氦(' + opticalProjectArr.join(',') + ')' + '闄勫姞琛板噺缁濆鍊�:' + additionArr.join(';')
         this.productList.forEach(item => {
@@ -1172,14 +1182,48 @@
       handleSelectionChange(val) {
         this.opticalProjectList = val;
       },
+      selectAllOptical (val) {
+        if (val.length > 0) {
+          if (val[val.length-1].temperatureData) {
+            this.temperatureData = this.HaveJson(val.temperatureData)
+          } else {
+            this.temperatureData = []
+          }
+        } else {
+          this.temperatureData = []
+        }
+        this.circulateForm.entrustPoint = this.temperatureData.length
+      },
+      selectOpticalProject (val) {
+        if (val.temperatureData) {
+          this.temperatureData = this.HaveJson(val.temperatureData)
+        } else {
+          this.temperatureData = []
+        }
+        this.circulateForm.entrustPoint = this.temperatureData.length
+      },
+      rowClickOptical (val) {
+        const index = this.opticalProjectList.findIndex(item => item.value === val.value)
+        if (index > -1 && val.temperatureData) {
+          this.temperatureData = this.HaveJson(val.temperatureData)
+        }
+        this.circulateForm.entrustPoint = this.temperatureData.length
+      },
+      changeTemperature () {
+        this.opticalProjectList.forEach(item => {
+          item.temperatureData = this.HaveJson(this.temperatureData)
+        })
+      },
       addTemperatureData () {
         const obj = {}
         this.temperatureData.push(obj)
+        this.circulateForm.entrustPoint = this.temperatureData.length
       },
       deleteTemperatureData () {
         if (this.temperatureData.length > 0) {
           this.temperatureData = this.temperatureData.slice(0,-1)
         }
+        this.circulateForm.entrustPoint = this.temperatureData.length
       },
       changeTemperatureData () {
         const length = this.temperatureData.length
@@ -1388,18 +1432,36 @@
                   })
                 }else if(type==1){
                   let arr = this.editTable.filter(b => b.sampleId == item.id)
-                  arr.forEach(f => {
-                    if(a.ask.includes(f.symbolItem)){
-                      let ask = calBack(a.ask, f.symbolItem,f.value)
-                      if (ask) {
-                        a.ask = ask
+                  for (var i=0;i<arr.length;i++){
+                    if(a.ask){
+                      if(a.ask.includes(arr[i].symbolItem)){
+                        let ask = calBack(a.ask, arr[i].symbolItem,arr[i].value)
+                        if (ask) {
+                          a.ask = ask
+                        }
+                        let tell = this.handleTell(a.tell, arr[i].symbolItem,arr[i].value)
+                        if (tell) {
+                          a.tell = tell
+                        }
                       }
-                      let tell = this.handleTell(a.tell, f.symbolItem,f.value)
-                      if (tell) {
-                        a.tell = tell
-                      }
+                    }else{
+                      this.$message.error('瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒')
                     }
-                  })
+                  }
+                  // arr.forEach(f => {
+                  //   if(a.ask){
+                  //     if(a.ask.includes(f.symbolItem)){
+                  //       let ask = calBack(a.ask, f.symbolItem,f.value)
+                  //       if (ask) {
+                  //         a.ask = ask
+                  //       }
+                  //       let tell = this.handleTell(a.tell, f.symbolItem,f.value)
+                  //       if (tell) {
+                  //         a.tell = tell
+                  //       }
+                  //     }
+                  //   }else{}
+                  // })
                 }
               }
             })

--
Gitblit v1.9.3