From 6d44d9fd513442c9aff8c17cd8cce97ada1efc44 Mon Sep 17 00:00:00 2001 From: gaoluyang <2820782392@qq.com> Date: 星期二, 25 二月 2025 11:06:21 +0800 Subject: [PATCH] 成品抽样搬迁 --- src/components/Table/lims-table.vue | 6 src/views/business/finishedProductSampling/index.vue | 448 ++++++++++++++++++++++++++++++++ src/views/business/finishedProductSampling/components/addQuarterItem.vue | 296 +++++++++++++++++++++ src/api/business/finishedProductSampling.js | 35 ++ 4 files changed, 783 insertions(+), 2 deletions(-) diff --git a/src/api/business/finishedProductSampling.js b/src/api/business/finishedProductSampling.js new file mode 100644 index 0000000..e2de844 --- /dev/null +++ b/src/api/business/finishedProductSampling.js @@ -0,0 +1,35 @@ +// 鎴愬搧鎶芥牱璇︽儏椤甸潰鐩稿叧鎺ュ彛 +import request from '@/utils/request' + +// 鍘熸潗鏂欐牴鎹甶d鎶ユ +export function getIfsStock(query) { + return request({ + url: '/finishProductSpotCheck/getIfsStock', + method: 'post', + data: query + }) +} +// 瀛e害鎶芥鏌ョ湅璇︽儏 +export function getQuarter(query) { + return request({ + url: '/finishProductSpotCheck/getQuarter', + method: 'get', + params: query + }) +} +// 鎻愪氦瀛e害鎶芥牱 +export function addQuarter(query) { + return request({ + url: '/finishProductSpotCheck/addQuarter', + method: 'post', + data: query + }) +} +// 缂栬緫瀛e害妫�楠� +export function updateQuarterOnOrder(query) { + return request({ + url: '/finishProductSpotCheck/updateQuarterOnOrder', + method: 'post', + data: query + }) +} diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue index 05e1d85..bd77bc9 100644 --- a/src/components/Table/lims-table.vue +++ b/src/components/Table/lims-table.vue @@ -64,7 +64,8 @@ <!-- 鎸夐挳 --> <div v-else-if="item.dataType == 'action'"> <template v-for="(o, key) in item.operation"> - <el-button v-if="o.type != 'upload'" size="mini" v-show="o.showHide ? o.showHide(scope.row) : true" + <el-button v-show="o.type != 'upload'" size="mini" + v-if="o.showHide ? o.showHide(scope.row) : true" :disabled="o.disabled ? o.disabled(scope.row) : false" :icon="iconFn(o)" :plain="o.plain" :style="{ color: o.name === '鍒犻櫎' ? '#f56c6c' : o.color }" :type="o.type | typeFn(scope.row)" @click="o.clickFun(scope.row)" :key="key"> @@ -79,7 +80,8 @@ :disabled="o.disabled ? o.disabled(scope.row) : false" :accept="o.accept ? o.accept : '.jpg,.jpeg,.png,.gif,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.pdf,.zip,.rar' - " v-if="o.type == 'upload'" style="display: inline-block; width: 50px" + " + v-if="o.type == 'upload'" style="display: inline-block; width: 50px" v-show="o.showHide ? o.showHide(scope.row) : true" :headers="uploadHeader" :on-error="onError" diff --git a/src/views/business/finishedProductSampling/components/addQuarterItem.vue b/src/views/business/finishedProductSampling/components/addQuarterItem.vue new file mode 100644 index 0000000..63e6888 --- /dev/null +++ b/src/views/business/finishedProductSampling/components/addQuarterItem.vue @@ -0,0 +1,296 @@ +<template> + <div> + <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="quarterSampleDia" title="瀛e害鎶芥牱" width="90%" @close="quarterSampleDia = false"> + <div style="display: flex;align-items: center;justify-content: space-between;margin-bottom: 10px"> + <div style="width: 30%;display: flex;align-items: center;" > + <span style="width: 50px">缂栧彿锛�</span> + <el-input v-model="quarterSampleForm.quarterNo" :disabled="operationType !== 'add'" size="small"></el-input> + </div> + <div v-if="operationType === 'add'"> + <el-button size="small" type="primary" @click="addQuarter">娣诲姞</el-button> + <el-button size="small" type="danger" @click="clearTable">娓呯┖</el-button> + </div> + </div> + <div> + <el-table v-loading="tableLoading" :data="quarterItems" border height="420" style="width: 100%"> + <el-table-column label="浜у搧绫诲瀷" prop="productType" width="200"> + <template slot-scope="{row}"> + <template> + <el-input v-model="row.productType" size="small"/> + </template> + </template> + </el-table-column> + <el-table-column label="璐d换浜�" prop="dutyUser" width="100"></el-table-column> + <el-table-column label="鍨嬪彿" prop="productModel" width="120"> + <template slot-scope="{row}"> + <template> + <el-input v-model="row.productModel" size="small" :disabled="operationType === 'view'"/> + </template> + </template> + </el-table-column> + <el-table-column label="鎶芥牱鏁伴噺" min-width="340" prop="spotCheckNumber"> + <template slot-scope="{row}"> + <template> + <el-input v-model="row.spotCheckNumber" size="small" :disabled="operationType === 'view'"/> + </template> + </template> + </el-table-column> + <el-table-column v-if="operationType === 'add'" label="鏁伴噺" min-width="120" prop="number"> + <template slot-scope="{row}"> + <template> + <el-input v-model="row.number" size="small" :disabled="operationType === 'view'"/> + </template> + </template> + </el-table-column> + <el-table-column v-if="operationType !== 'add'" label="鎶芥牱鏃堕棿" prop="spotCheckTime" width="160"> + <template slot-scope="{row}"> + <template> + <el-date-picker v-model="row.spotCheckTime" + format="yyyy-MM-dd" + :disabled="operationType === 'view'" + placeholder="閫夋嫨鏃ユ湡" + size="small" + clearable + style="width:100%" + type="date" + value-format="yyyy-MM-dd"> + </el-date-picker> + </template> + </template> + </el-table-column> + <el-table-column v-if="operationType !== 'add'" label="璇曟牱缁撹" prop="result" width="130"> + <template v-slot="scope"> + <el-select v-model="scope.row.result" placeholder="璇烽�夋嫨" size="small" clearable :disabled="operationType === 'view'"> + <el-option label="鍚堟牸" value="鍚堟牸"></el-option> + <el-option label="涓嶅悎鏍�" value="涓嶅悎鏍�"></el-option> + </el-select> + </template> + </el-table-column> + <el-table-column v-if="operationType !== 'add'" label="鍙栨牱浜哄憳" prop="samplingUser" width="120"> + <template slot-scope="{row}"> + <template> + <el-input v-model="row.samplingUser" size="small" :disabled="operationType === 'view'"/> + </template> + </template> + </el-table-column> + <el-table-column label="澶囨敞" prop="itemRemark" width="200"> + <template slot-scope="{row}"> + <template> + <el-input v-model="row.itemRemark" size="small" :disabled="operationType === 'view'"/> + </template> + </template> + </el-table-column> + <el-table-column v-if="operationType !== 'view'" fixed="right" label="鎿嶄綔" width="100"> + <template slot-scope="scope"> + <el-button size="small" style="color: #f56c6c" type="text" @click="deleteScope(scope.$index)">鍒犻櫎</el-button> + </template> + </el-table-column> + </el-table> + </div> + <div style="display: flex;align-items: center;margin: 10px 0"> + <span style="width: 70px">澶囨敞锛�</span> + <el-input v-model="quarterSampleForm.remark" :disabled="operationType === 'view'" size="small" style="width: 43%" type="textarea"></el-input> + </div> + <div v-if="operationType !== 'add'"> + <el-form ref="form" :model="editForm" label-width="70px"> + <el-col :span="12"> + <el-form-item label="缂栧埗浜猴細"> + <el-select v-model="editForm.writeUser" :disabled="operationType !=='edit'" placeholder="璇烽�夋嫨" size="small" style="width: 100%"> + <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="浼氱浜猴細"> + <el-select v-model="editForm.countersignUser" :disabled="operationType !=='edit'" multiple placeholder="璇烽�夋嫨" size="small" style="width: 100%"> + <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="瀹℃牳浜猴細"> + <el-select v-model="editForm.examineUser" :disabled="operationType !=='edit'" placeholder="璇烽�夋嫨" size="small" style="width: 100%"> + <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="鎵瑰噯浜猴細"> + <el-select v-model="editForm.ratifyUser" :disabled="operationType !=='edit'" placeholder="璇烽�夋嫨" size="small" style="width: 100%"> + <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option> + </el-select> + </el-form-item> + </el-col> + </el-form> + </div> + <span v-if="operationType !== 'view'" slot="footer" class="dialog-footer"> + <el-button v-if="operationType !== 'add'" @click="quarterSampleDia = false">鍙� 娑�</el-button> + <el-button v-if="operationType === 'add'" @click="quarterSampleDia = false">淇� 瀛�</el-button> + <el-button type="primary" @click="handleSample">纭� 瀹�</el-button> + </span> + </el-dialog> + </div> +</template> + +<script> +import {addQuarter, getQuarter, updateQuarterOnOrder} from "@/api/business/finishedProductSampling"; +import {selectUserCondition} from "@/api/business/inspectionTask"; +import {mapGetters} from "vuex"; + +export default { + name: "addQuarterItem", + // import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢� + components: {}, + data() { + // 杩欓噷瀛樻斁鏁版嵁 + return { + tableLoading: false, + quarterSampleDia: false, // 瀛e害鎶芥牱寮规 + quarterSampleForm: { + quarterNo: '', // 缂栧彿 + }, + quarterItems: [], + quarterTemItems: [], + operationType: '', + editForm: { + quarterId: '', + writeUser: '', // 缂栧埗浜� + countersignUser: [], // 浼氱浜� + examineUser: '', // 瀹℃牳浜� + ratifyUser: '', // 鎵瑰噯浜� + }, + userList: [], + quarterRow: {}, + } + }, + computed: { + ...mapGetters(["nickName"]), + }, + mounted() { + this.getUserList() + }, + // 鏂规硶闆嗗悎 + methods: { + openDia (quarterTemItems, type) { + this.quarterSampleDia = true + this.operationType = type + if (type === 'add') { + if (quarterTemItems.length > 0) { + this.quarterItems = quarterTemItems + } + this.quarterSampleForm.quarterNo = getCurrentMonthTwoDigits() + } else { + this.tableLoading = true + this.quarterRow = quarterTemItems + getQuarter({quarterId: quarterTemItems.quarterId}).then(res => { + this.tableLoading = false + if (res.code === 200) { + this.quarterItems = res.data.quarterItems + this.quarterSampleForm.quarterNo = res.data.quarterNo + this.quarterSampleForm.remark = res.data.remark + this.editForm.quarterId = res.data.quarterId + this.editForm.writeUser = res.data.writeUser + this.editForm.examineUser = res.data.examineUser + this.editForm.ratifyUser = res.data.ratifyUser + if (res.data.countersignUser) { + this.editForm.countersignUser = res.data.countersignUser.split(",").map(Number) + } + } + }).catch(err => { + this.tableLoading = false + }) + } + }, + // 鎵嬪姩娣诲姞 + addQuarter () { + this.quarterItems.push({ + productType: '', + dutyUser: this.nickName, + productModel: '', + spotCheckNumber: '', + number: '', + spotCheckTime: '', + result: '', + samplingUser: '', + itemRemark: '', + }) + }, + // 鎻愪氦瀛e害鎶芥牱 + handleSample () { + this.$confirm('鏄惁鎻愪氦璇ユ暟鎹�', '鎻愮ず', { + confirmButtonText: '纭畾', + cancelButtonText: '鍙栨秷', + type: 'warning' + }).then(() => { + if (this.operationType === 'add') { + this.quarterSampleForm.quarterItems = JSON.parse(JSON.stringify(this.quarterItems)) + this.quarterSampleForm.quarterItems.forEach(item => { + item.spotCheckNumber = item.spotCheckNumber + ' ' + (item.number == null ? "" : item.number) + }) + addQuarter(this.quarterSampleForm).then(res => { + if (res.code == 200) { + this.$message.success('鎻愪氦鎴愬姛') + this.quarterItems = [] + this.$parent.quarterTemItems = [] + this.closeQuarterSampleDia() + } + }) + } else { + const params = {...this.editForm} + if (params.countersignUser.length > 0) { + params.countersignUser = params.countersignUser.join(',') + } else { + params.countersignUser = '' + } + params.quarterItems = JSON.parse(JSON.stringify(this.quarterItems)) + updateQuarterOnOrder(params).then(res => { + if (res.code == 200) { + this.$message.success('鎻愪氦鎴愬姛') + this.quarterItems = [] + this.closeQuarterSampleDia() + } + }) + } + }).catch(() => { + this.$message({ + type: 'info', + message: '宸插彇娑�' + }); + }); + + }, + // 娓呯┖鎶芥牱璁″垝 + clearTable () { + this.quarterItems = [] + this.$parent.quarterTemItems = [] + }, + // 鎵嬪姩鍒犻櫎 + deleteScope (index) { + this.quarterItems.splice(index, 1) + }, + // 鍏抽棴瀛e害鎶芥牱寮规 + closeQuarterSampleDia () { + this.quarterSampleDia = false + if (this.operationType === 'add') { + this.$parent.handleStockList() + } else { + this.$parent.refreshTable('page') + } + }, + getUserList(){ + selectUserCondition({ type: 0 }).then((res) => { + this.userList = res.data; + }) + }, + }, +} +function getCurrentMonthTwoDigits() { + const currentDate = new Date(); + const year = currentDate.getFullYear(); + const currentMonth = currentDate.getMonth() + 1; + return year + currentMonth.toString().padStart(2, '0'); +} +</script> + +<style scoped> +</style> diff --git a/src/views/business/finishedProductSampling/index.vue b/src/views/business/finishedProductSampling/index.vue new file mode 100644 index 0000000..b4f9986 --- /dev/null +++ b/src/views/business/finishedProductSampling/index.vue @@ -0,0 +1,448 @@ +<!--鎴愬搧鎶芥牱椤甸潰--> +<template> + <div style="padding: 10px 0"> + <div class="card"> + <div class="title"> + <el-button size="small" type="primary" @click="addTemQuarter">鏂板</el-button> + <el-button size="small" type="primary" @click="quarterSample">瀛e害鎶芥牱</el-button> + <el-button size="small" type="primary" @click="handleStockList">鍒锋柊</el-button> + </div> + <el-table + ref="finishedproducttransferTable" + v-loading="tableLoading" + :data="stockList" + :header-cell-style="lineSideWarehouseTableHeaderCellStyle" + :row-class-name="lineSideWarehouseTableRowClassName" + class="finishedproducttransfer-table" + height="calc(100vh - 240px)" + @selection-change="handleSelectionChange" + > + <el-table-column type="selection" width="45"></el-table-column> + <el-table-column + :show-overflow-tooltip="true" + align="center" + label="瀹㈡埛璁㈠崟缂栧彿" + prop="customerOrderNo" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">瀹㈡埛璁㈠崟缂栧彿</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.customerOrderNo" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.customerOrderNo }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + label="鎴愬搧闆朵欢鍙�" + prop="partNo" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">鎴愬搧闆朵欢鍙�</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.partNo" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.partNo }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + label="闆朵欢鍚嶇О" + prop="partName" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">闆朵欢鍚嶇О</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.partName" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.partName }}</span> + </template> + </el-table-column> + <el-table-column + :show-overflow-tooltip="true" + align="center" + label="浠撳簱" + prop="warehouseName" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">浠撳簱</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.warehouseName" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.warehouseName }}</span> + </template> + </el-table-column> + <el-table-column + :show-overflow-tooltip="true" + align="center" + label="搴撲綅鍙�" + prop="locationNo" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">搴撲綅鍙�</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.locationNo" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.locationNo }}</span> + </template> + </el-table-column> + <el-table-column + :show-overflow-tooltip="true" + align="center" + label="搴撲綅鍚嶇О" + prop="locationName" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">搴撲綅鍚嶇О</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.locationName" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.locationName }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + label="鎵规鍙�" + prop="partBatchNo" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">鎵规鍙�</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.partBatchNo" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.partBatchNo }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + label="鍏ュ簱鏉ユ簮" + prop="inSource" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">鍏ュ簱鏉ユ簮</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.inSource" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.inSource }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + label="澶栨姢棰滆壊" + prop="outerColor" + width="140" + > + <template slot="header" slot-scope="scope"> + <div style="line-height: 14px;margin-bottom: 6px">澶栨姢棰滆壊</div> + <div class="th" @click.stop> + <el-input + v-model="queryParamOne.outerColor" + clearable + size="mini" + type="text" + @clear="handleStockList" + @keyup.enter.native="handleStockList" + ></el-input> + </div> + </template> + <template slot-scope="scope"> + <span>{{ scope.row.outerColor }}</span> + </template> + </el-table-column> + <el-table-column + align="center" + label="搴撳瓨鏁伴噺" + prop="stockQuantity" + width="140" + > + </el-table-column> + <el-table-column + align="center" + label="鍙敤搴撳瓨鏁伴噺" + prop="availableStockQuantity" + width="140" + > + <template slot-scope="scope"> + <span>{{ scope.row.availableStockQuantity }}</span> + </template> + </el-table-column> + </el-table> + <div class="pagin-page" style="margin-top: 0;margin-bottom: 0;"> + <el-pagination + background + :current-page="queryReport.current" + :page-size="queryReport.size" + :page-sizes="[10, 15, 20, 50, 100]" + :total="queryReport.total" + layout="total, sizes, prev, pager, next, jumper" + style="text-align:right;padding: 20px 16px;" + @size-change="handleSizeChangeReport" + @current-change="handleCurrentChangeReport" + > + </el-pagination> + </div> + </div> + <add-quarter-item ref="addQuarterItem"></add-quarter-item> + </div> +</template> + +<script> + +import AddQuarterItem from "./components/addQuarterItem.vue"; +import {getIfsStock} from "@/api/business/finishedProductSampling"; +import {mapGetters} from "vuex"; + +export default { + data() { + return { + stockList: [], + queryParamOne: { + partNo: null, + partName: null, + warehouseName: null, + locationName: null, + locationNo: null, + partBatchNo: null, + stockQuantity: null, + availableStockQuantity: null, + outerColor: null, + customerOrderNo: null, + inSource: null, + }, + queryReport: { + current: 1, + size: 20, + total: 0 + }, + tableLoading: false, + multipleSelection: [], // table鎵�閫変腑鐨勫璞� + showEditForm: false, + showMoveForm: false, + showMoveAllForm: false, + erpfinishstock: {}, + isAvaliable: false, + isPackage: false, + quarterTemItems: [], + operationType: '' + } + }, + components: {AddQuarterItem}, + mounted() { + this.getIfsStock() + }, + updated() { + this.$nextTick(() => { + this.$refs.finishedproducttransferTable.doLayout() + }) + }, + computed: { + ...mapGetters(["nickName"]), + }, + methods: { + // 瀛e害鎶芥牱 + quarterSample () { + this.$refs.addQuarterItem.openDia(this.quarterTemItems, 'add') + }, + addTemQuarter () { + if (this.multipleSelection.length > 0) { + const multipleSelection = JSON.parse(JSON.stringify(this.multipleSelection)) + if (multipleSelection.length > 0) { + multipleSelection.forEach(item => { + if (item.partName.includes(' ')) { + const list = item.partName.match(/^(\S+)\s(.*)/).slice(1) + console.log('list', list) + item.productType = list[0] + item.spotCheckNumber = list[1] + } + item.dutyUser = this.nickName + item.itemRemark = item.partBatchNo; + this.quarterTemItems.push(item) + }) + } + this.$message.success('鏆傚瓨鎴愬姛') + this.$refs.finishedproducttransferTable.clearSelection() + } else { + this.$message.warning('璇烽�夋嫨鏁版嵁') + } + }, + // 鑾峰彇鏁版嵁鍒楄〃 + getIfsStock() { + this.tableLoading = true + this.stockList = [] + const newReqParam = this.getFinalParam() + getIfsStock(newReqParam) + .then((response) => { + const resData = response.data + this.queryReport.total = resData.total + const resStockList = resData.data + resStockList.forEach((item) => { + this.stockList.push({ + partNo: item.PART_NO, + partName: item.PART_DESC, + warehouseName: item.WAREHOUSE_ID, + locationName: item.LOCATION_DESC, + locationNo: item.LOCATION_NO, + partBatchNo: item.LOT_BATCH_NO, + stockQuantity: item.QTY_ONHAND, + availableStockQuantity: item.QTY_AVAILABLE, + outerColor: item.ATTR4, + customerOrderNo: item.ATTR6, + inSource: item.ATTR23, + }) + }) + this.tableLoading = false + }) + .catch(() => { + this.tableLoading = false + }) + }, + getFinalParam() { + const newReqParam = { + partNo: this.queryParamOne.partNo, + partDescription: this.queryParamOne.partName, + warehouse: this.queryParamOne.warehouseName + ? this.queryParamOne.warehouseName + '%' + : null, + locDesc: this.queryParamOne.locationName, + locNo: this.queryParamOne.locationNo, + lotBatchNo: this.queryParamOne.partBatchNo, + quantityFlag: this.queryParamOne.stockQuantity, + outerColor: this.queryParamOne.outerColor, + otcOrderNo: this.queryParamOne.customerOrderNo, + availableStockQuantity: this.queryParamOne.availableStockQuantity, + inSource: this.queryParamOne.inSource, + page: this.queryReport.current, + limit: this.queryReport.size + } + return newReqParam + }, + lineSideWarehouseTableHeaderCellStyle({row, column, rowIndex, columnIndex}) { + let headerStyle = 'background:#FAFAFA;color:#666;' + if (columnIndex === 0) { + headerStyle += 'border-radius: 6px 0px 0px 0px;' + } else if (columnIndex === 13) { + headerStyle += 'border-radius: 0px 6px 0px 0px;' + } + return headerStyle + }, + lineSideWarehouseTableRowClassName({ row, rowIndex }) { + if (rowIndex % 2 === 1) { + return 'stripe-row' + } else { + return '' + } + }, + handleSizeChangeReport(val) { + this.queryReport.size = val + this.queryReport.current = 1 + this.getIfsStock() + }, + handleCurrentChangeReport(val) { + this.queryReport.current = val + this.getIfsStock() + }, + handleStockList() { + this.queryReport.current = 1 + this.getIfsStock() + }, + handleSelectionChange(val) { + this.multipleSelection = val + } + } +} +</script> + +<style scoped> +>>>.el-table__header { + height: 70px; +} +.card { + height: calc(100% - 40px); + background: #ffffff; + padding: 10px; +} +.title { + text-align: right; + margin-bottom: 10px; +} +</style> -- Gitblit v1.9.3