From 6f30bbf4f118d3357d1e6e503aa986227e2cc6ea Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 20 八月 2024 09:33:40 +0800
Subject: [PATCH] 更新代码

---
 src/components/do/b1-ins-order/add.vue |  276 +++++++++++++++++++++++++++++++++++--------------------
 1 files changed, 176 insertions(+), 100 deletions(-)

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index dee5543..28aeca3 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -620,7 +620,8 @@
         </el-row>
       </span>
     </el-dialog>
-    <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow" :active="active" />
+    <fiberOpticConfig :currentId="currentId" @saveFiberopticConfig="getTotal()" v-if="configShow && examine==0" :active="active" :inspectionItemST='inspectionItemST' />
+    <fiberOpticConfigTwo :currentId="currentId"  v-if="configShow && examine==1" :active="active" />
     <equipConfig :currentId="currentId" v-if="equipConfigShow" :active="active" />
     <cableConfig v-if="cableConfigShow" :active="active" />
 <!--    鍗曢�夌壒娈婂�煎鐞嗘-->
@@ -759,7 +760,7 @@
                width="800px" :show-close="false">
       <el-table
       :data="editTable"
-      style="width: 100%">
+      style="width: 100%" height="80vh">
       <!-- inspectionItemList -->
       <el-table-column
           prop="inspectionItemList"
@@ -881,6 +882,15 @@
         <el-button type="primary" @click="spliceData">淇濆瓨</el-button>
       </span>
     </el-dialog>
+    <el-dialog title="鍗曟牴鍨傜洿鐕冪儳妫�娴嬫鏁板~鍐�" :visible.sync="singleVerticalCombustionShow" width="900px"
+               :close-on-click-modal="false" :close-on-press-escape="false"
+               :before-close="beforeCirculateShowClose" :show-close="false">
+      <div>111</div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="cleanSpliceData">鍙栨秷</el-button>
+        <el-button type="primary" @click="spliceData">淇濆瓨</el-button>
+      </span>
+    </el-dialog>
     <!-- 鐢靛姏璇曢獙瀹�---娓╁崌璇曢獙/鐑惊鐜� -->
     <el-dialog :title="temperatureTitle" :visible.sync="temperatureShow"
                :close-on-click-modal="false" :close-on-press-escape="false"
@@ -906,6 +916,7 @@
 <script>
 import ValueTable from '../../tool/value-table.vue'
 import fiberOpticConfig from './fiberoptic-config.vue'
+import fiberOpticConfigTwo from './fiberoptic-config-two.vue'
 import equipConfig from './equip-config.vue'
 import cableConfig from './cable-config.vue'
 import Vue from 'vue'
@@ -915,10 +926,15 @@
     components: {
       ValueTable,
       fiberOpticConfig,
+      fiberOpticConfigTwo,
       equipConfig,
       cableConfig
     },
     props: {
+      examine: {
+        type: Number,
+        default: () => 0
+      },
       active: {
         type: Number,
         default: () => 0
@@ -930,6 +946,7 @@
     },
     data() {
       return {
+        inspectionItemST: null,
         sampleSelectionList: [],//鏍峰搧琛ㄦ牸閫変腑鏁版嵁
         editTable:[],
         template: null,
@@ -1079,6 +1096,7 @@
           entrustNum: '',
           entrustPoint: ''
         },
+        singleVerticalCombustionShow: false,
         isBsm2Val2:false,
         opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃
         opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁�
@@ -1122,6 +1140,25 @@
             })
             this.filters = arr
           }
+        }
+      },
+      productListSelected: {
+        deep: true,
+        handler(val) {
+          if(val.length>0){
+            for(let i =0 ; i< val.length; i++){
+              if(val[i].inspectionItem.includes('鏉惧绠�')){
+                this.inspectionItemST = 1
+                break;
+              }else{
+                this.inspectionItemST = 0
+              }
+            }
+          }else{
+            this.inspectionItemST = 0
+          }
+
+          console.log('0000',this.inspectionItemST);
         }
       },
       sampleList: {
@@ -1178,12 +1215,11 @@
       inputValueHandler(row,index){
         if(row){
           const nextIndex = index+1
+          console.log(nextIndex, this.editTable)
           for (let i = nextIndex; i < this.editTable.length; i++) {
             const element = this.editTable[i];
-            if(element.model==row.model){
+            if(element.model==row.model&&row.symbolItem==element.symbolItem){
               this.editTable[i].value = row.value
-            }else{
-              break;
             }
           }
         }
@@ -1585,37 +1621,31 @@
               }
               return true
           })
