From 5c8aaba66c16b1a143fdec27e29ad36eaefd1e3a Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 31 十二月 2024 14:33:25 +0800
Subject: [PATCH] 无源器件检验开发

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  115 +++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 82 insertions(+), 33 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 32ee71d..54e89e4 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -259,8 +259,8 @@
     <el-row class="title">
       <el-col :span="12" style="padding-left: 20px;text-align: left;" :class="{noShow:noBack}">妫�楠屽崟璇︽儏
       </el-col>
-      <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end;margin-top: 16px;">
-        <el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')">鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</el-button>
+      <el-col :span="12" style="text-align: right;display: flex;align-items: center;justify-content: end;height: 60px;">
+        <el-button size="small" type="primary" @click="versionDialogVisible=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&insOrder.sampleType!='鏃犳簮鍣ㄤ欢'">鐢佃皟/闈炵數璋冩ā鏉垮垏鎹�</el-button>
         <el-select v-model="template" size="medium" placeholder="鐢佃矾棰勮妯℃澘" style="margin-right: 10px;margin-left: 10px;" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')"
           @change="selectInsProductTemplateById">
           <el-option v-for="(a, ai) in templates" :key="ai" :value="a.id" :label="a.name">
@@ -277,10 +277,11 @@
         <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1"
           :loading="submitLoading">鎻愪氦</el-button>
         <!-- 澶嶆牳 -->
-        <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading"
-          v-if="state>1&&!isLook">缁х画璇曢獙</el-button>
+        <!-- <el-button size="small" type="primary" @click="upInsReview(1,'缁х画璇曢獙')" :loading="reviewLoading"
+          v-if="state>1&&!isLook">缁х画娴嬭瘯涓嬩竴涓牱鍝�</el-button>
         <el-button size="small" @click="upInsReview(0,'鍐嶆璇曢獙')" v-if="state>1&&!isLook" type="danger">鍐嶆璇曢獙</el-button>
-        <el-button size="small" @click="upInsReview(2,'缁撴潫璇曢獙')" v-if="state>1&&!isLook">缁撴潫璇曢獙</el-button>
+        <el-button size="small" @click="upInsReview(2,'缁撴潫璇曢獙')" v-if="state>1&&!isLook">姝ゅ鎵樺崟缁撴潫</el-button> -->
+        <el-button size="small" type="primary" @click="upInsReviewDia=true" v-if="state>1&&!isLook">澶嶆牳</el-button>
         <el-button size="small" @click="handleBack" v-if="!noBack">杩斿洖</el-button>
       </el-col>
     </el-row>
@@ -737,8 +738,12 @@
       <!-- 鐢佃矾璇曢獙 -->
       <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" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters1>
+        <!-- 闈炵數璋� -->
         <CircuitParameters2 v-if="currentTableState==1" :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters2>
+        <!-- 鏃犳簮鍣ㄤ欢 -->
+        <CircuitParameters3 v-if="this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢' "  :insProduct="currentSample.insProduct" :orderId="id" :sampleId="currentSample.id" :state="state" :num="currentSample.num1" :isLook="isLook" :currentNum="currentNum" ref="CircuitParameters"></CircuitParameters3>
       </div>
       <!-- 娓╂箍搴﹁瘯楠� -->
       <div v-else-if="tableLists.find(m=>m.templateId==currentTable).templateName.includes('娓╂箍搴﹁瘯楠�')">
@@ -756,10 +761,11 @@
       }"
       v-if="state==1&&fileAdd"
       :on-success="handleSuccessUp" :show-file-list="false"
-        accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :on-change="beforeUpload"
+        accept='.jpg,.jpeg,.png,.gif,.docx,.xls,.xlsx,.pdf,.zip,.rar,.csv' :headers="headers" :before-upload="beforeUpload"
         style="width: 80px !important;"
         :on-error="onError" ref='upload'>
         <el-button size="small" type="primary" v-if="state==1">闄勪欢涓婁紶</el-button></el-upload>
+      <!-- <span v-if="sonLaboratory === '杩滃満'||sonLaboratory === '杩戝満'" style="color: red;font-size: 12px;">杈愬皠璇曢獙灏介噺涓婁紶璁惧瀵煎嚭鐨刢sv鏂囦欢锛屼笉鐒惰Е鍙戜笉浜嗘姤鍛婄敓鎴�</span> -->
       <ValueTable class="value-table" ref="fileList" :url="$api.insOrderPlan.getFileList"
         :componentData="componentData0"
         :delUrl="$api.insOrderPlan.delfile"
@@ -800,7 +806,7 @@
     </el-drawer>
     <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_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: 4}"></el-input>
         </div>
