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-inspect-order-plan/Inspection.vue |  601 +++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 479 insertions(+), 122 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index fb42e85..cf1bc9f 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -22,7 +22,7 @@
 
   .search .form-inline {
     padding-top: 20px;
-    padding-left: 50px;
+    padding-left: 0px;
   }
 
   .center {
@@ -125,6 +125,9 @@
     width: 100%;
     height: 100%;
   }
+  .table_input >>>.el-input__inner{
+    border-color: rgba(0, 0, 0, 0.5) !important;
+  }
 
   .collection {
     width: 50px;
@@ -143,7 +146,7 @@
   .table_caret{
     font-size: 16px;
     margin: 0 5px;
-    color: rgba(0, 0, 0, 0.1);
+    color: rgba(0, 0, 0, 0.5);
   }
   .table_caret:hover{
     color: #409eff;
@@ -226,13 +229,16 @@
     display: flex;
     align-items: center;
   }
+  .custom-dialog .el-dialog__body {
+    max-width: 1000px; /* 璁剧疆鏈�澶у搴� */
+  }
 </style>
 <template>
   <div v-loading="loading" class="inspection">
     <el-row class="title">
-      <el-col :span="12" style="padding-left: 20px;text-align: left;" v-once>妫�楠屽崟璇︽儏
+      <el-col :span="12" style="padding-left: 20px;text-align: left;" >妫�楠屽崟璇︽儏
       </el-col>
-      <el-col :span="12" style="text-align: right;" v-once>
+      <el-col :span="12" style="text-align: right;">
         <!-- <el-button size="small" type="primary" @click="fiberOpticVisible=true" v-if="fiberOptic.length>0">鍏夌氦鍒囨崲</el-button>
         <el-button size="small" type="primary" @click="fiberOpticTapeVisible=true" v-if="fiberOpticTape.length>0">鍏夌氦甯﹀垏鎹�</el-button>
         <el-button size="small" type="primary" @click="bushingVisible=true" v-if="bushing.length>0">濂楃鍒囨崲</el-button> -->
@@ -248,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="璇疯緭鍏�"></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="璇疯緭鍏�"></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>
@@ -273,6 +281,10 @@
         <el-form-item label="褰撳墠鏍峰搧浣嶆暟:">
           <el-tag v-if="currentKey">{{ `NO.${currentKey}` }}</el-tag>
         </el-form-item>
+        <el-form-item label="澶囨敞:">
+          <span style="color:red">{{ insOrder.remark?insOrder.remark:'-' }}</span>
+          <!-- <el-tag v-if="currentKey">{{ insOrder.remark }}</el-tag> -->
+        </el-form-item>
       </el-form>
     </div>
     <div class="center">
@@ -285,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"
@@ -297,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"
@@ -317,12 +340,12 @@
               <span style="margin-left: 4px;">%</span>
             </el-form-item>
           </el-form>
-          <el-button type="primary" size="small" v-if="(dataAcquisitionEidt>0||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button>
-          <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(dataAcquisitionEidt>0)&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button>
+          <el-button type="primary" size="small" v-if="(isGet||tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'&&temDataAcquisition)&&PROJECT=='妫�娴嬩腑蹇�'&&state==1" @click="getDataAcquisitionDevice" :loading="dataAcquisitionLoading">鏁版嵁閲囬泦</el-button>
+          <el-button :type="dataAcquisitionEidtAble?'':'primary'" size="small" v-if="(isGet||(tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName=='娓╁害寰幆妫�楠屽師濮嬭褰�'))&&PROJECT=='妫�娴嬩腑蹇�'&&collected&&state==1" @click="dataAcquisitionEidtAble=!dataAcquisitionEidtAble">{{dataAcquisitionEidtAble?'鍏抽棴缂栬緫':'缂栬緫鏁伴噰'}}</el-button>
         </div>
       </div>
       <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(tableLists.find(m=>m.templateId==currentTable).templateName!='娓╁害寰幆妫�楠屽師濮嬭褰�'&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐑惊鐜�')&&!tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╁崌璇曢獙'))">
