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/materialOrder/index.vue |  871 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 576 insertions(+), 295 deletions(-)

diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index e0b3b07..770931d 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -2,61 +2,55 @@
   <div class="app-container">
     <div>
       <div class="search">
-        <el-form :model="entity" ref="entity" size="small" :inline="true"><el-form-item label="鎵瑰彿" prop="updateBatchNo">
-          <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�"
-                    size="small"
-                    @keyup.enter.native="refreshTable">
-          </el-input>
-        </el-form-item><el-form-item label="濮旀墭缂栧彿" prop="entrustCode">
-          <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�"
-                    size="small"
-                    @keyup.enter.native="refreshTable">
-          </el-input>
-        </el-form-item><el-form-item label="闆朵欢鍙�" prop="partNo">
-          <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�"
-                    size="small"
-                    @keyup.enter.native="refreshTable">
-          </el-input>
-        </el-form-item><el-form-item label="闆朵欢鎻忚堪" prop="partDesc">
-          <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�"
-                    size="small"
-                    @keyup.enter.native="refreshTable">
-          </el-input>
-        </el-form-item>
+        <el-form :model="entity" ref="entity" size="small" :inline="true">
+          <el-form-item label="鎵瑰彿" prop="updateBatchNo">
+            <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small"
+              @keyup.enter.native="goSearch">
+            </el-input>
+          </el-form-item>
+          <el-form-item label="濮旀墭缂栧彿" prop="entrustCode" v-if="tabIndex !== 0">
+            <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�" size="small"
+              @keyup.enter.native="goSearch">
+            </el-input>
+          </el-form-item>
+          <el-form-item label="闆朵欢鍙�" prop="partNo">
+            <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�" size="small"
+              @keyup.enter.native="goSearch">
+            </el-input>
+          </el-form-item>
+          <el-form-item label="闆朵欢鎻忚堪" prop="partDesc">
+            <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�" size="small"
+              @keyup.enter.native="goSearch">
+            </el-input>
+          </el-form-item>
           <el-form-item>
-            <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 4" :icon="!more?'el-icon-arrow-down':'el-icon-arrow-up'" style="color: #3A7BFA;" type="text" @click="more=!more">{{!more?'鏇村':'鏀惰捣'}}</el-button>
-            <el-button size="mini" type="primary" @click="refreshTable()">鏌ヨ</el-button>
+            <el-button v-if="tabIndex === 2 || tabIndex === 3 || tabIndex === 4"
+              :icon="!more ? 'el-icon-arrow-down' : 'el-icon-arrow-up'" style="color: #3A7BFA;" type="text"
+              @click="more = !more">{{ !more ? '鏇村' : '鏀惰捣' }}</el-button>
+            <el-button size="mini" type="primary" @click="goSearch">鏌ヨ</el-button>
             <el-button size="mini" @click="refresh()">閲嶇疆</el-button>
           </el-form-item>
-          <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-            <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�"
-                      size="small"
-                      @keyup.enter.native="refreshTable">
+          <el-form-item label="渚涘簲鍟嗗悕绉�" prop="supplierName"
+            v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+            <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�" size="small"
+              @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
-          <el-form-item label="鏍峰搧鍨嬪彿" prop="sampleModel" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-            <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�"
-                      size="small"
-                      @keyup.enter.native="refreshTable">
+          <el-form-item label="鏍峰搧鍨嬪彿" prop="sampleModel"
+            v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+            <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�" size="small"
+              @keyup.enter.native="goSearch">
             </el-input>
           </el-form-item>
-          <el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-            <el-select v-model="entity.inspectStatus" clearable
-                       size="small" @change="refreshTable()">
+          <el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus"
+            v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
+            <el-select v-model="entity.inspectStatus" clearable size="small" @change="goSearch">
               <el-option v-for="(a, i) in inspectStatusList" :key="i" :label="a.label" :value="a.value"></el-option>
             </el-select>
           </el-form-item>
           <el-form-item label="涓嬪彂鏃堕棿" prop="date" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-            <el-date-picker
-              v-model="entity.date"
-              end-placeholder="缁撴潫鏃ユ湡"
-              format="yyyy-MM-dd"
-              placeholder="閫夋嫨鏃ユ湡"
-              range-separator="鑷�"
-              size="small"
-              start-placeholder="寮�濮嬫棩鏈�"
-              type="daterange"
-              value-format="yyyy-MM-dd">
+            <el-date-picker v-model="entity.date" end-placeholder="缁撴潫鏃ユ湡" format="yyyy-MM-dd" placeholder="閫夋嫨鏃ユ湡" @change="goSearch"
+              range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" value-format="yyyy-MM-dd">
             </el-date-picker>
           </el-form-item>
         </el-form>
@@ -65,48 +59,49 @@
         <div class="table-tab">
           <div>
             <ul class="tab">
-              <li v-for="(m,i) in tabList" :key="m.value" :class="{active:m.value===tabIndex}" @click="handleTab(m)">{{m.label}}</li>
+              <li :class="{ active: tabIndex === 0 }" v-if="checkPermi(['get:raw:await'])" @click="handleTab(0)">寰呬笅鍗�</li>
+              <li :class="{ active: tabIndex === 1 }" v-if="checkPermi(['get:raw:testing'])" @click="handleTab(1)">妫�楠屼腑</li>
+              <li :class="{ active: tabIndex === 2 }" v-if="checkPermi(['get:raw:check'])" @click="handleTab(2)">宸叉楠�</li>
+              <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:raw:quarterCheck'])" @click="handleTab(4)">瀛e害妫�楠�</li>
+              <li :class="{ active: tabIndex === 3 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(3)">鍏ㄩ儴</li>
             </ul>
           </div>
           <div>
-            <el-button v-show="tabIndex === 3 || tabIndex === 2" :loading="outLoading" size="small" type="primary" @click="handleOut">瀵煎嚭</el-button>
+            <el-button v-show="tabIndex === 3" :loading="outLoading" size="small" type="primary"
+              @click="handleOut">瀵煎嚭</el-button>
             <el-button v-if="tabIndex === 0" size="small" type="primary" @click="copper">閾滄潗鏂欎笅鍗�</el-button>
             <el-button v-if="tabIndex !== 0" size="small" type="primary" @click="openPrint">鏍囩鎵撳嵃</el-button>
           </div>
         </div>
         <!--寰呬笅鍗�-->
         <div class="table">
