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 | 1992 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 1,057 insertions(+), 935 deletions(-)

diff --git a/src/views/business/materialOrder/index.vue b/src/views/business/materialOrder/index.vue
index 835a8c9..770931d 100644
--- a/src/views/business/materialOrder/index.vue
+++ b/src/views/business/materialOrder/index.vue
@@ -1,138 +1,115 @@
 <template>
   <div class="app-container">
-    <div style="width: 100%;height: 100%;">
-      <div>
-        <el-row class="title">
-          <el-col :span="12" style="text-align: left;">鍘熸潗鏂欐楠屼笅鍗�</el-col>
-          <el-col :span="12" style="text-align: right;">
-            <el-button v-show="tabIndex === 3 || tabIndex === 2" :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>
-          </el-col>
-        </el-row>
-      </div>
+    <div>
       <div class="search">
         <el-form :model="entity" ref="entity" size="small" :inline="true">
-          <el-row>
-            <el-form-item label="鎵瑰彿" prop="menuName">
-              <el-input v-model="entity.updateBatchNo" clearable placeholder="璇疯緭鍏�"
-                        size="small"
-                        @keyup.enter.native="refreshTable">
-              </el-input>
-            </el-form-item>
-            <el-form-item label="濮旀墭缂栧彿" prop="menuName">
-              <el-input v-model="entity.entrustCode" clearable placeholder="璇疯緭鍏�"
-                        size="small"
-                        @keyup.enter.native="refreshTable">
-              </el-input>
-            </el-form-item>
-            <el-form-item label="闆朵欢鍙�" prop="menuName">
-              <el-input v-model="entity.partNo" clearable placeholder="璇疯緭鍏�"
-                        size="small"
-                        @keyup.enter.native="refreshTable">
-              </el-input>
-            </el-form-item>
-            <el-form-item label="闆朵欢鎻忚堪" prop="menuName">
-              <el-input v-model="entity.partDesc" clearable placeholder="璇疯緭鍏�"
-                        size="small"
-                        @keyup.enter.native="refreshTable">
-              </el-input>
-            </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 icon="el-icon-search" size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
-            <el-button icon="el-icon-refresh" size="small" @click="refresh()">閲� 缃�</el-button>
-          </el-row>
-          <el-row>
-            <el-form-item label="渚涘簲鍟嗗悕绉�" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-              <el-input v-model="entity.supplierName" clearable placeholder="璇疯緭鍏�"
-                        size="small"
-                        @keyup.enter.native="refreshTable">
-              </el-input>
-            </el-form-item>
-            <el-form-item label="鏍峰搧鍨嬪彿" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-              <el-input v-model="entity.sampleModel" clearable placeholder="璇疯緭鍏�"
-                        size="small"
-                        @keyup.enter.native="refreshTable">
-              </el-input>
-            </el-form-item>
-            <el-form-item label="妫�楠岀姸鎬�" prop="menuName" v-if="(tabIndex === 2 || tabIndex === 3 || tabIndex === 4) && more">
-              <el-select v-model="entity.inspectStatus" clearable
-                         size="small" style="width: 100%;" @change="refreshTable()">
-                <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="menuName" 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="寮�濮嬫棩鏈�"
-                style="width: 100%;"
-                type="daterange"
-                value-format="yyyy-MM-dd">
-              </el-date-picker>
-            </el-form-item>
-          </el-row>
+          <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="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="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="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="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="閫夋嫨鏃ユ湡" @change="goSearch"
+              range-separator="鑷�" size="small" start-placeholder="寮�濮嬫棩鏈�" type="daterange" value-format="yyyy-MM-dd">
+            </el-date-picker>
+          </el-form-item>
         </el-form>
       </div>
       <div class="table">
-        <ul class="tab">
-          <li v-for="(m,i) in tabList" :key="m.value" :class="{active:m.value===tabIndex}" @click="handleTab(m)">{{m.label}}</li>
-        </ul>
+        <div class="table-tab">
+          <div>
+            <ul class="tab">
+              <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" :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>
         <!--寰呬笅鍗�-->
-<!--        <ValueTable v-show="tabIndex === 0" :key="'a'+ upIndex"-->
-<!--                    ref="ValueTable"-->
-<!--                    :componentData="componentData"-->
-<!--                    :style="getStyle()"-->
-<!--                    :tableRowClassName="changeRowClass"-->
-<!--                    :url="$api.materialInspection.getPurchaseOrder" />-->
+        <div class="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>
         <!--妫�楠屼腑-->
-<!--        <ValueTable v-show="tabIndex === 1" :key="'b'+ upIndex"-->
-<!--                    ref="ValueTable1"-->
-<!--                    :componentData="componentData1"-->
-<!--                    :style="getStyle()"-->
-<!--                    :tableRowClassName="changeRowClass"-->
-<!--                    :url="$api.materialInspection.getIfsByStateOne" />-->
-<!--        &lt;!&ndash;宸叉楠�&ndash;&gt;-->
-<!--        <ValueTable v-show="tabIndex === 2" :key="'c'+ upIndex"-->
-<!--                    ref="ValueTable2"-->
-<!--                    :componentData="componentData2"-->
-<!--                    :style="getStyle()"-->
-<!--                    :tableRowClassName="changeRowClass"-->
-<!--                    :url="$api.materialInspection.getIfsByOver" />-->
-<!--        &lt;!&ndash;鍏ㄩ儴&ndash;&gt;-->
-<!--        <ValueTable v-if="tabIndex === 3" :key="'d'+ upIndex"-->
-<!--                    ref="ValueTable3"-->
-<!--                    :componentData="componentData3"-->
-<!--                    :style="getStyle()"-->
-<!--                    :url="$api.materialInspection.getIfsByAll" />-->
-<!--        &lt;!&ndash;瀛e害妫�楠�&ndash;&gt;-->
-<!--        <ValueTable v-show="tabIndex === 4" :key="'e'+ upIndex"-->
-<!--                    ref="ValueTable4"-->
-<!--                    :componentData="componentData4"-->
-<!--                    :style="getStyle()"-->
-<!--                    :tableRowClassName="changeRowClass"-->
-<!--                    :url="$api.materialInspection.getIfsByQuarter" />-->
+        <div class="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"
+            :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"
+            :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"
+            :rowClassName="changeRowClass" :handleSelectionChange="selectMethod" @pagination="pagination4"
+            :height="'calc(100vh - 290px)'" key="tableData4" :page="page4" :tableLoading="tableLoading4"></lims-table>
+        </div>
       </div>
     </div>
