From e6c3fccc9e412e79964a6dc2dae4c3da0c80095c Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期二, 26 十一月 2024 15:22:28 +0800
Subject: [PATCH] 完成检验下单、检验任务、报告生成变更

---
 src/components/do/b1-inspect-order-plan/Inspection.vue |  147 ++++++++++++++++++++++++++++--------------------
 1 files changed, 86 insertions(+), 61 deletions(-)

diff --git a/src/components/do/b1-inspect-order-plan/Inspection.vue b/src/components/do/b1-inspect-order-plan/Inspection.vue
index 2130739..32ee71d 100644
--- a/src/components/do/b1-inspect-order-plan/Inspection.vue
+++ b/src/components/do/b1-inspect-order-plan/Inspection.vue
@@ -259,7 +259,7 @@
     <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">
+      <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-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">
@@ -272,7 +272,7 @@
         <el-button size="medium" @click="templateDia=true" v-if="state==1&&tableLists.find(m=>m.templateId==currentTable)&&tableLists.find(m=>m.templateId==currentTable).templateName.includes('鐢佃矾璇曢獙')&&addInsProductTemplatePower">
             <span style="color: #3A7BFA;">淇濆瓨妯℃澘</span>
           </el-button>
-        <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button>
+        <!-- <el-button size="small" type="primary" @click="sampleVisible=true;uploadSample()">鏍峰搧鍒囨崲</el-button> -->
         <el-button size="small" type="primary" @click="taskVisible=true" v-show="!isLook">浠诲姟鍒囨崲</el-button>
         <el-button size="small" type="primary" @click="handleSubmit" v-if="state==1"
           :loading="submitLoading">鎻愪氦</el-button>
@@ -429,10 +429,10 @@
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧缂栧彿'">
                     <div style="display: flex;flex-wrap: nowrap;align-items: center;width: 100%" :title="currentSample.sampleCode">
-                      <i class="el-icon-caret-left table_caret" style="width: 16px;" @click="caretSample(-1)" v-if="!currentFiberOpticTape&&!currentFiberOptic"></i>
+                      <!-- <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>
+                      <!-- <i class="el-icon-caret-right table_caret" style="width: 16px;"
+                      v-if="!currentFiberOpticTape&&!currentFiberOptic" @click="caretSample(1)"></i> -->
                     </div>
                   </template>
                   <template v-else-if="n.v.ps!=undefined && n.v.ps.value==='鏍峰搧鍨嬪彿'">
@@ -750,7 +750,8 @@
       </div>
       <el-upload :action="action"
       :data="{
-        orderId:id,
+        orderId:this.orderId0,
+        sampleId:id,
         sonLaboratory:sonLaboratory
       }"
       v-if="state==1&&fileAdd"
@@ -889,28 +890,31 @@
             :rows="2"></el-input>
           </div>
         </div>
-        <table border="1" cellpadding="10" class="thermal-table">
-          <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;">
-            <td>鏍峰搧</td>
-            <td>鏍峰搧缂栧彿</td>
-            <td>鍨嬪彿</td>
-            <td>妫�楠岄」</td>
-            <td>妫�楠屽瓙椤�</td>
-            <td>宸ユ椂</td>
-          </tr>
-          <template v-for="(item,index) in sampleProduct">
-            <tr>
-              <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td>
-              <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td>
-              <td :rowspan="item.insProduct.length+1">{{ item.model }}</td>
+        <template v-for="(x,y) in newUserInfo">
+          <p style="margin: 10px 0;"><el-tag size="small">{{x.name}}</el-tag> 宸ユ椂濉啓</p>
+          <table border="1" cellpadding="10" class="thermal-table">
+            <tr style="font-size: 18px;font-weight: 500;background-color: #F0F1F5;padding: 10px 0;box-sizing: border-box;">
+              <td>鏍峰搧</td>
+              <td>鏍峰搧缂栧彿</td>
+              <td>鍨嬪彿</td>
+              <td>妫�楠岄」</td>
+              <td>妫�楠屽瓙椤�</td>
+              <td>宸ユ椂</td>
             </tr>
