From 0a26d58a3906b9e13946c7cb46fae51a0de98920 Mon Sep 17 00:00:00 2001
From: Crunchy <3114200645@qq.com>
Date: 星期一, 17 三月 2025 15:49:08 +0800
Subject: [PATCH] Merge branch 'dev' into dev_tides

---
 src/views/business/inspectionReview/index.vue |  146 ++++++++++++++++++++++++++----------------------
 1 files changed, 79 insertions(+), 67 deletions(-)

diff --git a/src/views/business/inspectionReview/index.vue b/src/views/business/inspectionReview/index.vue
index d065a44..98861dd 100644
--- a/src/views/business/inspectionReview/index.vue
+++ b/src/views/business/inspectionReview/index.vue
@@ -3,9 +3,8 @@
     <div>
       <el-form :model="entity" ref="entity" size="small" :inline="true">
         <el-form-item label="濮旀墭缂栧彿" prop="entrustCode">
-          <el-input size="small" placeholder="璇疯緭鍏�" clearable
-                    v-model="entity.entrustCode"
-                    @keyup.enter.native="refreshTable()"></el-input>
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="entity.entrustCode"
+            @keyup.enter.native="refreshTable()"></el-input>
         </el-form-item>
         <el-form-item label="涓嬪崟绫诲埆" prop="entrustCode">
           <el-select size="small" v-model="entity.typeSource" clearable style="width: 100%;" @change="refreshTable()">
@@ -19,7 +18,7 @@
       </el-form>
       <div class="page_total">
         <span>鎬昏浠诲姟鏁伴噺:</span>
-        <span>{{page.total}}</span>
+        <span>{{ page.total }}</span>
       </div>
     </div>
     <div>
@@ -29,10 +28,11 @@
     </div>
     <!--鎶ュ憡鏌ョ湅-->
     <el-dialog title="鎶ュ憡鏌ョ湅" :visible.sync="issuedVisible" width="80vw" :modal-append-to-body="false"
-               :fullscreen="fullscreen">
+      :fullscreen="fullscreen">
       <div class="full-screen">
-        <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen=true;" v-if="!fullscreen"></i>
-        <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen=false;" >
+        <i class="el-icon-full-screen" style="cursor: pointer;font-size: 18px" @click="fullscreen = true;"
+          v-if="!fullscreen"></i>
+        <img src="@/assets/images/no-full.svg" alt="" v-else style="cursor: pointer;" @click="fullscreen = false;">
       </div>
       <div style="height: 80vh;" v-if="issuedVisible">
         <onlyoffice ref="onlyoffice" :options="option" style="width: 100%;height: 100%;" />
@@ -40,27 +40,26 @@
     </el-dialog>
     <el-dialog title="鏌ョ湅闄勪欢" :visible.sync="lookDialogVisible" width="800px" top="5vh" fullscreen>
       <filePreview v-if="lookDialogVisible" :fileUrl="javaApi + '/word/' + currentInfo.tempUrlPdf" :currentFile="{}"
-                   style="max-height: 90vh;overflow-y: auto;" />
+        style="max-height: 90vh;overflow-y: auto;" />
     </el-dialog>
   </div>
 </template>
 
 <script>
 import { getYearAndMonthAndDays } from "@/utils/date";
-// import ShowInfo from "../do/b1-material-ins-order/showInfo.vue";
 import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue";
 import limsTable from "@/components/Table/lims-table.vue";
