wms_vue/src/view/wms/warehouse/statistics/skuNeed/index.vue

213 lines
4.9 KiB
Vue
Raw Normal View History

2025-08-07 15:16:23 +08:00
<template>
<page-layout>
<a-row :gutter="[10, 10]">
<!-- 查询表单 -->
<a-col :span="24">
<a-card>
<pro-query :searchParam="searchParam" @on-search="search"></pro-query>
</a-card>
</a-col>
<!-- 区域出入口列表 -->
<a-col :span="24">
<a-card>
<pro-table ref="tableRef" :fetch="fetch" :columns="columns" :toolbar="toolbar" :operate="operate"
:param="state.param" :pagination="pagination">
</pro-table>
</a-card>
</a-col>
</a-row>
<save :visible="state.visibleSave" @close="closeSave"></save>
<edit :visible="state.visibleEdit" @close="closeEdit" :record="state.recordEdit"></edit>
</page-layout>
</template>
<script>
2025-11-04 14:04:50 +08:00
import save from './modal/save.vue';
import edit from './modal/edit.vue';
2025-08-07 15:16:23 +08:00
import {
page
} from "@/api/wms/skuNeedStatistics";
import {
reactive,
createVNode,
ref
} from 'vue';
export default {
components: {
save,
edit,
},
setup() {
const tableRef = ref();
/// 列配置
const columns = [{
dataIndex: "date",
key: "date",
title: "日期",
width: 60
},
{
dataIndex: "skuCode",
key: "skuCode",
title: "物料编号",
width: 80
},
{
dataIndex: "skuName",
key: "skuName",
title: "物料名称",
width: 150,
},
{
dataIndex: "totalSkuNeedQty",
key: "totalSkuNeedQty",
title: "总需求数量",
width: 80
},
{
dataIndex: "mesLocCode",
key: "mesLocCode",
title: "接收工位",
width: 80
},
{
dataIndex: "totalSkuJoinQty",
key: "totalSkuJoinQty",
title: "总交接数量",
width: 80
},
{
dataIndex: "totalSkuInTransitQty",
key: "totalSkuInTransitQty",
title: "在途数量",
width: 80
},
{
dataIndex: "totalSkuShortageQty",
key: "totalSkuShortageQty",
title: "交接短缺数量",
width: 80
}
];
/// 数据来源 [模拟]
const fetch = async (param) => {
var response = await page(param);
return {
total: response.data.total,
data: response.data.record,
};
};
2025-11-04 15:15:46 +08:00
2025-08-07 15:16:23 +08:00
/// 工具栏
const toolbar = [
2025-11-04 15:15:46 +08:00
2025-08-07 15:16:23 +08:00
];
/// 行操作
const operate = [
2025-11-04 15:15:46 +08:00
2025-08-07 15:16:23 +08:00
];
/// 分页参数
const pagination = {
pageNum: 1,
2025-11-04 15:15:46 +08:00
pageSize: 20,
2025-08-07 15:16:23 +08:00
showSizeChanger: true, // 显示可改变每页条数
2025-11-04 15:15:46 +08:00
pageSizeOptions: ["10", "20", "50", "100"], // 每页条数选项设置
2025-08-07 15:16:23 +08:00
showTotal: total => `${total} 条记录`, // 显示总条数
showSizeChange: (current, pageSize) => (this.pageSize = pageSize) // 改变每页条数时更新显示
}
/// 外置参数 - 当参数改变时, 重新触发 fetch 函数
const state = reactive({
selectedRowKeys: [],
param: {},
visibleSave: false,
visibleEdit: false,
recordEdit: {},
recordInfo: {},
})
//界面头部-查询框
const searchParam = [{
key: "timeRange",
type: "rangePicker",
label: "日期范围"
},{
key: "skuCode",
type: "input",
label: "物料编号"
}
// ,{
// key: "skuType",
// type: "select",
// label: "物料类型",
// options: [{
// value: '包装箱',
// text: '包装箱',
// }, {
// value: '观察窗',
// text: '观察窗',
// }, {
// value: '台面',
// text: '台面',
// }, {
// value: '手把',
// text: '手把',
// }, {
// value: '前板',
// text: '前板',
// },{
// value: '内衬',
// text: '内衬',
// }, {
// value: 'KTP001',
// text: '空托盘',
// }]
2025-11-04 15:15:46 +08:00
// },
2025-08-07 15:16:23 +08:00
]
const search = function(value) {
state.param = value
}
// const closeSave = function() {
// tableRef.value.reload();
// state.visibleSave = false
// }
// const closeEdit = function() {
// tableRef.value.reload();
// state.visibleEdit = false
// }
const onSelectChange = selectedRowKeys => {
state.selectedRowKeys = selectedRowKeys;
};
return {
state, // 状态共享
fetch, // 数据回调
toolbar, // 工具栏
columns, // 列配置
operate, // 行操作
pagination, // 分页配置
search,
searchParam, // 查询参数
// closeSave,
// closeEdit,
onSelectChange,
tableRef
};
},
};
</script>