From 0f102473c642142976d537af4c505b8a7161d6c5 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 31 十月 2025 15:30:17 +0800
Subject: [PATCH] 原材料报检拆分功能V1
---
src/views/business/rawMaterialInspection/index.vue | 1242 ++++++++++++++++++++++++++++++++--------------------------
1 files changed, 692 insertions(+), 550 deletions(-)
diff --git a/src/views/business/rawMaterialInspection/index.vue b/src/views/business/rawMaterialInspection/index.vue
index 4eaa8af..934c918 100644
--- a/src/views/business/rawMaterialInspection/index.vue
+++ b/src/views/business/rawMaterialInspection/index.vue
@@ -1,165 +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="medium" 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>
-<!-- <div class="search_thing" style="padding-left: 30px;">-->
- <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>
-<!-- </div>-->
+ <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" type="primary" @click="refreshTable()">鏌ヨ</el-button>
+ <el-button size="mini" @click="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" @change="refreshTable()"
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-form-item class="declareObj-form-item" label="鎶佃揪鐨勯噰璐暟閲�:" prop="purQtyInStore">
+ <el-input v-model="declareObj.purQtyInStore" :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>
@@ -168,53 +153,395 @@
<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>
+ <el-dialog
+ title="璁㈠崟鎷嗗垎"
+ :visible.sync="orderSplitDialogVisible"
+ :before-close="resetOrderSplitData"
+ :close-on-click-modal="false"
+ :close-on-press-escape="false"
+ :show-close="!confirmSplitOrderLoading"
+ width="60%">
+ <div>
+ <el-divider content-position="left">璁㈠崟涓讳綋</el-divider>
+ <el-table
+ :data="orderSplitBasicData"
+ border
+ :header-cell-style="{textAlign:'center'}"
+ :cell-style="{textAlign:'center'}"
+ >
+ <el-table-column label="璁㈠崟缂栧彿" prop="orderNo" :min-width="100" width="100"></el-table-column>
+ <el-table-column label="闆朵欢缂栧彿" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column>
+ <el-table-column label="闆朵欢鎻忚堪" prop="partDesc" :min-width="150" show-overflow-tooltip></el-table-column>
+ <el-table-column label="鎶佃揪鐨勯噰璐暟閲�" prop="purQtyInStore" :min-width="120" width="120"></el-table-column>
+ <el-table-column label="渚涘簲鍟嗙紪鍙�" prop="supplierId" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column label="渚涘簲鍟嗗悕绉�" prop="supplierName" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column label="鎵瑰彿" prop="lotBatchNo" :min-width="100" width="100"></el-table-column>
+ <el-table-column label="鍗曚綅" prop="buyUnitMeas" :min-width="100" width="100"></el-table-column>
+ </el-table>
+ <el-divider content-position="left">鎷嗗垎璇︽儏</el-divider>
+ <el-row>
+ <el-col :span="12">
+ <el-checkbox v-model="pushToMes"><span style="font-weight: bold">鍚屾鍒癕ES</span></el-checkbox>
+ </el-col>
+ <el-col :span="12">
+ <div style="width:100%;text-align: right;margin-bottom:5px">
+ <el-upload
+ style="display:inline-block;margin: 0 8px;"
+ ref="upload"
+ class="upload-demo"
+ :headers="uploadHeader"
+ :action="splitOrderAction"
+ :data="{ifsId:declareObj.id}"
+ :on-change="beforeUpload"
+ :on-error="onError"
+ :on-success="handleSuccess"
+ accept=".xls,.xlsx"
+ :show-file-list="false"
+ :multiple="false">
+ <el-button size="mini" type="primary" :loading="upLoading">瀵煎叆</el-button>
+ </el-upload>
+ <el-button size="mini" type="primary" @click="downloadTemplate">涓嬭浇妯℃澘</el-button>
+ </div>
+ </el-col>
+ </el-row>
+ <el-table
+ :data="orderSplitDetailData"
+ v-loading="detailDataLoading"
+ :header-cell-style="{textAlign:'center'}"
+ :cell-style="{textAlign:'center'}"
+ border>
+ <el-table-column label="闆朵欢缂栧彿" prop="partNo" :min-width="150" width="150" show-overflow-tooltip></el-table-column>
+ <el-table-column label="绯荤粺缂栧彿" prop="systemNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="瑙勬牸" prop="model" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="闆朵欢鎵瑰彿" prop="lotBatchNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="搴撳瓨鏁伴噺1" prop="length" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column label="搴撳瓨鏁伴噺2" prop="qtyStock" :min-width="100" width="100" show-overflow-tooltip></el-table-column>
+ <el-table-column label="缁濈紭棰滆壊" prop="insulationColor" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="澶栨姢棰滆壊" prop="outerColor" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="鍗板瓧淇℃伅" prop="letteringInfo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="鐩樺彿" prop="drumNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="搴撲綅缂栧彿" prop="locationNo" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="搴撲綅鏉ユ簮" prop="stockSource" :min-width="90" width="90" show-overflow-tooltip></el-table-column>
+ <el-table-column label="澶囨敞" prop="remark" :min-width="90" show-overflow-tooltip></el-table-column>
+ </el-table>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="resetOrderSplitData()" :disabled="confirmSplitOrderLoading">鍙� 娑�</el-button>
+ <el-button type="primary" @click="confirmSplitOrder()" :loading="confirmSplitOrderLoading">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
</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,downloadTemplate,confirmSplitOrder
+} from '@/api/business/materialInspection'
+import limsTable from "@/components/Table/lims-table.vue";
+import {transformExcel} from '@/utils/file'
export default {
+ name: 'RawMaterialInspection',
// import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
- components: {DataLookVisible, ValueTable},
+ components: { limsTable, DataLookVisible },
+ computed:{
+ splitOrderAction(){
+ return this.javaApi + '/rawMaterialOrder/importSplitOrderData'
+ }
+ },
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
- entity: {
- date: null
+ confirmSplitOrderLoading: false,
+ detailDataLoading: false,
+ pushToMes:false,//鏄惁鍚屾鍒癿es
+ orderSplitDialogVisible: false,
+ orderSplitBasicData:[],//璁㈠崟鎷嗗垎涓讳綋琛ㄦ牸鏁版嵁
+ orderSplitDetailData:[],//璁㈠崟鎷嗗垎璇︽儏琛ㄦ牸鏁版嵁
+ 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: 'purQtyInStore', 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',
+ fixed: 'right',
+ 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: [
+ {
+ 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: 'purQtyInStore' },
+ { label: '鎶ユ鏃堕棿', prop: 'declareDate' },
+ { 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: 'entrustCode', width: '160px' },
+ { 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: 'sendTime' },
+ {
+ 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: '', // 璁㈠崟鍙�
partNo: '', // 闆朵欢鍙�
partDesc: '', // 闆朵欢鎻忚堪
- qtyArrived: '', // 鎶佃揪鐨勯噰璐暟閲�
+ purQtyInStore: '', // 鎶佃揪鐨勯噰璐暟閲�
supplierId: '', // 渚涘簲鍟嗙紪鍙�
supplierName: '', // 渚涘簲鍟嗗悕绉�
updateBatchNo: '', // 鎵瑰彿
@@ -224,237 +551,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: {},
@@ -471,7 +579,7 @@
partDesc: [
{ required: true, message: '璇峰~鍐欓浂浠舵弿杩�', trigger: 'blur' }
],
- qtyArrived: [
+ purQtyInStore: [
{ required: false, message: '璇峰~鍐欐姷杈剧殑閲囪喘鏁伴噺', trigger: 'blur' }
],
supplierName: [
@@ -508,41 +616,197 @@
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,
+ upLoading: 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: {
+ resetOrderSplitData(){
+ this.orderSplitBasicData = []
+ this.orderSplitDetailData = []
+ this.pushToMes = false
+ this.$nextTick(()=>{
+ this.confirmSplitOrderLoading = false
+ this.orderSplitDialogVisible = false
+ this.refreshTable()
+ })
+ },
+ confirmSplitOrder(){
+ if(this.orderSplitDetailData.length===0){
+ this.$message.error('璇峰厛瀵煎叆鎷嗗垎鏁版嵁')
+ return
+ }
+ this.confirmSplitOrderLoading = true
+ let requestData = {
+ ifsId: this.declareObj.id,
+ splitDetailList: this.orderSplitDetailData,
+ pushToMes: this.pushToMes
+ }
+ confirmSplitOrder(requestData).then(res=>{
+ if(res.code===200 && res.data){
+ this.$message.success('璁㈠崟鎷嗗垎鎴愬姛')
+ }else if(this.pushToMes && res.code===200 && !res.data){
+ this.$message.success('璁㈠崟鎷嗗垎鎴愬姛,鍚屾MES澶辫触锛岃鑱旂郴绠$悊鍛�')
+ } else {
+ let msg = res.msg || res.message
+ this.$message({
+ message: '璁㈠崟鎷嗗垎澶辫触: '+msg,
+ dangerouslyUseHTMLString: true,
+ type: 'error'
+ });
+ }
+ this.resetOrderSplitData()
+ }).catch(error=>{
+ console.error(error)
+ this.confirmSplitOrderLoading = false
+ })
+ },
+ handleSuccess(response) {
+ if (response.code === 200) {
+ this.$message.success('涓婁紶鎴愬姛');
+ this.orderSplitDetailData = response.data
+ } else {
+ let msg = response.msg || response.message
+ this.$message({
+ message: '涓婁紶澶辫触: '+msg,
+ dangerouslyUseHTMLString: true,
+ type: 'error'
+ });
+ }
+ this.$nextTick(()=>{
+ this.upLoading = false;
+ this.detailDataLoading = false
+ })
+ },
+ onError(err, file, fileList) {
+ this.$message.error('涓婁紶澶辫触: '+err)
+ this.$refs.upload.clearFiles()
+ },
+ beforeUpload(file) {
+ if (file.size > 1024 * 1024 * 10) {
+ this.$message.error('涓婁紶鏂囦欢涓嶈秴杩�10M');
+ this.$refs.upload.clearFiles()
+ return false;
+ } else {
+ this.upLoading = true;
+ this.detailDataLoading = true
+ return true;
+ }
+ },
+ downloadTemplate(){
+ downloadTemplate().then(res=>{
+ transformExcel(res,'璁㈠崟鎷嗗垎瀵煎叆妯℃澘.xlsx')
+ }).catch(error=>{
+ console.error(error)
+ })
+ },
+ // 鍒囨崲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')
@@ -552,137 +816,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(() => {
@@ -693,39 +868,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 => {
@@ -735,26 +906,33 @@
},
// 鎵撳紑鎶ユ纭寮规
declare(row) {
- this.declareObj = {...row}
- this.declareDialogVisible = true
+ this.declareObj = { ...row }
this.declareType = 'edit'
+ if(row.updateBatchNo && row.updateBatchNo==='*'){
+ this.$confirm('鏄惁瑕佹媶鍒嗚璁㈠崟?', '鎻愮ず', {
+ confirmButtonText: '鏄�',
+ cancelButtonText: '鍚�',
+ type: 'warning'
+ }).then(() => {
+ this.orderSplitBasicData = [row]
+ this.orderSplitDialogVisible = true
+ }).catch(() => {
+ this.declareDialogVisible = true
+ });
+ }else{
+ this.declareDialogVisible = true
+ }
},
// 鎻愪氦鎶ユ
- 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)
@@ -767,18 +945,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)
@@ -790,24 +964,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)
@@ -821,51 +993,24 @@
// 鑾峰彇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}
- delete entity.orderBy
+ handleDown() {
this.outLoading = true
- this.$axios.post(this.$api.rawMaterialOrder.rawAllExport,{
- entity:entity
- },{
- headers: {
- 'Content-Type': 'application/json'
- }
- ,responseType: "blob"}).then(res => {
+ rawAllExport({
+ ...this.componentData
+ }).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() {
@@ -874,7 +1019,7 @@
orderNo: '', // 璁㈠崟鍙�
partNo: '', // 闆朵欢鍙�
partDesc: '', // 闆朵欢鎻忚堪
- qtyArrived: '', // 鎶佃揪鐨勯噰璐暟閲�
+ purQtyInStore: '', // 鎶佃揪鐨勯噰璐暟閲�
supplierId: '', // 渚涘簲鍟嗙紪鍙�
supplierName: '', // 渚涘簲鍟嗗悕绉�
updateBatchNo: '', // 鎵瑰彿
@@ -888,13 +1033,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