From cb57bc6b4abf45dbb0605c94359c63e3b31b4b87 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 10 九月 2024 15:55:57 +0800
Subject: [PATCH] 优化报告生成、修改电路下单传参

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  250 ++++++++++++++------------------------------------
 1 files changed, 70 insertions(+), 180 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 77318b8..2806de1 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -253,9 +253,6 @@
       <el-col :span="12" style="padding-left: 20px;text-align: left;" >妫�楠屽崟璇︽儏
       </el-col>
       <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> -->
         <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button>
         <el-button size="small" type="primary" @click="taskVisible=true">浠诲姟鍒囨崲</el-button>
         <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1"
@@ -275,7 +272,7 @@
         </el-form-item>
         <el-form-item label="鏍峰搧缂栧彿:">
           <el-tooltip :disabled="!currentSample.sampleCode" :content="currentSample.sampleCode">
-            <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" ></el-input>
+            <el-input clearable v-model="currentSample.sampleCode" disabled size="small" placeholder="璇疯緭鍏�" tooltip></el-input>
           </el-tooltip>
         </el-form-item>
         <el-form-item label="鏍峰搧鍚嶇О:">
@@ -283,6 +280,9 @@
         </el-form-item>
         <el-form-item label="鏍峰搧鏁伴噺:">
           <el-input clearable v-model="sampleProduct.length" disabled size="small" placeholder="璇疯緭鍏�" ></el-input>
+        </el-form-item>
+        <el-form-item label="璇曢獙鏍囧噯:">
+          <span>{{ currentSample.testRequirements?currentSample.testRequirements:'-' }}</span>
         </el-form-item>
         <el-form-item label="涓嬪彂鏃堕棿:">
           <el-input clearable v-model="insOrder.sendTime" disabled size="small" placeholder="璇疯緭鍏�"></el-input>
@@ -298,7 +298,6 @@
         </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>
@@ -310,6 +309,11 @@
             <el-radio-button :label="item.templateId" v-for="(item,index) in tableLists" :key="index"
               size="small">{{ item.templateName }}</el-radio-button>
           </el-radio-group>
+          <!-- <span style="margin-left: 20px;margin-right: 10px;">妯℃澘鐗堟湰:</span>
+          <el-radio-group v-model="currentTableState" size="small">
+            <el-radio-button label="0" size="small">鐗堟湰涓�</el-radio-button>
+            <el-radio-button label="1" size="small">鐗堟湰浜�</el-radio-button>
+          </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>
@@ -345,22 +349,12 @@
               <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>
-          <el-form :inline="true" :model="otherForm" class="form-inline" label-width="50px" style="padding-top: 0;padding-left: 10px;" v-if="PROJECT=='妫�娴嬩腑蹇�'">
-            <el-form-item label="娓╁害:" style="margin-bottom: 0;">
-              <el-input v-model="otherForm.temperature" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'temperature')" ></el-input>
-              <span style="margin-left: 4px;">鈩�</span>
-            </el-form-item>
-            <el-form-item label="婀垮害:" style="margin-bottom: 0;">
-              <el-input v-model="otherForm.humidity" :disabled="state>1" size="small" placeholder="" style="width: 90px;" @change="m=>subOtherForm(m,'humidity')"></el-input>
-              <span style="margin-left: 4px;">%</span>
-            </el-form-item>
-          </el-form>
           <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('娓╁崌璇曢獙'))&&(tableLists.find(m=>m.templateId==currentTable).templateName!='寮у瀭鐗规�ф楠屽師濮嬭褰�')">
+      <div class="center-box" id="nav" v-loading="tableLoading" v-if="!tableLists.find(m=>m.templateId==currentTable)||(!tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙'))">
         <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">
@@ -803,6 +797,12 @@
           </table>
         </div>
       </div>
+      <!-- 鐢佃矾璇曢獙 -->
+      <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')" style="width: 100%;overflow-x: auto;overflow-y: visible;">
+        <!-- <Circuit></Circuit> -->
+        <CircuitParameters1 v-if="currentTableState==0" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1"></CircuitParameters1>
+        <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1"></CircuitParameters2>
+      </div>
       <el-upload :action="action"
       :data="{
         orderId:id