-        <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index">
+        <table border="1" class="tables" cellpadding="10" v-for="(item,index) in tableList" :key="index+currentTable+currentSample.id">
           <tbody>
             <tr v-for="(m,i) in item.arr" :key="i">
               <td :id='item.templateId+"-"+n.i+"-"+n.r+"-"+n.c' v-for="(n,j) in m" :key="j"
@@ -335,7 +358,8 @@
                     <el-input v-if="getInspectionValueType(n.i) == 1" class="table_input" v-model="n.v.v"
                               :disabled="(getInspectionItemType(n.i) == 1 && !dataAcquisitionEidtAble )|| (n.u != userId && n.u != undefined && n.u != '')"
                               @input="handleInput(n)"
-                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j">
+                              @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)" @mousewheel.native.prevent :key="'abc-'+'000'+index+'000'+i+'000'+j"
+                              @keydown.enter="changeInput('',`${item.templateId}-${n.r}-${n.c}-${n.i}`, n)">
                       <!-- <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>
@@ -344,7 +368,7 @@
                       :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" @visible-change="e=>getDic(e,n.i)"
+                      :disabled="state>1||getInspectionItemType(n.i) == 1 || (n.u != userId && n.u != undefined && n.u != '')" @visible-change="e=>getDic(e,n.i)"
                        @change="m=>changeInput(m,`${item.templateId}-${n.r}-${n.c}-${n.i}`)">
                       <el-option v-for="(e, i) in enumList" :key="i" :label="e.label" :value="e.value"></el-option>
                     </el-select>
@@ -364,7 +388,8 @@
                     </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
+                    <el-select v-model="n.v.v" placeholder="璁惧"
+                    class="table_input" @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>
@@ -376,6 +401,7 @@
                   <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"><span :style="`font-family:${n.v.ff} !important;`">{{ toFixed(n.v.v,n.v.ct) }}</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 != '')"
@@ -424,7 +450,7 @@
                       v-if="currentFiberOptic" class="el-icon-caret-right table_caret" @click="caretOptic(1)"></i>
                     </div>
                   </template>
-                  <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" v-once></span>
+                  <span v-else :style="`font-family:${n.v.ff} !important;`" v-html="getValue(n.v)" ></span>
                 </div>
               </td>
             </tr>
@@ -536,7 +562,7 @@
                 {{ '澶栫'+(index+1) }}
               </template>
               <template slot-scope="scope">
-                <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1" @change="m=>changeItem(scope.row.arr[index])"></el-input>
+                <el-input size="small" v-model="scope.row.arr[index].value0" placeholder="" :disabled="state>1||!dataAcquisitionEidtAble" @change="m=>changeItem(scope.row.arr[index])"></el-input>
               </template>
             </el-table-column>
             <el-table-column
@@ -548,7 +574,7 @@
                 {{ '鍐呯'+(index+1) }}
               </template>
               <template slot-scope="scope">
-                <el-input size="small" :disabled="state>1" v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input>
+                <el-input size="small" :disabled="state>1||!dataAcquisitionEidtAble"  v-model="scope.row.arr[index].value1" placeholder="" @change="m=>changeItem(scope.row.arr[index])"></el-input>
               </template>
             </el-table-column>
             <el-table-column
@@ -738,6 +764,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>
@@ -783,6 +810,41 @@
         <el-button type="primary" @click="submit()">纭� 瀹�</el-button>
       </span>
     </el-dialog>
