From cd948d4615d3ae6c571e4ed04275e851632a2dba Mon Sep 17 00:00:00 2001
From: lxp <1928192722@qq.com>
Date: 星期五, 09 八月 2024 09:24:20 +0800
Subject: [PATCH] Merge branch 'master' of http://114.132.189.42:9002/r/center-lims-before

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  228 +++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 165 insertions(+), 63 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 779e09f..c454335 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -254,18 +254,20 @@
       </el-col>
     </el-row>
     <div class="search">
-      <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px">
+      <el-form :inline="true" :model="searchForm" class="form-inline" label-width="100px" label-position="right">
         <el-form-item label="濮旀墭缂栧彿:">
           <el-input clearable v-model="insOrder.entrustCode" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
         </el-form-item>
         <el-form-item label="鏍峰搧缂栧彿:">
-          <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" style="width: 100px;"></el-input>
+          <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode">
+            <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" ></el-input>
+          </el-tooltip>
         </el-form-item>
         <el-form-item label="鏍峰搧鍚嶇О:">
           <el-input clearable v-model="currentSample.sample" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
         </el-form-item>
         <el-form-item label="鏍峰搧鏁伴噺:">
-          <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" style="width: 70px;"></el-input>
+          <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" ></el-input>
         </el-form-item>
         <el-form-item label="涓嬪彂鏃堕棿:">
           <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
@@ -274,7 +276,7 @@
           <el-input clearable v-model="insOrder.typeName" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
         </el-form-item>
         <el-form-item label="绾﹀畾鏃堕棿:">
-          <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�" style="width: 100px;"></el-input>
+          <el-input clearable v-model="insOrder.appointed" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
         </el-form-item>
         <el-form-item label="褰撳墠鏍峰搧浣嶆暟:">
           <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag>
@@ -295,8 +297,19 @@
           </el-radio-group>
         </div>
         <div style="display: flex;align-items: center;">
+          <span v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'">&nbsp;&nbsp;濂楃锛�</span>
+          <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,3)" v-if="casing.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)">
+            <el-option
+              v-for="item in casing"
+              :key="item.id"
+              :label="item.color"
+              :value="item.id">
+              <span style="float: left">{{ item.color}}</span>
+              <el-tag :type="item.state==1?'success':'danger'" style="float: right;margin-top: 5px;" size="small">{{ item.state==1?'宸叉':'鏈' }}</el-tag>
+            </el-option>
+          </el-select>
           <span v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'">&nbsp;&nbsp;鍏夌氦甯︼細</span>
-          <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small">
+          <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,1)" v-if="fibers.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)">
             <el-option
               v-for="item in fibers"
               :key="item.value"
@@ -307,7 +320,7 @@
             </el-option>
           </el-select>
           <span v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'">&nbsp;&nbsp;鍏夌氦锛�</span>
-          <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small">
+          <el-select v-model="currentTab" placeholder="璇烽�夋嫨" @change="m=>handleChange(m,2)" v-if="fiber.length>0&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'" size="small" :loading="getReportModelLoading" @focus="getReportModel(currentSample.id)">
             <el-option
               v-for="item in fiber"
               :label="item.bushColor+'-'+item.color"
@@ -371,6 +384,7 @@
                     <template v-if="PROJECT=='妫�娴嬩腑蹇�'||PROJECT=='瑁呭鐢电紗'&&getInspectionValueType(n.i) != 2 ">
                       <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-if="n.v.v===3" :style="`font-family:${n.v.ff} !important;color: #3A7BFA;`">涓嶅垽瀹�</span>
                       <span v-else :style="`font-family:${n.v.ff} !important;`">寰呭畾</span>
                     </template>
                   </template>
@@ -404,7 +418,7 @@
                       <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
                       <div :style="`font-family:${n.v.ff} !important;overflow: hidden;white-space: nowrap;width: calc(100% - 32px);`">{{currentSample.sampleCode}}</div>
                       <i class="el-icon-caret-right table_caret" style="width: 16px;"