@@ -818,43 +818,6 @@
         :delUrl="$api.insOrderPlan.delfile"
         :key="upIndex" style="height: 100%;margin-top: 16px;"/>
     </div>
-    <el-drawer title="鍏夌氦鍒囨崲" :visible.sync="fiberOpticVisible" :size="500">
-      <el-table class="el-table" ref="fiberOpticTable" :data="fiberOptic" height="100%" tooltip-effect="dark" border
-        highlight-current-row @row-click="handleChangeOptic" :row-class-name="tableRowClassName"
-        :current-row-key="currentKey2" :row-key="record=>record.index" v-if="fiberOpticVisible">
-        <el-table-column type="index" align="center" label="搴忓彿" width="70px" :key="Math.random()">
-        </el-table-column>
-        <el-table-column prop="bushColor" label="绠″鑹叉爣" min-width="100px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="color" label="鍏夌氦鑹叉爣" min-width="100px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="model" label="鍏夌氦瑙勬牸" min-width="130px" show-overflow-tooltip
-         ></el-table-column>
-        <el-table-column prop="standard" label="鍙傝�冩爣鍑�" width="100px" show-overflow-tooltip></el-table-column>
-      </el-table>
-    </el-drawer>
-    <el-drawer title="鍏夌氦甯﹀垏鎹�" :visible.sync="fiberOpticTapeVisible" :size="500">
-      <el-table class="el-table" ref="fiberOpticTapeTable" :data="fiberOpticTape" height="100%" tooltip-effect="dark" border
-        highlight-current-row @row-click="handleChangeTape" :row-class-name="tableRowClassName"
-        :current-row-key="currentKey1" :row-key="record=>record.index" v-if="fiberOpticTapeVisible">
-        <el-table-column type="index" align="center" label="搴忓彿" width="70px" :key="Math.random()">
-        </el-table-column>
-        <el-table-column prop="code" label="鍏夌氦甯︾紪鍙�" min-width="110px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="model" label="鍏夌氦甯﹁鏍�" min-width="110px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="standard" label="鍙傝�冩爣鍑�" width="90px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="num" label="鍏夌氦妫�娴嬮噺" min-width="110px" show-overflow-tooltip
-          ></el-table-column>
-      </el-table>
-    </el-drawer>
-    <el-drawer title="濂楃鍒囨崲" :visible.sync="bushingVisible" :size="500">
-      <el-table class="el-table" ref="bushingTable" :data="bushing" height="100%" tooltip-effect="dark" border
-        highlight-current-row @row-click="handleChangeBushing" :row-class-name="tableRowClassName"
-        :current-row-key="currentKey0" :row-key="record=>record.index" v-if="bushingVisible">
-        <el-table-column type="index" align="center" label="搴忓彿" width="70px" :key="Math.random()">
-        </el-table-column>
-        <el-table-column prop="color" label="绠¤壊鏍�" min-width="100px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="standNum" label="鏍囬噺" min-width="100px" show-overflow-tooltip></el-table-column>
-        <el-table-column prop="testNum" label="娴嬭瘯閲�" min-width="100px" show-overflow-tooltip></el-table-column>
-      </el-table>
-    </el-drawer>
     <el-drawer title="鏍峰搧鍒囨崲" :visible.sync="sampleVisible" :size="500">
       <el-table class="el-table" ref="productTable" :data="sampleProduct" height="100%" tooltip-effect="dark" border
         highlight-current-row @row-click="handleChangeSample" :row-class-name="tableRowClassName"
@@ -950,20 +913,44 @@
         <el-button type="primary" @click="submitDataGet()" :loading="getDataIndexLoading">纭� 瀹�</el-button>
       </span>
     </el-dialog>
+    <el-dialog
+      title="閫夋嫨鐢佃矾妫�楠屾ā鏉跨増鏈�"
+      :visible.sync="versionDialogVisible"
+      width="30%"
+      :close-on-click-modal="false"
+      :close-on-press-escape="false"
+      :show-close="false">
+      <el-radio-group v-model="currentTableState">
+        <el-radio :label="0">鐢佃皟-鐢佃矾妫�楠屽師濮嬭褰�</el-radio>
+        <el-radio :label="1">闈炵數璋�-鐢佃矾妫�楠屽師濮嬭褰�</el-radio>
+      </el-radio-group>
+      <span slot="footer" class="dialog-footer">
+        <el-button type="primary" :loading="versionLoading" @click="saveVersion">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
 <script>
   import ValueTable from '../../tool/value-table.vue'