-<!--    <div v-if="active >0 && isCopper == 0" style="width: 100%;height: 100%;">-->
-<!--      <CustomsInspection v-if="active >0&& isCopper == 0" :active="active"-->
-<!--                         :currentId="currentId"-->
-<!--                         :customsInspection="customsInspection" :orderType="orderType" />-->
-<!--    </div>-->
-<!--    <div v-if="active >0 && isCopper == 1" style="width: 100%;height: 100%;">-->
-<!--      <CopperOrder v-if="active >0 && isCopper == 1" :active="active" :currentId="currentId"></CopperOrder>-->
-<!--    </div>-->
     <!-- 纭鍏嶆寮规 -->
     <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>
@@ -143,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%">
@@ -171,68 +149,672 @@
       </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>
 
 <script>
-import ValueTable from "@/components/Table/value-table.vue";
-import CustomsInspection from "./customsInspection.vue";
-import PrintDialog from "@/components/materialOrder/printDialog.vue";
-import ShowInfo from "@/components/materialOrder/showInfo.vue";
-import DataLookVisible from "@/components/materialOrder/dataLookVisible.vue";
-import FilesLookVisible from "@/components/materialOrder/filesLookVisible.vue";
-import DownFileDialog from "@/components/materialOrder/downFileDialog.vue";
-// import CopperOrder from "@/components/materialOrder/copper-order.vue";
+import PrintDialog from "@/views/business/materialOrderComponents/materialOrder/printDialog.vue";
+import ShowInfo from "@/views/business/materialOrderComponents/materialOrder/showInfo.vue";
+import DataLookVisible from "@/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue";
+import FilesLookVisible from "@/views/business/materialOrderComponents/materialOrder/filesLookVisible.vue";
+import DownFileDialog from "@/views/business/materialOrderComponents/materialOrder/downFileDialog.vue";
+import limsTable from "@/components/Table/lims-table.vue";
+import {
+  concessionRelease,
+  getIfsByAll,
+  getIfsByOver,
+  getIfsByQuarter,
+  getIfsByStateOne,
+  rawAllExport,
+  rawOrderRelease,
+  repealEnterRawOrder,
+  repealQuarterRawOrder,
+  revokeInspectionReport,
+  updateEntrustCode
+} from "@/api/business/rawMaterialOrder";
+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: {
-    // Inspection,
-    // CopperOrder,
-    DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog, CustomsInspection, ValueTable},
+  components: { limsTable, DownFileDialog, FilesLookVisible, DataLookVisible, ShowInfo, PrintDialog },
   data() {
     // 杩欓噷瀛樻斁鏁版嵁
     return {
-      isShowIFS: false,
-      entityEmpty: {},
+      tableData: [],
+      tableLoading: false,
+      column: [
+        { label: '鎵瑰彿', prop: 'updateBatchNo' },
+        { label: '闆朵欢鍙�', prop: 'partNo' },
+        { label: '闆朵欢鎻忚堪', prop: 'partDesc' },
+        {
+          dataType: 'tag',
+          label: '鐗╂枡绫诲瀷',
+          prop: 'isExpire',
+          formatData: (params) => {
+            if (params == 1) {
+              return '杩囨湡鐗╂枡'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'info'
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+        {
+          dataType: 'action',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '涓嬪崟',
+              type: 'text',
+              clickFun: (row) => {
+                this.playOrder(row);
+              }
+            },
+            {
+              name: '鍏嶆',
+              type: 'text',
+              clickFun: (row) => {
+                this.exemption(row);
+              },
+            },
+            {
+              name: '鎾ら攢鎶ユ',
+              type: 'text',
+              clickFun: (row) => {
+                this.cancelDeclare(row);
+              },
+            },
+          ]
+        }
+      ],
+      page: {
+        total: 0,
+        size: 20,
+        current: 1
+      },
+      tableData1: [],
+      tableLoading1: false,
+      column1: [
+        { 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: '鐗╂枡绫诲瀷',
+          prop: 'isExpire',
+          formatData: (params) => {
+            if (params == 1) {
+              return '杩囨湡鐗╂枡'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'info'
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '鎶佃揪鐨勯噰璐暟閲�', prop: 'qtyArrived' },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '璁㈠崟鍙�', prop: 'orderNo' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+        {
+          dataType: 'action',
+          fixed: 'right',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '鏁版嵁鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleDataLook(row);
+              },
+            },
+            {
+              name: '闄勪欢鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleFileLook(row);
+              },
+            },
+            {
+              name: '鎾ら攢涓嬪崟',
+              type: 'text',
+              clickFun: (row) => {
+                this.cancelOrder(row);
+              },
+            },
+          ]
+        }
+      ],
+      page1: {
+        total: 0,
+        size: 20,
+        current: 1
+      },
+      tableData2: [],
+      tableLoading2: false,
+      column2: [
+        {
+          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: '鐗╂枡绫诲瀷',
+          prop: 'isExpire',
+          formatData: (params) => {
+            if (params == 1) {
+              return '杩囨湡鐗╂枡'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'info'
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+        {
+          dataType: 'action',
+          fixed: 'right',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '瀛e害妫�楠�',
+              type: 'text',
+              clickFun: (row) => {
+                this.playOrderSec(row);
+              },
+              disabled: (row) => {
+                return row.isQuarter == 0
+              },
+              showHide: (row) => {
+                return this.checkPermi([
+                  "get:raw:check:operation",
+                ]);
+              },
+            },
+            {
+              name: '鏁版嵁鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleDataLook(row);
+              }
+            },
+            {
+              name: '闄勪欢鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleFileLook(row);
+              }
+            },
+            {
+              name: '鎶ュ憡涓嬭浇',
+              type: 'text',
+              clickFun: (row) => {
+                this.download(row);
+              }
+            },
+            {
+              name: '鍘熷璁板綍',
+              type: 'text',
+              clickFun: (row) => {
+                this.viewInspectInfo(row);
+              },
+              disabled: (row) => {
+                return row.sampleName === null
+              },
+            },
+            {
+              name: '鏀捐',
+              type: 'text',
+              clickFun: (row) => {
+                this.goPass(row);
+              },
+              disabled: (row) => {
+                return row.inspectStatus != 2
+              },
+              showHide: (row) => {
+                return this.checkPermi([
+                  "get:raw:check:operation",
+                ]);
+              },
+            },
+            {
+              name: '瀛e害鎾ら攢',
+              type: 'text',
+              clickFun: (row) => {
+                this.repealQuarter(row);
+              },
+              disabled: (row) => {
+                return row.quarterOrderId == null || row.quarterReportId != null
+              },
+              showHide: (row) => {
+                return this.checkPermi([
+                  "get:raw:check:operation",
+                ]);
+              },
+            },
+          ]
+        }
+      ],
+      page2: {
+        total: 0,
+        size: 20,
+        current: 1
+      },
+      tableData3: [],
+      tableLoading3: false,
+      column3: [
+        { 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: '鐗╂枡绫诲瀷',
+          prop: 'isExpire',
+          formatData: (params) => {
+            if (params == 1) {
+              return '杩囨湡鐗╂枡'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'info'
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+        {
+          dataType: 'action',
+          fixed: 'right',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '鏁版嵁鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleDataLook(row);
+              }
+            },
+            {
+              name: '闄勪欢鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleFileLook(row);
+              },
+            }
+          ]
+        }
+      ],
+      page3: {
+        total: 0,
+        size: 20,
+        current: 1
+      },
+      tableData4: [],
+      tableLoading4: false,
+      column4: [
+        { 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: '鐗╂枡绫诲瀷',
+          prop: 'isExpire',
+          formatData: (params) => {
+            if (params == 1) {
+              return '杩囨湡鐗╂枡'
+            } else {
+              return null
+            }
+          },
+          formatType: (params) => {
+            if (params == 1) {
+              return 'info'
+            } else {
+              return null
+            }
+          }
+        },
+        { label: '鍗曚綅', prop: 'buyUnitMeas' },
+        { label: '鎺ユ敹鏃堕棿', prop: 'receiverDate' },
+        { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+        {
+          dataType: 'action',
+          fixed: 'right',
+          label: '鎿嶄綔',
+          operation: [
+            {
+              name: '瀛e害妫�楠�',
+              type: 'text',
+              clickFun: (row) => {
+                this.playOrderSec(row);
+              },
+              disabled: (row, index) => {
+                return row.isQuarter == 0
+              }
+            },
+            {
+              name: '鏁版嵁鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleDataLook(row);
+              }
+            },
+            {
+              name: '闄勪欢鏌ョ湅',
+              type: 'text',
+              clickFun: (row) => {
+                this.handleFileLook(row);
+              },
+            },
+            {
+              name: '鎶ュ憡涓嬭浇',
+              type: 'text',
+              clickFun: (row) => {
+                this.download(row);
+              },
+            }
+          ]
+        }
+      ],
+      page4: {
+        total: 0,
+        size: 20,
+        current: 1
+      },
       entity: {
         updateBatchNo: null,
         entrustCode: null,
@@ -244,488 +826,6 @@
         date: null,
         beginDeclareDate: null,
         endDeclareDate: null,
-      },
-      componentData: { // 琛ㄦ牸鏁版嵁
-        entity: {
-          updateBatchNo: null,
-          partDesc: null,
-          state: 0,
-          isInspect: 1,
-          partNo: null
-        },
-        isIndex: true,
-        showSelect: false,
-        select: false,
-        selectMethod:'selectMethod',
-        do: [
-          {
-            font: '涓嬪崟',
-            type: 'text',
-            method: 'playOrder',
-          },
-          {
-            font: '鍏嶆',
-            type: 'text',
-            method: 'exemption',
-          },
-          {
-            font: '鎾ら攢鎶ユ',
-            type: 'text',
-            method: 'cancelDeclare',
-          },
-          // {
-          //   font: '浜т笟閾�',
-          //   type: 'text',
-          //   method: 'openInfoDialog',
-          // }
-        ],
-        tagField: {
-          isExpire: {
-            select: [{
-              value: 1,
-              label: '杩囨湡鐗╂枡',
-              type: 'warning'
-            }]
-          },
-        },
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: []
-      },
-      componentData1: {
-        entity: {
-          orderBy: {
-            field: 'entrustCode',
-            order: 'desc'
-          },
-          updateBatchNo: null,
-          entrustCode: null,
-          partDesc: null,
-          state: 1,
-          orderState: 1,
-          partNo: null
-        },
-        isIndex: true,
-        showSelect: true,
-        select: true,
-        selectMethod:'selectMethod',
-        do: [
-          // {
-          //   font: '瀛e害妫�楠�',
-          //   type: 'text',
-          //   method: 'playOrderSec',
-          //   disabFun: (row, index) => {
-          //     return row.isQuarter == 0
-          //   }
-          // },
-          {
-            id: 'dataLook',
-            font: '鏁版嵁鏌ョ湅',
-            type: 'text',
-            method: 'handleDataLook',
-          },
-          {
-            font: '闄勪欢鏌ョ湅',
-            type: 'text',
-            method: 'handleFileLook',
-          },
-          {
-            font: '鎾ら攢涓嬪崟',
-            type: 'text',
-            method: 'cancelOrder',
-          },
-          // {
-          //   font: '浜т笟閾�',
-          //   type: 'text',
-          //   method: 'openInfoDialog',
-          // }
-        ],
-        linkEvent: {
-          sampleName: {
-            method: 'selectAllByOne'
-          },
-          entrustCode: {
-            method: 'changeEntrustCode'
-          }
-        },
-        tagField: {
-          inspectStatus: {
-            select: [{
-              value: 0,
-              label: '妫�楠屼腑',
-              type: 'warning'
-            },{
-              value: 1,
-              label: '鍚堟牸',
-              type: 'success'
-            },{
-              value: 2,
-              label: '涓嶅悎鏍�',
-              type: 'danger'
-            },{
-              value: 3,
-              label: '鏈笅鍗�',
-              type: 'info'
-            }]
-          },
-          isExpire: {
-            select: [{
-              value: 1,
-              label: '杩囨湡鐗╂枡',
-              type: 'warning'
-            }]
-          },
-        },
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: []
-      },
-      componentData2: {
-        entity: {
-          orderBy: {
-            field: 'entrustCode',
-            order: 'desc'
-          },
-          updateBatchNo: null,
-          entrustCode: null,
-          partDesc: null,
-          sampleModel: null,
-          state: 2,
-          orderState: 4,
-          supplierName: '',
-          partNo: null,
-          beginDeclareDate: null,
-          endDeclareDate: null,
-        },
-        isIndex: true,
-        showSelect: true,
-        select: true,
-        selectMethod:'selectMethod',
-        do: [
-          {
-            font: '瀛e害妫�楠�',
-            type: 'text',
-            method: 'playOrderSec',
-            disabFun: (row, index) => {
-              return row.isQuarter == 0
-            }
-          },
-          {
-            id: 'dataLook',
-            font: '鏁版嵁鏌ョ湅',
-            type: 'text',
-            method: 'handleDataLook',
-          },
-          {
-            font: '闄勪欢鏌ョ湅',
-            type: 'text',
-            method: 'handleFileLook',
-          },{
-            id: 'download',
-            font: '鎶ュ憡涓嬭浇',
-            type: 'text',
-            method: 'download',
-          },
-          // {
-          //   font: '浜т笟閾�',
-          //   type: 'text',
-          //   method: 'openInfoDialog',
-          // },
-          {
-            id: '',
-            font: '鍘熷璁板綍',
-            type: 'text',
-            method: 'viewInspectInfo',
-            disabFun: (row, index) => {
-              return row.sampleName === null
-            }
-          },
-          {
-            id: '',
-            font: '鏀捐',
-            type: 'text',
-            method: 'goPass',
-            disabFun: (row, index) => {
-              return row.inspectStatus != 2
-            }
-          },
-          {
-            id: '',
-            font: '瀛e害鎾ら攢',
-            type: 'text',
-            method: 'repealQuarter',
-            disabFun: (row, index) => {
-              return row.quarterOrderId == null || row.quarterReportId != null
-            }
-          }
-        ],
-        linkEvent: {
-          sampleName: {
-            method: 'selectAllByOne'
-          },
-          entrustCode: {
-            method: 'changeEntrustCode'
-          }
-        },
-        tagField: {
-          inspectStatus: {
-            select: [{
-              value: 0,
-              label: '妫�楠屼腑',
-              type: 'warning'
-            },{
-              value: 1,
-              label: '鍚堟牸',
-              type: 'success'
-            },{
-              value: 2,
-              label: '涓嶅悎鏍�',
-              type: 'danger'
-            },{
-              value: 3,
-              label: '鏈笅鍗�',
-              type: 'info'
-            },{
-              value: 4,
-              label: '璁╂鏀捐',
-              type: 'info'
-            }]
-          },
-          isExemption: {
-            select: [{
-              value: 1,
-              label: '鍏嶆',
-              type: 'success'
-            }]
-          },
-          isExpire: {
-            select: [{
-              value: 1,
-              label: '杩囨湡鐗╂枡',
-              type: 'warning'
-            }]
-          },
-        },
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: []
-      },
-      componentData4: {
-        entity: {
-          orderBy: {
-            field: 'entrustCode',
-            order: 'desc'
-          },
-          updateBatchNo: null,
-          entrustCode: null,
-          partDesc: null,
-          sampleModel: null,
-          supplierName: '',
-          partNo: null,
-          beginDeclareDate: null,
-          endDeclareDate: null,
-        },
-        isIndex: true,
-        showSelect: true,
-        select: true,
-        selectMethod:'selectMethod',
-        do: [
-          {
-            font: '瀛e害妫�楠�',
-            type: 'text',
-            method: 'playOrderSec',
-            disabFun: (row, index) => {
-              return row.isQuarter == 0
-            }
-          },
-          {
-            id: 'dataLook',
-            font: '鏁版嵁鏌ョ湅',
-            type: 'text',
-            method: 'handleDataLook',
-          },
-          {
-            font: '闄勪欢鏌ョ湅',
-            type: 'text',
-            method: 'handleFileLook',
-          },{
-            id: 'download',
-            font: '鎶ュ憡涓嬭浇',
-            type: 'text',
-            method: 'download',
-          },
-          // {
-          //   font: '浜т笟閾�',
-          //   type: 'text',
-          //   method: 'openInfoDialog',
-          // },
-          {
-            id: '',
-            font: '鍘熷璁板綍',
-            type: 'text',
-            method: 'viewInspectInfo',
-            disabFun: (row, index) => {
-              return row.sampleName === null
-            }
-          },
-          // {
-          //   id: '',
-          //   font: '鏀捐',
-          //   type: 'text',
-          //   method: 'goPass',
-          //   disabFun: (row, index) => {
-          //     return row.inspectStatus != 2
-          //   }
-          // },
-          {
-            id: '',
-            font: '瀛e害鎾ら攢',
-            type: 'text',
-            method: 'repealQuarter',
-            disabFun: (row, index) => {
-              return row.quarterOrderId == null || row.quarterReportId != null
-            }
-          }
-        ],
-        linkEvent: {
-          sampleName: {
-            method: 'selectAllByOne'
-          },
-          entrustCode: {
-            method: 'changeEntrustCode'
-          }
-        },
-        tagField: {
-          inspectStatus: {
-            select: [{
-              value: 0,
-              label: '妫�楠屼腑',
-              type: 'warning'
-            },{
-              value: 1,
-              label: '鍚堟牸',
-              type: 'success'
-            },{
-              value: 2,
-              label: '涓嶅悎鏍�',
-              type: 'danger'
-            },{
-              value: 3,
-              label: '鏈笅鍗�',
-              type: 'info'
-            },{
-              value: 4,
-              label: '璁╂鏀捐',
-              type: 'info'
-            }]
-          },
-          isExemption: {
-            select: [{
-              value: 1,
-              label: '鍏嶆',
-              type: 'success'
-            }]
-          },
-          isExpire: {
-            select: [{
-              value: 1,
-              label: '杩囨湡鐗╂枡',
-              type: 'warning'
-            }]
-          },
-        },
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: []
-      },
-      componentData3: {
-        entity: {
-          orderBy: {
-            field: 'entrustCode',
-            order: 'desc'
-          },
-          updateBatchNo: null,
-          entrustCode: null,
-          partDesc: null,
-          sampleModel: null,
-          isInspect: 1,
-          supplierName: '',
-          partNo: null,
-          beginDeclareDate: null,
-          endDeclareDate: null,
-        },
-        isIndex: true,
-        showSelect: true,
-        select: true,
-        selectMethod:'selectMethod',
-        do: [
-          {
-            id: 'dataLook',
-            font: '鏁版嵁鏌ョ湅',
-            type: 'text',
-            method: 'handleDataLook',
-          },
-          {
-            font: '闄勪欢鏌ョ湅',
-            type: 'text',
-            method: 'handleFileLook',
-          },
-          // {
-          //   font: '浜т笟閾�',
-          //   type: 'text',
-          //   method: 'openInfoDialog',
-          // }
-        ],
-        linkEvent: {
-          sampleName: {
-            method: 'selectAllByOne'
-          },
-          entrustCode: {
-            method: 'changeEntrustCode'
-          }
-        },
-        tagField: {
-          inspectStatus: {
-            select: [{
-              value: 0,
-              label: '妫�楠屼腑',
-              type: 'warning'
-            },{
-              value: 1,
-              label: '鍚堟牸',
-              type: 'success'
-            },{
-              value: 2,
-              label: '涓嶅悎鏍�',
-              type: 'danger'
-            },{
-              value: 3,
-              label: '鏈笅鍗�',
-              type: 'info'
-            },{
-              value: 4,
-              label: '璁╂鏀捐',
-              type: ''
-            }]
-          },
-          isExemption: {
-            select: [{
-              value: 1,
-              label: '鍏嶆',
-              type: 'success'
-            }]
-          },
-          isExpire: {
-            select: [{
-              value: 1,
-              label: '杩囨湡鐗╂枡',
-              type: 'warning'
-            }]
-          },
-        },
-        selectField: {},
-        requiredAdd: [],
-        requiredUp: []
       },
       tabList: [
         {
@@ -749,23 +849,16 @@
           value: 3
         }
       ],
