领料出库修改

dev-scheduling
zhangdi 4 weeks ago
parent 752f7e709c
commit 537b85c505
  1. 210
      src/views/inboundOutboundManagement/components/editMaterial.vue
  2. 479
      src/views/inboundOutboundManagement/materialIssuing.vue

@ -1,34 +1,20 @@
<template> <template>
<el-dialog title="出库" append-to-body :modelValue="openShow" width="80%" @close="closeDialog"> <el-dialog title="出库" append-to-body :modelValue="openShow" fullscreen @close="closeDialog">
<el-table :data="tableData"> <el-table :data="tableData" highlight-current-row @current-change="handleCurrentChange">
<el-table-column label="提请物料" prop="goodsCode" align="center"></el-table-column> <el-table-column label="提请物料" prop="goodsCode" align="center"></el-table-column>
<el-table-column label="材料名称" prop="goodsName" align="center"></el-table-column> <el-table-column label="材料名称" prop="goodsName" align="center"></el-table-column>
<el-table-column label="规格" prop="specifications" align="center"></el-table-column> <el-table-column label="规格" prop="specifications" align="center"></el-table-column>
<el-table-column label="库房" prop="shId" align="center"> <el-table-column label="库房" prop="shName" align="center"> </el-table-column>
<template #default="scope"> <el-table-column label="出库库位" prop="location" align="center"> </el-table-column>
<el-select v-model="scope.row.shId" @change="(val) => changeWare(val,scope.$index)"> <el-table-column label="批次号" prop="piNo" align="center"> </el-table-column>
<el-option v-for="item in wareList" :key="item.id" :label="item.shName" :value="item.id"></el-option> <el-table-column label="库存数量" prop="usableQuantity" align="center"></el-table-column>
</el-select>
</template>
</el-table-column>
<el-table-column label="出库库位" prop="slId" align="center">
<template #default="scope">
<el-select v-model="scope.row.slId" @change="(val) => changeLocation(val,scope.$index)">
<el-option v-for="item in locationList" :key="item.id" :label="item.location" :value="item.slId"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="批次号" prop="piNo" align="center">
<template #default="scope">
<el-select v-model="scope.row.piNo" @change="val => changePiNo(val,scope.$index)">
<el-option v-for="item in scope.row.piNoList" :key="item.id" :label="item.piNo" :value="item.piNo"></el-option>
</el-select>
</template>
</el-table-column>
<el-table-column label="可出库数量" prop="availableQty" align="center"></el-table-column>
<el-table-column label="出库数量" prop="currentOutQty" align="center"> <el-table-column label="出库数量" prop="currentOutQty" align="center">
<template #default="scope"> <template #default="scope">
<el-input-number controls-position="right" :max="scope.row.availableQty" v-model="scope.row.currentOutQty"></el-input-number> <el-input-number
controls-position="right"
:max="scope.row.usableQuantity"
v-model="scope.row.currentOutQty"
></el-input-number>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -42,175 +28,67 @@
</template> </template>
<script> <script>
import {getLocationData,editIssue,getWarehouseList,batchIssue} from "@/api/storeManagement/materialIssuing" import { getStockByStorehouseAndGoods } from '@/api/storeManagement/otherIssuing';
export default { export default {
props: { props: {
showDialog: { showDialog: {
type: Boolean, type: Boolean,
default: false default: false,
}, },
row: { row: {
type: Object, type: Object,
default: {} default: {},
},
checkIndex: {
type: Number,
default: 0,
}, },
list: { list: {
type: Array, type: Array,
default: [] default: [],
} },
}, },
data() { data() {
return { return {
openShow: false, openShow: false,
tableData: [], tableData: [],
locationList:[], currentRow: null,
piNoList:[], };
wareList:[]
}
}, },
mounted() { mounted() {
this.openShow = this.showDialog this.openShow = this.showDialog;
if(JSON.stringify(this.row) != '{}'){ this.init();
this.tableData = [{
...this.row,
shId:this.row.shId == -1 ? '':this.row.shId,
slId:this.row.slId == -1 ? '':this.row.slId,
piNo:this.row.piNo == -1 ? '':this.row.piNo,
availableQty:this.row.availableQty == -1 ? '':this.row.availableQty,
currentOutQty:this.row.currentOutQty == -1 ? '':this.row.currentOutQty,
rlsId:this.row.rlsId == -1 ? '':this.row.rlsId,
}]
this.getWare()
this.getLocation()
}else if(this.list.length > 0){
this.tableData = this.list
this.tableData.map(item =>{
item.shId = item.shId == -1 ? '':item.shId
item.slId = item.slId == -1 ? '':item.slId
item.piNo = item.piNo == -1 ? '':item.piNo
item.availableQty = item.availableQty == -1 ? '': item.availableQty,
item.currentOutQty = item.currentOutQty == -1 ? '': item.currentOutQty,
this.getWare(item.goodsCode)
if(item.shId != '' && item.goodsId != '' && item.slId != ''){
this.getLocation(item.shId,item.goodsId,item.slId)
}
})
}
console.log('tableData============',this.tableData)
}, },
methods: { methods: {
closeDialog(val){ handleCurrentChange(val) {
this.openShow = false this.currentRow = val;
this.$emit('closeDialog',val)
}, },
getWare(val){ init() {
getWarehouseList({ getStockByStorehouseAndGoods({ goodsCode: this.row.goodsCode }).then(res => {
goodsCode:val ? val : this.row.goodsCode this.tableData = res.data.data;
}).then(res =>{ });
console.log('res-----------',res)
this.wareList = res.data.data
})
}, },
uniqueById(arr) { closeDialog(val) {
const seen = new Map(); this.openShow = false;
for (const item of arr) { let query={
if (!seen.has(item.slId)) { ...val,
seen.set(item.slId, item); index: this.checkIndex,
}
} }
return Array.from(seen.values()); this.$emit('closeDialog', query);
},
getLocation(shId,goodsId,slId){
getLocationData({
shId:shId ? shId : this.row.shId,
goodsId:goodsId ? goodsId : this.row.goodsId
}).then(res =>{
let data = this.uniqueById(res.data.data.records)
this.locationList = data
getLocationData({
shId:shId ? shId : this.row.shId,
goodsId:goodsId ? goodsId : this.row.goodsId,
slId:slId ? slId : this.row.slId
}).then(res =>{
this.tableData[0].piNoList = res.data.data.records
})
})
},
changeWare(val,index){
this.tableData[index].slId = ''
this.tableData[index].piNo = ''
this.tableData[index].availableQty = null
getLocationData({
shId:val,
goodsId:this.tableData[index].goodsId
}).then(res =>{
let data = this.uniqueById(res.data.data.records)
this.locationList = data
})
},
//
changeLocation(val,index){
// let tmp = this.locationList.find(item => item.location == val)
// this.tableData[index].currentStock = tmp.currentStock
this.tableData[index].piNo = ""
this.tableData[index].availableQty = null
getLocationData({
shId:this.tableData[index].shId,
goodsId:this.tableData[index].goodsId,
slId:val
}).then(res =>{
this.tableData[index].piNoList = res.data.data.records
})
},
//
changePiNo(val,index){
this.tableData[index].availableQty = null
let tmp = this.tableData[index].piNoList.find(item => item.piNo == val)
this.tableData[index].availableQty = tmp.quantity
this.tableData[index].rlsId = tmp.id
}, },
submit() { submit() {
// this.tableData.map(item =>{ console.log('this.currentRow', this.currentRow);
// if(item.outQuantity > item.availableQty){ if (this.currentRow.currentOutQty >= 0) {
// this.$message.error('') this.closeDialog(this.currentRow);
// return } else {
// } this.$message.error('请输入出库数量');
// }) }
//
const submitData = this.tableData.map(row => {
const { piNoList, ...validData } = row; //
return validData;
});
console.log(submitData)
let data = []
submitData.map(item =>{
data.push({
crId:item.id,
currentOutQty:item.currentOutQty,
rlsId:item.rlsId
})
})
console.log('data-----------',data)
batchIssue(data).then(res =>{
if(res.data.code === 200){
this.$message.success('出库成功')
this.closeDialog(true)
}
})
// editIssue(submitData).then(res =>{
// if(res.data.code === 200){
// this.$message.success('')
// this.closeDialog(true)
// }
// })
}, },
} },
} };
</script> </script>
<style> <style>
</style> </style>