+  import Circuit from './circuit.vue'
   import file from '../../../util/file'
   import excelFunction from '../../../util/excelFountion'
+  import CircuitParameters1 from './circuit-parameters1.vue'
+  import CircuitParameters2 from './circuit-parameters2.vue'
   export default {
-    props: ['sonLaboratory', 'orderId', 'state','inspectorList'],
+    props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId'],
     components: {
       ValueTable,
+      Circuit,
+      CircuitParameters1,
+      CircuitParameters2
     },
     data() {
       return {
+        versionLoading:false,
+        versionDialogVisible:false,
+        currentTableState:0,
         sagData: [],
         sagForm: {
           sampleCode: null,
@@ -1088,9 +1075,6 @@
         verifyUser: null,
         personList: [],
         enumList: [],
-        fiberOpticVisible:false,
-        fiberOpticTapeVisible:false,
-        bushingVisible:false,
         fiberOpticTape:[],//鍏夌氦甯﹀垪琛�
         fiberOptic:[],//鍏夌氦鍒楄〃
         bushing:[],//濂楃鍒楄〃
@@ -1112,10 +1096,6 @@
         numOptions:[],
         temperatureOptions:[],
         wareTableData:[],
-        otherForm:{
-          humidity:null,
-          temperature:null,
-        },
         equipForm:{
           value0:null,
           code0:null,
@@ -1142,35 +1122,12 @@
         },
         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],
-              }
-            ]
-          }
-        ],
+        getData:[],
         getDataIndex:[],
         getDataIndexLoading:false,
         changeType:null,
         getDataTypeId:'',
-        getDataType:null
+        getDataType:null,
       }
     },
     // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
@@ -1197,6 +1154,7 @@
       this.scrollInit()
       this.getPower()
       this.startWorker()
+      this.currentTableState = this.version
     },
     watch: {
       // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭�
@@ -1222,14 +1180,6 @@
           this.sampleProduct = res.data.sampleProduct
           this.currentSample = this.HaveJson(this.sampleProduct[0])
           let insProduct = this.HaveJson(this.currentSample.insProduct)
-          // 娓╁害銆佹箍搴﹁祴鍊�
-          if(insProduct&&insProduct.length>0){
-            let {temperature,humidity} = insProduct[0];
-            this.otherForm = {
-              temperature:temperature?temperature:null,
-              humidity:humidity?humidity:null,
-            }
-          }
           // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
           let list = await this.getCurrentProduct(this.currentSample.id,0)
           this.currentSample.insProduct = this.HaveJson(list)
@@ -2182,25 +2132,6 @@
         this.saveInsContext()
       },
       // 鐑惊鐜�---缁撴潫
