From efdd02d3d80253bf93f1c58e3ae25016db2d6b31 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期三, 09 四月 2025 17:25:50 +0800
Subject: [PATCH] 检验任务,进货检验车间文件选择

---
 src/views/business/inspectionTask/index.vue |  191 +++++++++++++++++++----------------------------
 1 files changed, 77 insertions(+), 114 deletions(-)

diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 5cdde1c..9c622a9 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -1,75 +1,62 @@
 <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="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">
+          </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>
             </el-select>
-          </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>
+          </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">
         <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 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>
         <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
-          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination"
-          key="tableData0">
+          :rowClassName="rowClassName" :height="'calc(100vh - 300px)'" @pagination="pagination" key="tableData0">
           <div slot="action" slot-scope="scope">
             <el-button size="small" type="text" @click="handleDataLook(scope.row)">鏁版嵁鏌ョ湅</el-button>
             <el-button type="text" size="small"
-                       :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])"
-                       @click="editInspection(scope.row)">淇敼妫�楠屽��</el-button>
+              :disabled="(scope.row.userName == null || scope.row.insState == 3 || scope.row.insState == 5) && checkPermi(['update:product:onPlan'])"
+              @click="editInspection(scope.row)">淇敼妫�楠屽��</el-button>
             <el-button type="text" size="small" :disabled="(
-                  scope.row.userName == null ||
-                  scope.row.insState == 3 ||
-                  scope.row.insState == 5 ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName))
-                )"
-                       @click="handleInspection(scope.row)">妫�楠�</el-button>
+          scope.row.userName == null ||
+          scope.row.insState == 3 ||
+          scope.row.insState == 5 ||
+          (scope.row.userName && !scope.row.userName.includes(nickName))
+        )" @click="handleInspection(scope.row)">妫�楠�</el-button>
             <el-button type="text" size="small" :disabled="(
-                  scope.row.userName == null ||
-                  scope.row.insState == 5 ||
-                  scope.row.insState == 3 ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName))
-                )"
-                       @click="handleConnect(scope.row)">浜ゆ帴</el-button>
+          scope.row.userName == null ||
+          scope.row.insState == 5 ||
+          scope.row.insState == 3 ||
+          (scope.row.userName && !scope.row.userName.includes(nickName))
+        )" @click="handleConnect(scope.row)" v-if="tabIndex != 0">浜ゆ帴</el-button>
             <el-button type="text" size="small" @click="viewInspectInfo(scope.row)">鍘熷璁板綍</el-button>
             <el-popover placement="bottom" trigger="hover" style="margin-left: 6px">
               <template #reference>
@@ -77,23 +64,22 @@
               </template>
               <div>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px" type="text" size="small" @click="download(scope.row)">涓嬭浇鎶ュ憡</el-button>
-                <el-upload ref='upload'
-                           :action="javaApi + '/insReport/inReport'"
-                           :before-upload="beforeUpload"
-                           :data="{id: scope.row.insReportId}"
-                           :headers="uploadHeader" :on-error="onError"
-                           :on-success="handleSuccessUp"
-                           :show-file-list="false"
-                           style="display: inline;margin: 0 6px"
-                           accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
+          (scope.row.userName && !scope.row.userName.includes(nickName)))" style="margin-left: 10px"
+                  type="text" size="small" @click="download(scope.row)">涓嬭浇鎶ュ憡</el-button>
+                <el-upload ref='upload' :action="javaApi + '/insReport/inReport'" :before-upload="beforeUpload"
+                  :data="{ id: scope.row.insReportId }" :headers="uploadHeader" :on-error="onError"
+                  :on-success="handleSuccessUp" :show-file-list="false" style="display: inline;margin: 0 6px"
+                  accept='.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar'>
                   <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small" type="text">涓婁紶</el-button>
+          (scope.row.userName && !scope.row.userName.includes(nickName)))" size="small"
+                    type="text">涓婁紶</el-button>
                 </el-upload>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleRestore(scope.row)">杩樺師</el-button>
+          (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
+                  @click="handleRestore(scope.row)">杩樺師</el-button>
                 <el-button :disabled="(scope.row.insState != 3 || scope.row.userName == null ||
-                  (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small" @click="handleIssued(scope.row)">鏌ョ湅鎶ュ憡</el-button>
+          (scope.row.userName && !scope.row.userName.includes(nickName)))" type="text" size="small"
+                  @click="handleIssued(scope.row)">鏌ョ湅鎶ュ憡</el-button>
               </div>
             </el-popover>
           </div>
@@ -102,8 +88,8 @@
     </div>
     <el-dialog :visible.sync="claimVisible" title="鎻愮ず" width="400px">
       鏄惁璁ら濮旀墭缂栧彿<span style="color: #33c130">{{
-        sampleUserForm.entrustCode
-      }}</span>鐨勪换鍔�
+          sampleUserForm.entrustCode
+        }}</span>鐨勪换鍔�
       <span slot="footer" class="dialog-footer">
         <el-button @click="claimVisible = false">鍙� 娑�</el-button>
         <el-button :loading="loading" type="primary" @click="confirmClaim">纭� 瀹�</el-button>
