From 42ea8c6cba21c555e254ac41ce976d7c2f9366f6 Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期日, 12 五月 2024 08:01:16 +0800
Subject: [PATCH] 各bug修复

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  252 ++++++++++++++++++++++++++++++++-----------------
 1 files changed, 163 insertions(+), 89 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 24d4b14..e0ff6ed 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -132,32 +132,32 @@
     color: #303133;
   }
 
-  .inspection .el-input-group__append{
+  .inspection .el-input-group__append {
     padding: 0 10px;
     color: #3A7BFA;
     background-color: #fff;
   }
 
-  .inspection .center-box .el-input__inner{
+  .inspection .center-box .el-input__inner {
     font-size: 12px;
     padding: 0 6px;
     text-align: center;
   }
 
-  .inspection .el-textarea__inner{
+  .inspection .el-textarea__inner {
     padding: 2px;
   }
 
-  .inspection .el-textarea__inner::-webkit-scrollbar{
+  .inspection .el-textarea__inner::-webkit-scrollbar {
     width: 0;
   }
 
-  .inspection .el-select{
+  .inspection .el-select {
     display: flex;
     align-items: center;
   }
 
-  .inspection .el-textarea__inner{
+  .inspection .el-textarea__inner {
     min-height: 100% !important;
   }
 </style>
@@ -168,7 +168,8 @@
       <el-col :span="12" style="text-align: right;">
         <el-button size="small" type="primary" @click="sampleVisible=true">鏍峰搧鍒囨崲</el-button>
         <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button>
-        <el-button size="small" type="primary" @click="submit" v-show="state==1" :loading="submitLoading">鎻愪氦</el-button>
+        <el-button size="small" type="primary" @click="addVerifyDia = true" v-show="state==1"
+          :loading="submitLoading">鎻愪氦</el-button>
         <!-- 澶嶆牳 -->
         <el-button size="medium" type="primary" @click="upInsReview(1)" :loading="reviewLoading"
           v-show="state>1">閫氳繃</el-button>
@@ -207,8 +208,8 @@
     <div class="center">
       <div class="search">
         <el-radio-group v-model="currentTable" size="small">
-          <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists"
-            :key="index" size="small">{{ item.templateName }}</el-radio-button>
+          <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index"
+            size="small">{{ item.templateName }}</el-radio-button>
         </el-radio-group>
       </div>
       <div class="center-box">
@@ -219,27 +220,29 @@
                 v-if="n.v.mc==undefined || Object.keys(n.v.mc).length === 4" :colspan="n.v.mc&&n.v.mc.cs?n.v.mc.cs:1"
                 :rowspan="n.v.mc&&n.v.mc.rs?n.v.mc.rs:1"
                 :style="`background:${n.v.bg};color:${n.v.fc};font-size:${n.v.fs}px;width:${handleWidth(n)}px !important;height:${item.style.rowlen[n.r]}px;font-wight:${n.v.bl?'bold':''};`">
-                <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`" :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`">
+                <div class="content" :class="`content-h-${n.v.ht} content-v-${n.v.vt}`"
+                  :style="`width:${handleWidth(n)}px !important;min-height:${item.style.rowlen[n.r]}px;`">
                   <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��' && state==1">
                     <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
                       :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
                       @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
-                      <el-button slot="append" type="primary" icon="el-icon-edit" size="mini" v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button>
+                      <el-button slot="append" type="primary" icon="el-icon-edit" size="mini"
+                        v-if="getInspectionItemType(n.i) == 1" @click="getSystemValue(n)"></el-button>
                     </el-input>
                     <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea"
-                       v-model="n.v.v"
+                      v-model="n.v.v"
                       :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
-                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)"/>
-                    <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input"  v-model="n.v.v"
-                      :disabled="state>1">
-                      <el-option label="鏄�" value="鏄�"></el-option>
-                      <el-option label="鍚�" value="鍚�"></el-option>
+                      @change="saveInsContext()" />
+                    <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
+                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()">
+                      <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
                     </el-select>
                     <span :style="`font-family:${n.v.ff} !important;`"
                       v-else-if="getInspectionValueType(n.i) == 4">/</span>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'">
-                    <el-select v-if="getInspectionValueType(n.i) == 2 && state==1" class="table_input" v-model="n.v.v" @change="saveInsContext()">
+                    <el-select v-if="(getInspectionValueType(n.i) == 2 || getInspectionValueType(n.i) == 5) && state==1" class="table_input" v-model="n.v.v"
+                      @change="saveInsContext()">
                       <el-option label="鍚堟牸" :value="1"></el-option>
                       <el-option label="涓嶅悎鏍�" :value="0"></el-option>
                     </el-select>
@@ -250,14 +253,24 @@
                     </template>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧缂栫爜' && state==1">
-                    <el-select v-model="n.v.v" placeholder="璁惧" @visible-change="e=>getEquipOptions(e,n.i)"
-                       remote @change="(val)=>changeEquip(val, n)">
+                    <el-select v-model="n.v.v" placeholder="璁惧" @visible-change="e=>getEquipOptions(e,n.i)" remote
+                      @change="(val)=>changeEquip(val, n)">
                       <el-option v-for="item in equipOptions" :key="item.value" :label="item.value" :value="item.value">
                       </el-option>
                     </el-select>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='瑕佹眰鍊�' && state==1">
                     <span :style="`font-family:${n.v.ff} !important;`">{{getTell(n.i)}}</span>
+                  </template>
+                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏈�缁堝��' && state==1">
+                    <el-input class="table_input" type="textarea"
+                      :disabled="getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')"
+                      v-model="n.v.v" @change="saveInsContext()" v-if="getInspectionValueType(n.i) == 2"></el-input>
+                    <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
+                      :disabled="state>1" @visible-change="e=>getDic(e,n.i)" @change="saveInsContext()">
+                      <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
+                    </el-select>
+                    <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                   </template>
                   <span v-else :style="`font-family:${n.v.ff} !important;`">{{n.v.v}}</span>
                 </div>
@@ -303,13 +316,27 @@
       <div class="body" style="display: flex;padding: 10px;" v-if="reviewDia">
         <div class="search_label" style="width: 150px;"><span class="required-span">* </span>涓嶉�氳繃鐨勭悊鐢憋細</div>
         <div class="search_input" style="width: 100%;">
-          <el-input size="small" clearable v-model="noReason" type="textarea"
-            :autosize="{ minRows: 4}"></el-input>
+          <el-input size="small" clearable v-model="noReason" type="textarea" :autosize="{ minRows: 4}"></el-input>
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="reviewDia = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="handleReviewDia" :loading="reviewLoading">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
+    <el-dialog title="鎸囧畾澶嶆牳浜哄憳" :visible.sync="addVerifyDia" width="400px">
+      <div class="body" style="display: flex;padding: 10px;align-items: center;">
+        <div class="search_label" style="width: 150px;"><span class="required-span">*</span>澶嶆牳浜�</div>
+        <div class="search_input" style="width: 100%;">
+          <el-select v-model="verifyUser" placeholder="璇烽�夋嫨" size="small" style="width: 100%;" clearable filterable>
+            <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
+            </el-option>
+          </el-select>
+        </div>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="addVerifyDia = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="submit()">纭� 瀹�</el-button>
       </span>
     </el-dialog>
   </div>
@@ -380,9 +407,13 @@
         reviewDia: false,
         noReason: '',
         tableWidth: 1000,
-        currentTable:null,
-        tableLists:[],
-        widthList:[]
+        currentTable: null,
+        tableLists: [],
+        widthList: [],
+        addVerifyDia: false,
+        verifyUser: null,
+        personList: [],
+        enumList: []
       }
     },
     created() {
@@ -394,6 +425,7 @@
       this.getTypeDicts()
       this.getInsStateDicts()
       this.getComparisonList()
+      this.getAuthorizedPerson()
     },
     watch: {
       id(val) {
@@ -428,10 +460,10 @@
           this.currentKey = 1;
         })
       },
-      currentTable(val1,val0){
-        if(val0!=null&&val1!=val0){
-          this.tableLists.forEach((m,i)=>{
-            if(m.templateId==val1){
+      currentTable(val1, val0) {
+        if (val0 != null && val1 != val0) {
+          this.tableLists.forEach((m, i) => {
+            if (m.templateId == val1) {
               this.tableList = null;
               this.tableList = [(this.tableLists[i])];
               this.handleTableData()
@@ -508,13 +540,24 @@
           this.comparisonList = data;
         })
       },
+      selectEnumByCategoryOfSelect(val) {
+        this.enumList = []
+        if(val===undefined||val===null){
+          return
+        }
+        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+          category: val
+        }).then(res => {
+          this.enumList = res.data;
+        })
+      },
       tableRowClassName({
         row,
         rowIndex
       }) {
         row.index = rowIndex + 1;
       },
-      getTableLists(){
+      getTableLists() {
         const mySet1 = new Set();
         this.tableLists = this.currentSample.insProduct.filter(m => {
           let num0 = mySet1.size;
@@ -529,7 +572,7 @@
             return m
           }
         });
-        if(this.tableLists&&this.tableLists.length>0){
+        if (this.tableLists && this.tableLists.length > 0) {
           this.tableList = null;
           this.tableList = [this.tableLists[0]]
           this.currentTable = this.tableLists[0].templateId;
@@ -597,18 +640,19 @@
                 for (let i in this.currentSample.insProduct) {
                   if (this.currentSample.insProduct[i].templateId === a.templateId && this.currentSample
                     .insProduct[i].inspectionItem +
-                     (this.currentSample.insProduct[i].inspectionItemSubclass==null?'':this.currentSample.insProduct[i].inspectionItemSubclass)
-                     === str) {
-                      ids.push({
-                        r: b.r,
-                        id: this.currentSample.insProduct[i].id,
-                        product: this.currentSample.insProduct[i]
-                      })
-                      break
+                    (this.currentSample.insProduct[i].inspectionItemSubclass == null ? '' : this.currentSample
+                      .insProduct[i].inspectionItemSubclass) ===
+                    str) {
+                    ids.push({
+                      r: b.r,
+                      id: this.currentSample.insProduct[i].id,
+                      product: this.currentSample.insProduct[i]
+                    })
+                    break
                   }
                   count2++
                 }
-                if(count2 == this.currentSample.insProduct.length){
+                if (count2 == this.currentSample.insProduct.length) {
                   dels.add(b.r)
                 }
               }
@@ -629,7 +673,8 @@
                 if (a.template[b].v.ps != undefined && a.template[b].v.ps.value === '鍗曚綅') {
                   a.template[b].v.v = id.product.unit
                 }
-                if (a.template[b].v.ps != undefined && (a.template[b].v.ps.value === '璇曢獙鏂规硶' || a.template[b].v.ps.value === '妫�娴嬫柟娉�')) {
+                if (a.template[b].v.ps != undefined && (a.template[b].v.ps.value === '璇曢獙鏂规硶' || a.template[b].v
+                    .ps.value === '妫�娴嬫柟娉�')) {
                   a.template[b].v.v = id.product.methodS
                 }
               }
@@ -675,19 +720,19 @@
             if (b.v.ps != undefined && b.v.ps.value === '妫�楠屽��') {
               b.v.v = ''
               b.u = ''
-              b.i&&this.param[b.i].insValue.push(b)
+              b.i && this.param[b.i].insValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁$畻鍊�') {
               b.v.v = ''
-              b.i&&this.param[b.i].comValue.push(b)
+              b.i && this.param[b.i].comValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') {
               b.v.v = ''
-              b.i&&this.param[b.i].equipValue.push(b)
+              b.i && this.param[b.i].equipValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') {
               b.v.v = ''
-              b.i&&this.param[b.i].equipName.push(b)
+              b.i && this.param[b.i].equipName.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') {
               b.v.v = ''
@@ -698,12 +743,12 @@
               } else {
                 this.param[b.i].resValue = b
               } */
-              if(b.i !== undefined){
+              if (b.i !== undefined) {
                 this.param[b.i].resValue = b
               }
             }
             if (b.v.ps != undefined && b.v.ps.value === '缁撹') {
-              if(b.i!==undefined){
+              if (b.i !== undefined) {
                 this.param[b.i].insResult = b
                 conclusionList.forEach((n, i) => {
                   if (n.r == b.r && n.c == b.c) {
@@ -803,7 +848,7 @@
                 }
               })
             })
-            if (item.methodName == '鑷畾涔夋柟娉�' && item.v.ps!=undefined && item.v.ps.value == '缁撹') {
+            if (item.methodName == '鑷畾涔夋柟娉�' && item.v.ps != undefined && item.v.ps.value == '缁撹') {
               if (this.currentSample.insProduct.find(m => m.id == item.i)) {
                 let ask = this.currentSample.insProduct.find(m => m.id == item.i).ask.split('&');
                 let res = Object.values(comValue)[0]
@@ -867,13 +912,13 @@
                   valueList.forEach(b => {
                     str = str.replace(b.name, b.value)
                   })
-                  if(item.v.f.includes('/')>-1){
-                    if(Object.getOwnPropertyNames(comValue).length==valueList.length){
+                  if (item.v.f.includes('/') > -1) {
+                    if (Object.getOwnPropertyNames(comValue).length == valueList.length) {
                       comResult = eval(str)
-                    }else{
+                    } else {
                       comResult = ''
                     }
-                  }else{
+                  } else {
                     comResult = eval(str)
                   }
                   break;
@@ -883,7 +928,7 @@
                   for (var b in a) {
                     if (a[b].c == item.c) {
                       let val = parseFloat(comResult.toFixed(3))
-                      a[b].v.v = isNaN(val)?'':val
+                      a[b].v.v = isNaN(val) ? '' : val
                       break
                     }
                   }
@@ -895,19 +940,19 @@
         })
         this.getCurrentInsProduct(pId)
       },
-      getCurrentInsProduct(pId){
-        if(!this.tableList[0].insProductResult){
+      getCurrentInsProduct(pId) {
+        if (!this.tableList[0].insProductResult) {
           this.tableList[0].insProductResult = {}
         }
-        for (let m in this.param[pId]){
+        for (let m in this.param[pId]) {
           let value = this.param[pId][m]
-          switch (m){
+          switch (m) {
             case 'comValue':
-              if(value&&value.length>0){
-                this.tableList[0].insProductResult[m]=[];
-                value.forEach((a,i)=>{
+              if (value && value.length > 0) {
+                this.tableList[0].insProductResult[m] = [];
+                value.forEach((a, i) => {
                   let obj = {
-                    v:a.v.v,
+                    v: a.v.v,
                   }
                   this.tableList[0].insProductResult[m].push(obj);
                 })
@@ -915,12 +960,12 @@
               this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m])
               break;
             case 'insValue':
-              if(value&&value.length>0){
-                this.tableList[0].insProductResult[m]=[];
-                value.forEach((a,i)=>{
+              if (value && value.length > 0) {
+                this.tableList[0].insProductResult[m] = [];
+                value.forEach((a, i) => {
                   let obj = {
-                    v:a.v.v,
-                    u:a.u,
+                    v: a.v.v,
+                    u: a.u,
                   }
                   this.tableList[0].insProductResult[m].push(obj);
                 })
@@ -928,11 +973,11 @@
               this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m])
               break;
             case 'equipValue':
-              if(value&&value.length>0){
-                this.tableList[0].insProductResult[m]=[];
-                value.forEach((a,i)=>{
+              if (value && value.length > 0) {
+                this.tableList[0].insProductResult[m] = [];
+                value.forEach((a, i) => {
                   let obj = {
-                    v:a.v.v,
+                    v: a.v.v,
                   }
                   this.tableList[0].insProductResult[m].push(obj);
                 })
@@ -940,11 +985,11 @@
               this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m])
               break;
             case 'equipName':
-              if(value&&value.length>0){
-                this.tableList[0].insProductResult[m]=[];
-                value.forEach((a,i)=>{
+              if (value && value.length > 0) {
+                this.tableList[0].insProductResult[m] = [];
+                value.forEach((a, i) => {
                   let obj = {
-                    v:a.v.v,
+                    v: a.v.v,
                   }
                   this.tableList[0].insProductResult[m].push(obj);
                 })
@@ -992,7 +1037,7 @@
               let regex = /[=\+\-\*\%\(\)\/\s]/g
               let mode = item.v.f.replace(regex, ' ').split(' ');
               mode.filter(m => m && !Number(m)).forEach(m => {
-                let r =  m.replace(/[a-zA-Z]/g, "") - 1
+                let r = m.replace(/[a-zA-Z]/g, "") - 1
                 let c = this.comparisonList.find(j => j.label == m.split('')[0]).value
                 valueList.push({
                   c,
@@ -1019,15 +1064,15 @@
           }
         }
       },
-      handleWidth(n){
+      handleWidth(n) {
         let sum = 0;
-        if(n.v.mc&&n.v.mc.cs&&n.v.mc.c!=undefined){
-          for(let i=0;i<n.v.mc.cs;i++){
-            let num = this.widthList[i+n.v.mc.c]?this.widthList[i+n.v.mc.c]:100
-            sum+=num;
+        if (n.v.mc && n.v.mc.cs && n.v.mc.c != undefined) {
+          for (let i = 0; i < n.v.mc.cs; i++) {
+            let num = this.widthList[i + n.v.mc.c] ? this.widthList[i + n.v.mc.c] : 100
+            sum += num;
           }
-        }else{
-          sum = this.widthList[n.c]?this.widthList[n.c]:100
+        } else {
+          sum = this.widthList[n.c] ? this.widthList[n.c] : 100
         }
         return sum
       },
@@ -1079,6 +1124,17 @@
           }).catch(error => {
             console.error(error)
           })
+        }
+      },
+      getDic(e, id) {
+        if (e) {
+          for (var a in this.currentSample.insProduct) {
+            if (this.currentSample.insProduct[a].id == id) {
+              let str = this.currentSample.insProduct[a].dic
+              this.selectEnumByCategoryOfSelect(str)
+              return str
+            }
+          }
         }
       },
       getUserInfo() {
@@ -1134,10 +1190,16 @@
         }
       },
       submit() {
+        if (this.verifyUser === null || this.verifyUser === '') {
+          this.$message.error("璇锋寚瀹氬鏍镐汉鍛�")
+          return
+        }
+        this.addVerifyDia = false
         this.submitLoading = true;
         this.$axios.post(this.$api.insOrderPlan.submitPlan, {
           orderId: this.orderId,
           laboratory: this.sonLaboratory,
+          verifyUser: this.verifyUser
         }).then(res => {
           if (res.code === 200) {
             this.$message.success("鎿嶄綔鎴愬姛")
@@ -1149,7 +1211,7 @@
           this.submitLoading = false;
         })
       },
-      saveInsContext(){
+      saveInsContext() {
         this.$axios.post(this.$api.insOrderPlan.saveInsContext, {
           param: JSON.stringify(this.param)
         }).then(res => {
@@ -1160,18 +1222,30 @@
           this.$message.success('宸蹭繚瀛�')
         })
       },
-      changeEquip(val,n){
-        for(let i in this.equipOptions){
-          if(this.equipOptions[i].value === val){
-            for(let i1 in this.param[n.i].equipName){
-              if(this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r){
+      changeEquip(val, n) {
+        for (let i in this.equipOptions) {
+          if (this.equipOptions[i].value === val) {
+            for (let i1 in this.param[n.i].equipName) {
+              if (this.param[n.i].equipName[i1].i === n.i && this.param[n.i].equipName[i1].r === n.r) {
                 this.param[n.i].equipName[i1].v.v = this.equipOptions[i].label
               }
             }
           }
         }
         this.saveInsContext()
-      }
+      },
+      getAuthorizedPerson() {
+        this.$axios.get(this.$api.user.getUserMenu).then(res => {
+          let data = []
+          res.data.forEach(a => {
+            data.push({
+              label: a.name,
+              value: a.id
+            })
+          })
+          this.personList = data
+        })
+      },
     }
   }
 </script>

--
Gitblit v1.9.3