@ -1,45 +1,75 @@
<template> <template>
<basic-container> <basic-container>
<!-- 领料出库 --> <!-- 领料出库 -->
<avue-crud :option="option" :table-loading="loading" :data="data" v-model="form" v-model:page="page" ref="crud" <avue-crud
:option="option"
:table-loading="loading"
:data="data"
v-model="form"
v-model:page="page"
ref="crud"
v-model:search="searchForm" v-model:search="searchForm"
@search-change="searchChange" @search-reset="searchReset" :before-open="beforeOpen" @search-change="searchChange"
@selection-change="selectionChange" @current-change="currentChange" @size-change="sizeChange" @search-reset="searchReset"
@refresh-change="refreshChange" @on-load="onLoad" @row-save="rowSave"> :before-open="beforeOpen"
@selection-change="selectionChange"
@current-change="currentChange"
@size-change="sizeChange"
@refresh-change="refreshChange"
@on-load="onLoad"
@row-save="rowSave"
>
<template #menu-left> <template #menu-left>
<el-input v-model="checkCode" style="width: 240px;margin-right:24px" <el-input
@keyup.enter.native="changeCode" placeholder="请扫描提请单号" /> v-model="checkCode"
style="width: 240px; margin-right: 24px"
@keyup.enter.native="changeCode"
placeholder="请扫描提请单号"
/>
<el-button type="primary" @click="handleOut">出库</el-button> <el-button type="primary" @click="handleOut">出库</el-button>
</template> </template>
<template #menu="scope"> <template #menu="scope">
<el-button type="text" @click="editRow(scope.row)">出库</el-button> <el-button type="text" @click="outRow(scope.row)">出库</el-button>
<el-button type="text" @click="completeRow(scope.row)">完成</el-button> <el-button type="text" @click="completeRow(scope.row)">完成</el-button>
<el-button type="text" @click="deleteRow(scope.row)">删除</el-button> <el-button type="text" @click="deleteRow(scope.row)">删除</el-button>
</template> </template>
<!-- <template #mtltmrk="{ row }">{{ row.coGoods.mtltmrk }}</template> <template #location="scope">
<template #checkoutCode="{ row }">{{ row.coGoods.checkoutCode }}</template> <el-button type="text" @click="editRow(scope.row, scope.row.$index)">{{
<template #stRealtimeStock="{ row }">{{ row.stRealtimeStock.quantity }}</template> scope.row.location == '' ? '请选择库位' : scope.row.location
<template #userName="{ row }">{{ row.crMan.userName }}</template> }}</el-button>
<template #unitName="{ row }">{{ row.coGoods.unitName }}</template> --> </template>
</avue-crud> </avue-crud>
<editMaterial v-if="editDialog" :checkCode="checkCode" :show-dialog="editDialog" :row="checkRow" <editMaterial
:list="selectionList" @closeDialog="closeDialog"></editMaterial> v-if="editDialog"
:checkCode="checkCode"
:show-dialog="editDialog"
:row="checkRow"
:checkIndex="checkIndex"
:list="selectionList"
@closeDialog="closeDialog"
></editMaterial>
</basic-container> </basic-container>
</template> </template>
<script> <script>
import { getList,addIssue,delIssue,completeIssue } from "@/api/storeManagement/materialIssuing" import {
import editMaterial from "./components/editMaterial.vue" getList,
delIssue,
completeIssue,
batchIssue,
} from '@/api/storeManagement/materialIssuing';
import editMaterial from './components/editMaterial.vue';
export default { export default {
components: { components: {
editMaterial editMaterial,
}, },
data() { data() {
return { return {
loading: false, loading: false,
editDialog: false, editDialog: false,
checkCode:"", checkCode: '',
tableData: [], tableData: [],
checkRow: {}, checkRow: {},
checkIndex: 0,
query: {}, query: {},
data: [], data: [],
form: {}, form: {},
@ -95,39 +125,19 @@ export default {
column: [ column: [
{ {
label: '提请单号', label: '提请单号',
// addDisabled: true,
prop: 'crCode', prop: 'crCode',
span: 8, span: 8,
overflow: true, overflow: true,
search: false, search: false,
// hide: false,
// order: 17,
width: 160, width: 160,
rules: [
{
required: true,
message: '请输入提请单号',
trigger: 'blur',
},
],
}, },
{ {
label: '物料编号', label: '物料编号',
// addDisabled: true,
prop: 'goodsCode', prop: 'goodsCode',
span: 8, span: 8,
overflow: true, overflow: true,
search: true, search: true,
// hide: false,
// order: 17,
width: 160, width: 160,
rules: [
{
required: true,
message: '请输入物料编号',
trigger: 'blur',
},
],
}, },
{ {
label: '物料名称', label: '物料名称',
@ -136,15 +146,6 @@ export default {
overflow: true, overflow: true,
width: 150, width: 150,
search: true, search: true,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入物料名称',
trigger: 'blur',
},
],
}, },
{ {
label: '型号/牌号', label: '型号/牌号',
@ -153,15 +154,6 @@ export default {
width: 100, width: 100,
overflow: true, overflow: true,
search: false, search: false,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入型号/牌号',
trigger: 'blur',
},
],
}, },
{ {
label: '规格', label: '规格',
@ -170,15 +162,6 @@ export default {
overflow: true, overflow: true,
search: false, search: false,
width: 100, width: 100,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入规格',
trigger: 'blur',
},
],
}, },
{ {
label: '质量编号', label: '质量编号',
@ -187,15 +170,39 @@ export default {
overflow: true, overflow: true,
width: 150, width: 150,
search: false, search: false,
// hide: false, },
// order: 17,
rules: [
{ {
required: true, label: '出库库位',
message: '请输入质量编号', prop: 'location',
trigger: 'blur', span: 8,
overflow: true,
width: 150,
search: false,
}, },
], {
label: '库房',
prop: 'shName',
span: 8,
overflow: true,
width: 150,
search: false,
},
{
label: '批次号',
prop: 'piNo',
span: 8,
overflow: true,
width: 150,
search: false,
},
{
label: '出库数量',
prop: 'currentOutQty',
span: 8,
overflow: true,
width: 150,
search: false,
}, },
{ {
label: '总库存', label: '总库存',
@ -204,15 +211,6 @@ export default {
span: 8, span: 8,
overflow: true, overflow: true,
search: false, search: false,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入总库存',
trigger: 'blur',
},
],
}, },
{ {
label: '提请数量', label: '提请数量',
@ -221,15 +219,6 @@ export default {
span: 8, span: 8,
overflow: true, overflow: true,
search: false, search: false,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入提请数量',
trigger: 'blur',
},
],
}, },
{ {
label: '计量单位', label: '计量单位',
@ -238,67 +227,8 @@ export default {
span: 8, span: 8,
overflow: true, overflow: true,
search: false, search: false,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入单位',
trigger: 'blur',
},
],
}, },
// {
// label: '',
// prop: 'shName',
// span: 8,
// overflow: true,
// search: false,
// width:100,
// // hide: false,
// // order: 17,
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'location',
// span: 8,
// overflow: true,
// search: false,
// width:100,
// // hide: false,
// // order: 17,
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
// },
// {
// label: '',
// prop: 'piNo',
// span: 8,
// overflow: true,
// width:100,
// search: false,
// // hide: false,
// // order: 17,
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
// },
{ {
label: '待提请数量', label: '待提请数量',
prop: 'pendingApplyQty', prop: 'pendingApplyQty',
@ -306,15 +236,6 @@ export default {
overflow: true, overflow: true,
width: 100, width: 100,
search: false, search: false,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入出库数量',
trigger: 'blur',
},
],
}, },
{ {
label: '已提请数量', label: '已提请数量',
@ -323,33 +244,8 @@ export default {
overflow: true, overflow: true,
width: 100, width: 100,
search: false, search: false,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入出库数量',
trigger: 'blur',
},
],
}, },
// {
// label: '',
// prop: 'currentOutQty',
// span: 8,
// overflow: true,
// width:120,
// search: false,
// // hide: false,
// // order: 17,
// rules: [
// {
// required: true,
// message: '',
// trigger: 'blur',
// },
// ],
// },
{ {
label: '提请人', label: '提请人',
prop: 'crManName', prop: 'crManName',
@ -357,38 +253,20 @@ export default {
overflow: true, overflow: true,
width: 100, width: 100,
search: true, search: true,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入提请人',
trigger: 'blur',
},
],
}, },
{ {
label: '提请日期', label: '提请日期',
prop: 'crDate', prop: 'crDate',
type: 'date', type: 'date',
valueFormat:"YYYY-MM-DD", valueFormat: 'YYYY-MM-DD',
format:"YYYY-MM-DD", format: 'YYYY-MM-DD',
searchRange: true, searchRange: true,
startPlaceholder: '开始时间', startPlaceholder: '开始时间',
endPlaceholder: "结束时间", endPlaceholder: '结束时间',
span: 8, span: 8,
overflow: true, overflow: true,
search: true, search: true,
width: 180, width: 180,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入提请日期',
trigger: 'blur',
},
],
}, },
{ {
label: '备注', label: '备注',
@ -397,67 +275,82 @@ export default {
overflow: true, overflow: true,
search: false, search: false,
width: 130, width: 130,
// hide: false,
// order: 17,
rules: [
{
required: true,
message: '请输入备注',
trigger: 'blur',
}, },
], ],
}, },
searchForm: {},
] };
},
searchForm:{}
}
}, },
created() { created() {
if (JSON.stringify(this.$store.state.client.exchangeOutParams) !== "{}") { if (JSON.stringify(this.$store.state.client.exchangeOutParams) !== '{}') {
this.query = this.$store.state.client.exchangeOutParams; this.query = this.$store.state.client.exchangeOutParams;
this.searchForm = this.$store.state.client.exchangeOutParams; this.searchForm = this.$store.state.client.exchangeOutParams;
} }
}, },
methods: { methods: {
changeCode(val) { changeCode(val) {
if(this.checkCode == "") return if (this.checkCode == '') return;
this.query.crCode = this.checkCode this.query.crCode = this.checkCode;
this.onLoad() this.onLoad();
}, },
searchChange(params, done) { searchChange(params, done) {
this.query = params this.query = params;
this.page.currentPage = 1 this.page.currentPage = 1;
this.$store.dispatch("changeSetting", { this.$store.dispatch('changeSetting', {
title: "exchangeOutParams", title: 'exchangeOutParams',
form: this.query, form: this.query,
}); });
this.onLoad() this.onLoad();
done() done();
}, },
searchReset() { searchReset() {
this.query = {} this.query = {};
this.$store.dispatch("changeSetting", { this.$store.dispatch('changeSetting', {
title: "exchangeOutParams", title: 'exchangeOutParams',
form: this.query, form: this.query,
}); });
this.onLoad() this.onLoad();
}, },
currentChange(currentPage) { currentChange(currentPage) {
this.page.currentPage = currentPage this.page.currentPage = currentPage;
}, },
sizeChange(pageSize) { sizeChange(pageSize) {
this.page.pageSize = pageSize this.page.pageSize = pageSize;
}, },
// //
selectionChange(list) { selectionChange(list) {
this.selectionList = list; this.selectionList = list;
}, },
// //
editRow(row){ editRow(row, index) {
this.selectionList = [] this.checkIndex = index;
this.checkRow = row this.selectionList = [];
this.editDialog = true this.checkRow = row;
this.editDialog = true;
},
//
outRow(row) {
if (row.rlsId == -1 || row.rlsId == null) {
this.$message.error('请先选择需要出库的库位信息!');
return false;
}
this.$confirm('确定此条数据是否出库?', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
let query = [
{
crId: row.id,
currentOutQty: row.currentOutQty,
rlsId: row.rlsId,
},
];
batchIssue(query).then(res => {
this.$message.success('出库成功');
this.onLoad(this.page, this.query);
});
});
}, },
// //
completeRow(row) { completeRow(row) {
@ -468,11 +361,11 @@ export default {
}).then(() => { }).then(() => {
completeIssue({ id: row.id }).then(res => { completeIssue({ id: row.id }).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message.success('完成成功') this.$message.success('完成成功');
this.onLoad() this.onLoad();
} }
}) });
}) });
}, },
// //
deleteRow(row) { deleteRow(row) {
@ -483,64 +376,78 @@ export default {
}).then(() => { }).then(() => {
delIssue({ ids: row.id }).then(res => { delIssue({ ids: row.id }).then(res => {
if (res.data.code == 200) { if (res.data.code == 200) {
this.$message.success('删除成功') this.$message.success('删除成功');
this.onLoad() this.onLoad();
} }
}) });
}) });
}, },
// //
handleOut() { handleOut() {
if (this.selectionList.length == 0) { if (this.selectionList.length == 0) {
this.$message.error('请至少选择一条数据') this.$message.error('请至少选择一条数据');
return return;
} }
let tmp = this.selectionList.find(item => item.已出库数量 > item.quantity) const unselectedItem = this.selectionList.find(
if(tmp){ item => !item.rlsId || item.rlsId === -1 || item.rlsId === ''
this.$message.error('已出库数量大于提请数量,不能出库') );
return
}
this.checkRow = {}
this.editDialog = true
// this.$confirm('?', { if (unselectedItem) {
// confirmButtonText: '', this.$message.error(`物料【${unselectedItem.goodsName}】未选择出库库位,请先选择!`);
// cancelButtonText: '', return;
// type: 'warning', }
// }).then(() => { // 🔥 3.
// addIssue(this.selectionList.map(item => item.id)).then(res =>{ const params = this.selectionList.map(item => ({
// if(res.data.code == 200){ crId: item.id, // ID
// this.$message.success('') currentOutQty: item.currentOutQty, //
// this.onLoad() rlsId: item.rlsId, // ID
// } }));
// }) this.$confirm(`确定对选中的 ${this.selectionList.length} 条数据进行出库操作?`, {
// }) confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
batchIssue(params).then(res => {
this.$message.success('批量出库成功');
this.onLoad(); //
this.selectionList = []; // ( avue-crud )
});
});
}, },
closeDialog(val) { closeDialog(val) {
this.editDialog = false this.editDialog = false;
if(val){ this.data[val.index].shId = val.shId;
this.onLoad() this.data[val.index].shName = val.shName;
} this.data[val.index].slId = val.slId;
this.data[val.index].location = val.location;
this.data[val.index].piNo = val.piNo;
this.data[val.index].currentOutQty = val.currentOutQty;
this.data[val.index].rlsId = val.id;
}, },
onLoad() { onLoad() {
this.loading = true this.loading = true;
console.log('query==============',this.query)
let params = { let params = {
...this.query, ...this.query,
startCrDate:this.query && this.query.crDate && this.query.crDate.length > 0 && this.query.crDate[0], startCrDate:
endCrDate:this.query && this.query.crDate && this.query.crDate.length > 0 && this.query.crDate[1], this.query && this.query.crDate && this.query.crDate.length > 0 && this.query.crDate[0],
} endCrDate:
if(params.crDate) delete params.crDate this.query && this.query.crDate && this.query.crDate.length > 0 && this.query.crDate[1],
};
if (params.crDate) delete params.crDate;
getList({ getList({
current: this.page.currentPage, current: this.page.currentPage,
size: this.page.pageSize, size: this.page.pageSize,
...params ...params,
}).then(res => { }).then(res => {
this.data = res.data.data.records this.data = res.data.data.records;
this.page.total = res.data.data.total this.data.forEach((item, index) => {
this.loading = false item.currentOutQty = item.pendingApplyQty;
}) });
} this.page.total = res.data.data.total;
} this.loading = false;
} });
},
},
};
</script> </script>
Loading…
Cancel
Save