+    <el-dialog title="鏁版嵁閲囬泦" :visible.sync="dataGetDia" :close-on-click-modal="false" :close-on-press-escape="false" :show-close="false" custom-class="custom-dialog">
+      <div>
+        <table border="1" cellpadding="10" class="thermal-table">
+          <tr>
+            <td style="width: 120px;">妫�楠岄」</td>
+            <td style="width: 120px;">妫�楠屽瓙椤�</td>
+            <td>鏁伴噰鏁版嵁</td>
+          </tr>
+          <template v-for="(item,index) in getData">
+            <tr>
+              <td :rowspan="item.child.length">{{item.faName}}</td>
+              <td>{{ item.child[0].name }}</td>
+              <td style="text-align: left;">
+                <el-checkbox-group
+                  v-model="getDataIndex" :max="item.child[0].maxNum">
+                  <el-checkbox v-for="(n,j) in item.child[0].arr" :label="j" :key="j+'ppppppppp'">{{n}}</el-checkbox>
+                </el-checkbox-group>
+              </td>
+            </tr>
+            <tr v-for="(m,i) in item.child" :key="i+'bbbbbbbbbbbbbb'" v-show="i>0">
+              <td>{{ m.name }}</td>
+              <td style="text-align: left;">
+                <el-checkbox-group
+                  v-model="getDataIndex" :max="m.maxNum">
+                  <el-checkbox v-for="(n,j) in m.arr" :label="j" :key="j+'bbbbbbbbbbbbbb'">{{n}}</el-checkbox>
+                </el-checkbox-group>
+              </td>
+            </tr>
+          </template>
+        </table>
+      </div>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" @click="submitDataGet()" :loading="getDataIndexLoading">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -797,6 +859,7 @@
     },
     data() {
       return {
+        dataGetDia:false,
         wareTableDataLoading:false,
         fileAdd:false,
         sampleVisible: false,
@@ -880,6 +943,8 @@
           requiredUp: []
         },
         upIndex: 0,
+        changeType:null,
+        getReportModelLoading:false,
         insOrder: {},
         sampleProduct: [],
         typeList: [],
@@ -922,6 +987,7 @@
         temptList:null,
         fiber:[],
         fibers:[],
+        casing:[],
         currentTab:null,
         wareForm:{
           inspectionItem:1,
@@ -946,8 +1012,9 @@
         worker0: null,
         wareLength:[],
         dataAcquisitionInfo:{},
-        dataAcquisitionEidt:0,
+        dataAcquisitionInfoNew:{},
         dataAcquisitionEidtAble:false,
+        isGet:false,
         dataAcquisitionLoading:false,
         collected:false,
         // 鐑惊鐜�---寮�濮�
@@ -960,6 +1027,32 @@
         },
         thermalCyclingLoading:false,
         temDataAcquisition:false,
+        getData:[
+          {
+            faName:'娉㈤暱闄勫姞琛板噺',
+            child:[
+              {
+                name:'1285nm~1330nm',
+                arr:[12,13,14,15],
+              },
+              {
+                name:'1525nm~1575nm',
+                arr:[12,13,14,15],
+              },
+            ]
+          },
+          {
+            faName:'鎴嚦娉㈤暱',
+            child:[
+              {
+                name:'鎴嚦娉㈤暱',
+                arr:[12,13,14,15],
+              }
+            ]
+          }
+        ],
+        getDataIndex:[],
+        getDataIndexLoading:false
       }
     },
     computed: {
@@ -1028,6 +1121,7 @@
               insResult: null
             }
           })
+          this.determineWhetherToCollectData()
           this.getReportModel(this.currentSample.id)
           if (this.currentSample.index == undefined) this.currentSample['index'] = 1
           let bushing = this.currentSample.bushing
@@ -1049,14 +1143,58 @@
         })
       },
       currentTable(val1, val0) {
-        if (val0 != null && val1 != val0) {
-          this.tableLists.forEach((m, i) => {
+        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) {
-              this.tableList = null;
-              this.tableList = [(this.tableLists[i])];
-              this.handleTableData()
+              let list = await this.getCurrentProduct(this.currentSample.id,0)
+              this.currentSample.insProduct = this.HaveJson(list)
+              // console.log(this.currentSample)
+              this.currentSample.insProduct.forEach(a => {
+                this.param[a.id] = {
+                  insValue: [],
+                  comValue: [],
+                  resValue: null,
+                  equipValue: [],
+                  equipName: [],
+                  insResult: null
+                }
+              })
+              this.getReportModel(this.currentSample.id)
+              const mySet1 = new Set();
+              this.tableLists = this.currentSample.insProduct.filter(m => {
+                let num0 = mySet1.size;
+                if (m.templateId != null&&m.template != null) {
+                  try {
+                    mySet1.add(JSON.stringify({
+                      template: m.template,
+                      templateId: m.templateId
+                    }))
+                  } catch (error) {
+                    console.log(222,error);
+                  }
+                }
+                let num1 = mySet1.size;
+                if (num1 > num0) {
+                  return m
+                }
+              });
+              if (this.tableLists && this.tableLists.length > 0) {
+                this.tableList = null;
+                this.tableList = this.tableLists.filter(m => m.templateId == val1)
+                this.handleTableData()
+              }
             }
           })
+          this.handleCasing()
         }
       },
       equipForm:{
@@ -1099,21 +1237,6 @@
           }
         }
       },
