From 09ee2efd8bc38d82aa01e2c0d77b84d398f606b2 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 04 七月 2024 16:26:03 +0800
Subject: [PATCH] 要求值是分数

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

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index d6e3822..f350fbc 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,31 +1104,31 @@
           this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
           return
         }
-
+        // 鎷兼帴瑕佹眰鍊糰sk
         const opticalProjectList = JSON.parse(JSON.stringify(this.opticalProjectList))
+        opticalProjectList.forEach(o => {
+          o.temperatureData.forEach(t => {
+            if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+              throw this.$message.error('璇峰~鍐欏畬鏁存暟鎹�')
+            }
+          })
+        })
         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))
-        temperaturePoint.unshift({temperaturePoint: 20})
+        let opticalProjectList2 = JSON.parse(JSON.stringify(this.opticalProjectList))
         let askArr = []
         let opticalProjectArr = []
-        // 鎷兼帴瑕佹眰鍊糰sk
         opticalProjectList.forEach(o => {
           opticalProjectArr.push(o.value)
-          temperaturePoint.forEach(t => {
+          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)
-            }
+                  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)
@@ -1136,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 => {
@@ -1177,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
@@ -1352,7 +1391,7 @@
             }).catch(() => {})
           }else{
             let isRTS = this.totalArr.find(a => a.ask != null && this.symbolList.find(b=>a.ask.includes(b)) && a.state == 1)
-            if (isRTS) {
+            if (isRTS&&this.PROJECT=='妫�娴嬩腑蹇�') {
               this.editTable = this.handleData(sampleList,this.containsValue, 0)
               this.editTable.forEach(item => {
                 item.value = item.modelNum

--
Gitblit v1.9.3