@@ -165,7 +151,7 @@
         </el-button>
       </div>
       <el-table :data="bindTableData" style="width: 100%" height="70vh" v-loading="bindTableDataLoading"
-                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
+        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border>
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
         </el-table-column>
         <el-table-column prop="inspectionItem" label="妫�楠岄」" width="150">
@@ -181,7 +167,7 @@
     </el-dialog>
     <el-dialog :visible.sync="bindAddDialogVisible" title="閫夋嫨缁戝畾" width="600px">
       <el-table :data="bindAddTableData" style="width: 100%" height="60vh"
-                :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
+        :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
         @selection-change="handleBindAddSelectionChange">
         <el-table-column type="selection" width="55"> </el-table-column>
         <el-table-column prop="inspectionItemClass" label="妫�楠岄」鍒嗙被" width="150">
@@ -207,13 +193,14 @@
     <!--鏌ョ湅宸ユ椂寮规-->
     <viewManHourDia ref="viewManHourDia"></viewManHourDia>
     <!--涓嶅悎鏍煎娴嬫煡鐪嬪脊妗�-->
-    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible" @closeRetestLook="closeRetestLook"></un-pass-retest-result>
+    <un-pass-retest-result v-if="retestVisible" :retestInfo="retestInfo" :retestVisible="retestVisible"
+      @closeRetestLook="closeRetestLook"></un-pass-retest-result>
     <!--鎶ュ憡鏌ョ湅-->
     <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>
+          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">
@@ -222,7 +209,7 @@
     </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>
@@ -247,8 +234,8 @@
   selectSampleAndProductByOrderId,
 } from "@/api/business/inspectionTask.js";
 import { mapGetters } from "vuex";
-import {getRetestResult} from "@/api/business/rawMaterialOrder";
-import {upReportUrl} from "@/api/business/insReport";
+import { getRetestResult } from "@/api/business/rawMaterialOrder";
+import { upReportUrl } from "@/api/business/insReport";
 import onlyoffice from "@/components/Onlyoffice/onlyoffice.vue";
 import filePreview from "@/components/Preview/filePreview.vue";
 export default {
@@ -266,6 +253,7 @@
   },
   data() {
     return {
+      workShopId: null,
       issuedVisible: false,
       fullscreen: false,
       lookDialogVisible: false,
@@ -343,7 +331,7 @@
         },
         {
           value: "Quarterly inspection",
-          label: "瀛e害妫�楠�",
+          label: "鍙潬鎬ф楠�",
           type: "warning",
           effect: "plain",
         },
@@ -509,6 +497,7 @@
             }
           },
         },
+        { label: "妫�楠屼汉", prop: "checkUserName" },
         {
           dataType: "action",
           fixed: "right",
@@ -521,7 +510,7 @@
                 this.getRetestResultInfo(row);
               },
               disabled: (row) => {
-                return row.insResult!=0
+                return row.insResult != 0
               },
             },
             {
@@ -649,7 +638,7 @@
     },
     // 涓嬭浇鎶ュ憡
     download(row) {
-      let url = (row.urlS===null||row.urlS==='')?row.url:row.urlS
+      let url = (row.urlS === null || row.urlS === '') ? row.url : row.urlS
       const link = document.createElement('a');
       link.href = this.javaApi + url;
       link.target = '_blank';
@@ -683,7 +672,7 @@
         fileName = row.tempUrlPdf
         fileType = "pdf"
       }
-      fileName = fileName.replace('/word/','')
+      fileName = fileName.replace('/word/', '')
       const userName = this.nickName
       this.option = {
         url: this.javaApi + "/word/" + fileName,
@@ -791,6 +780,7 @@
       }
       this.inspectorList = inspectorList;
       this.sonLaboratory = row.sonLaboratory;
+      this.workShopId = row.workShopId;
       this.state = 1;
       this.typeSource = row.typeSource;
       this.orderId = row.id;
@@ -802,6 +792,7 @@
           state: this.state,
           typeSource: this.typeSource,
           orderId: this.orderId,
+          workShopId: row.workShopId
         },
       });
     },
@@ -897,13 +888,13 @@
       });
     },
     // 鏌ョ湅涓嶅悎鏍煎娴嬬粨鏋�
-    getRetestResultInfo (row) {
-      getRetestResult({insProductId: row.insProductId}).then(res => {
+    getRetestResultInfo(row) {
+      getRetestResult({ insProductId: row.insProductId }).then(res => {
         this.retestVisible = true
         this.retestInfo = res.data
       })
     },
-    closeRetestLook () {
+    closeRetestLook() {
       this.retestVisible = false
     },
     // 缁戝畾妫�楠岄」缁戝畾
@@ -972,7 +963,7 @@
         });
       });
     },
-    beforeUpload (file) {
+    beforeUpload(file) {
       if (file.size > 1024 * 1024 * 10) {
         this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
         this.$refs.upload.clearFiles()
@@ -1000,14 +991,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 +1005,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 {
@@ -1066,11 +1035,10 @@
   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 +1049,5 @@
 
 .view-self-checkbox {
   margin-left: 50px;
-}
-</style>
-<style>
-.ins-order-plan-main .el-form-item__label {
-  color: #000;
 }
 </style>

--
Gitblit v1.9.3