From cbef8fa558dad5e994827bf1bd05e3abf8940d80 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期一, 29 四月 2024 13:43:28 +0800
Subject: [PATCH] 任务检验模板切换完成80%'

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  175 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 151 insertions(+), 24 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 7680dda..3f82a71 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -138,6 +138,12 @@
     color: #3A7BFA;
     background-color: #fff;
   }
+
+  .inspection .center-box .el-input__inner{
+    font-size: 12px;
+    padding: 0 6px;
+    text-align: center;
+  }
 </style>
 <template>
   <div v-loading="loading" class="inspection">
@@ -183,6 +189,12 @@
       </el-form>
     </div>
     <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-group>
+      </div>
       <div class="center-box">
         <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index"
           :style="`width: ${tableWidth}px;`">
@@ -193,9 +205,9 @@
                 :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"
+                      :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>
@@ -214,9 +226,9 @@
                     <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>
@@ -261,12 +273,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">
@@ -341,7 +353,9 @@
         reviewLoading: false,
         reviewDia: false,
         noReason: '',
-        tableWidth: 1000
+        tableWidth: 1000,
+        currentTable:null,
+        tableLists:[]
       }
     },
     created() {
@@ -375,15 +389,28 @@
               comValue: [],
               resValue: null,
               equipValue: [],
+              equipName: [],
               insResult: null
             }
           })
           if (this.currentSample.index == undefined) this.currentSample['index'] = 1
           this.loading = false
-          this.handleTableData()
+          // this.handleTableData()
+          this.getTableLists();
           this.componentData.currentId = val;
           this.currentKey = 1;
         })
+      },
+      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()
+            }
+          })
+        }
       }
     },
     methods: {
@@ -396,10 +423,12 @@
             comValue: [],
             resValue: null,
             equipValue: [],
+            equipName: [],
             insResult: null
           }
         })
-        this.handleTableData()
+        // this.handleTableData()
+        this.getTableLists();
         this.sampleVisible = false;
         this.currentKey = row.index
       },
@@ -458,10 +487,9 @@
       }) {
         row.index = rowIndex + 1;
       },
-      handleTableData() {
-        this.excelMethodList = []
+      getTableLists(){
         const mySet1 = new Set();
-        this.tableList = JSON.parse(JSON.stringify(this.currentSample.insProduct)).filter(m => {
+        this.tableLists = this.currentSample.insProduct.filter(m => {
           let num0 = mySet1.size;
           if (m.templateId != null) {
             mySet1.add(JSON.stringify({
@@ -473,7 +501,16 @@
           if (num1 > num0) {
             return m
           }
-        })
+        });
+        if(this.tableLists&&this.tableLists.length>0){
+          this.tableList = null;
+          this.tableList = [this.tableLists[0]]
+          this.currentTable = this.tableLists[0].templateId;
+          this.handleTableData()
+        }
+      },
+      handleTableData() {
+        this.excelMethodList = []
         this.tableList.forEach(a => {
           let mcList = []
           a.template.forEach(b => {
@@ -606,7 +643,7 @@
             if (b.v.ps != undefined && b.v.ps.value === '妫�楠屽��') {
               b.v.v = ''
               b.u = ''
-              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 = ''
@@ -615,6 +652,10 @@
             if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') {
               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 = ''
@@ -677,11 +718,18 @@
             }
           } 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
             this.param[a.id].insResult.v.v = a.insResult
           } catch (e) {}
         })
         this.handleExcelMethod()
+        console.log(55555555555,this.currentSample.insProduct,this.tableList,this.param)
       },
       changeInput(m, code) {
         let str = code.split('-')
@@ -795,7 +843,7 @@
                   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(3))
@@ -804,10 +852,77 @@
                   }
                 }
               })
-              this.changeInput(comResult, `${code.split('-')[0]}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝��
+              this.changeInput(comResult, `${id}-${item.r}-${item.c}-${pId}`) //鏀瑰彉鏈�缁堝��
             }
           }
         })
+        this.getCurrentInsProduct(pId)
+      },
+      getCurrentInsProduct(pId){
+        if(!this.tableList[0].insProductResult){
+          this.tableList[0].insProductResult = {}
+        }
+        for (let m in this.param[pId]){
+          let value = this.param[pId][m]
+          switch (m){
+            case 'comValue':
+              if(value&&value.length>0){
+                this.tableList[0].insProductResult[m]=[];
+                value.forEach((a,i)=>{
+                  let obj = {
+                    v:a.v.v,
+                  }
+                  this.tableList[0].insProductResult[m].push(obj);
+                })
+              }
+              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)=>{
+                  let obj = {
+                    v:a.v.v,
+                    u:a.u,
+                  }
+                  this.tableList[0].insProductResult[m].push(obj);
+                })
+              }
+              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)=>{
+                  let obj = {
+                    v:a.v.v,
+                  }
+                  this.tableList[0].insProductResult[m].push(obj);
+                })
+              }
+              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)=>{
+                  let obj = {
+                    v:a.v.v,
+                  }
+                  this.tableList[0].insProductResult[m].push(obj);
+                })
+              }
+              this.tableList[0].insProductResult[m] = JSON.stringify(this.tableList[0].insProductResult[m])
+              break;
+            case 'resValue':
+              console.log(this.param)
+              this.tableList[0].lastValue = value.v.v
+              break;
+            case 'insResult':
+              this.tableList[0].insResult = value.v.v
+              break;
+          }
+        }
       },
       handleExcelMethod() {
         if (this.excelMethodList.length > 0) {
@@ -825,9 +940,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({
@@ -836,7 +951,6 @@
                   })
                 }
               }
-              item.valueList = valueList;
             } else {
               valueList = []
               let regex = /[=\+\-\*\%\(\)\/\s]/g
@@ -894,9 +1008,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 => {
@@ -990,6 +1106,17 @@
           }
           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