-import {selectInsOrderPlanList, selectUserCondition} from "@/api/business/inspectionTask";
-import {mapGetters} from "vuex";
-import {upReportUrl} from "@/api/business/insReport";
+import { selectInsOrderPlanList, selectUserCondition } from "@/api/business/inspectionTask";
+import { mapGetters } from "vuex";
+import { upReportUrl } from "@/api/business/insReport";
 import filePreview from "@/components/Preview/filePreview.vue";
 
 export default {
+  name: 'InspectionReview',
   components: {
     filePreview,
     onlyoffice,
     limsTable,
-    // ShowInfo,
   },
   dicts: ["urgency_level", "inspection_task_state"],
   computed: {
@@ -109,7 +108,18 @@
           prop: "type",
           dataType: "tag",
           formatData: (params) => {
-            return this.urgencyLevel.find((m) => m.value == params).label;
+            if (this.urgencyLevel.find((m) => m.value == params)) {
+              return this.urgencyLevel.find((m) => m.value == params).label;
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (this.urgencyLevel.find((m) => m.value == params)) {
+              return this.urgencyLevel.find((m) => m.value == params).type;
+            } else {
+              return null
+            }
           },
         },
         {
@@ -129,11 +139,18 @@
           prop: "insState",
           dataType: "tag",
           formatData: (params) => {
-            return this.inspectionTaskState.find((m) => m.value == params)
-              .label;
+            if (this.inspectionTaskState.find((m) => m.value == params)) {
+              return this.inspectionTaskState.find((m) => m.value == params).label;
+            } else {
+              return null
+            }
           },
           formatType: (params) => {
-            return this.inspectionTaskState.find((m) => m.value == params).type;
+            if (this.inspectionTaskState.find((m) => m.value == params)) {
+              return this.inspectionTaskState.find((m) => m.value == params).type;
+            } else {
+              return null
+            }
           },
         },
         { label: "妫�楠屼汉", prop: "userName" },
@@ -154,7 +171,7 @@
                 this.handleReview(row);
               },
               disabled: (row) => {
-                return row.userName == null || row.userName && !row.userName.includes(this.nickName)
+                return row.checkName == null || (row.checkName && !row.checkName.includes(this.nickName))
               }
             },
             {
@@ -209,18 +226,18 @@
       upIndex: 0,
       planTotal: 0,
       insStateList: [],
-      state:0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0
+      state: 0,//0:鍙拌处椤碉紝1锛氭楠岄〉闈�,2妫�楠岄〉闈�(澶嶆牳)锛岄粯璁や负0
       activeFace: 0, //1锛氫笅鍗曪紝2锛氭煡鐪嬶紝3锛氬鏍革紝榛樿涓�0
       examine: null,
       isReport: 0,
       currentId: null,
       orderId: 0,
-      personList:[],
+      personList: [],
       currentTime: null,
-      sonLaboratoryList:[],
+      sonLaboratoryList: [],
       typeSourceList: [
-        {label: '鎴愬搧涓嬪崟', value: 0},
-        {label: '鍘熸潗鏂欎笅鍗�', value: 1},
+        { label: '鎴愬搧涓嬪崟', value: 0 },
+        { label: '鍘熸潗鏂欎笅鍗�', value: 1 },
       ],
       isCopper: null,
       customsInspection: {},
@@ -228,12 +245,12 @@
       showInfoDialog: false, // 浜т笟閾句俊鎭煡鐪�
       issuedVisible: false,
       fullscreen: false,
-      option:null,
+      option: null,
       orderTypeList: [
-        {label: '濮旀墭璇曢獙', value: 'Customer-ordered test'},
-        {label: '鎶芥', value: '鎶芥'},
-        {label: '杩涘巶妫�楠�', value: '杩涘巶妫�楠�'},
-        {label: '瀛e害妫�楠�', value: 'Quarterly inspection'},
+        { label: '濮旀墭璇曢獙', value: 'Customer-ordered test', type: 'success' },
+        { label: '鎶芥', value: '鎶芥', type: 'danger' },
+        { label: '杩涘巶妫�楠�', value: '杩涘巶妫�楠�', type: 'info' },
+        { label: '瀛e害妫�楠�', value: 'Quarterly inspection', type: '' },
       ],
       urgencyLevel: [],
       inspectionTaskState: [],
@@ -250,6 +267,9 @@
     this.currentTime = getYearAndMonthAndDays()
   },
   mounted() {
+    this.refreshTable()
+  },
+  activated() {
     this.refreshTable()
   },
   methods: {
@@ -284,13 +304,6 @@
       }
       return "";
     },