-          /* //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪
-          const isTrue = this.checkRequiredValueAndRemark(filterProductList)
-          if(!isTrue){
-            this.$message.error('妫�楠岄」鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�')
-            return
-          } */
-           //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
-          if(this.isAskOnlyRead){
+          //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
+          if(this.active==1&&this.isAskOnlyRead){
             const isTrue = this.checkRequiredValueAndRemark(filterProductList)
-              if(!isTrue){
-                this.$message.error('妫�楠岄」鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�')
-                return
-              }
+            if(!isTrue){
+              this.$message.error('妫�楠岄」鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�')
+              return
+            }
           }
 
-          console.log('isHaveBushing===', this.totalArr)
-          // inspectionItem
-          let spcialItem = this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('鏉惧绠�'))
-          // console.log('isHaveBushing===', isHaveBushing)
-          if (productListSelected && select[2] === '鍏夌紗' && isHaveBushing === false) {
+          // console.log('isHaveBushing===', this.totalArr)
+          let spcialItem = this.totalArr.filter(a => a.state == 1 && a.inspectionItem.includes('鏉惧绠�'))
+          if (productListSelected && select[2] === '鍏夌紗' && isHaveBushing === false&&spcialItem.length==0) {
             this.$message.error('鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆')
             this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
             this.rowClick(this.currentMethod)
             this.sampleIds = [this.currentMethod.id]
             this.openConfig()
             return
-          }else if(spcialItem&& isHaveBushing === false){
+          }else if(spcialItem.length>0&& isHaveBushing === false){
             this.$message.error('鏉惧绠¢」鐩繀椤昏繘琛屽厜绾ら厤缃�')
-            this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
-            this.rowClick(this.currentMethod)
-            this.sampleIds = [this.currentMethod.id]
+            // this.$refs.sampleTable.setCurrentRow(this.currentMethod, true)
+            // this.rowClick(this.currentMethod)
+            spcialItem.forEach(item=>{
+              this.sampleIds.push(item.id)
+            })
             this.openConfig()
             return
           }
@@ -1643,56 +1673,12 @@
           }
         }
       },