-      more:false,
-      upIndex: 0,
-      tabIndex: 0,
-      multipleSelection:[],
-      entityCopy: {},
-      entityCopy1: {},
-      entityCopy2: {},
-      entityCopy3: {},
-      entityCopy4: {},
+      more: false,
+      tabIndex: '',
+      multipleSelection: [],
       active: 0, //1锛氫笅鍗曪紝2锛氭煡鐪�
       orderType: 0, //0锛氬師鏉愭枡涓嬪崟锛�1锛氬搴︽楠屼笅鍗�
       currentId: null,
-      customsInspection: {},
       btnLoading: false,
       quashDialogVisible: false, // 鎾ら攢涓嬪崟鎻愰啋寮规
       declareDialogVisible: false, // 鎾ら攢鎶ユ鎻愰啋寮规
-      insOrderRow:{},
+      insOrderRow: {},
       upLoad: false,
       filesDialogVisible: false, // 闄勪欢鏌ョ湅寮规
       printDialog: false, // 鏍囩鎵撳嵃寮规
@@ -782,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,
@@ -795,59 +888,192 @@
       typeSource: null,// 0:鎴愬搧涓嬪崟锛�1锛氬師鏉愭枡涓嬪崟, 2: 閾滃崟涓濅笅鍗�
       InspectInfoDialog: false, // 鏁版嵁鏌ョ湅寮规
       insInfo: {},