-          <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0"
-            @pagination="pagination" :height="'calc(100vh - 290px)'" key="tableData"
-            :page="page" :tableLoading="tableLoading"></lims-table>
+          <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0" @pagination="pagination"
+                      ref="tableData" :rowClassName="changeRowClass" :height="'calc(100vh - 290px)'"
+                      key="tableData" :page="page" :tableLoading="tableLoading"></lims-table>
         </div>
         <!--妫�楠屼腑-->
         <div class="table">
-          <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1"
-                      :isSelection="true" :handleSelectionChange="selectMethod"
-                      @pagination="pagination1" :height="'calc(100vh - 290px)'" key="tableData1"
-                      :page="page1" :tableLoading="tableLoading1"></lims-table>
+          <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 1" :isSelection="true"
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination1"
+            :height="'calc(100vh - 290px)'" key="tableData1" :page="page1" :tableLoading="tableLoading1"></lims-table>
         </div>
         <!--宸叉楠�-->
         <div class="table">
-          <lims-table :tableData="tableData2" :column="column2" v-if="tabIndex === 2"
-                      :isSelection="true" :handleSelectionChange="selectMethod"
-                      @pagination="pagination2" :height="'calc(100vh - 290px)'" key="tableData2"
-                      :page="page2" :tableLoading="tableLoading2"></lims-table>
+          <lims-table :tableData="tableData2" :column="column2" v-if="tabIndex === 2" :isSelection="true"
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination2"
+            :height="'calc(100vh - 290px)'" key="tableData2" :page="page2" :tableLoading="tableLoading2"></lims-table>
         </div>
         <!--鍏ㄩ儴-->
         <div class="table">
-          <lims-table :tableData="tableData3" :column="column3" v-if="tabIndex === 3"
-                      :isSelection="true" :handleSelectionChange="selectMethod"
-                      @pagination="pagination3" :height="'calc(100vh - 290px)'" key="tableData3"
-                      :page="page3" :tableLoading="tableLoading3"></lims-table>
+          <lims-table :tableData="tableData3" :column="column3" v-if="tabIndex === 3" :isSelection="true"
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination3"
+            :height="'calc(100vh - 290px)'" key="tableData3" :page="page3" :tableLoading="tableLoading3"></lims-table>
         </div>
         <!--瀛e害妫�楠�-->
         <div class="table">
-          <lims-table :tableData="tableData4" :column="column4" v-if="tabIndex === 4"
-                      :isSelection="true" :handleSelectionChange="selectMethod"
-                      @pagination="pagination4" :height="'calc(100vh - 290px)'" key="tableData4"
-                      :page="page4" :tableLoading="tableLoading4"></lims-table>
+          <lims-table :tableData="tableData4" :column="column4" v-if="tabIndex === 4" :isSelection="true"
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination4"
+            :height="'calc(100vh - 290px)'" key="tableData4" :page="page4" :tableLoading="tableLoading4"></lims-table>
         </div>
       </div>
     </div>
@@ -114,9 +109,7 @@
     <el-dialog :visible.sync="exemptionVisible" title="纭鍏嶆" width="42%">
       <div style="display: flex">
         <span style="width: 90px; line-height: 32px">瑙勬牸鍨嬪彿锛�</span>
-        <el-input v-model="exemptionInfo.partDetail" clearable placeholder="璇疯緭鍏�"
-                  size="small"
-                  @keyup.enter.native="refreshTable"></el-input>
+        <el-input v-model="exemptionInfo.partDetail" clearable placeholder="璇疯緭鍏�" size="small"></el-input>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-row>
@@ -127,14 +120,15 @@
     </el-dialog>
     <!-- 鎾ら攢鎶ユ -->
     <el-dialog :visible.sync="declareDialogVisible" title="鎶ユ鎾ら攢" width="30%">
