From f294efb8c01ad8b0704a92d51c14dbd55d898874 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期四, 23 十月 2025 16:49:46 +0800
Subject: [PATCH] 拆分原材料和外购成品的业务流程(报检、下单、检验)

---
 src/views/business/inspectionTask/index.vue |  146 +++++++++++++++++++++---------------------------
 1 files changed, 65 insertions(+), 81 deletions(-)

diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 5cdde1c..39e56b8 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -1,54 +1,49 @@
 <template>
-  <div class="ins-order-plan-main">
+  <div class="app-container">
     <div style="height: 100%">
       <div class="search">
-        <div class="search_thing">
-          <div class="search_label">濮旀墭缂栧彿锛�</div>
-          <div class="search_input">
+        <el-form :model="queryParams" ref="queryParams" size="small" :inline="true">
+          <el-form-item label="鎵瑰彿" prop="updateBatchNo" v-if="tabIndex===1">
+            <el-input v-model="queryParams.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
+                      @keyup.enter.native="refreshTable()">
+            </el-input>
+          </el-form-item>
+          <el-form-item label="濮旀墭缂栧彿" prop="entrustCode">
             <el-input v-model="queryParams.entrustCode" clearable placeholder="璇疯緭鍏�" size="small"
-              @keyup.enter.native="refreshTable()"></el-input>
-          </div>
-        </div>
-        <div class="search_thing">
-          <div class="search_label">妫�楠岀姸鎬侊細</div>
-          <div class="search_input">
+                      @keyup.enter.native="refreshTable()"></el-input>
+          </el-form-item>
+          <el-form-item label="妫�楠岀姸鎬�" prop="insState">
             <el-select v-model="queryParams.insState" size="small" style="width: 100%" @change="refreshTable()">
               <el-option v-for="(a, i) in dict.type.inspection_task_state" :key="i" :label="a.label"
-                :value="a.value"></el-option>
+                         :value="a.value"></el-option>
             </el-select>
+          </el-form-item>
+          <el-form-item>
+            <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button>
+            <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
+          </el-form-item>
+        </el-form>
+      </div>
+      <div class="center" v-loading="tableLoading">
+        <div class="center-options">
+          <div style="display: flex; align-items: center">
+            <span style="font-size: 14px">璇曢獙瀹ょ绫�:</span>
+            <ul class="tab">
+              <li v-for="(m, i) in tabList" :key="i" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">
+                {{ m.label.replace("璇曢獙瀹�", "") }}
+              </li>
+            </ul>
+            <div>
+              <el-checkbox v-model="alone" class="view-self-checkbox"
+                           @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox>
+            </div>
+          </div>
+          <div class="center-title">
+            <span>鎬昏浠诲姟鏁伴噺:</span>
+            <span>{{ page.total }}</span>
           </div>
         </div>
-        <div class="search_thing" style="padding-left: 30px">
-          <el-button size="small" @click="refresh()">閲� 缃�</el-button>
-          <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
-        </div>
-      </div>
-      <div class="center">
-        <div class="center-options">
-          <el-row>
-            <el-col :span="21">
-              <div style="display: flex; align-items: center">
-                <span style="font-size: 14px">璇曢獙瀹ょ绫�:</span>
-                <ul class="tab">
-                  <li v-for="(m, i) in tabList" :key="i" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">
-                    {{ m.label.replace("璇曢獙瀹�", "") }}
-                  </li>
-                </ul>
-                <div>
-                  <el-checkbox v-model="alone" class="view-self-checkbox"
-                    @change="changeCheckBox"><span>鎴戠殑浠诲姟</span></el-checkbox>
-                </div>
-              </div>
-            </el-col>
-            <el-col :span="3">
-              <div class="center-title">
-                <span>鎬昏浠诲姟鏁伴噺:</span>
-                <span>{{ page.total }}</span>
-              </div>
-            </el-col>
-          </el-row>
-        </div>
-        <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
+        <lims-table :tableData="tableData" :column="column" :page="page"
           :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination"
           key="tableData0">
           <div slot="action" slot-scope="scope">
@@ -71,9 +66,10 @@
                 )"
                        @click="handleConnect(scope.row)">浜ゆ帴</el-button>
             <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">鍘熷璁板綍</el-button>
-            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px">
+            <el-popover placement="bottom" trigger="hover" style="margin-left: 6px" :disabled="(scope.row.insState != 3 || scope.row.userName == null ||(scope.row.userName && !scope.row.userName.includes(nickName)))">
               <template #reference>
-                <el-button link type="text" size="small">鏇村</el-button>
+                <el-button link type="text" size="small" :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
+                  (scope.row.userName && !scope.row.userName.includes(nickName)))">鏇村</el-button>
               </template>
               <div>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
@@ -150,7 +146,7 @@
           </el-form>
         </div>
         <lims-table :tableData="lookTableData" :column="lookColumn" :page="lookPage" :tableLoading="lookTableLoading"