-            <tr v-for="(m,i) in item.insProduct" :key="item.id+i">
-              <td>{{ m.inspectionItem }}</td>
-              <td>{{ m.inspectionItemSubclass }}</td>
-              <td><el-input-number v-model="m.outputWorkTime" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td>
-            </tr>
-          </template>
-        </table>
+            <template v-for="(item,index) in sampleProduct">
+              <tr>
+                <td :rowspan="item.insProduct.length+1">{{ item.sample }}</td>
+                <td :rowspan="item.insProduct.length+1">{{ item.sampleCode }}</td>
+                <td :rowspan="item.insProduct.length+1">{{ item.model }}</td>
+              </tr>
+              <tr v-for="(m,i) in item.insProduct" :key="item.id+i">
+                <td>{{ m.inspectionItem }}</td>
+                <td>{{ m.inspectionItemSubclass }}</td>
+                <td><el-input-number v-model="x.timeArr[i]" :min="0" :max="100" label="宸ユ椂" size="small"></el-input-number></td>
+              </tr>
+            </template>
+          </table>
+        </template>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="experimentDia = false">鍙� 娑�</el-button>
@@ -949,7 +953,7 @@
   import PowerCapacity from './power-capacity.vue'
   import filePreview from '../../tool/file-preview.vue'
   export default {
-    props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack'],
+    props: ['sonLaboratory', 'orderId', 'state','inspectorList','version','orderStateId','isLook','num1','noBack','orderId0','userInfo'],
     components: {
       ValueTable,
       CircuitParameters1,
@@ -1010,8 +1014,9 @@
         },
         componentData0: {
           entity: {
-            insOrderId:'',
-            sonLaboratory:this.sonLaboratory
+            insSampleId:'',
+            sonLaboratory:this.sonLaboratory,
+            insOrderId:''
           },
           isIndex: true,
           showSelect: false,
@@ -1156,6 +1161,7 @@
         templateLoading:false,
         templateName:'',
         addInsProductTemplatePower:false,//閰嶇疆妯℃澘鏉冮檺
+        newUserInfo:[]
       }
     },
     // 鐢ㄤ簬涓婁紶鏂囦欢鐨勪俊鎭�
@@ -1191,11 +1197,12 @@
       id(val) {
         this.loading = true
         this.$axios.post(this.$api.insOrderPlan.doInsOrder, {
-          id: val,
+          sampleId: val,
           laboratory: this.sonLaboratory
         }).then(async res => {
           this.insOrder = res.data.insOrder;
-          this.componentData0.entity.insOrderId = val;
+          this.componentData0.entity.insSampleId = val;
+          this.componentData0.entity.insOrderId = this.orderId0;
           this.$refs.fileList.selectList()
           this.urgentList.forEach(m => {
             if (m.value == this.insOrder.type) {
@@ -3218,7 +3225,7 @@
       },
       // 澶嶆牳
       upInsReview(e,type) {
-        this.$confirm(`鏄惁${type}?`, "鎻愮ず", {
+        this.$confirm(type=='缁撴潫璇曢獙'?'纭缁撴潫璇曢獙锛熺‘瀹氬悗姝ゅ鎵樺崟鍋滄璇曢獙锛屽苟涓旀棤娉曞啀娆℃楠岋紒':`鏄惁${type}?`, "鎻愮ず", {
           confirmButtonText: "纭畾",
           cancelButtonText: "鍙栨秷",
           type: "warning"
@@ -3227,7 +3234,7 @@
           // 缁х画璇曢獙
           this.reviewLoading = true;
           this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
-            orderId: this.orderId,
+            sampleId: this.orderId,
             type: e,
             laboratory: this.sonLaboratory,
             tell: null
@@ -3251,7 +3258,7 @@
         if (this.noReason) {
           this.reviewLoading = true;
           this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
-            orderId: this.orderId,
+            sampleId: this.orderId,
             type: 0,
             laboratory: this.sonLaboratory,
             tell: this.noReason
@@ -3280,18 +3287,18 @@
             return
           }
         }
-        let num =0
-        this.sampleProduct.forEach(item=>{
-          item.insProduct.forEach(a=>{
-            if(!a.outputWorkTime){
-              num++
-            }
-          })
-        })
-        if(num>0){
-          this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�')
-          return
-        }
+        // let num =0
+        // this.newUserInfo.forEach(item=>{
+        //   item.timeArr.forEach(a=>{
+        //     if(!a){
+        //       num++
+        //     }
+        //   })
+        // })
+        // if(num>0){
+        //   this.$message.error('璇疯緭鍏ュ畬鎴愬伐鏃�')
+        //   return
+        // }
         this.experimentDia = false
         this.experimentDia0 = false
         if(this.insOrder.orderType=='C'){
@@ -3311,6 +3318,21 @@
           return
         }
         this.experimentDia = true
+        this.newUserInfo = []
+        this.userInfo.name.forEach((item,index)=>{
+          let timeArr = []
+          this.sampleProduct.forEach(m=>{
+            m.insProduct.forEach(a=>{
+              timeArr.push(0)
+            })
+          })
+          let obj = {
+            name:item,
+            id:this.userInfo.ids[index],
+            timeArr:timeArr
+          }
+          this.newUserInfo.push(obj)
+        })
         if (this.sonLaboratory === '鐢佃矾璇曢獙') {
           this.experimentDia0 = true
         }
@@ -3323,27 +3345,30 @@
         this.addVerifyDia = false
         this.submitLoading = true;
         this.$axios.post(this.$api.insOrderPlan.checkSubmitPlan, {
-          orderId: this.orderId,
+          sampleId: this.orderId,
           laboratory: this.sonLaboratory,
         }).then(res => {
           if (res.code === 200) {
             let auxiliaryOutputWorkingHoursList = []
             this.sampleProduct.forEach(item=>{
-              item.insProduct.forEach(a=>{
-                let obj = {
-                  inspectionItem:a.inspectionItem,
-                  outputWorkTime:a.outputWorkTime,
-                  inspectionItemSubclass:a.inspectionItemSubclass,
-                  sample:item.sampleCode,
-                  insProductId:a.id,
-                  num:item.num1
-                }
-                auxiliaryOutputWorkingHoursList.push(obj)
+              item.insProduct.forEach((a,i)=>{
+                this.newUserInfo.forEach(b=>{
+                  let obj = {
+                    inspectionItem:a.inspectionItem,
+                    outputWorkTime:b.timeArr[i],
+                    inspectionItemSubclass:a.inspectionItemSubclass,
+                    sample:item.sampleCode,
+                    insProductId:a.id,
+                    num:item.num1,
+                    check:b.id
+                  }
+                  auxiliaryOutputWorkingHoursList.push(obj)
+                })
               })
             })
             if(!res.data||res.data.length==0){
               this.$axios.post(this.$api.insOrderPlan.submitPlan, {
-                orderId: this.orderId,
+                sampleId: this.orderId,
                 laboratory: this.sonLaboratory,
                 verifyUser: this.verifyUser,
                 entrustCode: this.insOrder.entrustCode,
@@ -3382,7 +3407,7 @@
                 type: ""
               }).then(() => {
                 this.$axios.post(this.$api.insOrderPlan.submitPlan, {
-                  orderId: this.orderId,
+                  sampleId: this.orderId,
                   laboratory: this.sonLaboratory,
                   verifyUser: this.verifyUser,
                   auxiliaryOutputWorkingHoursList:auxiliaryOutputWorkingHoursList,
@@ -3413,7 +3438,7 @@
       async handleCType(){
         if(this.insOrder.departmentLims=='璐ㄩ噺閮�'){
           await this.$axios.post(this.$api.insOrderPlan.verifyPlan, {
-            orderId: this.orderId,
+            sampleId: this.orderId,
             type: 1,
             laboratory: this.sonLaboratory,
             tell: null

--
Gitblit v1.9.3