-      isCopper: null,
-      outLoading:false
+      outLoading: false
     }
   },
-  mounted () {
-    this.entityEmpty = this.HaveJson(this.entity)
-    this.entityCopy = this.HaveJson(this.componentData.entity)
-    this.entityCopy1 = this.HaveJson(this.componentData1.entity)
-    this.entityCopy2 = this.HaveJson(this.componentData2.entity)
-    this.entityCopy3 = this.HaveJson(this.componentData3.entity)
-    this.getPower()
+  computed: {
+    ...mapGetters(['nickName'])
+  },
+  mounted() {
+    if (this.checkPermi(['get:raw:await'])) {
+      this.tabIndex = 0
+    } else {
+      this.tabIndex = 2
+    }
+    this.refreshTable()
+  },
+  activated () {
+    this.refreshTable()
   },
   // 鏂规硶闆嗗悎
   methods: {
-    // 鑾峰彇鏉冮檺
-    getPower(){
-      let power = JSON.parse(sessionStorage.getItem('power'))
-      let getIFS = false
-      for (var i = 0; i < power.length; i++) {
-        if (power[i].menuMethod == 'getIfsByAll') { // 鑾峰彇IFS鐨勬潈闄�
-          getIFS = true
-        }
-      }
-      if (!getIFS) {
-        this.tabList.splice(-1, 1)
+    // 鐐瑰嚮鏌ヨ鍥炶皟
+    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) {
+        // 寰呬笅鍗曟煡璇�
+        this.getPurchaseOrderList()
+      } else if (this.tabIndex === 1) {
+        // 妫�楠屼腑鏌ヨ
+        this.getIfsByStateOneList()
+      } else if (this.tabIndex === 2) {
+        // 宸叉楠屾煡璇�
+        this.getIfsByOverList()
+      } else if (this.tabIndex === 4) {
+        // 鏌ヨ瀛e害妫�楠�
+        this.getIfsByQuarterList()
+      } else {
+        // 鍏ㄩ儴鏌ヨ
+        this.getIfsByAllList()
       }
     },
+    // 寰呬笅鍗曟煡璇�
+    getPurchaseOrderList() {
+      this.tableLoading = true
+      const params = { ...this.entity, isInspect: 1, state: 0, ...this.page }
+      getWarehouseSubmit(params).then(res => {
+        this.tableLoading = false
+        if (res.code === 200) {
+          this.tableData = res.data.records
+          this.page.total = res.data.total
+        }
+      }).catch(err => {
+        this.tableLoading = false
+      })
+    },
+    // 妫�楠屼腑鏌ヨ
+    getIfsByStateOneList() {
+      this.tableLoading1 = true
+      const params = { ...this.entity, orderState: 1, state: 1, ...this.page1 }
+      getIfsByStateOne(params).then(res => {
+        this.tableLoading1 = false
+        if (res.code === 200) {
+          this.tableData1 = res.data.records
+          this.page1.total = res.data.total
+        }
+      }).catch(err => {
+        this.tableLoading1 = false
+      })
+    },
+    // 宸叉楠屾煡璇�
+    getIfsByOverList() {
+      this.tableLoading2 = true
+      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) {
+          this.tableData2 = res.data.records
+          this.page2.total = res.data.total
+        }
+      }).catch(err => {
+        this.tableLoading2 = false
+      })
+    },
+    // 鏌ヨ瀛e害妫�楠�
+    getIfsByQuarterList() {
+      this.tableLoading4 = true
+      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
+          this.page4.total = res.data.total
+        }
+      }).catch(err => {
+        this.tableLoading4 = false
+      })
+    },
+    // 鍏ㄩ儴
+    getIfsByAllList() {
+      this.tableLoading3 = true
+      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) {
+          this.tableData3 = res.data.records
+          this.page3.total = res.data.total
+        }
+      }).catch(err => {
+        this.tableLoading3 = false
+      })
+    },
+    // 閲� 缃�
+    refresh() {
+      this.resetForm('entity')
+      this.refreshTable()
+    },
+    pagination(page) {
+      this.page.size = page.limit
+      this.refreshTable()
+    },
+    pagination1(page) {
+      this.page1.size = page.limit
+      this.refreshTable()
+    },
+    pagination2(page) {
+      this.page2.size = page.limit
+      this.refreshTable()
+    },
+    pagination3(page) {
+      this.page3.size = page.limit
+      this.refreshTable()
+    },
+    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(() => {
-        this.$axios.post(this.$api.materialInspection.concessionRelease+'?ifsInventoryId='+row.id).then(res => {
+        concessionRelease({ ifsInventoryId: row.id }).then(res => {
           if (res.code === 200) {
             this.$message({
               type: 'success',
@@ -870,40 +1096,84 @@
         cancelButtonText: "鍙栨秷",
         type: "warning"
       }).then(() => {
-        this.$axios.post(this.$api.rawMaterialOrder.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/customsInspection");
+    copper() {
+      this.$router.push({ path: "/materialOrder/copperOrder", query: { active: 1 } });
     },
     // 鎵撳紑鏍囩鎵撳嵃寮规
-    openPrint () {
+    openPrint() {
       if (this.multipleSelection.length > 0) {
         this.printDialog = true
         this.$nextTick(() => {
@@ -915,135 +1185,39 @@
       }
     },
     // 鍏抽棴鏍囩鎵撳嵃寮规
-    closePrintDialog () {
+    closePrintDialog() {
       this.printDialog = false
     },
-    // 鏌ヨ鍥炶皟
-    refreshTable(e) {
-      if (this.tabIndex === 0) {
-        this.componentData.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData.entity.partDesc = this.entity.partDesc
-        this.componentData.entity.partNo = this.entity.partNo
-        this.$refs['ValueTable'].selectList(e)
-      } else if (this.tabIndex === 1) {
-        this.componentData1.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData1.entity.entrustCode = this.entity.entrustCode
-        this.componentData1.entity.partDesc = this.entity.partDesc
-        this.componentData1.entity.partNo = this.entity.partNo
-        this.$refs['ValueTable1'].selectList(e)
-      }  else if (this.tabIndex === 2) {
-        this.componentData2.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData2.entity.entrustCode = this.entity.entrustCode
-        this.componentData2.entity.partDesc = this.entity.partDesc
-        this.componentData2.entity.supplierName = this.entity.supplierName
-        this.componentData2.entity.sampleModel = this.entity.sampleModel
-        this.componentData2.entity.partNo = this.entity.partNo
-        this.componentData2.entity.inspectStatus = this.entity.inspectStatus
-        if (this.entity.date!==null) {
-          this.componentData2.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
-          this.componentData2.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
-        } else {
-          this.componentData2.entity.beginDeclareDate = ''
-          this.componentData2.entity.endDeclareDate = ''
-        }
-        this.$refs['ValueTable2'].selectList(e)
-      }  else if (this.tabIndex === 4) {
-        this.componentData4.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData4.entity.entrustCode = this.entity.entrustCode
-        this.componentData4.entity.partDesc = this.entity.partDesc
-        this.componentData4.entity.supplierName = this.entity.supplierName
-        this.componentData4.entity.sampleModel = this.entity.sampleModel
-        this.componentData4.entity.partNo = this.entity.partNo
-        this.componentData4.entity.inspectStatus = this.entity.inspectStatus
-        if (this.entity.date!==null) {
-          this.componentData4.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
-          this.componentData4.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
-        } else {
-          this.componentData4.entity.beginDeclareDate = ''
-          this.componentData4.entity.endDeclareDate = ''
-        }
-        this.$refs['ValueTable4'].selectList(e)
-      } else {
-        this.componentData3.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData3.entity.entrustCode = this.entity.entrustCode
-        this.componentData3.entity.partDesc = this.entity.partDesc
-        this.componentData3.entity.supplierName = this.entity.supplierName
-        this.componentData3.entity.sampleModel = this.entity.sampleModel
-        this.componentData3.entity.partNo = this.entity.partNo
-        this.componentData3.entity.inspectStatus = this.entity.inspectStatus
-        if (this.entity.date!==null) {
-          this.componentData3.entity.beginDeclareDate = this.entity.date[0] + ' 00:00:00'
-          this.componentData3.entity.endDeclareDate = this.entity.date[1] + ' 23:59:59'
-        } else {
-          this.componentData3.entity.beginDeclareDate = ''
-          this.componentData3.entity.endDeclareDate = ''
-        }
-        this.$nextTick(()=> {
-          this.$refs['ValueTable3'].selectList(e)
-        })
-      }
-    },
-    // 閲嶇疆
-    refresh() {
-      this.entity = this.HaveJson(this.entityEmpty)
-      if (this.tabIndex === 0) {
-        this.componentData.entity = this.HaveJson(this.entityCopy)
-      } else if (this.tabIndex === 1) {
-        this.componentData1.entity = this.HaveJson(this.entityCopy1)
-      } else if (this.tabIndex === 2) {
-        this.componentData2.entity = this.HaveJson(this.entityCopy2)
-      }  else if (this.tabIndex === 4) {
-        this.componentData4.entity = this.HaveJson(this.entityCopy4)
-      } else {
-        this.componentData3.entity = this.HaveJson(this.entityCopy3)
-      }
-      this.refreshTable()
-    },
     // 涓嬪崟
-    playOrder(num) {
-      if (typeof num === "number") {
-        this.active = num
-      } else {
-        this.active = 1
-        this.orderType = 0
-        this.isCopper = 0
-        this.customsInspection = num
-      }
-      if (num === 0) {
-        this.refreshTable('page')
-      }
+    playOrder(row) {
+      this.$router.push({ path: "/materialOrder/customsInspectionOrder", query: { orderType: 0, customsInspection: row, active: 1 } });
     },
     // 瀛e害妫�楠屼笅鍗�
-    playOrderSec (row) {
-      if (typeof row === "number") {
-        this.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.active = 1
-        this.orderType = 1
-        this.isCopper = 0
-        this.customsInspection = row
-      }
-      if (row === 0) {
-        this.refreshTable('page')
+        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
-      this.$axios.post(this.$api.rawMaterialOrder.rawOrderRelease, {
+      rawOrderRelease({
         ifsInventoryId: this.exemptionInfo.id,
         partDetail: this.exemptionInfo.partDetail
-      }, {
-        headers: {
-          'Content-Type': 'application/json'
-        },
-        noQs: true
       }).then(res => {
         if (res.code === 200) {
           this.exemptionVisible = false
@@ -1057,18 +1231,16 @@
       })
     },
     // 鎵撳紑鎾ら攢鎶ユ寮规
-    cancelDeclare (row) {
+    cancelDeclare(row) {
       this.declareDialogVisible = true
       this.insOrderRow = row
     },
     // 鎻愪氦鎾ら攢鎶ユ鐢宠
-    submitDeclare () {
-      this.$axios.post(this.$api.rawMaterialOrder.revokeInspectionReport, {
-        id: this.insOrderRow.id
-      }).then(res => {
+    submitDeclare() {
+      revokeInspectionReport({ id: this.insOrderRow.id }).then(res => {
         if (res.code === 200) {
           this.declareDialogVisible = false
-          this.refreshTable('page')
+          this.refreshTable()
           this.$message.success("鎾ら攢鎶ユ鎴愬姛")
         }
       }).catch(err => {
@@ -1076,7 +1248,7 @@
       })
     },
     // 鎵撳紑鎾ら攢涓嬪崟鐨勫脊妗�
-    cancelOrder (row) {
+    cancelOrder(row) {
       if (row.enterOrderId && row.quarterOrderId) {
         this.quashDialogVisible = true
       } else if (row.enterOrderId && !row.quarterOrderId) {
@@ -1085,96 +1257,75 @@
           cancelButtonText: "鍙栨秷",
           type: "warning"
         }).then(() => {
-          this.$axios.post(this.$api.rawMaterialOrder.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(() => {
-          this.$axios.post(this.$api.rawMaterialOrder.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) {
-      console.log('type---', type)
-      const url = type === 'enterOrderId' ? this.$api.rawMaterialOrder.repealEnterRawOrder : this.$api.rawMaterialOrder.repealQuarterRawOrder
-      const name = type === 'enterOrderId' ? 'enterOrderId' : 'quarterOrderId'
-      const paramInfo = type === 'enterOrderId' ? this.insOrderRow.enterOrderId : this.insOrderRow.quarterOrderId
-      this.$confirm('鏄惁鎾ら攢褰撳墠鏁版嵁?', "璀﹀憡", {
-        confirmButtonText: "纭畾",
-        cancelButtonText: "鍙栨秷",
-        type: "warning"
-      }).then(() => {
-        this.$axios.post(url + `?${name}=` + paramInfo).then(res => {
-          if (res.code === 200) {
-            this.$message.success('鎾ら攢鎴愬姛')
-            this.refreshTable('page')
-          }
-        })
-      }).catch(() => {})
-    },
-    // 鐐瑰嚮鏍峰搧鍚嶇О鏌ョ湅璇︽儏
-    selectAllByOne(row) {
-      this.currentId = row.insOrderId
-      this.isCopper = row.isCopper
-      if (this.isCopper == 1) {
-        this.currentId = row.enterOrderId
+    cancelQuashOrder(type) {
+      if (type === 'enterOrderId') {
+        this.$confirm('鏄惁鎾ら攢褰撳墠鏁版嵁?', "璀﹀憡", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning"
+        }).then(() => {
+          repealEnterRawOrder({ enterOrderId: this.insOrderRow.enterOrderId }).then(res => {
+            if (res.code === 200) {
+              this.$message.success('鎾ら攢鎴愬姛')
+              this.refreshTable('page')
+            }
+          })
+        }).catch(() => { })
+      } else {
+        this.$confirm('鏄惁鎾ら攢褰撳墠鏁版嵁?', "璀﹀憡", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning"
+        }).then(() => {
+          repealQuarterRawOrder({ quarterOrderId: this.insOrderRow.quarterOrderId }).then(res => {
+            if (res.code === 200) {
+              this.$message.success('鎾ら攢鎴愬姛')
+              this.refreshTable()
+            }
+          })
+        }).catch(() => { })
       }
-      this.customsInspection = row
-      this.active = 2;
     },
     // 鏁版嵁鏌ョ湅
     handleDataLook(row) {
-      this.dataDialogVisible = true;
       this.dataLookInfo = row
+      this.dataDialogVisible = true;
     },
     // 鍏抽棴鏁版嵁鏌ョ湅寮规
-    closeDataLook () {
+    closeDataLook() {
       this.dataDialogVisible = false
     },
     // 闄勪欢鏌ョ湅
-    handleFileLook (row) {
+    handleFileLook(row) {
       this.filesDialogVisible = true
       this.filesLookInfo = row
     },
     // 鍏抽棴闄勪欢鏌ョ湅寮规
-    closeFilesLook () {
+    closeFilesLook() {
       this.filesDialogVisible = false
-    },
-    // 闄勪欢涓嬭浇
-    handleDown(row){
-      this.$axios.post(this.$api.insOrderPlan.downFile, {
-        id: row.id,
-      }).then(res => {
-        if (res.code === 200) {
-          let url = '';
-          if(res.data.type==1){
-            url = this.javaApi+'/img/'+res.data.fileUrl
-            file.downloadIamge(url,row.fileName)
-          }else{
-            url = this.javaApi+'/word/'+res.data.fileUrl
-            const link = document.createElement('a');
-            link.href = url;
-            link.download = row.fileName;
-            link.click();
-          }
-        }
-      }).catch(error => {
-
-      })
     },
     // 鎶ュ憡涓嬭浇
     download(row) {
@@ -1182,58 +1333,49 @@
       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.componentData3.entity} : {...this.componentData2.entity}
-      delete entity.orderBy
+    handleOut() {
       this.outLoading = true
-      this.$axios.post(this.$api.rawMaterialOrder.rawAllExport,{
-        entity:entity
-      },{
-        headers: {
-          'Content-Type': 'application/json'
-        }
-        ,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 {
-        this.$axios.post(this.$api.insOrderPlan.updateEntrustCode, {
+        updateEntrustCode({
           id: this.entrustCodeInfo.id,
           entrustCode: this.entrustCodeInfo.entrustCode,
-        }, {
-          headers: {
-            'Content-Type': 'application/json'
-          }
         }).then(res => {
           if (res.code === 200) {
             this.entrustCodeVisible = false
             this.$message.success('淇敼鎴愬姛')
           }
+          this.refreshTable()
           this.submitCodeLoading = false
         })
       } catch (e) {
@@ -1242,50 +1384,30 @@
     },
     // 鍒囨崲涓嬪崟tab琛ㄦ牸
     handleTab(m) {
-      this.tabIndex = m.value;
-      if (this.tabIndex === 0) {
-        this.componentData.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData.entity.partDesc = this.entity.partDesc
-      } else if (this.tabIndex === 1) {
-        this.componentData1.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData1.entity.entrustCode = this.entity.entrustCode
-        this.componentData1.entity.partDesc = this.entity.partDesc
-      }  else if (this.tabIndex === 4) {
-        this.componentData4.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData4.entity.entrustCode = this.entity.entrustCode
-        this.componentData4.entity.partDesc = this.entity.partDesc
-      } else {
-        this.componentData2.entity.updateBatchNo = this.entity.updateBatchNo
-        this.componentData2.entity.entrustCode = this.entity.entrustCode
-        this.componentData2.entity.partDesc = this.entity.partDesc
-      }
+      this.tabIndex = m;
+      this.multipleSelection = []
       this.refreshTable()
     },
     // 琛ㄦ牸閫夋嫨鏂规硶
-    selectMethod(val){
+    selectMethod(val) {
       this.multipleSelection = val
     },
-    changeRowClass({row, rowIndex}) {
+    changeRowClass({ row, rowIndex }) {
       if (row.isFirst == 1) {
         return 'highlight-danger-row-border'
       }
       return ''
     },
-    getStyle(){
-      return 'height: calc(100% - '+(this.more?'94':'44')+'px)'
-    }
   },
 }
 </script>
 
 <style scoped>
-.app-container {
-  padding-top: 0;
+.table-tab {
+  display: flex;
+  justify-content: space-between;
 }
-.title {
-  height: 60px;
-  line-height: 60px;
-}
+
 .tab {
   list-style-type: none;
   display: flex;

--
Gitblit v1.9.3