-      <p style="font-size:16px;color:#333333">鎵瑰彿<span
-        style="color:#34BD66">{{this.insOrderRow.updateBatchNo}}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span></p>
+      <p style="font-size:16px;color:#333333">鎵瑰彿<span style="color:#34BD66">{{ this.insOrderRow.updateBatchNo
+          }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span>
+      </p>
       <span slot="footer" class="dialog-footer">
-					<el-row>
-						<el-button @click="declareDialogVisible = false">鍙� 娑�</el-button>
-						<el-button :loading="upLoad" type="primary" @click="submitDeclare">纭� 瀹�</el-button>
-					</el-row>
-				</span>
+        <el-row>
+          <el-button @click="declareDialogVisible = false">鍙� 娑�</el-button>
+          <el-button :loading="upLoad" type="primary" @click="submitDeclare">纭� 瀹�</el-button>
+        </el-row>
+      </span>
     </el-dialog>
     <!-- 鎾ら攢涓嬪崟 -->
     <el-dialog :visible.sync="quashDialogVisible" title="涓嬪崟鎾ら攢" width="30%">
@@ -155,42 +149,37 @@
       </span>
     </el-dialog>
     <!--鏍囩鎵撳嵃寮规-->
-    <print-dialog v-if="printDialog" ref="printDialog"
-                  :printDialog="printDialog"
-                  @closePrintDialog="closePrintDialog"></print-dialog>
+    <print-dialog v-if="printDialog" ref="printDialog" :printDialog="printDialog"
+      @closePrintDialog="closePrintDialog"></print-dialog>
     <!--鏁版嵁鏌ョ湅寮规-->
-    <data-look-visible v-if="dataDialogVisible" ref="dataDialogVisible"
-                       :dataDialogVisible="dataDialogVisible"
-                       :dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible>
+    <data-look-visible v-if="dataDialogVisible" ref="dataDialogVisible" :dataDialogVisible="dataDialogVisible"
+      :dataLookInfo="dataLookInfo" @closeDataLook="closeDataLook"></data-look-visible>
     <!--闄勪欢鏌ョ湅寮规-->
-    <files-look-visible v-if="filesDialogVisible" ref="filesDialogVisible"
-                        :filesDialogVisible="filesDialogVisible"
-                        :filesLookInfo="filesLookInfo" @closeFilesLook="closeFilesLook"></files-look-visible>
+    <files-look-visible v-if="filesDialogVisible" ref="filesDialogVisible" :filesDialogVisible="filesDialogVisible"
+      :filesLookInfo="filesLookInfo" @closeFilesLook="closeFilesLook"></files-look-visible>
     <!--鎶ュ憡涓嬭浇寮规-->
     <down-file-dialog v-if="downFileDialogVisible" ref="downFileDialogVisible"
-                      :downFileDialogVisible="downFileDialogVisible"
-                      :downLoadInfo="downLoadInfo" @closeDownFileDialog="closeDownFileDialog"></down-file-dialog>
+      :downFileDialogVisible="downFileDialogVisible" :downLoadInfo="downLoadInfo"
+      @closeDownFileDialog="closeDownFileDialog"></down-file-dialog>
     <!--浜т笟閾句俊鎭煡鐪�-->
     <ShowInfo v-if="showInfoDialog" ref="showInfoDialog" :showInfoDialog="showInfoDialog"></ShowInfo>
     <!--妫�楠屼换鍔′俊鎭煡鐪�-->
     <el-dialog :visible.sync="InspectInfoDialog" title="鏁版嵁鏌ョ湅" width="400px" @closed="closeInsInfoDialog">
       <div style="margin-bottom: 8px">
         <span style="font-size: 16px;">杩涘巶妫�楠屽師濮嬫暟鎹�</span>
-        <el-link :disabled="!insInfo.enterOrderId" :underline="false"
-                 style="vertical-align: bottom;margin-left: 6px"
-                 type="primary" @click="viewInsInfo0">鏌ョ湅</el-link>
+        <el-link :disabled="!insInfo.enterOrderId" :underline="false" style="vertical-align: bottom;margin-left: 6px"
+          type="primary" @click="viewInsInfo0">鏌ョ湅</el-link>
       </div>
       <div>
-        <span  style="font-size: 16px;">瀛e害妫�楠屽師濮嬫暟鎹�</span>
-        <el-link :disabled="!insInfo.quarterOrderId" :underline="false"
-                 style="vertical-align: bottom;margin-left: 6px"
-                 type="primary" @click="viewInsInfo1">鏌ョ湅</el-link>
+        <span style="font-size: 16px;">瀛e害妫�楠屽師濮嬫暟鎹�</span>
+        <el-link :disabled="!insInfo.quarterOrderId" :underline="false" style="vertical-align: bottom;margin-left: 6px"
+          type="primary" @click="viewInsInfo1">鏌ョ湅</el-link>
       </div>
     </el-dialog>
-<!--    <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
-<!--                :sonLaboratory="'鍘熸潗鏂�'" :state="state"-->
-<!--                :typeSource="typeSource"-->
-<!--                @goback="goback" @refreshView="refreshView"/>-->
+    <!--    <Inspection v-if="state>0" :key="InspectionKey" :inspectorList="inspectorList" :orderId="orderId"-->
+    <!--                :sonLaboratory="'鍘熸潗鏂�'" :state="state"-->
+    <!--                :typeSource="typeSource"-->
+    <!--                @goback="goback" @refreshView="refreshView"/>-->
   </div>
 </template>
 
@@ -205,6 +194,7 @@
   concessionRelease,
   getIfsByAll,
   getIfsByOver,
+  getIfsByQuarter,
   getIfsByStateOne,
   rawAllExport,
   rawOrderRelease,
@@ -213,22 +203,23 @@
   revokeInspectionReport,
   updateEntrustCode
 } from "@/api/business/rawMaterialOrder";