-      param:{
-        deep:true,
-        handler(val){
-          this.dataAcquisitionEidt = 0
-          if(val){
-            for (let key in val) {
-              val[key].equipValue.forEach(m=>{
-                if(m.isItADataAcquisitionDevice){
-                  this.dataAcquisitionEidt++
-                }
-              })
-            }
-          }
-        }
-      }
     },
     beforeDestroy() {
       // 鍦ㄧ粍浠堕攢姣佸墠纭繚鍋滄 Worker锛岄伩鍏嶅唴瀛樻硠婕�
@@ -1158,37 +1281,159 @@
             if(res.code!=200){
               return
             }
-            this.dataAcquisitionInfo = res.data
-            try {
-              // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
-              this.worker0.postMessage(JSON.stringify({
-                dataAcquisitionInfo: this.dataAcquisitionInfo,
-                list:this.tableList[0].arr
-              }));
-            } catch (error) {
-              console.log(1111,error);
-            }
-            // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋�
-            this.worker0.onmessage = (event) => {
-              let result = JSON.parse(event.data);
-              if(result.method=='changeInput'){
-                let {list,n} = result.value
-                this.$set(this.tableList[0],'arr',list)
-                this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
-              }
-            };
+            this.dataAcquisitionInfoNew = this.HaveJson(res.data)
+            this.handleDataAcquisition(res.data)
           })
         }