-                      v-if="!currentFiberOpticTape&&!currentFiberOptic"@click="caretSample(1)"></i>
+                      v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i>
                     </div>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'">
@@ -599,6 +613,7 @@
               <template slot-scope="scope">
                 <span v-if="scope.row.arr[index].insResult===1" style="color: green;">鍚堟牸</span>
                 <span v-else-if="scope.row.arr[index].insResult===0" style="color: red;">涓嶅悎鏍�</span>
+                <span v-else-if="scope.row.arr[index].insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span>
                 <span v-else>寰呭畾</span>
               </template>
             </el-table-column>
@@ -678,6 +693,7 @@
                 <template v-else>
                   <span v-if="item.insResult===1" style="color: green;">鍚堟牸</span>
                   <span v-else-if="item.insResult===0" style="color: red;">涓嶅悎鏍�</span>
+                  <span v-else-if="item.insResult===3" style="color: #3A7BFA;">涓嶅垽瀹�</span>
                   <span v-else>寰呭畾</span>
                 </template>
               </td>
@@ -751,6 +767,7 @@
               size="medium" style="margin-right: 5px;">{{item.label}}</el-tag>
           </template>
         </el-table-column>
+        <el-table-column prop="checkName" label="妫�楠屼汉" min-width="80px" show-overflow-tooltip></el-table-column>
         <el-table-column prop="isLeave" label="鏄惁鐣欐牱" width="95px" show-overflow-tooltip align="center">
           <template slot-scope="scope">
             <span>{{ scope.row.isLeave==0?'鍚�':'鏄�' }}</span>
@@ -929,6 +946,8 @@
           requiredUp: []
         },
         upIndex: 0,
+        changeType:null,
+        getReportModelLoading:false,
         insOrder: {},
         sampleProduct: [],
         typeList: [],
@@ -971,6 +990,7 @@
         temptList:null,
         fiber:[],
         fibers:[],
+        casing:[],
         currentTab:null,
         wareForm:{
           inspectionItem:1,
@@ -1035,7 +1055,8 @@
           }
         ],
         getDataIndex:[],
-        getDataIndexLoading:false
+        getDataIndexLoading:false,
+        changeType:null,
       }
     },
     computed: {
@@ -1093,15 +1114,18 @@
           }
           let list = await this.getCurrentProduct(this.currentSample.id,0)
           this.currentSample.insProduct = this.HaveJson(list)
-          // console.log(this.currentSample)
+          this.param = {}
+          this.changeType = 0;
           this.currentSample.insProduct.forEach(a => {
-            this.param[a.id] = {
-              insValue: [],
-              comValue: [],
-              resValue: null,
-              equipValue: [],
-              equipName: [],
-              insResult: null
+            if(this.handleCasing(a.inspectionItem)){
+              this.param[a.id] = {
+                insValue: [],
+                comValue: [],
+                resValue: null,
+                equipValue: [],
+                equipName: [],
+                insResult: null
+              }
             }
           })
           this.determineWhetherToCollectData()
@@ -1127,19 +1151,30 @@
       },
       currentTable(val1, val0) {
         if (val0 != null && val1 != val0) {
+          if(this.tableLists.find(m=>m.templateId==val1)&&(this.tableLists.find(m=>m.templateId==val1).templateName=='鎴愬搧缂嗘楠屽師濮嬭褰�')){
+            if(this.casing.length>0){
+              this.handleChange(this.casing[0].id,3)
+            }
+            return
+          }
+          if(this.changeType&&this.changeType>0){
+            return
+          }
           this.tableLists.forEach(async (m, i) => {
             if (m.templateId == val1) {
               let list = await this.getCurrentProduct(this.currentSample.id,0)
               this.currentSample.insProduct = this.HaveJson(list)
-              // console.log(this.currentSample)
+              this.param = {}
               this.currentSample.insProduct.forEach(a => {
-                this.param[a.id] = {
-                  insValue: [],
-                  comValue: [],
-                  resValue: null,
-                  equipValue: [],
-                  equipName: [],
-                  insResult: null
+                if(this.handleCasing(a.inspectionItem)){
+                  this.param[a.id] = {
+                    insValue: [],
+                    comValue: [],
+                    resValue: null,
+                    equipValue: [],
+                    equipName: [],
+                    insResult: null
+                  }
                 }
               })
               this.getReportModel(this.currentSample.id)
@@ -1166,9 +1201,6 @@
                 this.tableList = this.tableLists.filter(m => m.templateId == val1)
                 this.handleTableData()
               }
-              // this.$delete(this.tableList,0)
-              // this.$set(this.tableList, 0, m)
-              // this.handleTableData()
             }
           })
         }
@@ -1276,6 +1308,32 @@
                 value:data[i][j].result,
                 frequency:data[i].frequency
               }