-import {getWarehouseSubmit} from "@/api/business/materialInspection";
+import { getWarehouseSubmit } from "@/api/business/materialInspection";
+import {mapGetters} from "vuex";
 // import Inspection from "../do/b1-inspect-order-plan/Inspection.vue";
 
 export default {
-  name: "b1-material-inspection-order",
+  name: "MaterialOrder",
   // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
-  components: {limsTable,DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog},
+  components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog },
   data() {
     // 杩欓噷瀛樻斁鏁版嵁
     return {
       tableData: [],
       tableLoading: false,
       column: [
-        {label: '鎵瑰彿', prop: 'updateBatchNo'},
-        {label: '闆朵欢鍙�', prop: 'partNo'},
-        {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
+        { label: '鎵瑰彿', prop: 'updateBatchNo' },
+        { label: '闆朵欢鍙�', prop: 'partNo' },
+        { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -248,14 +239,13 @@
             }
           }
         },
-        {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
-        {label: '鍗曚綅', prop: 'buyUnitMeas'},
-        {label: '璁㈠崟鍙�', prop: 'orderNo'},
-        {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
-        {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
         {
           dataType: 'action',
-          fixed: 'right',
           label: '鎿嶄綔',
           operation: [
             {
@@ -283,21 +273,33 @@
         }
       ],
       page: {
-        total:0,
-        size:10,
-        current:1
+        total: 0,
+        size: 20,
+        current: 1
       },
       tableData1: [],
       tableLoading1: false,
       column1: [
-        {label: '鎵瑰彿', prop: 'updateBatchNo'},
-        {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
-        {label: '闆朵欢鍙�', prop: 'partNo'},
-        {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
-        {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
-        {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
-        {label: '妫�楠屼汉', prop: 'userName'},
-        {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
+        { label: '鎵瑰彿', prop: 'updateBatchNo' },
+        {
+          label: '濮旀墭缂栧彿',
+          prop: 'entrustCode',
+          width: "160px",
+          dataType: "link",
+          linkMethod: "changeEntrustCode",
+        },
+        { label: '闆朵欢鍙�', prop: 'partNo' },
+        { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        {
+          label: '鏍峰搧鍚嶇О',
+          prop: 'sampleName',
+          width: "160px",
+          dataType: "link",
+          linkMethod: "selectAllByOne",
+        },
+        { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
+        { label: '妫�楠屼汉', prop: 'userName' },
+        { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -317,11 +319,11 @@
             }
           }
         },
-        {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
-        {label: '鍗曚綅', prop: 'buyUnitMeas'},
-        {label: '璁㈠崟鍙�', prop: 'orderNo'},
-        {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
-        {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
         {
           dataType: 'action',
           fixed: 'right',
@@ -352,27 +354,91 @@
         }
       ],
       page1: {
-        total:0,
-        size:10,
-        current:1
+        total: 0,
+        size: 20,
+        current: 1
       },
       tableData2: [],
       tableLoading2: false,
       column2: [
-        {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
-        {label: '妫�楠岀姸鎬�', prop: 'inspectStatus'},
-        {label: '璁㈠崟鍙�', prop: 'orderNo'},
-        {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
-        {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
-        {label: '鎵瑰彿', prop: 'updateBatchNo'},
-        {label: '闆朵欢鍙�', prop: 'partNo'},
-        {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
-        {label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
-        {label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc'},
-        {label: '鍏嶆', prop: 'isExemption'},
-        {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
-        {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
-        {label: '妫�楠屼汉', prop: 'userName'},
+        {
+          label: '濮旀墭缂栧彿',
+          prop: 'entrustCode',
+          width: "160px",
+          dataType: "link",
+          linkMethod: "changeEntrustCode",
+        },
+        {
+          dataType: 'tag',
+          label: '妫�楠岀姸鎬�',
+          prop: 'inspectStatus',
+          formatData: (params) => {
+            if (params == 0) {
+              return '妫�楠屼腑'
+            } else if (params == 1) {
+              return '鍚堟牸'
+            } else if (params == 2) {
+              return '涓嶅悎鏍�'
+            } else if (params == 3) {
+              return '鏈笅鍗�'
+            } else if (params == 4) {
+              return '璁╂鏀捐'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'warning'
+            } else if (params == 1) {
+              return 'success'
+            } else if (params == 2) {
+              return 'danger'
+            } else if (params == 3) {
+              return 'info'
+            } else if (params == 4) {
+              return ''
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
+        { label: '鎵瑰彿', prop: 'updateBatchNo' },
+        { label: '闆朵欢鍙�', prop: 'partNo' },
+        { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
+        { label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
+        {
+          dataType: 'tag',
+          label: '鍏嶆',
+          prop: 'isExemption',
+          formatData: (params) => {
+            if (params == 1) {
+              return '鍏嶆'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'success'
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          label: '鏍峰搧鍚嶇О',
+          prop: 'sampleName',
+          width: "160px",
+          dataType: "link",
+          linkMethod: "selectAllByOne",
+        },
+        { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
+        { label: '妫�楠屼汉', prop: 'userName' },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -392,9 +458,9 @@
             }
           }
         },
-        {label: '鍗曚綅', prop: 'buyUnitMeas'},
-        {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
-        {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
         {
           dataType: 'action',
           fixed: 'right',
@@ -409,6 +475,11 @@
               disabled: (row) => {
                 return row.isQuarter == 0
               },
+              showHide: (row) => {
+                return this.checkPermi([
+                  "get:raw:check:operation",
+                ]);
+              },
             },
             {
               name: '鏁版嵁鏌ョ湅',
@@ -422,14 +493,14 @@
               type: 'text',
               clickFun: (row) => {
                 this.handleFileLook(row);
-              },
+              }
             },
             {
               name: '鎶ュ憡涓嬭浇',
               type: 'text',
               clickFun: (row) => {
                 this.download(row);
-              },
+              }
             },
             {
               name: '鍘熷璁板綍',
@@ -450,6 +521,11 @@
               disabled: (row) => {
                 return row.inspectStatus != 2
               },
+              showHide: (row) => {
+                return this.checkPermi([
+                  "get:raw:check:operation",
+                ]);
+              },
             },
             {
               name: '瀛e害鎾ら攢',
@@ -460,32 +536,95 @@
               disabled: (row) => {
                 return row.quarterOrderId == null || row.quarterReportId != null
               },
+              showHide: (row) => {
+                return this.checkPermi([
+                  "get:raw:check:operation",
+                ]);
+              },
             },
           ]
         }
       ],
       page2: {
-        total:0,
-        size:10,
-        current:1
+        total: 0,
+        size: 20,
+        current: 1
       },
       tableData3: [],
       tableLoading3: false,
       column3: [
-        {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
-        {label: '妫�楠岀姸鎬�', prop: 'inspectStatus'},
-        {label: '璁㈠崟鍙�', prop: 'orderNo'},
-        {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
-        {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
-        {label: '鎵瑰彿', prop: 'updateBatchNo'},
-        {label: '闆朵欢鍙�', prop: 'partNo'},
-        {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
-        {label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
-        {label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc'},
-        {label: '鍏嶆', prop: 'isExemption'},
-        {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
-        {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
-        {label: '妫�楠屼汉', prop: 'userName'},
+        { label: '濮旀墭缂栧彿', prop: 'entrustCode',width: "160px", },
+        {
+          dataType: 'tag',
+          label: '妫�楠岀姸鎬�',
+          prop: 'inspectStatus',
+          formatData: (params) => {
+            if (params == 0) {
+              return '妫�楠屼腑'
+            } else if (params == 1) {
+              return '鍚堟牸'
+            } else if (params == 2) {
+              return '涓嶅悎鏍�'
+            } else if (params == 3) {
+              return '鏈笅鍗�'
+            } else if (params == 4) {
+              return '璁╂鏀捐'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'warning'
+            } else if (params == 1) {
+              return 'success'
+            } else if (params == 2) {
+              return 'danger'
+            } else if (params == 3) {
+              return 'info'
+            } else if (params == 4) {
+              return ''
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
+        { label: '鎵瑰彿', prop: 'updateBatchNo' },
+        { label: '闆朵欢鍙�', prop: 'partNo' },
+        { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
+        { label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
+        {
+          dataType: 'tag',
+          label: '鍏嶆',
+          prop: 'isExemption',
+          formatData: (params) => {
+            if (params == 1) {
+              return '鍏嶆'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'success'
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          label: '鏍峰搧鍚嶇О',
+          prop: 'sampleName',
+          width: "160px",
+          dataType: "link",
+          linkMethod: "selectAllByOne",
+        },
+        { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
+        { label: '妫�楠屼汉', prop: 'userName' },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -505,9 +644,9 @@
             }
           }
         },
-        {label: '鍗曚綅', prop: 'buyUnitMeas'},
-        {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
-        {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
         {
           dataType: 'action',
           fixed: 'right',
@@ -531,27 +670,85 @@
         }
       ],
       page3: {
-        total:0,
-        size:10,
-        current:1
+        total: 0,
+        size: 20,
+        current: 1
       },
       tableData4: [],
       tableLoading4: false,
       column4: [
-        {label: '濮旀墭缂栧彿', prop: 'entrustCode'},
-        {label: '妫�楠岀姸鎬�', prop: 'inspectStatus'},
-        {label: '璁㈠崟鍙�', prop: 'orderNo'},
-        {label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived'},
-        {label: '涓嬪彂鏃堕棿', prop: 'sendTime'},
-        {label: '鎵瑰彿', prop: 'updateBatchNo'},
-        {label: '闆朵欢鍙�', prop: 'partNo'},
-        {label: '闆朵欢鎻忚堪', prop: 'partDesc'},
-        {label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName'},
-        {label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc'},
-        {label: '鍏嶆', prop: 'isExemption'},
-        {label: '鏍峰搧鍚嶇О', prop: 'sampleName'},
-        {label: '鏍峰搧鍨嬪彿', prop: 'sampleModel'},
-        {label: '妫�楠屼汉', prop: 'userName'},
+        { label: '濮旀墭缂栧彿', prop: 'entrustCode',width: "160px", },
+        {
+          dataType: 'tag',
+          label: '妫�楠岀姸鎬�',
+          prop: 'inspectStatus',
+          formatData: (params) => {
+            if (params == 0) {
+              return '妫�楠屼腑'
+            } else if (params == 1) {
+              return '鍚堟牸'
+            } else if (params == 2) {
+              return '涓嶅悎鏍�'
+            } else if (params == 3) {
+              return '鏈笅鍗�'
+            } else if (params == 4) {
+              return '璁╂鏀捐'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 0) {
+              return 'warning'
+            } else if (params == 1) {
+              return 'success'
+            } else if (params == 2) {
+              return 'danger'
+            } else if (params == 3) {
+              return 'info'
+            } else if (params == 4) {
+              return ''
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '涓嬪彂鏃堕棿', prop: 'sendTime' },
+        { label: '鎵瑰彿', prop: 'updateBatchNo' },
+        { label: '闆朵欢鍙�', prop: 'partNo' },
+        { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' },
+        { label: '涓嶅悎鏍兼弿杩�', prop: 'unqualifiedDesc' },
+        {
+          dataType: 'tag',
+          label: '鍏嶆',
+          prop: 'isExemption',
+          formatData: (params) => {
+            if (params == 1) {
+              return '鍏嶆'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'success'
+            } else {
+              return null
+            }
+          }
+        },
+        {
+          label: '鏍峰搧鍚嶇О',
+          prop: 'sampleName',
+          width: "160px",
+          dataType: "link",
+          linkMethod: "selectAllByOne",
+        },
+        { label: '鏍峰搧鍨嬪彿', prop: 'sampleModel' },
+        { label: '妫�楠屼汉', prop: 'userName' },
         {
           dataType: 'tag',
           label: '鐗╂枡绫诲瀷',
@@ -571,9 +768,9 @@
             }
           }
         },
-        {label: '鍗曚綅', prop: 'buyUnitMeas'},
-        {label: '鎺ユ敹鏃堕棿', prop: 'receiverDate'},
-        {label: '鎶ユ鏃堕棿', prop: 'declareDate'},
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
         {
           dataType: 'action',
           fixed: 'right',
@@ -614,9 +811,9 @@
         }
       ],
       page4: {
-        total:0,
-        size:10,
-        current:1
+        total: 0,
+        size: 20,
+        current: 1
       },
       entity: {
         updateBatchNo: null,
@@ -652,16 +849,16 @@
           value: 3
         }
       ],
-      more:false,
-      tabIndex: 0,
-      multipleSelection:[],
+      more: false,
+      tabIndex: '',
+      multipleSelection: [],
       active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪�
       orderType: 0, //0锛氬師鏉愭枡涓嬪崟锛�1锛氬搴︽楠屼笅鍗�
       currentId: null,
       btnLoading: false,
       quashDialogVisible: false, // 鎾ら攢涓嬪崟鎻愰啋寮规
       declareDialogVisible: false, // 鎾ら攢鎶ユ鎻愰啋寮规
-      insOrderRow:{},
+      insOrderRow: {},
       upLoad: false,
       filesDialogVisible: false, // 闄勪欢鏌ョ湅寮规
       printDialog: false, // 鏍囩鎵撳嵃寮规
@@ -678,11 +875,11 @@
       exemptionLoading: false,
       exemptionInfo: {},
       inspectStatusList: [
-        {label: '妫�楠屼腑', value: 0},
-        {label: '鍚堟牸', value: 1},
-        {label: '涓嶅悎鏍�', value: 2},
-        {label: '鏈笅鍗�', value: 3},
-        {label: '璁╂鏀捐', value: 4},
+        { label: '妫�楠屼腑', value: 0 },
+        { label: '鍚堟牸', value: 1 },
+        { label: '涓嶅悎鏍�', value: 2 },
+        { label: '鏈笅鍗�', value: 3 },
+        { label: '璁╂鏀捐', value: 4 },
       ],
       state: 0,
       orderId: 0,
@@ -691,14 +888,34 @@
       typeSource: null,// 0:鎴愬搧涓嬪崟锛�1锛氬師鏉愭枡涓嬪崟, 2: 閾滃崟涓濅笅鍗�
       InspectInfoDialog: false, // 鏁版嵁鏌ョ湅寮规
       insInfo: {},
-      outLoading:false
+      outLoading: false
     }
   },
-  mounted () {
+  computed: {
+    ...mapGetters(['nickName'])
+  },
+  mounted() {
+    if (this.checkPermi(['get:raw:await'])) {
+      this.tabIndex = 0
+    } else {
+      this.tabIndex = 2
+    }
+    this.refreshTable()
+  },
+  activated () {
     this.refreshTable()
   },
   // 鏂规硶闆嗗悎
   methods: {
+    // 鐐瑰嚮鏌ヨ鍥炶皟
+    goSearch() {
+      this.page.current = 1
+      this.page1.current = 1
+      this.page2.current = 1
+      this.page3.current = 1
+      this.page4.current = 1
+      this.refreshTable()
+    },
     // 鏌ヨ鍥炶皟
     refreshTable() {
       if (this.tabIndex === 0) {
@@ -719,9 +936,9 @@
       }
     },
     // 寰呬笅鍗曟煡璇�
-    getPurchaseOrderList () {
+    getPurchaseOrderList() {
       this.tableLoading = true
-      const params = {...this.entity, isInspect: 1, state: 0}
+      const params = { ...this.entity, isInspect: 1, state: 0, ...this.page }
       getWarehouseSubmit(params).then(res => {
         this.tableLoading = false
         if (res.code === 200) {
@@ -733,9 +950,9 @@
       })
     },
     // 妫�楠屼腑鏌ヨ
-    getIfsByStateOneList () {
+    getIfsByStateOneList() {
       this.tableLoading1 = true
-      const params = {...this.entity, orderState: 1, state: 1}
+      const params = { ...this.entity, orderState: 1, state: 1, ...this.page1 }
       getIfsByStateOne(params).then(res => {
         this.tableLoading1 = false
         if (res.code === 200) {
@@ -747,9 +964,16 @@
       })
     },
     // 宸叉楠屾煡璇�
-    getIfsByOverList () {
+    getIfsByOverList() {
       this.tableLoading2 = true
-      const params = {...this.entity, orderState: 4, state: 2}
+      if(null != this.entity.date){
+        this.entity.beginDeclareDate = this.entity.date[0]
+        this.entity.endDeclareDate = this.entity.date[1]
+      } else {
+        this.entity.beginDeclareDate = ''
+        this.entity.endDeclareDate = ''
+      }
+      const params = { ...this.entity, orderState: 4, state: 2, ...this.page2 }
       getIfsByOver(params).then(res => {
         this.tableLoading2 = false
         if (res.code === 200) {
@@ -761,10 +985,17 @@
       })
     },
     // 鏌ヨ瀛e害妫�楠�
-    getIfsByQuarterList () {
+    getIfsByQuarterList() {
       this.tableLoading4 = true
-      const params = {...this.entity}
-      getIfsByOver(params).then(res => {
+      if(null != this.entity.date){
+        this.entity.beginDeclareDate = this.entity.date[0]
+        this.entity.endDeclareDate = this.entity.date[1]
+      } else {
+        this.entity.beginDeclareDate = ''
+        this.entity.endDeclareDate = ''
+      }
+      const params = { ...this.entity, ...this.page4 }
+      getIfsByQuarter(params).then(res => {
         this.tableLoading4 = false
         if (res.code === 200) {
           this.tableData4 = res.data.records
@@ -775,9 +1006,16 @@
       })
     },
     // 鍏ㄩ儴
-    getIfsByAllList () {
+    getIfsByAllList() {
       this.tableLoading3 = true
-      const params = {...this.entity, isInspect: 1}
+      if(null != this.entity.date){
+        this.entity.beginDeclareDate = this.entity.date[0]
+        this.entity.endDeclareDate = this.entity.date[1]
+      } else {
+        this.entity.beginDeclareDate = ''
+        this.entity.endDeclareDate = ''
+      }
+      const params = { ...this.entity, isInspect: 1, ...this.page3 }
       getIfsByAll(params).then(res => {
         this.tableLoading3 = false
         if (res.code === 200) {
@@ -793,52 +1031,49 @@
       this.resetForm('entity')
       this.refreshTable()
     },
-    pagination (page) {
+    pagination(page) {
       this.page.size = page.limit
       this.refreshTable()
     },
-    pagination1 (page) {
+    pagination1(page) {
       this.page1.size = page.limit
       this.refreshTable()
     },
-    pagination2 (page) {
+    pagination2(page) {
       this.page2.size = page.limit
       this.refreshTable()
     },
-    pagination3 (page) {
+    pagination3(page) {
       this.page3.size = page.limit
       this.refreshTable()
     },
-    pagination4 (page) {
+    pagination4(page) {
       this.page4.size = page.limit
       this.refreshTable()
     },
     // 鏌ョ湅妫�楠屾暟鎹�
-    viewInspectInfo (row) {
+    viewInspectInfo(row) {
       //褰撳墠妫�楠屼换鍔$殑妫�楠屼汉鍒楄〃
       let inspectorList = []
-      if(row.userName){
+      if (row.userName) {
         inspectorList = row.userName.split(',')
       }
-      let user = JSON.parse(localStorage.getItem('user'))
-      if(user){
-        inspectorList.push(user.name)
-      }
+      inspectorList.push(this.nickName)
       this.inspectorList = inspectorList
       this.insInfo = row
       this.InspectInfoDialog = true
     },
-    closeInsInfoDialog () {
+    closeInsInfoDialog() {
       this.InspectInfoDialog = false
     },
     // 鐩存帴鏀捐
-    goPass (row) {
+    goPass(row) {
       this.$confirm('鏄惁鏀捐褰撳墠鏁版嵁?', '鎻愮ず', {
         confirmButtonText: '纭畾',
         cancelButtonText: '鍙栨秷',
         type: 'warning'
       }).then(() => {
-        concessionRelease({ifsInventoryId: row.id}).then(res => {
+        concessionRelease({ ifsInventoryId: row.id }).then(res => {
           if (res.code === 200) {
             this.$message({
               type: 'success',
@@ -861,41 +1096,84 @@
         cancelButtonText: "鍙栨秷",
         type: "warning"
       }).then(() => {
-        repealQuarterRawOrder({quarterOrderId: row.quarterOrderId}).then(res => {
+        repealQuarterRawOrder({ quarterOrderId: row.quarterOrderId }).then(res => {
           if (res.code === 200) {
             this.$message.success('鎾ら攢鎴愬姛')
             this.refreshTable('page')
           }
         })
-      }).catch(() => {})
+      }).catch(() => { })
     },
-    viewInsInfo0 () {
-      this.state = 3;
-      this.typeSource = this.insInfo.typeSource
-      this.orderId = this.insInfo.enterOrderId
+    viewInsInfo0() {
+      let inspectorList = []
+      inspectorList.push(this.nickName)
       this.InspectInfoDialog = false
+      if (this.checkPermi(['business:inspectionView'])) {
+        this.$router.push({
+          name: "InspectionView",
+          query: {
+            sonLaboratory: '鍘熸潗鏂�',
+            state: 3,
+            typeSource: this.insInfo.typeSource,
+            orderId: this.insInfo.enterOrderId,
+            inspectorList: inspectorList,
+          },
+        })
+      } else {
+        this.$router.push({
+          path: "/inspectionTask/inspection",
+          query: {
+            sonLaboratory: '鍘熸潗鏂�',
+            state: 3,
+            typeSource: this.insInfo.typeSource,
+            orderId: this.insInfo.enterOrderId,
+            inspectorList: inspectorList,
+          },
+        })
+      }
     },
-    viewInsInfo1 () {
-      this.state = 3;
-      this.typeSource = this.insInfo.typeSource
-      this.orderId = this.insInfo.quarterOrderId
+    viewInsInfo1() {
+      let inspectorList = []
+      inspectorList.push(this.nickName)
       this.InspectInfoDialog = false
+      if (this.checkPermi(['business:inspectionView'])) {
+        this.$router.push({
+          name: "InspectionView",
+          query: {
+            sonLaboratory: '鍘熸潗鏂�',
+            state: 3,
+            typeSource: this.insInfo.typeSource,
+            orderId: this.insInfo.quarterOrderId,
+            inspectorList: inspectorList,
+          },
+        })
+      } else {
+        this.$router.push({
+          path: "/inspectionTask/inspection",
+          query: {
+            sonLaboratory: '鍘熸潗鏂�',
+            state: 3,
+            typeSource: this.insInfo.typeSource,
+            orderId: this.insInfo.quarterOrderId,
+            inspectorList: inspectorList,
+          },
+        })
+      }
     },
     goback() {
       this.state = 0
       this.refreshTable('page')
     },
     // 鍒锋柊椤甸潰
-    refreshView () {
+    refreshView() {
       this.InspectionKey++
     },
     // 閾滄潗鏂欎笅鍗�
-    copper () {
-      this.$router.push("/materialOrder/copperOrder");
-      this.$router.push({ path: "/materialOrder/copperOrder", query: {active: 1} });
+    copper() {
+      this.$router.push({ path: "/materialOrder/copperOrder", query: { active: 1 } });
     },
     // 鎵撳紑鏍囩鎵撳嵃寮规
-    openPrint () {
+    openPrint() {
       if (this.multipleSelection.length > 0) {
         this.printDialog = true
         this.$nextTick(() => {
@@ -907,29 +1185,35 @@
       }
     },
     // 鍏抽棴鏍囩鎵撳嵃寮规
-    closePrintDialog () {
+    closePrintDialog() {
       this.printDialog = false
     },
     // 涓嬪崟
     playOrder(row) {
-      this.$router.push({ path: "/materialOrder/customsInspection", query: {orderType: 0, customsInspection: row, active: 1} });
+      this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { orderType: 0, customsInspection: row, active: 1 } });
     },
     // 瀛e害妫�楠屼笅鍗�
-    playOrderSec (row) {
-      if (typeof row !== "object") {
-        this.$router.push({ path: "/materialOrder/customsInspection", query: {active: row} });
+    playOrderSec(row) {
+      this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { orderType: 1, customsInspection: row, active: 1 } });
+    },
+    // 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
+    selectAllByOne(row) {
+      if (row.isCopper == 1) {
+        this.currentId = row.enterOrderId
+        this.$router.push({ path: "/materialOrder/CopperView", query: { customsInspection: row, active: 2, currentId: this.currentId } });
       } else {
-        this.$router.push({ path: "/materialOrder/customsInspection", query: {orderType: 1, customsInspection: row, active: 1} });
+        this.currentId = row.insOrderId
+        this.$router.push({ path: "/materialOrder/customsInspectionView", query: { customsInspection: row, active: 2, currentId: this.currentId } });
       }
     },
     // 鎵撳紑鍏嶆寮规
-    exemption (row) {
+    exemption(row) {
       this.exemptionVisible = true
       this.exemptionInfo = row
       this.$set(this.exemptionInfo, 'partDetail', row.partDesc)
     },
     // 鎻愪氦鍏嶆淇℃伅
-    submitExemption () {
+    submitExemption() {
       this.exemptionLoading = true
       rawOrderRelease({
         ifsInventoryId: this.exemptionInfo.id,
@@ -947,13 +1231,13 @@
       })
     },
     // 鎵撳紑鎾ら攢鎶ユ寮规
-    cancelDeclare (row) {
+    cancelDeclare(row) {
       this.declareDialogVisible = true
       this.insOrderRow = row
     },
     // 鎻愪氦鎾ら攢鎶ユ鐢宠
-    submitDeclare () {
-      revokeInspectionReport({id: this.insOrderRow.id}).then(res => {
+    submitDeclare() {
+      revokeInspectionReport({ id: this.insOrderRow.id }).then(res => {
         if (res.code === 200) {
           this.declareDialogVisible = false
           this.refreshTable()
@@ -964,7 +1248,7 @@
       })
     },
     // 鎵撳紑鎾ら攢涓嬪崟鐨勫脊妗�
-    cancelOrder (row) {
+    cancelOrder(row) {
       if (row.enterOrderId && row.quarterOrderId) {
         this.quashDialogVisible = true
       } else if (row.enterOrderId && !row.quarterOrderId) {
@@ -973,66 +1257,57 @@
           cancelButtonText: "鍙栨秷",
           type: "warning"
         }).then(() => {
-          repealEnterRawOrder({enterOrderId: row.enterOrderId}).then(res => {
+          repealEnterRawOrder({ enterOrderId: row.enterOrderId }).then(res => {
             if (res.code === 200) {
               this.$message.success('鎾ら攢鎴愬姛')
               this.refreshTable('page')
             }
           })
-        }).catch(() => {})
+        }).catch(() => { })
       } else if (!row.enterOrderId && row.quarterOrderId) {
         this.$confirm('鏄惁鎾ら攢瀛e害涓嬪崟?', "璀﹀憡", {
           confirmButtonText: "纭畾",
           cancelButtonText: "鍙栨秷",
           type: "warning"
         }).then(() => {
-          repealQuarterRawOrder({quarterOrderId: row.quarterOrderId}).then(res => {
+          repealQuarterRawOrder({ quarterOrderId: row.quarterOrderId }).then(res => {
             if (res.code === 200) {
               this.$message.success('鎾ら攢鎴愬姛')
               this.refreshTable('page')
             }
           })
-        }).catch(() => {})
+        }).catch(() => { })
       }
       this.insOrderRow = row
     },
-    cancelQuashOrder (type) {
+    cancelQuashOrder(type) {
       if (type === 'enterOrderId') {
         this.$confirm('鏄惁鎾ら攢褰撳墠鏁版嵁?', "璀﹀憡", {
           confirmButtonText: "纭畾",
           cancelButtonText: "鍙栨秷",
           type: "warning"
         }).then(() => {
-          repealEnterRawOrder({enterOrderId: this.insOrderRow.enterOrderId}).then(res => {
+          repealEnterRawOrder({ enterOrderId: this.insOrderRow.enterOrderId }).then(res => {
             if (res.code === 200) {
               this.$message.success('鎾ら攢鎴愬姛')
               this.refreshTable('page')
             }
           })
-        }).catch(() => {})
+        }).catch(() => { })
       } else {
         this.$confirm('鏄惁鎾ら攢褰撳墠鏁版嵁?', "璀﹀憡", {
           confirmButtonText: "纭畾",
           cancelButtonText: "鍙栨秷",
           type: "warning"
         }).then(() => {
-          repealQuarterRawOrder({quarterOrderId: this.insOrderRow.quarterOrderId}).then(res => {
+          repealQuarterRawOrder({ quarterOrderId: this.insOrderRow.quarterOrderId }).then(res => {
             if (res.code === 200) {
               this.$message.success('鎾ら攢鎴愬姛')
-              this.refreshTable('page')
+              this.refreshTable()
             }
           })
-        }).catch(() => {})
+        }).catch(() => { })
       }
-    },
-    // 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
-    selectAllByOne(row) {
-      this.currentId = row.insOrderId
-      if (row.isCopper == 1) {
-        this.currentId = row.enterOrderId
-      }
-      this.customsInspection = row
-      this.active = 2;
     },
     // 鏁版嵁鏌ョ湅
     handleDataLook(row) {
@@ -1040,16 +1315,16 @@
       this.dataDialogVisible = true;
     },
     // 鍏抽棴鏁版嵁鏌ョ湅寮规
-    closeDataLook () {
+    closeDataLook() {
       this.dataDialogVisible = false
     },
     // 闄勪欢鏌ョ湅
-    handleFileLook (row) {
+    handleFileLook(row) {
       this.filesDialogVisible = true
       this.filesLookInfo = row
     },
     // 鍏抽棴闄勪欢鏌ョ湅寮规
-    closeFilesLook () {
+    closeFilesLook() {
       this.filesDialogVisible = false
     },
     // 鎶ュ憡涓嬭浇
@@ -1058,41 +1333,38 @@
       this.downLoadInfo = row
     },
     // 鍏抽棴鎶ュ憡涓嬭浇寮规
-    closeDownFileDialog () {
+    closeDownFileDialog() {
       this.downFileDialogVisible = false
     },
     // 鏌ョ湅浜т笟閾句俊鎭�
-    openInfoDialog (row) {
+    openInfoDialog(row) {
       this.showInfoDialog = true
       this.$nextTick(() => {
         this.$refs.showInfoDialog.getInfo(row.id)
       })
     },
     // 淇敼濮旀墭缂栧彿
-    changeEntrustCode (row) {
+    changeEntrustCode(row) {
       this.entrustCodeVisible = true
-      this.entrustCodeInfo = {...row}
+      this.entrustCodeInfo = { ...row }
     },
     // 瀵煎嚭
-    handleOut(){
-      let entity = this.tabIndex === 3 ? {...this.entity, isInspect: 2} : {...this.entity,state: 2, orderState: 4,}
-      delete entity.orderBy
+    handleOut() {
       this.outLoading = true
-      rawAllExport({
-        entity:entity
-      },{responseType: "blob"}).then(res => {
+      let params = {}
+      if (this.multipleSelection.length > 0) {
+        params.ids = this.multipleSelection.map(item => item.id).join(',');
+      } else {
+        params = {...this.entity}
+      }
+      rawAllExport(params).then(res => {
         this.outLoading = false
-        this.$message.success('瀵煎嚭鎴愬姛')
-        const blob = new Blob([res],{ type: 'application/octet-stream' });
-        const url = URL.createObjectURL(blob);
-        const link = document.createElement('a');
-        link.href = url;
-        link.download = '鍘熸潗鏂欐娴嬩俊鎭鍑�.xlsx';
-        link.click();
+        const blob = new Blob([res], { type: 'application/octet-stream' });
+        this.$download.saveAs(blob, '鍘熸潗鏂欐娴嬩俊鎭鍑�.xlsx');
       })
     },
     // 鎻愪氦淇敼濮旀墭缂栧彿淇℃伅
-    submitCode () {
+    submitCode() {
       this.submitCodeLoading = true
       try {
         updateEntrustCode({
@@ -1103,6 +1375,7 @@
             this.entrustCodeVisible = false
             this.$message.success('淇敼鎴愬姛')
           }
+          this.refreshTable()
           this.submitCodeLoading = false
         })
       } catch (e) {
@@ -1111,12 +1384,19 @@
     },
     // 鍒囨崲涓嬪崟tab琛ㄦ牸
     handleTab(m) {
-      this.tabIndex = m.value;
+      this.tabIndex = m;
+      this.multipleSelection = []
       this.refreshTable()
     },
     // 琛ㄦ牸閫夋嫨鏂规硶
-    selectMethod(val){
+    selectMethod(val) {
       this.multipleSelection = val
+    },
+    changeRowClass({ row, rowIndex }) {
+      if (row.isFirst == 1) {
+        return 'highlight-danger-row-border'
+      }
+      return ''
     },
   },
 }
@@ -1127,6 +1407,7 @@
   display: flex;
   justify-content: space-between;
 }
+
 .tab {
   list-style-type: none;
   display: flex;

--
Gitblit v1.9.3