From c5190d45cc1b3bcb59bdd031fcee06a8774c3499 Mon Sep 17 00:00:00 2001 From: zhuo <2089219845@qq.com> Date: 星期一, 17 三月 2025 14:03:53 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev --- src/views/business/rawMaterialInspection/index.vue | 1047 ++++++++++++++++++++++++++++------------------------------ 1 files changed, 505 insertions(+), 542 deletions(-) diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue index 7d35fd0..bf3e4be 100644 --- a/src/views/business/rawMaterialInspection/index.vue +++ b/src/views/business/rawMaterialInspection/index.vue @@ -1,163 +1,150 @@ <template> <div class="app-container"> - <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 === 4" :loading="outLoading" size="small" type="primary" @click="handleDown">瀵煎嚭</el-button> - <el-button v-if="isShowIFS && tabIndex === 0" :loading="btnLoading" size="small" type="primary" @click="openIFS">鑾峰彇IFS璁㈠崟</el-button> - <el-button v-if="tabIndex === 0" size="small" type="primary" @click="declareS">鎶ユ</el-button> - <el-button v-if="tabIndex === 0" size="small" type="primary" @click="addDeclare">鏂板鎶ユ淇℃伅</el-button> - </el-col> - </el-row> - </div> <div class="search"> <el-form :model="componentData" ref="componentData" size="small" :inline="true"> <el-row> - <el-form-item label="鎵瑰彿" prop="menuName"> - <el-input v-model="componentData.entity.updateBatchNo" clearable placeholder="璇疯緭鍏�" - size="small" - @keyup.enter.native="refreshTable"></el-input> + <el-form-item label="鎵瑰彿" prop="updateBatchNo"> + <el-input v-model="componentData.updateBatchNo" clearable placeholder="璇疯緭鍏�" size="small" + @keyup.enter.native="refreshTable"></el-input> </el-form-item> - <el-form-item label="闆朵欢鍙�" prop="menuName"> - <el-input v-model="componentData.entity.partNo" clearable placeholder="璇疯緭鍏�" - size="small" - @keyup.enter.native="refreshTable"> + <el-form-item label="闆朵欢鍙�" prop="partNo"> + <el-input v-model="componentData.partNo" clearable placeholder="璇疯緭鍏�" size="small" + @keyup.enter.native="refreshTable"> </el-input> </el-form-item> - <el-form-item label="闆朵欢鎻忚堪" prop="menuName"> - <el-input v-model="componentData.entity.partDesc" clearable placeholder="璇疯緭鍏�" - size="small" - @keyup.enter.native="refreshTable"> + <el-form-item label="闆朵欢鎻忚堪" prop="partDesc"> + <el-input v-model="componentData.partDesc" clearable placeholder="璇疯緭鍏�" size="small" + @keyup.enter.native="refreshTable"> </el-input> </el-form-item> - <el-form-item label="渚涘簲鍟�" prop="menuName" v-if="(tabIndex === 3 || tabIndex === 4)"> - <el-input v-model="componentData.entity.supplierName" clearable placeholder="璇疯緭鍏�" - size="small" - @keyup.enter.native="refreshTable"> + <el-form-item label="渚涘簲鍟�" prop="supplierName" v-if="(tabIndex === 3 || tabIndex === 4)"> + <el-input v-model="componentData.supplierName" clearable placeholder="璇疯緭鍏�" size="small" + @keyup.enter.native="refreshTable"> </el-input> </el-form-item> - <el-button v-if="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="small" icon="el-icon-search" type="primary" @click="refreshTable()">鏌� 璇�</el-button> - <el-button size="small" @click="refresh()" icon="el-icon-refresh">閲� 缃�</el-button> + <el-form-item> + <el-button v-if="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" icon="el-icon-search" type="primary" @click="refreshTable()">鏌� 璇�</el-button> + <el-button size="mini" @click="refresh()" icon="el-icon-refresh">閲� 缃�</el-button> + </el-form-item> </el-row> <el-row> - <el-form-item label="妫�楠岀姸鎬�" prop="menuName" v-if="(tabIndex === 3 || tabIndex === 4) && more"> - <el-select v-model="componentData4.entity.inspectStatus" clearable - size="small" style="width: 100%;" @change="refreshTable()"> + <el-form-item label="妫�楠岀姸鎬�" prop="inspectStatus" v-if="(tabIndex === 3 || tabIndex === 4) && more"> + <el-select v-model="componentData.inspectStatus" clearable size="small" style="width: 100%;" + @change="refreshTable()"> <el-option v-for="(a, i) in queryStatusList" :key="i" :label="a.label" :value="a.value"></el-option> </el-select> </el-form-item> - <el-form-item label="涓嬪彂鏃堕棿" prop="menuName" v-if="(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" + <el-form-item label="涓嬪彂鏃堕棿" prop="date" v-if="(tabIndex === 3 || tabIndex === 4) && more"> + <el-date-picker v-model="componentData.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-form-item label="濮旀墭缂栧彿" prop="menuName" v-if="(tabIndex === 3 || tabIndex === 4) && more"> - <el-input v-model="componentData4.entity.entrustCode" clearable placeholder="璇疯緭鍏�" - size="small" - @keyup.enter.native="refreshTable"> + <el-form-item label="濮旀墭缂栧彿" prop="entrustCode" v-if="(tabIndex === 3 || tabIndex === 4) && more"> + <el-input v-model="componentData.entrustCode" clearable placeholder="璇疯緭鍏�" size="small" + @keyup.enter.native="refreshTable"> </el-input> </el-form-item> </el-row> </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,i)">{{m.label}}</li> - </ul> - <!-- 寰呮姤妫�--> - <ValueTable v-show="tabIndex === 0" :key="'a'+ upIndex" - ref="ValueTable" - :componentData="componentData" - :style="getStyle()" - :tableRowClassName="changeRowClass" - :url="getWarehouseSubmitApi()" /> - <!-- 寰呬笅鍗�--> - <ValueTable v-show="tabIndex === 1" :key="'b'+ upIndex" - ref="ValueTable1" - :componentData="componentData1" - :style="getStyle()" - :tableRowClassName="changeRowClass" - :url="getWarehouseSubmitApi()" /> - <!-- 宸插畬鎴愬垪琛�--> -<!-- <ValueTable v-show="tabIndex === 3" :key="'c'+ upIndex"--> -<!-- ref="ValueTable2"--> -<!-- :componentData="componentData2"--> -<!-- :style="getStyle()"--> -<!-- :url="$api.materialInspection.getIfsByFinish" />--> -<!-- <!– 鍏ㄩ儴–>--> -<!-- <ValueTable v-show="tabIndex === 4" :key="'d'+ upIndex"--> -<!-- ref="ValueTable4"--> -<!-- :componentData="componentData4"--> -<!-- :style="getStyle()"--> -<!-- :url="$api.materialInspection.getIfsByAll" />--> + <div class="table-tab"> + <div> + <ul class="tab"> + <li :class="{ active: tabIndex === 0 }" @click="handleTab(0)">寰呮姤妫�</li> + <li :class="{ active: tabIndex === 1 }" @click="handleTab(1)">寰呬笅鍗�</li> + <li :class="{ active: tabIndex === 3 }" @click="handleTab(3)">宸插畬鎴�</li> + <li :class="{ active: tabIndex === 4 }" v-if="checkPermi(['get:Ifs:ByAll'])" @click="handleTab(4)">鍏ㄩ儴</li> + </ul> + </div> + <div> + <el-button v-show="tabIndex === 4" :loading="outLoading" size="small" type="primary" + @click="handleDown">瀵煎嚭</el-button> + <el-button v-if="tabIndex === 0" :loading="btnLoading" size="small" type="primary" + @click="openIFS">鑾峰彇IFS璁㈠崟</el-button> + <el-button v-if="tabIndex === 0" size="small" type="primary" @click="declareS">鎶ユ</el-button> + <el-button v-if="tabIndex === 0" size="small" type="primary" @click="addDeclare">鏂板鎶ユ淇℃伅</el-button> + </div> + </div> + <!--寰呮姤妫�銆佸緟涓嬪崟--> + <div class="table"> + <lims-table :tableData="tableData" :column="column" v-if="tabIndex === 0 || tabIndex === 1" :isSelection="true" + :handleSelectionChange="selectMethod" @pagination="pagination" :height="'calc(100vh - 290px)'" :page="page" + :tableLoading="tableLoading"></lims-table> + </div> + <!--宸插畬鎴愩�佸叏閮�--> + <div class="table"> + <lims-table :tableData="tableData1" :column="column1" v-if="tabIndex === 3 || tabIndex === 4" + @pagination="pagination1" :height="'calc(100vh - 290px)'" :page="page1" + :tableLoading="tableLoading1"></lims-table> + </div> </div> <!-- 鎵归噺鎶ユ --> <el-dialog :visible.sync="declareDialogSVisible" title="纭鎶ユ" width="30%"> <p style="font-size:16px;color:#333333">鏄惁纭鎶ユ閫夋嫨鐨勬暟鎹紵</p> <span slot="footer" class="dialog-footer"> - <el-row> - <el-button @click="declareDialogSVisible = false">鍙� 娑�</el-button> - <el-button :loading="submitDeclareLoading" type="primary" @click="submitDeclareS">纭� 瀹�</el-button> - </el-row> - </span> + <el-row> + <el-button @click="declareDialogSVisible = false">鍙� 娑�</el-button> + <el-button :loading="submitDeclareLoading" type="primary" @click="submitDeclareS">纭� 瀹�</el-button> + </el-row> + </span> </el-dialog> <!-- 纭鎶ユ --> <el-dialog :close-on-click-modal="false" :title="declareType === 'add' ? '鏂板鎶ユ淇℃伅' : '鍘熸潗鏂欐姤妫�'" - :visible.sync="declareDialogVisible" - width="62%" @close="resetForm"> - <el-form ref="declareObj" :inline="true" :model="declareObj" :rules="declareObjRules" label-width="130px" style="display: flex;flex-wrap: wrap;"> + :visible.sync="declareDialogVisible" width="800px" @close="resetFormData"> + <el-form ref="declareObj" :inline="true" :model="declareObj" :rules="declareObjRules" label-width="130px" + label-position="right"> <el-form-item class="declareObj-form-item" label="璁㈠崟鍙�:" prop="orderNo"> - <el-input v-model="declareObj.orderNo" :disabled="declareType !== 'add'" class="addObj-info" clearable placeholder="" size="small"></el-input> + <el-input v-model="declareObj.orderNo" :disabled="declareType !== 'add'" class="addObj-info" clearable + placeholder="" size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="闆朵欢鍙�:" prop="partNo"> - <el-input v-model="declareObj.partNo" :disabled="declareType !== 'add'" class="addObj-info" clearable placeholder="" size="small"></el-input> + <el-input v-model="declareObj.partNo" :disabled="declareType !== 'add'" class="addObj-info" clearable + placeholder="" size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="闆朵欢鎻忚堪:" prop="partDesc"> - <el-input v-model="declareObj.partDesc" :disabled="declareType !== 'add'" class="addObj-info" clearable placeholder="" size="small"></el-input> + <el-input v-model="declareObj.partDesc" :disabled="declareType !== 'add'" class="addObj-info" clearable + placeholder="" size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="鎶佃揪鐨勯噰璐暟閲�:" prop="qtyArrived"> - <el-input v-model="declareObj.qtyArrived" :disabled="declareType !== 'add'" class="addObj-info" clearable placeholder="" size="small"></el-input> + <el-input v-model="declareObj.qtyArrived" :disabled="declareType !== 'add'" class="addObj-info" clearable + placeholder="" size="small"></el-input> </el-form-item> <el-form-item v-if="declareType !== 'add'" class="declareObj-form-item" label="渚涘簲鍟嗙紪鍙�:" prop="supplierId"> - <el-input v-model="declareObj.supplierId" :disabled="declareType !== 'add'" class="addObj-info" clearable placeholder="" size="small"></el-input> + <el-input v-model="declareObj.supplierId" :disabled="declareType !== 'add'" class="addObj-info" clearable + placeholder="" size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="渚涘簲鍟嗗悕绉�:" prop="supplierName"> - <el-input v-model="declareObj.supplierName" :disabled="declareType !== 'add'" class="addObj-info" clearable placeholder="" size="small"></el-input> + <el-input v-model="declareObj.supplierName" :disabled="declareType !== 'add'" class="addObj-info" clearable + placeholder="" size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="鎵瑰彿:" prop="updateBatchNo"> <el-input v-model="declareObj.updateBatchNo" class="addObj-info" clearable size="small"></el-input> </el-form-item> <el-form-item v-if="declareType !== 'add'" class="declareObj-form-item" label="搴撲綅鍙�:" prop="locationNo"> - <el-input v-model="declareObj.locationNo" :disabled="declareType !== 'add'" class="addObj-info" clearable size="small"></el-input> + <el-input v-model="declareObj.locationNo" :disabled="declareType !== 'add'" class="addObj-info" clearable + size="small"></el-input> </el-form-item> <el-form-item v-if="declareType !== 'add'" class="declareObj-form-item" label="鎺ユ敹鏃堕棿:" prop="receiverDate"> <el-input v-model="declareObj.receiverDate" class="addObj-info" clearable disabled size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="鍗曚綅:" prop="buyUnitMeas"> - <el-input v-model="declareObj.buyUnitMeas" :disabled="declareType !== 'add'" class="addObj-info" size="small"></el-input> + <el-input v-model="declareObj.buyUnitMeas" :disabled="declareType !== 'add'" clearable class="addObj-info" + size="small"></el-input> </el-form-item> <el-form-item class="declareObj-form-item" label="鐗╂枡绫诲瀷锛�" prop="isExpire"> - <el-select v-model="declareObj.isExpire" prop="isExpire" - :disabled="declareType !== 'add'" - clearable size="small"> + <el-select v-model="declareObj.isExpire" prop="isExpire" :disabled="declareType !== 'add'" clearable + size="small"> <el-option :value="1" label="杩囨湡鐗╂枡"></el-option> </el-select> </el-form-item> </el-form> <span slot="footer" class="dialog-footer"> <el-row> - <el-button @click="resetForm">鍙� 娑�</el-button> + <el-button @click="resetFormData">鍙� 娑�</el-button> <el-button :loading="submitDeclareLoading" type="primary" @click="submitDeclare">纭� 瀹�</el-button> </el-row> </span> @@ -166,47 +153,299 @@ <el-dialog :visible.sync="deleteVisible" title="纭鍒犻櫎" width="30%"> <p style="font-size:16px;color:#333333">鏄惁纭鍒犻櫎锛�</p> <span slot="footer" class="dialog-footer"> - <el-row> - <el-button @click="deleteVisible = false">鍙� 娑�</el-button> - <el-button :loading="deleteLoading" type="primary" @click="submitDelete">纭� 瀹�</el-button> - </el-row> - </span> + <el-row> + <el-button @click="deleteVisible = false">鍙� 娑�</el-button> + <el-button :loading="deleteLoading" type="primary" @click="submitDelete">纭� 瀹�</el-button> + </el-row> + </span> </el-dialog> <!-- 鎾ら攢鎶ユ --> <el-dialog :visible.sync="declareDialogVisible1" title="鎶ユ鎾ら攢" width="30%"> <p style="font-size:16px;color:#333333">鎵瑰彿<span - style="color:#34BD66">{{insOrderRow.updateBatchNo}}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span></p> + style="color:#34BD66">{{ insOrderRow.updateBatchNo }}</span>鐨勪俊鎭槸鍚�<span style="color: #FF4902">鎾ら攢鎶ユ</span></p> <span slot="footer" class="dialog-footer"> - <el-row> - <el-button @click="declareDialogVisible1 = false">鍙� 娑�</el-button> - <el-button :loading="upLoad" type="primary" @click="submitDeclare1">纭� 瀹�</el-button> - </el-row> - </span> + <el-row> + <el-button @click="declareDialogVisible1 = false">鍙� 娑�</el-button> + <el-button :loading="upLoad" type="primary" @click="submitDeclare1">纭� 瀹�</el-button> + </el-row> + </span> </el-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> </div> </template> <script> -import ValueTable from "@/components/Table/value-table.vue"; -import DataLookVisible from "@/components/rawMaterialInspection/dataLookVisible.vue"; -import {getUser} from "@/api/system/user"; -import {getWarehouseSubmit} from '@/api/business/materialInspection' +import DataLookVisible from "@/views/business/materialOrderComponents/materialOrder/dataLookVisible.vue"; +import { + addIfsInventoryQuantity, + advancedGodown, + concessionRelease, delIfsInventory, + getIfsByAll, + getIfsByFinish, + getIfsOrder, + getWarehouseSubmit, inspectionReport, inspectionReportOne, rawAllExport, + revokeInspectionReport +} from '@/api/business/materialInspection' +import limsTable from "@/components/Table/lims-table.vue"; export default { + name: 'RawMaterialInspection', // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� - components: {DataLookVisible, ValueTable}, + components: { limsTable, DataLookVisible }, data() { // 杩欓噷瀛樻斁鏁版嵁 return { - entity: { - date: null + tableData: [], + tableLoading: false, + column: [ + { + 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', width: '140px', }, + { label: '鎵瑰彿', prop: 'updateBatchNo' }, + { label: '闆朵欢鍙�', prop: 'partNo' }, + { label: '闆朵欢鎻忚堪', prop: 'partDesc' }, + { label: '渚涘簲鍟嗗悕绉�', prop: 'supplierName' }, + { + 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', + label: '鎿嶄綔', + operation: [ + { + name: '鎶ユ', + type: 'text', + clickFun: (row) => { + this.declare(row); + }, + showHide: (row) => { + return this.tabIndex === 0 + }, + }, + { + name: '鍒犻櫎', + type: 'text', + clickFun: (row) => { + this.deleteMaterial(row); + }, + showHide: (row) => { + return this.tabIndex === 0 + }, + }, + { + name: '鎾ら攢鎶ユ', + type: 'text', + clickFun: (row) => { + this.cancelDeclare(row); + }, + showHide: (row) => { + return this.tabIndex === 1 + }, + }, + ] + } + ], + page: { + total: 0, + size: 20, + current: 1 }, - more:false, - isShowIFS: false, + tableData1: [], + tableLoading1: false, + column1: [ + { 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' }, + { 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); + }, + showHide: (row) => { + return this.tabIndex === 3 || this.tabIndex === 4; + }, + }, + { + name: '鏀捐', + type: 'text', + clickFun: (row) => { + this.goPass(row); + }, + disabled: (row, index) => { + return row.inspectStatus !== 2 + }, + showHide: (row) => { + return this.tabIndex === 4 + }, + }, + { + name: '鎻愬墠鍏ュ簱', + type: 'text', + clickFun: (row) => { + this.advancedGodown(row); + }, + disabled: (row, index) => { + return row.inspectStatus !== 0 && row.inspectStatus !== 3 + }, + showHide: (row) => { + return this.tabIndex === 4 + }, + }, + ] + } + ], + page1: { + total: 0, + size: 20, + current: 1 + }, + more: false, declareObj: { id: null, orderNo: '', // 璁㈠崟鍙� @@ -222,237 +461,18 @@ isExpire: '', // 鍗曚綅 }, componentData: { // 琛ㄦ牸鏁版嵁 - entity: { - updateBatchNo: null, - partNo: null, - partDesc: null, - supplierName: null, - isInspect: 0, - }, - isIndex: true, - showSelect: true, - select: true, - selectMethod: 'selectMethod', - do: [ - { - font: '鎶ユ', - type: 'text', - method: 'declare' - }, - { - font: '鍒犻櫎', - type: 'text', - method: 'deleteMaterial' - } - ], - tagField: { - isExpire: { - select: [{ - value: 1, - label: '杩囨湡鐗╂枡', - type: 'warning' - }] - } - }, - selectField: {}, - requiredAdd: [], - requiredUp: [] + updateBatchNo: null, + partNo: null, + partDesc: null, + supplierName: null, + date: null, + entrustCode: '', + inspectStatus: '', }, declareDialogVisible1: false, upLoad: false, - componentData1: { - entity: { - updateBatchNo: null, - partDesc: null, - state: 0, - isInspect: 1, - partNo: null, - supplierName: null, - }, - isIndex: true, - showSelect: false, - select: false, - selectMethod:'selectMethod', - do: [ - { - font: '鎾ら攢鎶ユ', - type: 'text', - method: 'cancelDeclare', - }, - ], - tagField: { - isExpire: { - select: [{ - value: 1, - label: '杩囨湡鐗╂枡', - type: 'warning' - }] - }, - }, - selectField: {}, - requiredAdd: [], - requiredUp: [] - }, - componentData2: { - entity: { - orderBy: { - field: 'sendTime', - order: 'desc' - }, - updateBatchNo: null, - partNo: null, - partDesc: null, - supplierName: null, - beginDeclareDate: null, - endDeclareDate: null, - }, - isIndex: true, - showSelect: true, - select: true, - selectMethod:'selectMethod', - do: [ - { - id: 'dataLook', - font: '鏁版嵁鏌ョ湅', - type: 'text', - method: 'handleDataLook', - } - ], - tagField: { - inspectStatus: { - select: [{ - value: 0, - label: '妫�楠屼腑', - type: 'warning' - },{ - value: 1, - label: '鍚堟牸', - type: 'success' - },{ - value: 2, - label: '涓嶅悎鏍�', - type: 'danger' - },{ - value: 3, - label: '鏈笅鍗�', - type: 'info' - },{ - value: 3, - label: '璁╂鏀捐', - type: '' - }] - }, - isExemption: { - select: [{ - value: 1, - label: '鍏嶆', - type: 'success' - }] - }, - isExpire: { - select: [{ - value: 1, - label: '杩囨湡鐗╂枡', - type: 'warning' - }] - }, - }, - selectField: {}, - requiredAdd: [], - requiredUp: [], - needSort: ['sendTime', 'receiverDate', 'declareDate'] - }, - componentData4: { - entity: { - orderBy: { - field: 'id', - order: 'desc' - }, - updateBatchNo: null, - partNo: null, - partDesc: null, - supplierName: null, - inspectStatus: null, - beginDeclareDate: null, - endDeclareDate: null, - }, - isIndex: true, - showSelect: true, - select: true, - selectMethod:'selectMethod', - do: [ - { - id: 'dataLook', - font: '鏁版嵁鏌ョ湅', - type: 'text', - method: 'handleDataLook', - }, - { - id: '', - font: '鏀捐', - type: 'text', - method: 'goPass', - disabFun: (row, index) => { - return row.inspectStatus != 2 - } - }, - { - id: '', - font: '鎻愬墠鍏ュ簱', - type: 'text', - method: 'advancedGodown', - disabFun: (row, index) => { - return row.inspectStatus != 0 && row.inspectStatus != 3 - } - } - ], - 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: [], - needSort: ['sendTime', 'receiverDate', 'declareDate'] - }, upIndex: 0, multipleSelection: [], - entityCopy: {}, currentId: null, btnLoading: false, // 鑾峰彇IFS璁㈠崟鎸夐挳loading insOrderRow: {}, @@ -506,41 +526,117 @@ tabIndex: 0, deleteVisible: false, // 鍒犻櫎鎶ユ寮规 deleteLoading: false, // 鍒犻櫎鎶ユ鎸夐挳 - entityCopy1: {}, - entityCopy2: {}, - entityCopy4: {}, dataDialogVisible: false, // 鏁版嵁鏌ョ湅寮规 dataLookInfo: {}, // 鏁版嵁鏌ョ湅寮规鏁版嵁 declareType: '', // 鎿嶄綔鎶ユ鐨勭被鍨� queryStatusList: [ - {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 }, ], - outLoading:false + outLoading: false } }, mounted() { - this.entityCopy = this.HaveJson(this.componentData.entity) - this.entityCopy1 = this.HaveJson(this.componentData1.entity) - this.entityCopy2 = this.HaveJson(this.componentData2.entity) - this.entityCopy4 = this.HaveJson(this.componentData4.entity) - this.getPower() + this.refreshTable() }, // 鏂规硶闆嗗悎 methods: { + // 鍒囨崲tab琛ㄦ牸 + handleTab(m) { + this.tabIndex = m; + this.refreshTable() + }, + // 鏌ヨ鍥炶皟 + refreshTable(e) { + if (this.tabIndex === 0 || this.tabIndex === 1) { + // 寰呮姤妫�銆佸緟涓嬪崟鏌ヨ + this.getWarehouseSubmitApi() + } else if (this.tabIndex === 3) { + // 宸插畬鎴愰儴鏌ヨ + this.getIfsByFinishList() + } else { + // 鍏ㄩ儴鏌ヨ + this.getIfsByAllList() + } + }, + // 寰呮姤妫�銆佸緟涓嬪崟鏌ヨ + getWarehouseSubmitApi() { + this.tableLoading = true + const params = { ...this.componentData, isInspect: this.tabIndex, state: this.tabIndex === 0 ? null : 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 + }) + }, + // 宸插畬鎴愰儴鏌ヨ + getIfsByFinishList() { + this.tableLoading1 = true + if(null != this.componentData.date){ + this.componentData.beginDeclareDate = this.componentData.date[0] + this.componentData.endDeclareDate = this.componentData.date[1] + } else { + this.componentData.beginDeclareDate = '' + this.componentData.endDeclareDate = '' + } + getIfsByFinish({ ...this.componentData, ...this.page1 }).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 + }) + }, + // 鍏ㄩ儴鏌ヨ + getIfsByAllList() { + this.tableLoading1 = true + if(null != this.componentData.date){ + this.componentData.beginDeclareDate = this.componentData.date[0] + this.componentData.endDeclareDate = this.componentData.date[1] + } else { + this.componentData.beginDeclareDate = '' + this.componentData.endDeclareDate = '' + } + getIfsByAll({ ...this.componentData, ...this.page1 }).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 + }) + }, + // 閲� 缃� + refresh() { + this.resetForm('componentData') + this.refreshTable() + }, + pagination(page) { + this.page.size = page.limit + this.refreshTable() + }, + pagination1(page) { + this.page1.size = page.limit + this.refreshTable() + }, // 鎵撳紑鎾ら攢鎶ユ寮规 - cancelDeclare (row) { + cancelDeclare(row) { this.declareDialogVisible1 = true this.insOrderRow = row }, // 鎻愪氦鎾ら攢鎶ユ鐢宠 - submitDeclare1 () { - this.$axios.post(this.$api.rawMaterialOrder.revokeInspectionReport, { - id: this.insOrderRow.id - }).then(res => { + submitDeclare1() { + revokeInspectionReport({ id: this.insOrderRow.id }).then(res => { if (res.code === 200) { this.declareDialogVisible1 = false this.refreshTable('page') @@ -550,137 +646,48 @@ console.log(err) }) }, - // 鍒囨崲tab琛ㄦ牸 - handleTab(m, i) { - this.tabIndex = m.value; - this.componentData.entity.isInspect = this.tabIndex - if (this.tabIndex === 0) { - this.componentData.do = [ - { - font: '鎶ユ', - type: 'text', - method: 'declare' - }, - { - font: '鍒犻櫎', - type: 'text', - method: 'deleteMaterial' - } - ] - } else if (this.tabIndex === 1) { - this.componentData.do = [] - } - this.refreshTable() - }, - // 鑾峰彇鏉冮檺 - getPower() { - let power = JSON.parse(sessionStorage.getItem('power')) - let getIFS = false - for (var i = 0; i < power.length; i++) { - if (power[i].menuMethod == 'getIfsOrder') { // 鑾峰彇IFS鐨勬潈闄� - getIFS = true - } - } - this.isShowIFS = getIFS - }, - // 鏌ヨ鍥炶皟 - refreshTable(e) { - if (this.tabIndex === 0) { - this.componentData.entity.isInspect = this.tabIndex - this.$refs.ValueTable.selectList(e) - } else if (this.tabIndex === 1) { - this.componentData1.entity.updateBatchNo = this.componentData.entity.updateBatchNo - this.componentData1.entity.partNo = this.componentData.entity.partNo - this.componentData1.entity.partDesc = this.componentData.entity.partDesc - this.componentData1.entity.supplierName = this.componentData.entity.supplierName - this.$refs['ValueTable1'].selectList(e) - } else if (this.tabIndex === 3) { - this.componentData2.entity.updateBatchNo = this.componentData.entity.updateBatchNo - this.componentData2.entity.partNo = this.componentData.entity.partNo - this.componentData2.entity.partDesc = this.componentData.entity.partDesc - this.componentData2.entity.supplierName = this.componentData.entity.supplierName - this.componentData2.entity.inspectStatus = this.componentData4.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 { - this.componentData4.entity.updateBatchNo = this.componentData.entity.updateBatchNo - this.componentData4.entity.partNo = this.componentData.entity.partNo - this.componentData4.entity.partDesc = this.componentData.entity.partDesc - this.componentData4.entity.supplierName = this.componentData.entity.supplierName - 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) - } - }, - // 閲嶇疆 - refresh() { - this.entity.date = null - this.componentData.entity = this.HaveJson(this.entityCopy) - 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 === 3) { - this.componentData2.entity = this.HaveJson(this.entityCopy2) - this.componentData4.entity = this.HaveJson(this.entityCopy4) - } else { - this.componentData4.entity = this.HaveJson(this.entityCopy4) - } - this.refreshTable() - }, // 鏁版嵁鏌ョ湅 handleDataLook(row) { - this.dataDialogVisible = true; this.dataLookInfo = row + this.dataDialogVisible = true; }, // 鐩存帴鏀捐 - 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', message: '鏀捐鎴愬姛!' }); - this.refresh() + this.refreshTable() } }) }).catch(() => { this.$message({ - type: 'error', - message: '鏀捐澶辫触' + type: 'info', + message: '鍙栨秷鏀捐' }); }); }, // 鎻愬墠鍏ュ簱 - advancedGodown (row) { + advancedGodown(row) { this.$confirm('褰撳墠鍘熸潗鏂欐槸鍚︽彁鍓嶅叆搴�?', '鎻愮ず', { confirmButtonText: '纭畾', cancelButtonText: '鍙栨秷', type: 'warning' }).then(() => { - this.$axios.post(this.$api.materialInspection.advancedGodown+'?ifsInventoryId='+row.id).then(res => { + advancedGodown({ ifsInventoryId: row.id }).then(res => { if (res.code === 200) { this.$message({ type: 'success', message: '鎿嶄綔鎴愬姛!' }); - this.refresh() + this.refreshTable() } }) }).catch(() => { @@ -691,39 +698,35 @@ }); }, // 鍏抽棴鏁版嵁鏌ョ湅寮规 - closeDataLook () { + closeDataLook() { this.dataDialogVisible = false }, // 鎵嬪姩鎶ユ - addDeclare () { + addDeclare() { this.clear() this.declareDialogVisible = true this.declareType = 'add' }, - declareS () { + // 閫夋嫨鎶ユ鏁版嵁 + declareS() { if (this.multipleSelection.length > 0) { this.declareDialogSVisible = true } else { this.$message.error('璇烽�夋嫨闇�瑕佹姤妫�鐨勬暟鎹�') } }, - submitDeclareS () { + // 鎻愪氦鎵归噺鎶ユ + submitDeclareS() { let ids = [] this.multipleSelection.forEach(item => { ids.push(item.id) }) this.declareDialogSVisible = true - this.$axios.post(this.$api.rawMaterialOrder.inspectionReport, { - ids: ids - }, { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { + inspectionReport({ ids: ids }).then(res => { if (res.code === 200) { this.declareDialogSVisible = false this.$message.success('鎶ユ鎴愬姛') - this.refresh() + this.refreshTable() } this.submitDeclareLoading = false }).catch(err => { @@ -733,26 +736,20 @@ }, // 鎵撳紑鎶ユ纭寮规 declare(row) { - this.declareObj = {...row} + this.declareObj = { ...row } this.declareDialogVisible = true this.declareType = 'edit' }, // 鎻愪氦鎶ユ - submitDeclare () { + submitDeclare() { if (this.declareType === 'add') { this.$refs['declareObj'].validate((valid) => { if (valid) { - this.$axios.post(this.$api.rawMaterialOrder.addIfsInventoryQuantity, - this.declareObj - , { - headers: { - 'Content-Type': 'application/json' - } - }).then(res => { + addIfsInventoryQuantity(this.declareObj).then(res => { if (res.code === 200) { this.declareDialogVisible = false this.$message.success('鎶ユ鎴愬姛') - this.refresh() + this.refreshTable() } }).catch(err => { console.log(err) @@ -765,18 +762,14 @@ } else { this.$refs['declareObj'].validate((valid) => { if (valid) { - this.$axios.post(this.$api.rawMaterialOrder.inspectionReportOne, { + inspectionReportOne({ id: this.declareObj.id, updateBatchNo: this.declareObj.updateBatchNo - }, { - headers: { - 'Content-Type': 'application/json' - } }).then(res => { if (res.code === 200) { this.declareDialogVisible = false this.$message.success('鎶ユ鎴愬姛') - this.refresh() + this.refreshTable() } }).catch(err => { console.log(err) @@ -788,24 +781,22 @@ }); } }, - resetForm () { + resetFormData() { this.$refs['declareObj'].resetFields(); this.declareDialogVisible = false }, // 鎵撳紑鍒犻櫎寮规 - deleteMaterial (row) { + deleteMaterial(row) { this.deleteVisible = true this.deleteInfo = row }, // 纭鍒犻櫎 - submitDelete () { + submitDelete() { this.deleteLoading = true - this.$axios.post(this.$api.rawMaterialOrder.delIfsInventory + '?id=' + this.deleteInfo.id).then(res => { - if (res.code === 200) { - this.deleteVisible = false - this.$message.success('鍒犻櫎鎴愬姛') - this.refresh() - } + delIfsInventory({ id: this.deleteInfo.id }).then(res => { + this.deleteVisible = false + this.$message.success('鍒犻櫎鎴愬姛') + this.refreshTable() this.deleteLoading = false }).catch(err => { console.log(err) @@ -819,51 +810,26 @@ // 鑾峰彇IFS鎸夐挳鍥炶皟 openIFS() { this.btnLoading = true - this.$axios.post(this.$api.materialInspection.getIfsOrder).then(res => { - if (res.code === 200) { - this.refresh() - } + getIfsOrder().then(res => { + this.resetForm('componentData') + this.refreshTable() this.btnLoading = false }).catch(err => { this.btnLoading = false console.log(err) }) }, - changeRowClass({row, rowIndex}) { - if (row.isFirst == 1) { - return 'highlight-danger-row-border' - } - return '' - }, - getStyle() { - return 'height: calc(100% - ' + (this.more ? '94' : '44') + 'px)' - }, - getWarehouseSubmitApi () { - const row = {} - getWarehouseSubmit(row).then(response => { - - }) - }, // 鍏ㄩ儴瀵煎嚭 - handleDown(){ - let entity = {...this.componentData4.entity} + handleDown() { + let entity = { ...this.componentData } delete entity.orderBy this.outLoading = true - this.$axios.post(this.$api.rawMaterialOrder.rawAllExport,{ - entity:entity - },{ - headers: { - 'Content-Type': 'application/json' - } - ,responseType: "blob"}).then(res => { + rawAllExport({ + entity: entity + }).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"); }) }, clear() { @@ -886,13 +852,10 @@ } </script> -<style scoped lang="scss"> -.app-container { - padding-top: 0; -} -.title { - height: 60px; - line-height: 60px; +<style scoped> +.table-tab { + display: flex; + justify-content: space-between; } .tab { -- Gitblit v1.9.3