@@ -940,6 +946,18 @@
         <el-button type="primary" @click="addTemplateDia" :loading="templateLoading">纭� 瀹�</el-button>
       </span>
     </el-dialog>
+    <el-dialog title="澶嶆牳" :visible.sync="upInsReviewDia" width="400px">
+      <el-radio-group v-model="upInsReviewType" style="display: flex;flex-direction: column">
+        <el-radio :label="1" style="margin: 10px 0; ">缁х画娴嬭瘯涓嬩竴涓牱鍝佹垨鍏朵粬绔欑偣浠诲姟</el-radio>
+        <el-radio :label="0" style="margin: 10px 0; ">鍐嶆妫�楠岃鏍峰搧</el-radio>
+        <el-radio :label="2" style="margin: 10px 0; ">姝ゅ鎵樺崟缁撴潫</el-radio>
+        <p style="font-size: 12px;color:red">鎱庨噸锛氬鏋滆繕鏈夊叾浠栨牱鍝佸湪妫�锛岀偣鍑荤粨鏉熷彲鑳戒細涓柇锛岃纭繚鎵�鏈夋牱鍝侀兘妫�楠屼笖澶嶆牳瀹屾垚鍐嶇偣鍑�</p>
+      </el-radio-group>
+      <span slot="footer" class="dialog-footer">
+        <el-button @click="upInsReviewDia = false">鍙� 娑�</el-button>
+        <el-button type="primary" @click="upInsReview" :loading="reviewLoading">纭� 瀹�</el-button>
+      </span>
+    </el-dialog>
   </div>
 </template>
 
@@ -949,6 +967,7 @@
   import excelFunction from '../../../util/excelFountion'
   import CircuitParameters1 from './circuit-parameters1.vue'
   import CircuitParameters2 from './circuit-parameters2.vue'
+  import CircuitParameters3 from './circuit-parameters3.vue'
   import Humidity from './humidity.vue'
   import PowerCapacity from './power-capacity.vue'
   import filePreview from '../../tool/file-preview.vue'
@@ -958,6 +977,7 @@
       ValueTable,
       CircuitParameters1,
       CircuitParameters2,
+      CircuitParameters3,
       filePreview,
       Humidity,
       PowerCapacity,
@@ -967,6 +987,8 @@
         lookFileVisible:false,//棰勮鏂囦欢
         experimentDia:false,
         experimentDia0:false,
+        upInsReviewDia:false,
+        upInsReviewType:1,
         experimentInfo:{
           note:'',
           term:''
@@ -1190,7 +1212,6 @@
       this.scrollInit()
       this.getPower()
       this.startWorker()
-      this.selectInsProductTemplate()
     },
     watch: {
       // 鐩戝惉浠诲姟id锛岃幏鍙栦换鍔′俊鎭�
@@ -1204,6 +1225,7 @@
           this.componentData0.entity.insSampleId = val;
           this.componentData0.entity.insOrderId = this.orderId0;
           this.$refs.fileList.selectList()
+          this.selectInsProductTemplate()
           this.urgentList.forEach(m => {
             if (m.value == this.insOrder.type) {
               this.insOrder.typeName = m.label
@@ -2429,7 +2451,7 @@
           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){
+          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.insOrder.sampleType!='鏃犳簮鍣ㄤ欢'){
             this.versionDialogVisible = true
           }
           // 澶勭悊椤甸潰鍒楄〃鏁版嵁
@@ -3224,23 +3246,19 @@
         })
       },
       // 澶嶆牳
