From c263fb316fc23d9db98ce711fda30d81c28d2d9c Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 08 八月 2024 19:02:10 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before

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

diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue
index 737631b..cc478e4 100644
--- a/src/components/do/b1-ins-order/add.vue
+++ b/src/components/do/b1-ins-order/add.vue
@@ -475,7 +475,7 @@
             <template slot-scope="scope">
               <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea"
                 :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row,'ask')"
-                v-if="active==1&&isAskOnlyRead&&/[0-9]/.test(scope.row.ask)"></el-input>
+                v-if="active==1&&isAskOnlyRead&&scope.row.inspectionValueType!='5'"></el-input>
               <span v-else>
                 <!-- <template v-if="(scope.row.ask.indexOf('D')>-1
                 ||scope.row.ask.indexOf('W')>-1
@@ -1573,7 +1573,27 @@
               isHaveBushing = false
             }
           })
-          // console.log('isHaveBushing===', this.totalArr)
+          //杩囨护妫�娴嬮」锛氬幓闄ょ壒娈婇」
+          let filterProductList = this.productListSelected.filter(ele=>ele.bsm==0&&/[0-9]/.test(ele.ask)).filter(ele=>{
+              if(select[1].indexOf('閫氫俊')>=0 && ['鍏夌紗','鍏夌氦'].includes(select[2])){
+                return !['娓╁害寰幆','鍏夌氦鎺ュご鎹熻��'].includes(ele.inspectionItem)
+              }
+              return true
+          }).filter(ele=>{
+              if(select[1].indexOf('鐢靛姏')>=0){
+                return !['娓╁崌璇曢獙','鐑惊鐜�'].includes(ele.inspectionItem)
+              }
+              return true
+          })
+          //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
+          if(this.active==1&&this.isAskOnlyRead){
+            const isTrue = this.checkRequiredValueAndRemark(filterProductList)
+            if(!isTrue){
+              this.$message.error('妫�楠岄」鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�')
+              return
+            }
+          }
+          console.log('isHaveBushing===', this.totalArr)
           // inspectionItem
           let spcialItem = null//this.totalArr.find(a => a.state == 1 && a.inspectionItem.includes('鏉惧绠�'))
           // console.log('isHaveBushing===', isHaveBushing)
@@ -1615,6 +1635,79 @@
             this.saveMethod(sampleList)
           }
         }
+      },
+      /**
+       * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊�
+       *
+       */
+      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
+              }
+            }
+            //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸-
+            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])){
+                /**
+                 * 鍒ゆ柇鎯呭喌
+                 * 1.瑕佹眰鎻忚堪涓庤姹傛弿杩扮浉鍚�
+                 * 2.瑕佹眰鎻忚堪鍖呭惈瑕佹眰鍊�
+                 * 3.瑕佹眰鎻忚堪涓�3N-10N杩欑鎯呭喌
+                 * 4.瑕佹眰鎻忚堪涓�10卤5杩欑鎯呭喌
+                 * 5.
+                 */
+                 let min = Math.min(...splits)
+                 let max = Math.max(...splits)
+                 if(min==max){
+                  isTrue = false
+                 }
+                //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
+                if((tell.indexOf('卤')<0&&tell.indexOf('-')<0)){
+                  isTrue = false
+                }else if(ele.tell.indexOf('-')==0){
+                  isTrue = false
+                }else if(tell.indexOf('-')>0){
+                  const splitTells = tell.split('-')
+                  if(splitTells[0].indexOf(min)<0 || splitTells[1].indexOf(max)<0){
+                    isTrue = false
+                  }
+                }else if(tell.indexOf('卤')>0&&tell!=ele.ask){
+                  //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐�
+                  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
       },
       save0(){
         if(this.editTable.every(m=>m.value)){
@@ -2342,6 +2435,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
@@ -2897,9 +2995,8 @@
       getTotal() {
         this.totalArr = []
         this.total = 0;
-        // console.log(this.sampleList)
         this.sampleList.forEach(item => {
-          if (item.insProduct && item.insProduct.length > 0) {
+          if (item.insProduct  && item.insProduct.length > 0) {
             item.insProduct.forEach(a => {
               this.totalArr.push(a)
             })

--
Gitblit v1.9.3