+              let list = this.tableList[0].arr
+              list.forEach((item,index)=>{
+                let num0 = 0;
+                let str = ''
+                let str0 = i+','+j
+                item.forEach(m=>{
+                  if(m.v.ps&&(m.v.ps.value=='妫�楠屽瓙椤�'||m.v.ps.value=='妫�楠岄」')){
+                    if(m.v.ps&&m.v.ps.value=='妫�楠岄」'){
+                      if(num0==0){
+                        str = m.v.v+','
+                        num0++
+                      }
+                    }
+                    if(m.v.ps&&m.v.ps.value=='妫�楠屽瓙椤�'){
+                      if(num0==1){
+                        str = str+m.v.v
+                      }
+                    }
+                  }
+                  if(data[i][j].equipName&&data[i][j].equipValue&&m.v&&m.v.ps&&m.v.ps.value=='璁惧缂栫爜'&&str0==str){
+                    if(!m.v.v){
+                      this.changeEquip(data[i][j].equipValue,m,data[i][j].equipName)
+                    }
+                  }
+                })
+              })
             }else if(j!='frequency'&&data[i][j]&&Array.isArray(data[i][j].result)){
               let str0 = i+','+j
               let list = this.tableList[0].arr
@@ -2003,14 +2061,18 @@
         this.currentSample = this.HaveJson(row)
         let list = await this.getCurrentProduct(row.id,0)
         this.currentSample.insProduct = this.HaveJson(list)
+        this.param = {}
+        this.changeType = 0;
         this.currentSample.insProduct.forEach(a => {
-          this.param[a.id] = {
-            insValue: [],
-            comValue: [],
-            resValue: null,
-            equipValue: [],
-            equipName: [],
-            insResult: null
+          if(this.handleCasing(a.inspectionItem)){
+            this.param[a.id] = {
+              insValue: [],
+              comValue: [],
+              resValue: null,
+              equipValue: [],
+              equipName: [],
+              insResult: null
+            }
           }
         })
         this.getReportModel(row.id)
@@ -2029,19 +2091,35 @@
           currentTable:this.currentTable
         }));
       },