-      // 淇濆瓨婀垮害銆佹俯搴︽暟鎹�
-      subOtherForm(m,type){
-        let ids = []
-        for (let i in this.param) {
-          ids.push(i)
-        }
-        this.$axios.post(this.$api.insOrderPlan.write,{
-          [type]:Number(m),
-          ids
-        }, {
-          headers: {
-            'Content-Type': 'application/json'
-          },
-          noQs:true
-        }).then(res => {
-          if (res.code == 201) return
-          this.$message.success('淇濆瓨鎴愬姛')
-        })
-      },
       // 鏉冮檺鑾峰彇
       getPower(){
         let power = JSON.parse(sessionStorage.getItem('power'))
@@ -2243,63 +2174,6 @@
         let res = await this.$axios.post(this.$api.insOrderPlan.getInsProduct+'?id='+id+'&type='+type+'&laboratory='+this.sonLaboratory)
         this.tableLoading = false;
         return res.data
-      },
-      handleChangeBushing(row, column, event){
-        this.currentBushing = row;
-        this.fiberOpticTape = []
-        this.currentFiberOpticTape = null;
-        this.fiberOptic = []
-        this.currentFiberOptic = null;
-        if(row.fiber&&row.fiber.length>0){
-          // 鐩存帴閰嶇疆鍏夌氦
-          this.fiberOptic = row.fiber;
-        }else if(row.fibers&&row.fibers.length>0){
-          // 閰嶇疆鍏夌氦甯﹀悗锛屽啀閰嶇疆鍏夌氦
-          this.fiberOpticTape = row.fibers;
-        }
-        this.bushingVisible = false;
-        this.currentKey0 = row.index
-      },
-      async handleChangeOptic(row, column, event){
-        this.currentFiberOptic = row;
-        this.currentFiberOptic.productList.forEach(a => {
-          this.param[a.id] = {
-            insValue: [],
-            comValue: [],
-            resValue: null,
-            equipValue: [],
-            equipName: [],
-            insResult: null
-          }
-        })
-        this.fiberOpticVisible = false;
-        let list = await this.getCurrentProduct(row.id,2)
-        this.getTableLists0(list)
-        this.currentKey2 = row.index
-      },
-      async handleChangeTape(row, column, event){
-        this.currentFiberOpticTape = row;
-        this.param = {}
-        this.fiberOptic = []
-        this.currentFiberOptic = null;
-        this.currentFiberOpticTape.productList.forEach(a => {
-          this.param[a.id] = {
-            insValue: [],
-            comValue: [],
-            resValue: null,
-            equipValue: [],
-            equipName: [],
-            insResult: null
-          }
-        })
-        this.fiberOpticTapeVisible = false;
-        let list = await this.getCurrentProduct(row.id,1)
-        this.getTableLists0(list)
-        if(row.fiber&&row.fiber.length>0){
-          // 閰嶇疆鍏夌氦
-          this.fiberOptic = row.fiber;
-        }
-        this.currentKey1 = row.index
       },
       // 鍒囨崲鏍峰搧
       async handleChangeSample(row, column, event) {
@@ -2509,6 +2383,9 @@
           this.tableList = null;
           this.tableList = [this.tableLists[0]]
           this.currentTable = this.tableLists[0].templateId;
+          if(this.tableLists.find(m=>m.templateId==this.currentTable)&&this.tableLists.find(m=>m.templateId==this.currentTable).templateName.includes('鐢佃矾璇曢獙')&&this.currentTableState!=0&&this.currentTableState!=1){
+            this.versionDialogVisible = true
+          }
           // 澶勭悊椤甸潰鍒楄〃鏁版嵁
           this.handleTableData()
         }
@@ -3357,14 +3234,6 @@
           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, {
@@ -3450,7 +3319,8 @@
           if(this.param){
             this.$axios.post(this.$api.insOrderPlan.saveInsContext, {
               param: JSON.stringify(this.param),
-              currentTable:this.currentTable
+              currentTable:this.currentTable,
+              num:this.currentSample.num1
             }).then(res => {
               if (res.code == 201) {
                 this.$message.error('淇濆瓨澶辫触')
@@ -3649,7 +3519,6 @@
             insResult: null
           }
         })
-        this.fiberOpticTapeVisible = false;
         let list = await this.getCurrentProduct(this.currentFiberOpticTape.id,1)
         this.getTableLists0(list)
         if(this.currentFiberOpticTape.fiber&&this.currentFiberOpticTape.fiber.length>0){
@@ -3742,6 +3611,27 @@
         }else{
           return v
         }
+      },
+      async getCurrentItem(){
+        let list = await this.getCurrentProduct(this.currentSample.id,0)
+        this.currentSample.insProduct = this.HaveJson(list)
+      },
+      saveVersion(){
+        if(this.currentTableState!=0&&this.currentTableState!=1){
+          this.$message.error('璇烽�夋嫨鐗堟湰')
+          return
+        }
+        this.versionLoading = true;
+        this.$axios.post(this.$api.insOrderPlan.chooseVersion, {
+          orderStateId: this.orderStateId,
+          version: this.currentTableState
+        }).then(res => {
+          this.versionLoading = false;
+          if(res.code==201){
+            return
+          }
+          this.versionDialogVisible = false
+        })
       }
     }
   }

--
Gitblit v1.9.3