From e5454b769d44a34af423bf87ac8a740bf8c20341 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期二, 29 四月 2025 13:25:29 +0800
Subject: [PATCH] Merge branch 'dev' into dev_tides

---
 src/views/business/productOrder/index.vue |   98 +++++++++++++++++++++++++++++++-----------------
 1 files changed, 63 insertions(+), 35 deletions(-)

diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue
index d8371fb..b602274 100644
--- a/src/views/business/productOrder/index.vue
+++ b/src/views/business/productOrder/index.vue
@@ -39,30 +39,32 @@
         </el-form-item>
       </el-form>
     </div>
-    <div class="table-tab">
-      <div>
-        <ul class="tab">
-          <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�</li>
-          <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑</li>
-          <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">濮旀墭宸叉</li>
-          <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">鎶芥牱宸叉</li>
-          <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�</li>
-          <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">鎾ら攢</li>
-          <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">鍏ㄩ儴</li>
-        </ul>
+    <div class="container" v-loading="isLoading">
+      <div class="table-tab">
+        <div>
+          <ul class="tab">
+            <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:insOrder:reviewed'])" @click="handleTab(0)">寰呭鏍�</li>
+            <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:insOrder:checkout'])" @click="handleTab(1)">妫�楠屼腑</li>
+            <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:insOrder:customerOrdered'])" @click="handleTab(2)">濮旀墭宸叉</li>
+            <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:insOrder:spotCheck'])" @click="handleTab(3)">鎶芥牱宸叉</li>
+            <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:insOrder:sendBack'])" @click="handleTab(4)">閫�鍥�</li>
+            <li :class="{ active: tabIndex === 5 }" v-if="checkPermi(['get:insOrder:revocation'])" @click="handleTab(5)">鎾ら攢</li>
+            <li :class="{ active: tabIndex === 6 }" v-if="checkPermi(['get:insOrder:all'])" @click="handleTab(6)">鍏ㄩ儴</li>
+          </ul>
+        </div>
+        <div>
+          <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 6" size="small"
+                     @click="downLoad">瀵煎嚭</el-button>
+          <el-button v-if="tabIndex === 1" size="small" type="primary" @click="openAddIns">娣诲姞妫�楠岄」</el-button>
+          <el-button size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
+          <el-button v-if="checkPermi(['add:insOrder'])" size="small" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
+        </div>
       </div>
-      <div>
-        <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 6" size="small"
-          @click="downLoad">瀵煎嚭</el-button>
-        <el-button v-if="tabIndex === 1" size="small" type="primary" @click="openAddIns">娣诲姞妫�楠岄」</el-button>
-        <el-button size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
-        <el-button v-if="checkPermi(['add:insOrder'])" size="small" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
+      <div class="table">
+        <lims-table :tableData="tableData" :column="column" :isSelection="true" :handleSelectionChange="selectMethod"
+                    @pagination="pagination" :height="'calc(100vh - 280px)'" :key="upIndex" :page="page"
+                    :tableLoading="tableLoading"></lims-table>
       </div>
-    </div>
-    <div class="table">
-      <lims-table :tableData="tableData" :column="column" :isSelection="true" :handleSelectionChange="selectMethod"
-        @pagination="pagination" :height="'calc(100vh - 280px)'" :key="upIndex" :page="page"
-        :tableLoading="tableLoading"></lims-table>
     </div>
     <div>
       <!-- 瀹℃牳 -->
@@ -345,6 +347,7 @@
   },
   data() {
     return {
+      isLoading: false, // 鎺у埗鍔犺浇鐘舵��
       entity: {
         orderType: '',
         state: '',
@@ -781,6 +784,11 @@
     ...mapGetters(["nickName"]),
   },
   mounted() {
+    if (this.checkPermi(['get:raw:await'])) {
+      this.tabIndex = 0
+    } else {
+      this.tabIndex = 2
+    }
     this.refreshTable()
     this.getAuthorizedPerson()
   },
@@ -800,8 +808,9 @@
         }
       }
       const params = { ...this.entity, state: this.tabList[this.tabIndex].value }
-      this.tableLoading = true
+      this.isLoading = true; // 寮�濮嬪姞杞�
       selectInsOrderParameter({...this.page,...params}).then(res => {
+        this.isLoading = false; // 缁撴潫鍔犺浇
         this.upIndex++
         this.tableLoading = false
         if (res.code === 200) {
@@ -809,7 +818,7 @@
           this.page.total = res.data.total
         }
       }).catch(err => {
-        this.tableLoading = false
+        this.isLoading = false; // 缁撴潫鍔犺浇
       })
     },
     refresh() {
@@ -918,7 +927,12 @@
     },
     // 瀵煎嚭璁板綍
     downLoad() {
-      const params = { ...this.entity, state: this.tabList[this.tabIndex].value }
+      let params = {}
+      if (this.multipleSelection.length > 0) {
+        params.ids = this.multipleSelection.map(item => item.id).join(',');
+      } else {
+        params = { ...this.entity, state: this.tabList[this.tabIndex].value }
+      }
       rawAllInsOrderExport({ ...params }).then(res => {
         const blob = new Blob([res], { type: 'application/octet-stream' });
         this.$download.saveAs(blob, '濮旀墭妫�娴嬩俊鎭鍑�.xlsx');
@@ -1251,6 +1265,7 @@
     },
     handleTab(i) {
       this.tabIndex = i;
+      this.multipleSelection = []
       this.refreshTable()
     },
     // 鏌ョ湅妫�楠屾暟鎹�
@@ -1261,16 +1276,29 @@
         inspectorList = row.userName.split(',')
       }
       inspectorList.push(this.nickName)
-      this.$router.push({
-        path: "/inspectionTask/inspection",
-        query: {
-          sonLaboratory: row.sonLaboratory,
-          state: 3,
-          typeSource: row.typeSource,
-          orderId: row.id,
-          inspectorList: inspectorList,
-        },
-      })
+      if (this.checkPermi(['business:inspectionView'])) {
+        this.$router.push({
+          name: "InspectionView",
+          query: {
+            sonLaboratory: row.sonLaboratory,
+            state: 3,
+            typeSource: row.typeSource,
+            orderId: row.id,
+            inspectorList: inspectorList,
+          },
+        })
+      } else {
+        this.$router.push({
+          path: "/inspectionTask/inspection",
+          query: {
+            sonLaboratory: row.sonLaboratory,
+            state: 3,
+            typeSource: row.typeSource,
+            orderId: row.id,
+            inspectorList: inspectorList,
+          },
+        })
+      }
     },
     goback() {
       this.state = 0

--
Gitblit v1.9.3