From f2fbb3b07155274408d68084e2d607760c765ad6 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期五, 14 三月 2025 11:09:51 +0800
Subject: [PATCH] 前端跳转路由修改

---
 src/views/business/productOrder/index.vue |  113 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 60 insertions(+), 53 deletions(-)

diff --git a/src/views/business/productOrder/index.vue b/src/views/business/productOrder/index.vue
index a1bff82..5bcd383 100644
--- a/src/views/business/productOrder/index.vue
+++ b/src/views/business/productOrder/index.vue
@@ -15,17 +15,11 @@
           <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small"
             @keyup.enter.native="refreshTable()"></el-input>
         </el-form-item>
-        <el-form-item>
-          <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
-            @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
-          <el-button size="small" @click="refresh()">閲� 缃�</el-button>
-          <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
-        </el-form-item>
-        <el-form-item label="鏍峰搧缂栧彿" prop="sampleCode" v-if="more">
-          <el-input v-model="entity.sampleCode" clearable placeholder="璇疯緭鍏�" size="small"
-            @keyup.enter.native="refreshTable">
-          </el-input>
-        </el-form-item>
+<!--        <el-form-item label="鏍峰搧缂栧彿" prop="sampleCode" v-if="more">-->
+<!--          <el-input v-model="entity.sampleCode" clearable placeholder="璇疯緭鍏�" size="small"-->
+<!--            @keyup.enter.native="refreshTable">-->
+<!--          </el-input>-->
+<!--        </el-form-item>-->
         <el-form-item label="涓嬪崟鏃堕棿" prop="createTime" v-if="more">
           <el-date-picker v-model="entity.createTime" clearable format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" size="small"
             style="width:100%" type="date" value-format="yyyy-MM-dd HH:mm:ss">
@@ -41,13 +35,24 @@
             @keyup.enter.native="refreshTable">
           </el-input>
         </el-form-item>
+        <el-form-item>
+          <el-button :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
+                     @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
+          <el-button size="small" @click="refresh()">閲� 缃�</el-button>
+          <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
+        </el-form-item>
       </el-form>
     </div>
     <div class="table-tab">
       <div>
         <ul class="tab">
-          <li v-for="(m, i) in tabList" :key="i + 'afgh'" :class="{ active: i == tabIndex }" @click="handleTab(m, i)">{{ m.label }}
-          </li>
+          <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>
@@ -55,7 +60,7 @@
           @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 size="small" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
+        <el-button v-if="checkPermi(['add:insOrder'])" size="small" type="primary" @click="playOrder(1)">涓嬪崟</el-button>
       </div>
     </div>
     <div class="table">
@@ -146,7 +151,7 @@
           </el-row>
         </span>
       </el-dialog>
-      <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%">
+      <el-dialog :visible.sync="dataDialogVisible" title="鏁版嵁鏌ョ湅" width="80%" @close="closeDia">
         <div v-if="dataDialogVisible">
           <lims-table :tableData="tableDataLook" :column="tableDataLookColumn" @pagination="tableDataLookPagination"
             height="500px" key="tableDataLook" :page="tableDataLookPage"
@@ -168,8 +173,7 @@
         <span slot="footer" class="dialog-footer">
           <el-row>
             <el-button @click="handleNo">{{ deleteTilte == '鎾ら攢' ? '鍙� 娑�' : '涓嶉�氳繃' }}</el-button>
-            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫�
-              杩�'}}</el-button>
+            <el-button :loading="printLoading" type="primary" @click="submitDelete">{{ deleteTilte == '鎾ら攢' ? '纭� 瀹�' : '閫氳繃'}}</el-button>
           </el-row>
         </span>
       </el-dialog>
@@ -303,7 +307,6 @@
 <script>
 import vueQr from 'vue-qr'
 import PrintJS from 'print-js'
-import file from "@/utils/file";
 import PrintDialog from "@/views/business/productOrder/components/printDialog.vue";
 import AddInspectionDia from "@/views/business/productOrder/components/addInspectionDia.vue";
 import limsTable from "@/components/Table/lims-table.vue";
@@ -316,8 +319,9 @@
 } from "@/api/business/productOrder";
 import { selectUserCondition } from "@/api/performance/class";
 import { downFile, getFileList, selectSampleAndProductByOrderId } from "@/api/business/rawMaterialOrder";
-// import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
+import {mapGetters} from "vuex";
 export default {
+  name: 'ProductOrder',
   components: {
     limsTable,
     AddInspectionDia,
@@ -542,6 +546,7 @@
       quashDialogVisible: false,
       issuedDialogVisible: false,
       dataDialogVisible: false, // 鏁版嵁鏌ョ湅寮规
+      currentRow: {}, // 鏁版嵁鏌ョ湅寮规
       tableDataLookTableLoading: false, // 鏁版嵁鏌ョ湅寮规
       tableDataLook: [],
       tableDataLookPage: {
@@ -684,7 +689,7 @@
           label: '寰呭鏍�',
           value: 0
         }, {
-          label: '寰呮楠�',
+          label: '妫�楠屼腑',
           value: 1
         },
         {
@@ -736,6 +741,9 @@
       }
     }
   },