-          :height="'60vh'" @pagination="lookPagination" key="tableData1"></lims-table>
+          :height="'60vh'" @pagination="lookPagination" key="tableData1" :key="upIndex"></lims-table>
       </div>
     </el-dialog>
     <el-dialog :visible.sync="bindDialogVisible" title="妫�楠岄」缁戝畾" width="600px">
@@ -289,6 +285,7 @@
       tabList: [
         { label: "濮旀墭", value: 0 },
         { label: "鍘熸潗鏂�", value: 1 },
+        { label: "澶栬喘", value: 2 },
       ],
       active: 1,
       tabIndex: 0,
@@ -352,6 +349,11 @@
       inspectionTaskState: [],
       tableData: [],
       column: [
+        {
+          label: "鎵瑰彿",
+          prop: "updateBatchNo",
+          width: "120px",
+        },
         {
           label: "濮旀墭缂栧彿",
           prop: "entrustCode",
@@ -549,6 +551,8 @@
       lookTableLoading: false,
       // 鏁版嵁鏌ョ湅鐩稿叧瀛楁---缁撴潫
       retestVisible: false,
+      upIndex: 0,
+      tabLabel: ''
     };
   },
   mounted() {
@@ -565,7 +569,6 @@
   },
   activated() {
     this.getAuthorizedPerson();
-    this.queryParams.userId = this.userId;
     this.currentTime = getYearAndMonthAndDays();
     this.getDicts("urgency_level").then((response) => {
       this.urgencyLevel = this.dictToValue(response.data);
@@ -607,6 +610,7 @@
           if (res.code === 200) {
             this.lookTableData = res.data.records;
             this.lookPage.total = res.data.total;
+            this.upIndex++
             this.dataDialogVisible = true;
           }
         })
@@ -644,7 +648,14 @@
     },
     refreshTable(e) {
       this.page.current = 1;
-      this.queryParams.typeSource = this.tabIndex;
+      let typeSource = null;
+      if(this.tabIndex===1){
+          typeSource=1
+      }else if(this.tabIndex===2){
+        typeSource = 0
+      }
+      this.queryParams.tabLabel = this.tabLabel;
+      this.queryParams.typeSource = typeSource;
       this.getList();
     },
     // 涓嬭浇鎶ュ憡
@@ -731,6 +742,7 @@
     },
     handleTab(m, i) {
       this.tabIndex = i;
+      this.tabLabel = m.label;
       this.queryParams.sonLaboratory = "";
       this.refreshTable();
     },
@@ -745,7 +757,7 @@
         case 0:
           // 鍘熸潗鏂�
           this.$router.push({
-            path: "/materialOrder/customsInspection", query: {
+            path: "/materialOrder/customsInspectionView", query: {
               customsInspection: row,
               active: this.activeFace,
               currentId: this.currentId,
@@ -756,7 +768,7 @@
         case null:
           // 鎴愬搧
           this.$router.push({
-            path: "/productOrder/add", query: {
+            path: "/productOrder/addView", query: {
               examine: this.examine,
               active: this.activeFace,
               currentId: this.currentId
@@ -766,7 +778,7 @@
         case 1:
           // 閾滄潗
           this.$router.push({
-            path: "/materialOrder/copperOrder", query: {
+            path: "/materialOrder/CopperView", query: {
               active: this.activeFace,
               currentId: this.currentId
             }
@@ -802,6 +814,7 @@
           state: this.state,
           typeSource: this.typeSource,
           orderId: this.orderId,
+          isSplit: row.isSplitOrder
         },
       });
     },
@@ -1000,14 +1013,6 @@
 };
 </script>
 <style scoped>
-.search {
-  background-color: #fff;
-  height: 40px;
-  display: flex;
-  align-items: center;
-  margin-top: 20px;
-}
-
 .search_thing {
   display: flex;
   align-items: center;
@@ -1022,20 +1027,6 @@
 
 .search_input {
   width: calc(100% - 120px);
-}
-
-.ins-order-plan-main .search {
-  width: 100%;
-  height: 40px;
-  background-color: #fff;
-  border-radius: 3px;
-}
-
-.ins-order-plan-main .center {
-  background-color: #fff;
-  border-radius: 3px;
-  padding: 20px;
-  padding-top: 0px;
 }
 
 .tab {
@@ -1065,12 +1056,10 @@
   border-color: #3a7bfa;
   color: #3a7bfa;
 }
-
-.center .center-options .center-title {
-  width: 100%;
+.center-options {
   display: flex;
   align-items: center;
-  justify-content: right;
+  justify-content: space-between;
 }
 
 .center .center-options .center-title span:last-child {
@@ -1081,10 +1070,5 @@
 
 .view-self-checkbox {
   margin-left: 50px;
-}
-</style>
-<style>
-.ins-order-plan-main .el-form-item__label {
-  color: #000;
 }
 </style>

--
Gitblit v1.9.3