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" />--> -<!-- <!–宸叉楠�–>--> -<!-- <ValueTable v-show="tabIndex === 2" :key="'c'+ upIndex"--> -<!-- ref="ValueTable2"--> -<!-- :componentData="componentData2"--> -<!-- :style="getStyle()"--> -<!-- :tableRowClassName="changeRowClass"--> -<!-- :url="$api.materialInspection.getIfsByOver" />--> -<!-- <!–鍏ㄩ儴–>--> -<!-- <ValueTable v-if="tabIndex === 3" :key="'d'+ upIndex"--> -<!-- ref="ValueTable3"--> -<!-- :componentData="componentData3"--> -<!-- :style="getStyle()"--> -<!-- :url="$api.materialInspection.getIfsByAll" />--> -<!-- <!–瀛e害妫�楠�–>--> -<!-- <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