-    // 鏌ョ湅浜т笟閾句俊鎭�
-    // openInfoDialog (row) {
-    //   this.showInfoDialog = true
-    //   this.$nextTick(() => {
-    //     this.$refs.showInfoDialog.getInfo(row.ifsInventoryId)
-    //   })
-    // },
     selectAllByOne(row) {
       this.isCopper = row.isCopper
       this.customsInspection = row
@@ -332,7 +345,7 @@
       }
     },
     // 澶嶆牳鍥炶皟
-    handleReview(row){
+    handleReview(row) {
       this.$router.push({
         path: "/inspectionTask/inspection",
         query: {
@@ -343,14 +356,14 @@
         },
       })
     },
-    // 涓婁紶鎶ュ憡
-    handleUpload (row) {
-
-    },
     // 涓嬭浇鎶ュ憡
     download(row) {
-      let url = this.javaApi+'/word/' + (row.urlS===null||row.urlS==='')?row.url:row.urlS
-      this.$download.saveAs(url, row.fileName);
+      let url = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+      const link = document.createElement('a');
+      link.href = this.javaApi + url;
+      link.target = '_blank';
+      document.body.appendChild(link);
+      link.click();
     },
     // 杩樺師鎿嶄綔
     handleRestore(row) {
@@ -359,7 +372,7 @@
         cancelButtonText: "鍙栨秷",
         type: "warning"
       }).then(() => {
-        upReportUrl({id: row.insReportId}).then(res => {
+        upReportUrl({ id: row.insReportId }).then(res => {
           if (res.code === 200) {
             this.$message.success('杩樺師鎴愬姛')
             this.refreshTable()
@@ -370,30 +383,29 @@
     },
     // 鏌ョ湅鎶ュ憡
     handleIssued(row) {
-      if (!row.tempUrlPdf) return this.$message.warning('鏂囦欢鏈笂浼�')
-      this.currentInfo = row
-      this.lookDialogVisible = true
-      // this.currentInfo = row;
-      // let fileName = row.url
-      // let fileType = "docx"
-      // if (row.tempUrlPdf != null || row.tempUrlPdf === '') {
-      //   fileName = row.tempUrlPdf
-      //   fileType = "pdf"
-      // }
-      // fileName = fileName.replace('/word/','')
-      // const userName = this.nickName
-      // this.option = {
-      //   url: this.javaApi + "/word/" + fileName,
-      //   isEdit: false,
-      //   fileType: fileType,
-      //   title: fileName,
-      //   lang: 'zh-CN',
-      //   isPrint: false,
-      //   user_id: 1,
-      //   user_name: userName,
-      //   editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
-      // }
-      // this.issuedVisible = true;
+      // todo: 鏌ョ湅鎶ュ憡缁勪欢
+      console.log(this.javaApi)
+      this.currentInfo = row;
+      let fileName = row.url
+      let fileType = "docx"
+      if (row.tempUrlPdf != null || row.tempUrlPdf === '') {
+        fileName = row.tempUrlPdf
+        fileType = "pdf"
+      }
+      fileName = fileName.replace('/word/','')
+      const userName = this.nickName
+      this.option = {
+        url: this.javaApi + "/word/" + fileName,
+        isEdit: false,
+        fileType: fileType,
+        title: fileName,
+        lang: 'zh-CN',
+        isPrint: false,
+        user_id: 1,
+        user_name: userName,
+        editUrl: this.javaApi + "/insReport/onlyOffice/save?fileName=" + fileName
+      }
+      this.issuedVisible = true;
     },
     getAuthorizedPerson() {
       selectUserCondition({ type: 1 }).then((res) => {

--
Gitblit v1.9.3