-      upInsReview(e,type) {
-        this.$confirm(type=='缁撴潫璇曢獙'?'纭缁撴潫璇曢獙锛熺‘瀹氬悗姝ゅ鎵樺崟鍋滄璇曢獙锛屽苟涓旀棤娉曞啀娆℃楠岋紒':`鏄惁${type}?`, "鎻愮ず", {
-          confirmButtonText: "纭畾",
-          cancelButtonText: "鍙栨秷",
-          type: "warning"
-        }).then(() => {
-          if (e == 1||e==2) {
+      upInsReview() {
+        if (this.upInsReviewType == 1||this.upInsReviewType==2) {
           // 缁х画璇曢獙
           this.reviewLoading = true;
           this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
             sampleId: this.orderId,
-            type: e,
+            type: this.upInsReviewType,
             laboratory: this.sonLaboratory,
             tell: null
           }).then(res => {
             if (res.code === 200) {
               this.$message.success("鎿嶄綔鎴愬姛")
+              this.upInsReviewDia = false;
               this.$emit('goback')
             }
             this.reviewLoading = false;
@@ -3252,7 +3270,6 @@
           // 鍐嶆璇曢獙
           this.reviewDia = true;
         }
-        })
       },
       handleReviewDia() {
         if (this.noReason) {
@@ -3308,7 +3325,7 @@
           this.addVerifyDia = true
         }
       },
-      handleSubmit(){
+      async handleSubmit(){
         if(!this.otherForm.temperature){
           this.$message.error('璇疯緭鍏ユ俯搴�')
           return
@@ -3316,6 +3333,13 @@
         if(!this.otherForm.humidity){
           this.$message.error('璇疯緭鍏ユ箍搴�')
           return
+        }
+        this.loading = true
+        if(this.sonLaboratory === '鐢佃矾璇曢獙'&&!(await this.$refs.CircuitParameters.saveAll())){
+          this.loading = false
+          return
+        }else{
+          this.loading = false
         }
         this.experimentDia = true
         this.newUserInfo = []
@@ -3706,22 +3730,39 @@
         let list = await this.getCurrentProduct(this.currentFiberOptic.id,2)
         this.getTableLists0(list)
       },
-      handleSuccessUp(response, ) {
+      async handleSuccessUp(response, ) {
         this.upLoading = false;
 				if (response.code == 200) {
           this.$message.success('涓婁紶鎴愬姛');
           this.$refs.fileList.selectList()
+          if(this.sonLaboratory === '鐢佃矾璇曢獙'){
+            // // 鐢佃矾璇曢獙鏁伴噰
+            // 鑾峰彇褰撳墠鏍峰搧鐨勬楠岄」
+            let list = await this.getCurrentProduct(this.currentSample.id,0)
+            this.currentSample.insProduct = this.HaveJson(list)
+            this.currentNum++
+          }
+				}else {
+          this.$message.error(response.message);
 				}
 			},
       beforeUpload(file) {
-				if (file.size > 1024 * 1024 * 10) {
-					this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
-					this.$refs.upload.clearFiles()
-					return false;
-				} else {
-          this.upLoading = true;
-					return true;
-				}
+        if(this.sonLaboratory === '鐢佃矾璇曢獙'&&(file.name.includes('浜よ皟')||file.name.includes('浜掕皟'))&&!this.$refs.CircuitParameters.allBandList.find(m=>m.band)){
+          this.$message.error('涓婁紶闄勪欢鍓嶈鍏堝~鍐欏苟淇濆瓨棰戞');
+          return false
+        }else{
+          // if(file.name.includes('浜よ皟')||file.name.includes('浜掕皟')){
+          //   this.$refs.CircuitParameters.saveAll()
+          // }
+          if (file.size > 1024 * 1024 * 10) {
+            this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+            this.$refs.upload.clearFiles()
+            return false;
+          } else {
+            this.upLoading = true;
+            return true;
+          }
+        }
 			},
       onError(err, file, fileList) {
 				this.$message.error('涓婁紶澶辫触')
@@ -3819,8 +3860,14 @@
             confirmButtonText: '纭畾',
             cancelButtonText: '鍙栨秷',
             type: 'warning'
-          }).then(() => {
-            this.$emit('goback')
+          }).then(async () => {
+            this.loading = true
+            if(await this.$refs.CircuitParameters.saveAll()){
+              this.$emit('goback')
+              this.loading = false
+            }else{
+              this.loading = false
+            }
           })
         }else{
           this.$emit('goback')
@@ -3830,7 +3877,9 @@
         }
       },
       selectInsProductTemplate(){
-        this.$axios.post(this.$api.insProductTemplate.chooseInsProductTemplate).then(res => {
+        this.$axios.post(this.$api.insProductTemplate.chooseInsProductTemplate,{
+          version:this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢'?2:''
+        }).then(res => {
           if (res.code == 201) return
           this.templates = res.data
         })
@@ -3840,7 +3889,7 @@
           this.$axios.post(this.$api.insProductTemplate.getInsProductTemplate + '?id=' + e).then(res => {
             if (res.code == 201) return
             let obj = JSON.parse(res.data.message)
-            if(this.currentTableState!=res.data.version){
+            if(this.currentTableState!=res.data.version&&this.insOrder.sampleType!='鏃犳簮鍣ㄤ欢'){
               this.$message.error('鐢佃皟/闈炵數璋冩ā鏉跨増鏈笉涓�鑷达紝璇烽噸鏂伴�夋嫨')
               this.template = null
               return
@@ -3882,7 +3931,7 @@
           this.templateLoading = true;
           this.$axios.post(this.$api.insProductTemplate.addInsProductTemplate, {
             name: this.templateName,
-            version:this.currentTableState,
+            version:this.insOrder.sampleType=='鏃犳簮鍣ㄤ欢'?2:this.currentTableState,
             message:JSON.stringify(obj)
           }, {
             headers: {

--
Gitblit v1.9.3