From d3a7b64c6855523c1d4b4978df09eda788c0064c Mon Sep 17 00:00:00 2001
From: value <z1292839451@163.com>
Date: 星期三, 24 四月 2024 18:20:41 +0800
Subject: [PATCH] 检验模板调整

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  147 ++++++++++++++++++++++++++++++++----------------
 1 files changed, 98 insertions(+), 49 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 6946ec5..4e7f56e 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -114,11 +114,11 @@
   }
 </style>
 <style>
-  .el-form-item__label {
+  .inspection .el-form-item__label {
     color: #000;
   }
 
-  .el-drawer__header::before {
+  .inspection .el-drawer__header::before {
     content: "";
     display: inline-block;
     width: 4px;
@@ -129,8 +129,20 @@
     margin-right: 8.5px;
   }
 
-  .el-drawer__header {
+  .inspection .el-drawer__header {
     color: #303133;
+  }
+
+  .inspection .el-input-group__append{
+    padding: 0 10px;
+    color: #3A7BFA;
+    background-color: #fff;
+  }
+
+  .inspection .center-box .el-input__inner{
+    font-size: 12px;
+    padding: 0 6px;
+    text-align: center;
   }
 </style>
 <template>
@@ -187,10 +199,12 @@
                 :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:${item.style.columnlen[n.c]}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}`">
-                  <template v-if="n.v.ps!=undefined && n.v.ps.value==='妫�楠屽��'">
+                  <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 != '')||state>1"
-                      @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)" />
+                      :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-input>
                     <el-input v-else-if="getInspectionValueType(n.i) == 2" class="table_input" type="textarea"
                       :autosize="{ minRows: 1}" v-model="n.v.v" :disabled="state>1" />
                     <el-select v-else-if="getInspectionValueType(n.i) == 5" class="table_input" v-model="n.v.v"
@@ -200,19 +214,15 @@
                     </el-select>
                     <span :style="`font-family:${n.v.ff} !important;`"
                       v-else-if="getInspectionValueType(n.i) == 4">/</span>
-                    <el-button type="primary" icon="el-icon-edit" size="mini" circle
-                      v-if="getInspectionItemType(n.i) == 1" style="border: 0;margin-left: 2px;"
-                      @click="getSystemValue(n)" :disabled="(n.u != userId && n.u != undefined && n.u != '')||state>1">
-                    </el-button>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='缁撹'">
                     <span v-if="n.v.v===1" :style="`font-family:${n.v.ff} !important;color: green;`">鍚堟牸</span>
                     <span v-else-if="n.v.v===0" :style="`font-family:${n.v.ff} !important;color: red;`">涓嶅悎鏍�</span>
                     <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span>
                   </template>
-                  <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='璁惧缂栫爜'">
+                  <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)"
-                      :disabled="state>1">
+                       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>
@@ -257,12 +267,12 @@
       <ValueTable class="value-table" ref="insOrderPlan" :url="$api.insOrderPlan.selectInsOrderPlanList"
         :componentData="componentData" :key="upIndex" />
     </el-drawer>
-    <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="400px">
-      <div class="body" style="display: flex;" v-if="reviewDia">
-        <div class="search_label" style="width: 120px;"><span class="required-span">* </span>涓嶉�氳繃鍘熷洜锛�</div>
-        <div class="search_input">
+    <el-dialog title="妫�楠屽鏍�" :visible.sync="reviewDia" width="500px">
+      <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: 3, maxRows: 5}"></el-input>
+            :autosize="{ minRows: 4}"></el-input>
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
@@ -371,6 +381,7 @@
               comValue: [],
               resValue: null,
               equipValue: [],
+              equipName: [],
               insResult: null
             }
           })
@@ -392,6 +403,7 @@
             comValue: [],
             resValue: null,
             equipValue: [],
+            equipName: [],
             insResult: null
           }
         })
@@ -483,8 +495,12 @@
               for (var i = 0; i < b.v.mc.cs; i++) {
                 for (var i2 = 0; i2 < b.v.mc.rs; i2++) {
                   if (a.template[c].c === b.c + i && a.template[c].r === b.r + i2) {
-                    a.template[c].v.v = this.HaveJson(b).v.v
-                    a.template[c].v.ps = this.HaveJson(b).v.ps
+                    let bb = this.HaveJson(b)
+                    a.template[c].v.v = bb.v.v
+                    a.template[c].v.ps = bb.v.ps
+                    a.template[c].v.fc = bb.v.fc
+                    a.template[c].v.fs = bb.v.fs
+                    a.template[c].v.ht = bb.v.ht
                     a.template[c].mc = count
                     break
                   }
@@ -522,8 +538,7 @@
               if (str != '') {
                 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) {
+                    .insProduct[i].inspectionItem + this.currentSample.insProduct[i].inspectionItemSubclass === str) {
                       ids.push({
                         r: b.r,
                         id: this.currentSample.insProduct[i].id,
@@ -554,7 +569,7 @@
                   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.v = id.product.method
+                  a.template[b].v.v = id.product.methodS
                 }
               }
             }
@@ -609,6 +624,10 @@
               b.v.v = ''
               this.param[b.i].equipValue.push(b)
             }
+            if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') {
+              b.v.v = ''
+              this.param[b.i].equipName.push(b)
+            }
             if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') {
               b.v.v = ''
               if (b.i === undefined) {
@@ -633,7 +652,6 @@
               this.excelMethodList.push(b)
             }
           })
-          console.log(this.param);
           set = Array.sort(set)
           set.forEach(b => {
             let arr = []
@@ -665,7 +683,16 @@
             }
           } catch (e) {}
           try {
-            this.param[a.id].equipValue.v.v = a.insProductResult.equipValue
+            let equipValue = JSON.parse(a.insProductResult.equipValue)
+            for (var i = 0; i < equipValue.length; i++) {
+              this.param[a.id].equipValue[i].v.v = equipValue[i].v
+            }
+          } catch (e) {}
+          try {
+            let equipName = JSON.parse(a.insProductResult.equipName)
+            for (var i = 0; i < equipName.length; i++) {
+              this.param[a.id].equipName[i].v.v = equipName[i].v
+            }
           } catch (e) {}
           try {
             this.param[a.id].resValue.v.v = a.lastValue
@@ -710,10 +737,9 @@
                 }
               })
             })
-            // console.log('褰撳墠鐨勬柟娉�',item.methodName,item.r,item.c,this.excelMethodList)
-            if (item.methodName == '鑷畾涔夋柟娉�' && item.v.ps && item.v.ps.value == '缁撹') {
-              if (this.tableList.find(m => m.id == item.i)) {
-                let ask = this.tableList.find(m => m.id == item.i).ask.split('&');
+            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]
                 let comp = ask.map((m, i) => {
                   if (m.includes('=')) {
@@ -737,17 +763,7 @@
                 } else {
                   item.v.v = 0
                 }
-                this.$axios.post(this.$api.insOrderPlan.saveInsContext, this.param, {
-                  headers: {
-                    'Content-Type': 'application/json'
-                  }
-                }).then(res => {
-                  if (res.code == 201) {
-                    this.$message.error('淇濆瓨澶辫触')
-                    return
-                  }
-                  this.$message.success('宸蹭繚瀛�')
-                })
+                this.saveInsContext()
               }
             } else {
               let comResult = 0;
@@ -785,20 +801,28 @@
                   valueList.forEach(b => {
                     str = str.replace(b.name, b.value)
                   })
-                  comResult = eval(str)
+                  if(item.v.f.includes('/')>-1){
+                    if(Object.getOwnPropertyNames(comValue).length==valueList.length){
+                      comResult = eval(str)
+                    }else{
+                      comResult = ''
+                    }
+                  }else{
+                    comResult = eval(str)
+                  }
                   break;
               }
               list.forEach(a => {
-                if (a[0].r == item.r) {
+                if (a[0].r == item.r && comResult != '') {
                   for (var b in a) {
                     if (a[b].c == item.c) {
-                      a[b].v.v = parseFloat(comResult.toFixed(2))
+                      a[b].v.v = parseFloat(comResult.toFixed(3))
                       break
                     }
                   }
                 }
               })
-              this.changeInput(comResult, `${code.split('-')[0]}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝��
+              this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝��
             }
           }
         })