-      /* checkRequiredValueAndRemark(data){
-        let isTrue = true
-        try{
-          data.forEach(ele=>{
-            if(['鈮�','鈮�','>','<','='].includes(ele.ask[0])){
-              const askVal = ele.ask.substring(1,ele.ask.length)
-              if(isNaN(askVal) || ele.tell.indexOf(askVal)<0){
-                isTrue = false
-              }
-            }
-            if(ele.ask.indexOf('-')>0 && ele.ask.length>1){
-              let tell = ele.tell
-              if(ele.tell.indexOf('~')>0){
-                tell = ele.tell.replace('~','-')
-              }
-              const splits = ele.ask.split('-')
-              if(splits.length==2 && !isNaN(splits[0]) && !isNaN(splits[1])){
-                let min = Math.min(...splits)
-                let max = Math.max(...splits)
-                if(ele.tell.indexOf('卤')<0&&tell.indexOf(ele.ask)<0){
-                  isTrue = false
-                }else if(ele.tell.indexOf('卤')>0&&ele.tell!=ele.ask){
-                  let splitNums = ele.tell.split('卤')
-                  if(splitNums.length<2){
-                    isTrue = false
-                  }else{
-                    let minTell = Number(splitNums[0])-Number(splitNums[1])
-                    let maxTell = Number(splitNums[0])+Number(splitNums[1])
-                    if(minTell!=min || maxTell!=max){
-                      isTrue = false
-                    }
-                  }
-                }
-              }else{
-                isTrue = false
-              }
-            }
-          })
-        }catch(error){
-          console.log(error);
-          isTrue = false
-        }
-        return isTrue
-      }, */
       /**
-聽 聽 聽 聽* 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊�
-聽 聽 聽 聽*
-聽 聽 聽 聽*/
+       * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊�
+       *
+       */
       checkRequiredValueAndRemark(data){
-          let isTrue = true
+        let isTrue = true
         try{
           data.forEach(ele=>{
             //鍒ゆ柇锛堚墹,鈮�,>,<,=锛夎繖鍑犵鎯呭喌
@@ -1700,40 +1686,92 @@
             if(['鈮�','鈮�','>','<','='].includes(ele.ask[0])){
               const askVal = ele.ask.substring(1,ele.ask.length)
               if(isNaN(askVal) || ele.tell.indexOf(askVal)<0){
+                console.log(1111);
                 isTrue = false
               }
             }
             //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸-
             if(ele.ask.indexOf('-')>0 && ele.ask.length>1){
-            //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁�
+              //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁�
               let tell = ele.tell
-              if(ele.tell.indexOf('~')>0){
-                tell = ele.tell.replace('~','-')
+              if(ele.tell.indexOf('~')>0 || ele.tell.indexOf('锛�') || ele.tell.indexOf('锛�')){
+                tell = tell.replace('~','-')
+                tell = tell.replace('锛�','(')
+                tell = tell.replace('锛�',')')
               }
               const splits = ele.ask.split('-')
               //婊¤冻鏍煎紡瑕佹眰锛屽苟涓斾袱涓兘鏄暟瀛�
               if(splits.length==2 && !isNaN(splits[0]) && !isNaN(splits[1])){
-              let min = Math.min(...splits)
-              let max = Math.max(...splits)
-              //鍒ゆ柇卤鐨勬儏鍐�
-                if(ele.tell.indexOf('卤')<0&&tell.indexOf(ele.ask)<0){
+                /**
+                 * 鍒ゆ柇鎯呭喌
+                 * 1.瑕佹眰鎻忚堪涓庤姹傛弿杩扮浉鍚�
+                 * 2.瑕佹眰鎻忚堪鍖呭惈瑕佹眰鍊�
+                 * 3.瑕佹眰鎻忚堪涓�3N-10N杩欑鎯呭喌
+                 * 4.瑕佹眰鎻忚堪涓�10卤5杩欑鎯呭喌
+                 * 5.
+                 */
+                 let min = Math.min(...splits)
+                 let max = Math.max(...splits)
+                 if(min==max){
+                  console.log(2222);
                   isTrue = false
-                }else if(ele.tell.indexOf('卤')>0&&ele.tell!=ele.ask){
-                  let splitNums = ele.tell.split('卤')
-                  if(splitNums.length<2){
-                    isTrue = false
+                 }
+                //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
+                if(tell.indexOf('卤')<0&&tell.indexOf('-')<0){
+                  console.log(3333,ele);
+                  console.log(3333333,tell,tell.indexOf('卤')<0,tell.indexOf('-')<0);
+                  isTrue = false
+                }else if(ele.tell.indexOf('-')==0){
+                  console.log(4444);
+                  isTrue = false
+                }else if(tell.indexOf('-')>0){
+                  if(tell.indexOf('卤')>0){
+                    ////鏍¢獙瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鍐欐硶鐨勬儏鍐�
+                    const num = tell.split('卤')[1]
+                    const startIndex = tell.indexOf('(')
+                    const endIndex = tell.indexOf(')')
+                    if(startIndex>-1 && endIndex>0 ){
+                      const str = tell.substring(startIndex,endIndex)
+                      if(str && str.indexOf('-')>0){
+                        let strList = str.split('-')
+                        const minNum = Number(strList[0]-num)
+                        const maxNum = Number(strList[1]+num)
+                        if(minNum>min || maxNum<max){
+                          console.log(555555);
+                          isTrue = false
+                        }
+                      }
+                    }else{
+                      //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐�
+                      let splitNums = ele.tell.split('卤')
+                      if(splitNums.length<2){
+                        console.log(66666);
+                        isTrue = false
+                      }else{
+                        let minTell = Number(splitNums[0])-Number(splitNums[1])
+                        let maxTell = Number(splitNums[0])+Number(splitNums[1])
+                        if(minTell!=min || maxTell!=max){
+                          console.log(7777777);
+                          isTrue = false
+                        }
+                      }
+                    }
                   }else{
-                    let minTell = Number(splitNums[0])-Number(splitNums[1])
-                    let maxTell = Number(splitNums[0])+Number(splitNums[1])
-                    if(minTell!=min || maxTell!=max){
+                    const splitTells = tell.split('-')
+                    if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){
+                      console.log(88888888);
                       isTrue = false
                     }
                   }
                 }
               }else{
+                console.log(89999999);
                 isTrue = false
               }
             }
+            // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){
+            //   //鍒ゆ柇
+            // }
           })
         }catch(error){
           console.log(error);
@@ -1741,7 +1779,6 @@
         }
         return isTrue
       },
-
       save0(){
         if(this.editTable.every(m=>m.value)){
           let sampleList = this.handleData(this.HaveJson(this.sampleList),this.handleAsk,1)
@@ -2108,7 +2145,23 @@
         this.selectTree = ''
         this.models = val.children
         this.getNodeParent(node)
+
+        let flag = false
+        if (node.level == 3) {
+          if(node.data.children.length>0){
+            node.data.children.forEach(a => {
+              let key = Object.keys(a)
+              if(!key.includes('level')) {
+                flag = true
+              }
+            })
+
+          }
+        }
         this.selectTree = this.selectTree.replace(' - ', '')
+        if(flag) {
+          this.selectTree =  '-  - ' + this.selectTree
+        }
         let data = this.selectTree.split(' - ')
         let data2 = ''
         for (let index = data.length - 1; index >= 0; index--) {
@@ -2147,7 +2200,7 @@
         this.addObj.factory = trees[0]
         this.addObj.laboratory = trees[1]
         this.addObj.sampleType = trees[2]
-        if (trees[3] === undefined || trees[3] === '') {
+        if (trees[3] === undefined || trees[3] === '' || trees[3] === '- ') {
           this.addObj.sample = trees[2]
         } else {
           this.addObj.sample = trees[3]
@@ -2209,12 +2262,12 @@
           this.sample.unit = this.addObj.unit
           this.sample.standardMethodListId = null
           this.sample.insProduct = []
-          this.sample.id = this.count
+          this.sample.id = parseInt(i+1)
           this.sample.childSampleList = []
           this.sample.insulating = null
           this.sample.sheath = null
           this.sampleList.push(this.HaveJson(this.sample))
-          this.count++
+          // this.count++
         }
         this.computationalPairing(this.sampleList.length)
         this.bsm2Val2 = this.HaveJson(this.bsm2Val3)
@@ -2363,6 +2416,13 @@
         } else if ((row.inspectionItem === '娓╁崌璇曢獙' || row.inspectionItem === '鐑惊鐜�') && row.state === 0) {
           this.temperatureShow = false;
         }
+        // if (row.inspectionItem === '鍗曟牴鍨傜洿鐕冪儳' && select[2] === '鍏夌紗' && row.state === 1) {
+        //   this.singleVerticalCombustionShow = true;
+        //   return
+        // } else if (row.inspectionItem === '鍗曟牴鍨傜洿鐕冪儳' && select[2] === '鍏夌紗' && row.state === 0) {
+        //   this.singleVerticalCombustionShow = false;
+        // }
+
         this.changeProductList0()
         this.currentMethod.insProduct = this.productList0
         this.getProNum()
@@ -2468,6 +2528,11 @@
         this.$axios.post(this.$api.insOrder.selectInsOrderTemplateById + '?id=' + e).then(res => {
           if (res.code == 201) return
           let obj = JSON.parse(res.data)
+          console.log(obj);
+          //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛
+          let user = JSON.parse(localStorage.getItem('user'))
+          obj.addObj.custom = user.name
+          obj.addObj.userId = user.userId
           this.addObj = obj.addObj;
           this.sampleList = obj.sampleList;
           this.selectTree = obj.selectTree
@@ -2516,6 +2581,8 @@
         this.getProductLoad = true
         let selectTreeList = this.selectTree.split(" - ")
         this.addObj.model&&(selectTreeList[selectTreeList.length - 1] = this.addObj.model)
+
+        console.log( this.selectTree);
         this.$axios.post(this.$api.standardTree.selectStandardProductList, {
           model: (this.addObj.model?this.addObj.model:row.model) + '-' + row.modelNum,
           standardMethodListId: val,
@@ -2588,17 +2655,27 @@
       },
       // 瑕佹眰鍊煎彉鍖栨椂
       requestChange(e, row,type) {
-        this.sampleList.map(item => {
-          if (this.sampleIds.indexOf(item.id) > -1) {
-            item.insProduct.map(m => {
-              if (m.id == row.id) {
-                m[type] = e;
+        //this.currentMethod 褰撳墠鏍峰搧id
+        this.sampleList.forEach(item=>{
+          if(item.id == this.currentMethod.id){
+            item.insProduct.forEach(i=>{
+              if(i.id == row.id){
+                i[type] = e
               }
-              return m;
             })
           }
-          return item
         })
+        // this.sampleList.map(item => {
+        //   if (this.sampleIds.indexOf(item.id) > -1) {
+        //     item.insProduct.map(m => {
+        //       if (m.id == row.id) {
+        //         m[type] = e;
+        //       }
+        //       return m;
+        //     })
+        //   }
+        //   return item
+        // })
       },
       selectStandardMethods() {
         this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
@@ -3023,7 +3100,6 @@
       getTotal() {
         this.totalArr = []
         this.total = 0;
-        // console.log(this.sampleList)
         this.sampleList.forEach(item => {
           if (item.insProduct && item.insProduct.length > 0) {
             item.insProduct.forEach(a => {

--
Gitblit v1.9.3