+  computed: {
+    ...mapGetters(["nickName"]),
+  },
   mounted() {
     this.refreshTable()
     this.getAuthorizedPerson()
@@ -754,7 +762,7 @@
       }
       const params = { ...this.entity, state: this.tabList[this.tabIndex].value }
       this.tableLoading = true
-      selectInsOrderParameter(params).then(res => {
+      selectInsOrderParameter({...this.page,...params}).then(res => {
         this.upIndex++
         this.tableLoading = false
         if (res.code === 200) {
@@ -868,9 +876,10 @@
     },
     // 瀵煎嚭璁板綍
     downLoad() {
-      rawAllInsOrderExport({ ...this.entity }).then(res => {
-        let url = this.javaApi + '/word/' + res.data
-        this.$download.saveAs(url, '濮旀墭妫�娴嬩俊鎭鍑�.xlsx');
+      const 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');
       }).catch(err => {
         console.log('err---', err);
       })
@@ -933,12 +942,13 @@
     // 鏁版嵁鏌ョ湅
     handleDataLook(row) {
       this.dataDialogVisible = true;
-      this.getDataTableList(row)
+      this.currentRow = row;
+      this.getDataTableList(this.currentRow)
     },
     // 鏌ヨ鏁版嵁鏌ョ湅鍒楄〃鏁版嵁
     getDataTableList(row) {
       this.tableDataLookTableLoading = true
-      selectSampleAndProductByOrderId({ id: row.id }).then(res => {
+      selectSampleAndProductByOrderId({ id: row.id, ...this.tableDataLookPage }).then(res => {
         this.tableDataLookTableLoading = false
         if (res.code === 200) {
           this.tableDataLook = res.data.records
@@ -950,7 +960,15 @@
     },
     tableDataLookPagination(page) {
       this.tableDataLookPage.size = page.limit
-      this.getDataTableList()
+      this.getDataTableList(this.currentRow)
+    },
+    closeDia () {
+      this.tableDataLookPage = {
+        total: 0,
+        size: 10,
+        current: 1
+      }
+      this.dataDialogVisible = false
     },
     // 闄勪欢鏌ョ湅
     handleFileLook(row) {
@@ -978,25 +996,16 @@
       downFile({
         id: row.id,
       }).then(res => {
-        if (res.code === 200) {
-          let url = '';
-          if (res.data.type == 1) {
-            url = this.javaApi + '/img/' + res.data.fileUrl
-            this.$download.saveAs(url, row.fileName);
-          } else {
-            url = this.javaApi + '/word/' + res.data.fileUrl
-            this.$download.saveAs(url, row.fileName);
-          }
-        }
+        this.$download.saveAs(res.data.fileUrl, row.fileName);
       }).catch(error => {
 
       })
     },
     // 涓嬭浇鎶ュ憡
     download(row) {
-      let url = this.javaApi + '/word/' + row.urlS ? row.urlS : row.url;
+      let url = row.urlS ? row.urlS : row.url;
       if (url) {
-        this.$download.saveAs(url, this.downLoadInfo.fileName);
+        this.$download.saveAs(url, row.entrustCode);
       }
     },
     // 鎾ら攢
@@ -1123,10 +1132,6 @@
         userId: this.distributeData.userId,
         sonLaboratory: this.distributeData.sonLaboratory,
       }).then(res => {
-        if (res.code === 201) {
-          this.upLoad = false
-          return
-        }
         this.$message.success('淇敼鎴愬姛')
         this.upLoad = false
         this.issuedDialogVisible = false
@@ -1172,7 +1177,7 @@
     handleVerify(row) {
       this.$router.push({ path: "/productOrder/add", query: { examine: 1, active: 3, currentId: row.id } });
     },
-    handleTab(m, i) {
+    handleTab(i) {
       this.tabIndex = i;
       this.refreshTable()
     },
@@ -1183,15 +1188,17 @@
       if (row.userName) {
         inspectorList = row.userName.split(',')
       }
-      let user = JSON.parse(localStorage.getItem('user'))
-      if (user) {
-        inspectorList.push(user.name)
-      }
-      this.inspectorList = inspectorList
-      this.sonLaboratory = row.sonLaboratory
-      this.state = 3;
-      this.typeSource = row.typeSource
-      this.orderId = row.id
+      inspectorList.push(this.nickName)
+      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