@@ -819,9 +843,9 @@
               let start = mode.split(':')[0]
               let end = mode.split(':')[1]
               c0 = this.comparisonList.find(j => j.label == start.split('')[0]).value
-              r0 = start.split('')[1] - 1
+              r0 = start.replace(/[a-zA-Z]/g, "") - 1
               c1 = this.comparisonList.find(j => j.label == end.split('')[0]).value
-              r1 = end.split('')[1] - 1
+              r1 = end.replace(/[a-zA-Z]/g, "") - 1
               for (let i = Number(r0); i <= Number(r1); i++) {
                 for (let u = Number(c0); u <= Number(c1); u++) {
                   valueList.push({
@@ -830,13 +854,12 @@
                   })
                 }
               }
-              item.valueList = valueList;
             } else {
               valueList = []
               let regex = /[=\+\-\*\%\(\)\/\s]/g
               let mode = item.v.f.replace(regex, ' ').split(' ');
               mode.filter(m => m && !Number(m)).forEach(m => {
-                let r = m.split('')[1] - 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,
@@ -888,9 +911,11 @@
       },
       getEquipOptions(e, id) {
         if (e) {
-          let category = this.currentSample.insProduct.find(m => m.id == id).deviceGroup
+          this.equipOptions = []
+          let product = this.currentSample.insProduct.find(m => m.id == id)
           this.$axios.post(this.$api.deviceScope.selectDeviceByCategory, {
-            category
+            inspectionItem: product.inspectionItem,
+            inspectionItemSubclass: product.inspectionItemSubclass
           }).then(res => {
             if (res.code === 200 && res.data) {
               this.equipOptions = res.data.map(m => {
@@ -971,6 +996,30 @@
           console.error(error)
           this.submitLoading = false;
         })
+      },
+      saveInsContext(){
+        this.$axios.post(this.$api.insOrderPlan.saveInsContext, this.param, {
+          headers: {
+            'Content-Type': 'application/json'
+          }
+        }).then(res => {
+          if (res.code == 201) {
+            this.$message.error('淇濆瓨澶辫触')
+            return
+          }
+          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){
+                this.param[n.i].equipName[i1].v.v = this.equipOptions[i].label
+              }
+            }
+          }
+        }
       }
     }
   }

--
Gitblit v1.9.3