+      handleCasing(inspectionItem){
+        if(this.changeType!=3){
+          if(inspectionItem.includes('鏉惧绠�')){
+            return false
+          }else{
+            return true
+          }
+        }else{
+          return true
+        }
+      },
       getReportModel(id){
         if(this.PROJECT!='妫�娴嬩腑蹇�'){
           return
         }
+        this.getReportModelLoading = true
         this.$axios.post(this.$api.insOrderPlan.getReportModel+'?sampleId='+id, {}).then(res => {
+          this.getReportModelLoading = false
           this.fibers = res.data['鍏夌氦甯�']
           this.fiber = res.data['鍏夌氦']
+          this.casing = res.data['濂楃']
         })
       },
       async handleChange(m,type){
+        this.changeType = type
         if(m){
           let list = await this.getCurrentProduct(m,type)
           if(list.length>0){
+            this.param = {}
             list.forEach(a => {
               this.param[a.id] = {
                 insValue: [],
@@ -2058,7 +2136,8 @@
               type: 'saveData',
               tableList:this.tableList,
               param:this.param,
-              currentTable:this.currentTable
+              currentTable:this.currentTable,
+              bushing:m
             }));
           }else{
             this.tableLists = []
@@ -2563,33 +2642,53 @@
         this.handleExcelMethod()
       },
       changeInput(m, code, n) {
+        // let str = code.split('-')
+        // let pId = str[3]
+        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){
+        //   let inspectionItem = ''
+        //   let idS = []
+        //   let child = 0
+        //   for (let i in this.currentSample.insProduct) {
+        //     if(this.currentSample.insProduct[i].id==pId){
+        //       inspectionItem = this.currentSample.insProduct[i].inspectionItem
+        //     }
+        //   }
+        //   for (let i in this.currentSample.insProduct) {
+        //     if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){
+        //       idS.push(this.currentSample.insProduct[i].id)
+        //     }
+        //   }
+        //   for (let i = 0;i<idS.length;i++) {
+        //     if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){
+        //       child++
+        //     }
+        //   }
+        //   if(child==0){
+        //     n.v.v = null
+        //     this.$message.error('璇峰厛濉啓璁惧淇℃伅')
+        //     return
+        //   }
+        // }
         let str = code.split('-')
         let pId = str[3]
-        if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){
-          let inspectionItem = ''
-          let idS = []
-          let child = 0
-          for (let i in this.currentSample.insProduct) {
-            if(this.currentSample.insProduct[i].id==pId){
-              inspectionItem = this.currentSample.insProduct[i].inspectionItem
+        for(let i =0;i<this.currentSample.insProduct.length;i++){
+          if(this.currentSample.insProduct[i].id==pId&&(this.currentSample.insProduct[i].ask=='-'||this.currentSample.insProduct[i].ask=='/')){
+            this.tableList[0].arr.forEach(item=>{
+              item.forEach(m=>{
+                if(m.i==pId&&m.v.ps&&m.v.ps.value=='缁撹'){
+                  this.$set(m.v,'v',3)
+                }
+              })
+            })
+            if(this.param[pId].insResult&&this.param[pId].insResult.v){
+              this.param[pId].insResult.v.v = 3
             }
-          }
-          for (let i in this.currentSample.insProduct) {
-            if(this.currentSample.insProduct[i].inspectionItem==inspectionItem&&this.currentSample.insProduct[i].id!=pId){
-              idS.push(this.currentSample.insProduct[i].id)
-            }
-          }
-          for (let i = 0;i<idS.length;i++) {
-            if(this.param[idS[i]].equipValue&&this.param[idS[i]].equipValue.length>0&&this.param[idS[i]].equipValue[0].v.v){
-              child++
-            }
-          }
-          if(child==0){
-            n.v.v = null
-            this.$message.error('璇峰厛濉啓璁惧淇℃伅')
+            this.saveInsContext()
             return
           }
         }
+        // this.currentTable.
+        // if(!this.param[pId].equipValue||this.param[pId].equipValue.length==0||!this.param[pId].equipValue[0].v.v){}
         if (n) {
           // if (this.PROJECT === '瑁呭鐢电紗') {
           //   let num2 = new this.$Big(n.v.v)
@@ -3161,14 +3260,17 @@
         let list = await this.getCurrentProduct(this.currentSample.id,0)
         this.currentSample.insProduct = this.HaveJson(list)
         this.param = {}
+        this.changeType = 0;
         this.currentSample.insProduct.forEach(a => {
-          this.param[a.id] = {
-            insValue: [],
-            comValue: [],
-            resValue: null,
-            equipValue: [],
-            equipName: [],
-            insResult: null
+          if(this.handleCasing(a.inspectionItem)){
+            this.param[a.id] = {
+              insValue: [],
+              comValue: [],
+              resValue: null,
+              equipValue: [],
+              equipName: [],
+              insResult: null
+            }
           }
         })
         this.getTableLists()

--
Gitblit v1.9.3