+      },
+      handleDataAcquisition(data){
+        this.dataAcquisitionInfo = {}
+        this.getData = []
+        for (let i in data){
+          let obj = {
+            faName:i,
+            child:[]
+          }
+          for(let j in data[i]){
+            if(j!='frequency'&&data[i][j]&&typeof data[i][j].result == 'string'){
+              this.dataAcquisitionInfo[i+','+j] = {
+                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
+              let maxNum = 0
+              list.forEach((item,index)=>{
+                let num0 = 0;
+                let str = ''
+                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
+                      }
+                    }
+                    let num = 0;
+                    list[index].forEach(n=>{
+                      if(n.v.ps&&n.v.ps.value&&typeof n.v.ps.value == 'string'&&n.v.ps.value.includes('妫�楠屽��')){
+                        num++
+                      }
+                    })
+                    if(str0==str){
+                      maxNum = num
+                    }
+                  }
+                  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)
+                    }
+                  }
+                })
+              })
+              let obj0 = {
+                name:j,
+                arr:data[i][j].result,
+                maxNum:maxNum,
+                value:[]
+              }
+              if(data[i][j].result&&Array.isArray(data[i][j].result)&&data[i][j].result.length>maxNum){
+                obj.child.push(obj0)
+              }else{
+                this.dataAcquisitionInfo[i+','+j] = {
+                  value:data[i][j].result
+                }
+              }
+            }
+          }
+          if(obj.child.length>0){
+            this.getData.push(obj)
+          }
+        }
+        if(this.getData.length>0){
+          this.dataGetDia = true
+        }else{
+          try {
+            // 鍚� Worker 鍙戦�佹秷鎭紝寮�濮嬪鐞嗛�昏緫
+            this.getDataIndexLoading = false
+            this.dataGetDia = false
+            this.worker0.postMessage(JSON.stringify({
+              dataAcquisitionInfo: this.dataAcquisitionInfo,
+              list:this.tableList[0].arr
+            }));
+          } catch (error) {
+            console.log(1111,error);
+          }
+        }
+        // 鐩戝惉 Worker 杩斿洖鐨勭粨鏋�
+        this.worker0.onmessage = (event) => {
+          let result = JSON.parse(event.data);
+          if(result.method=='changeInput'){
+            let {list,n} = result.value
+            this.$set(this.tableList[0],'arr',list)
+            this.changeInput('',`${this.currentSample.insProduct[0].templateId}-${n.r}-${n.c}-${n.i}`,n)
+          }
+        };
+      },
+      submitDataGet(){
+        if(this.getDataIndex.length==0){
+          this.$message.error('璇烽�夋嫨闇�瑕侀噰闆嗙殑鏁版嵁')
+          return
+        }
+        this.getDataIndex.sort((a, b) => a - b);
+        for (let i=0;i<this.getData.length;i++){
+          for(let j=0;j<this.getData[i].child.length;j++){
+            let arr = []
+            for(let k=0;k<this.getDataIndex.length;k++){
+              arr.push( this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result[this.getDataIndex[k]])
+            }
+            this.dataAcquisitionInfoNew[this.getData[i].faName][this.getData[i].child[j].name].result = arr
+          }
+        }
+        this.getDataIndexLoading = true
+        this.handleDataAcquisition(this.dataAcquisitionInfoNew)
       },
       // 澶氱嚎绋�
       startWorker() {
         if (this.worker) {
-        this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
+          this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
         }
         // 鍒涘缓 Worker 瀹炰緥
         this.worker = new Worker('/static/js/worker.js');
         if (this.worker0) {
-        this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
+          this.stopWorker(); // 纭繚涔嬪墠鐨� Worker 宸插仠姝�
         }
         // 鍒涘缓 Worker 瀹炰緥
         this.worker0 = new Worker('/static/js/worker0.js');
@@ -1205,7 +1450,11 @@
       },
       // 娓╁害寰幆---寮�濮�
       changeItem(row){
-        if(row.value0&&row.value1){
+        if(row.value0&&!row.value1){
+          this.$set(row,'comValue',Number(row.value0).toFixed(3))
+        }else if(!row.value0&&row.value1){
+          this.$set(row,'comValue',Number(row.value1).toFixed(3))
+        }else if(row.value0&&row.value1){
           this.$set(row,'comValue',((Number(row.value0)+Number(row.value1))/2).toFixed(3))
         }else{
           return
@@ -1318,6 +1567,23 @@
                       ]
                       obj.value0 = insValue[0].v
                       obj.value1 = insValue[1].v
+                    }else if(insValue&&insValue.length==1){
+                      this.param[obj.id].insValue = [
+                        {
+                          i:obj.id,
+                          v:{
+                            v:insValue[0].v
+                          }
+                        },
+                        {
+                          i:obj.id,
+                          v:{
+                            v:''
+                          }
+                        }
+                      ]
+                      obj.value0 = insValue[0].v
+                      obj.value1 = ''
                     }
                     break;
                   case 'comValue':
@@ -1787,6 +2053,7 @@
         this.currentSample = this.HaveJson(row)
         let list = await this.getCurrentProduct(row.id,0)
         this.currentSample.insProduct = this.HaveJson(list)
+        this.handleCasing()
         this.currentSample.insProduct.forEach(a => {
           this.param[a.id] = {
             insValue: [],
@@ -1806,17 +2073,32 @@
         this.getTableLists();
         this.currentKey = row.index
         this.currentTab = null;
+        this.worker.postMessage(JSON.stringify({
+          type: 'saveData',
+          tableList:this.tableList,
+          param:this.param,
+          currentTable:this.currentTable
+        }));
+      },
+      handleCasing(){
+        if(this.tableLists.find(m=>m.templateId==this.currentTable)&&(this.tableLists.find(m=>m.templateId==this.currentTable).templateName!='鎴愬搧缂嗘楠屽師濮嬭褰�')){
+          this.currentSample.insProduct = this.currentSample.insProduct.filter(m=>!m.inspectionItem.includes('鏉惧绠�'))
+        }
       },
       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){
@@ -1832,6 +2114,13 @@
             })
             this.getTableLists0(list)
             this.getReportModel(this.currentSample.id)
+            this.worker.postMessage(JSON.stringify({
+              type: 'saveData',
+              tableList:this.tableList,
+              param:this.param,
+              currentTable:this.currentTable,
+              bushing:m
+            }));
           }else{
             this.tableLists = []
             this.tableList = []
@@ -1986,7 +2275,21 @@
               label:m
             })
           })
-          this.wareFormChange()
+          this.wareTableDataLoading = true
+          this.$axios.post(this.$api.deviceScope.temDataAcquisition2,{
+            entrustCode:this.insOrder.entrustCode,
+            sampleCode:this.currentSample.sampleCode,
+            model:this.currentSample.model,
+            }, {
+            headers: {
+              'Content-Type': 'application/json'
+            },
+            noQs:true
+          }).then(res=>{
+            // console.log(res.data)
+            this.wareFormChange()
+          })
+          // this.wareFormChange()
         }
         // 娓╁害寰幆妫�楠屽師濮嬭褰�---缁撴潫
         // 鐑惊鐜楠屽師濮嬭褰�---寮�濮�
@@ -2196,15 +2499,18 @@
               b.i && this.param[b.i].comValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁惧缂栫爜') {
-              b.v.v = ''
+              // b.v.v = ''
+              this.$set(b.v, 'v', '' )
               b.i && this.param[b.i].equipValue.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '璁惧鍚嶇О') {
-              b.v.v = ''
+              this.$set(b.v, 'v', '' )
+              // b.v.v = ''
               b.i && this.param[b.i].equipName.push(b)
             }
             if (b.v.ps != undefined && b.v.ps.value === '鏈�缁堝��') {
-              b.v.v = ''
+              // b.v.v = ''
+              this.$set(b.v, 'v', '' )
               /* if (b.i === undefined) {
                 for (var c in this.param) {
                   this.param[c].resValue = b
@@ -2252,14 +2558,14 @@
           try {
             let comValue = JSON.parse(a.insProductResult.comValue)
             for (var i = 0; i < comValue.length; i++) {
-              this.param[a.id].comValue[i].v.v = comValue[i].v
+              this.param[a.id].comValue[i].v.v = this.toFixed(comValue[i].v,this.param[a.id].comValue[i].v.ct)
             }
           } catch (e) {}
           try {
             let insValue = JSON.parse(a.insProductResult.insValue)
             for (let i = 0; i < insValue.length; i++) {
               if(this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r)){
-                this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.v = insValue[i].v
+                this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.v = this.toFixed(insValue[i].v,this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).v.ct)
                 this.param[a.id].insValue.find(m=>m.c==insValue[i].c&&m.r==insValue[i].r).u = insValue[i].u
                 // this.param[a.id].insValue[i].v.v = insValue[i].v
                 // this.param[a.id].insValue[i].u = insValue[i].u
@@ -2285,23 +2591,6 @@
                 this.param[a.id].equipValue[i].v.v = equipValue[i].v
               }else{
                 this.param[a.id].equipValue[i].v.v = equipValue[i].v
-                if(equipValue[i].v){
-                  let isItADataAcquisitionDevice = await this.determineWhetherToCollectData(equipValue[i].v)
-                  this.param[a.id].equipValue[i].isItADataAcquisitionDevice = isItADataAcquisitionDevice
-
-                }else{
-                  this.param[a.id].equipValue[i].isItADataAcquisitionDevice = false
-                }
-                this.dataAcquisitionEidt = 0
-                if(this.param){
-                  for (let key in this.param) {
-                    this.param[key].equipValue.forEach(m=>{
-                      if(m.isItADataAcquisitionDevice){
-                        this.dataAcquisitionEidt++
-                      }
-                    })
-                  }
-                }
               }
             }
           } catch (e) {}
@@ -2328,13 +2617,40 @@
             }
           } catch (e) {}
           try {
-            this.param[a.id].resValue.v.v = a.lastValue
+            this.param[a.id].resValue.v.v = this.toFixed(a.lastValue,this.param[a.id].resValue.v.ct)
             this.param[a.id].insResult.v.v = a.insResult
           } catch (e) {}
         })
         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
+        //   }
+        // }
         if (n) {
           // if (this.PROJECT === '瑁呭鐢电紗') {
           //   let num2 = new this.$Big(n.v.v)
@@ -2359,7 +2675,8 @@
             comparisonList:this.comparisonList,
             currentSample:this.currentSample,
             PROJECT:this.PROJECT,
-            param:this.param
+            param:this.param,
+            currentTable:this.currentTable
           }));
         } catch (error) {
           console.log(444,error);
@@ -2383,18 +2700,6 @@
                     }
                   }
                 }
-                // let obj = this.param[code.split('-')[3]]
-                // this.tableList[0].arr.forEach(item=>{
-                //   item.forEach(m=>{
-                //     if(obj&&obj.insResult&&m.c==obj.insResult.c&&m.r==obj.insResult.r){
-                //       m.v.v = obj.insResult.v.v
-                //     }
-                //     if(obj&&obj.resValue&&m.c==obj.resValue.c&&m.r==obj.resValue.r){
-                //       m.v.v = obj.resValue.v.v
-                //     }
-                //   })
-                // })
-                // console.log(this.tableList,this.param)
                 this.saveInsContext()
               })
               break;
@@ -2410,9 +2715,9 @@
           }
         };
       },
-      async determineWhetherToCollectData(managementNumber){
-        let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+'?managementNumber='+managementNumber)
-        return res.data
+      async determineWhetherToCollectData(){
+        let res = await this.$axios.get(this.$api.deviceScope.determineWhetherToCollectData+"?managementNumber=''")
+        this.isGet =  res.data
       },
       handleFraction(str){
         if(str&&typeof(str)=='string'&&str.includes('/')){
@@ -2533,6 +2838,15 @@
       },
       getValue(v){
         let str = v.v?v.v:(v.v===0?v.v:(v.ct&&v.ct.s?v.ct.s.length>0&&v.ct.s[0].v.replace(new RegExp('\n', 'g'), '<br/>').replace(new RegExp('@', 'g'), '<br/>'):''))
+        if(v.ct&&v.ct.fa&&v.ct.fa.includes('.')&&str){
+          let num = 0
+          let str0 = v.ct.fa.split('.')[1]
+          num = str0.length
+          str = Number(str).toFixed(num)
+        }
+        if(v.v&&typeof v.v == 'string'&&v.v.includes('@')){
+          str = v.v.replace(new RegExp('@', 'g'), '<br/>')
+        }
         return str
       },
       getInspectionValueType(id) {
@@ -2651,6 +2965,8 @@
       getUserInfo() {
         this.$axios.get(this.$api.user.getUserInfo).then(res => {
           this.userId = res.data.id
+          this.componentData.entity.userId = res.data.id
+          // console.log(1111,this.userId)
         })
       },
       // 澶嶆牳
@@ -2705,6 +3021,14 @@
           this.$message.error("璇锋寚瀹氬鏍镐汉鍛�")
           return
         }
+        if(!this.otherForm.humidity){
+          this.$message.error("璇疯緭鍏ユ箍搴�")
+          return
+        }
+        if(!this.otherForm.temperature){
+          this.$message.error("璇疯緭鍏ユ俯搴�")
+          return
+        }
         this.addVerifyDia = false
         this.submitLoading = true;
         this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, {
@@ -2717,8 +3041,7 @@
                 orderId: this.orderId,
                 laboratory: this.sonLaboratory,
                 verifyUser: this.verifyUser,
-                entrustCode: this.insOrder.entrustCode,
-                sampleCode: this.currentSample.sampleCode
+                entrustCode: this.insOrder.entrustCode
               }).then(res => {
                 if (res.code === 200) {
                   this.$message.success("鎿嶄綔鎴愬姛")
@@ -2771,7 +3094,7 @@
         return
       },
       saveInsContext() {
-        // console.log(1111,this.param)
+        console.log(1111,this.param)
         try {
           if(this.param){
             this.$axios.post(this.$api.insOrderPlan.saveInsContext, {
@@ -2787,46 +3110,73 @@
             this.worker.postMessage(JSON.stringify({
               type: 'saveData',
               tableList:this.tableList,
-              param:this.param
+              param:this.param,
+              currentTable:this.currentTable
             }));
           }
         }catch (error) {
           console.log(999,error);
         }
       },
-      changeEquip(val, n) {
+      changeEquip(val, n,v) {
+        this.$set(n.v,'v',val)
+        this.tableList[0].arr.forEach((item,index)=>{
+          item.forEach((m,i)=>{
+            if(this.param[m.i]){
+              this.param[m.i].state = 1
+            }
+            if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'&&v){
+              this.$set(m.v,'v',v)
+            }
+          })
+        })
+        for (let i in this.param) {
+          if(this.param[i].state!=1){
+            delete this.param[i]
+          }
+        }
+        if(val&&v){
+          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.$delete(this.param[n.i].equipValue[i1].v,'v')
+              this.$set(this.param[n.i].equipValue[i1].v,'v',val)
+              this.$delete(this.param[n.i].equipName[i1].v,'v')
+              this.$set(this.param[n.i].equipName[i1].v,'v',v)
+            }
+          }
+        }
         for (let i in this.equipOptions) {
-          if (this.equipOptions[i].value === val) {
+          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.$delete(this.param[n.i].equipValue[i1].v,'v')
                 this.$set(this.param[n.i].equipValue[i1].v,'v',val)
+                this.$delete(this.param[n.i].equipName[i1].v,'v')
                 this.$set(this.param[n.i].equipName[i1].v,'v',this.equipOptions[i].label)
-                this.param[n.i].equipValue[i1].isItADataAcquisitionDevice = this.equipOptions[i].isItADataAcquisitionDevice
+                this.tableList[0].arr.forEach((item,index)=>{
+                  item.forEach((m)=>{
+                    if(m.i==n.i&&m.v.ps&&m.v.ps.value=='璁惧鍚嶇О'){
+                      this.$set(m.v,'v',this.equipOptions[i].label)
+                    }
+                  })
+                })
               }
             }
           }
         }
-        this.dataAcquisitionEidt = 0
-        if(this.param){
-          for (let key in this.param) {
-            this.param[key].equipValue.forEach(m=>{
-              if(m.isItADataAcquisitionDevice){
-                this.dataAcquisitionEidt++
-              }
-            })
-          }
-        }
-        // console.log(this.param)
         this.saveInsContext()
       },
       getAuthorizedPerson() {
         this.$axios.get(this.$api.user.getUserMenu).then(res => {
           let data = []
+          let userName = JSON.parse(localStorage.getItem("user")).name;
           res.data.forEach(a => {
-            data.push({
+            if(a.name !== userName) {
+              data.push({
               label: a.name,
               value: a.id
             })
+            }
           })
           this.personList = data
         })
@@ -2871,6 +3221,7 @@
         this.currentSample = this.HaveJson(this.sampleProduct[index - 1])
         let list = await this.getCurrentProduct(this.currentSample.id,0)
         this.currentSample.insProduct = this.HaveJson(list)
+        this.handleCasing()
         this.param = {}
         this.currentSample.insProduct.forEach(a => {
           this.param[a.id] = {
@@ -2883,6 +3234,12 @@
           }
         })
         this.getTableLists()
+        this.worker.postMessage(JSON.stringify({
+          type: 'saveData',
+          tableList:this.tableList,
+          param:this.param,
+          currentTable:this.currentTable
+        }));
       },
       caretBushing(num){
         let index = this.currentKey0 + num
@@ -3014,12 +3371,12 @@
        * @returns 鏍煎紡鍖栧悗鐨勫瓧绗︿覆鎴栧師濮嬫暟鍊硷紙鑻ラ厤缃笉绗﹀悎瑕佹眰锛�
        */
       toFixed(v,ct){
-        if(v&&ct&&ct.fa&&ct.fa.includes('##')){
+        if(v&&ct&&ct.fa){
           if(ct.fa.includes('.')){
             let num = ct.fa.slice(4).length
             return Number(v).toFixed(num)
           }else{
-            return Number(v).toFixed(0)
+            return v
           }
         }else{
           return v

--
Gitblit v1.9.3