2026-02-28 15:29:12 +08:00
|
|
|
import { PlusOutlined } from '@ant-design/icons';
|
|
|
|
|
import { ProColumns, ProTable } from '@ant-design/pro-components';
|
|
|
|
|
import { Button, Tag } from 'antd';
|
|
|
|
|
import { listStockChecks } from '@/services/api';
|
2026-03-30 02:56:16 +00:00
|
|
|
import type { StockCheck } from '@/types/api';
|
2026-02-28 15:29:12 +08:00
|
|
|
|
2026-03-30 02:56:16 +00:00
|
|
|
const STATUS_MAP: Record<number, { text: string; color: string }> = {
|
2026-02-28 15:29:12 +08:00
|
|
|
0: { text: '草稿', color: 'default' },
|
|
|
|
|
1: { text: '进行中', color: 'processing' },
|
|
|
|
|
2: { text: '已完成', color: 'success' },
|
|
|
|
|
};
|
|
|
|
|
|
2026-03-30 02:56:16 +00:00
|
|
|
const columns: ProColumns<StockCheck>[] = [
|
2026-02-28 15:29:12 +08:00
|
|
|
{ title: '盘点单号', dataIndex: 'checkNo' },
|
|
|
|
|
{ title: '盘点日期', dataIndex: 'checkDate', valueType: 'date', search: false },
|
|
|
|
|
{ title: '盘点人', dataIndex: 'checker', search: false },
|
|
|
|
|
{
|
2026-03-30 02:56:16 +00:00
|
|
|
title: '状态',
|
|
|
|
|
dataIndex: 'status',
|
|
|
|
|
search: false,
|
2026-02-28 15:29:12 +08:00
|
|
|
render: (_, record) => {
|
2026-03-30 02:56:16 +00:00
|
|
|
const s = STATUS_MAP[record.status] ?? STATUS_MAP[0];
|
2026-02-28 15:29:12 +08:00
|
|
|
return <Tag color={s.color}>{s.text}</Tag>;
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{ title: '创建时间', dataIndex: 'createdAt', valueType: 'dateTime', search: false },
|
|
|
|
|
{ title: '操作', valueType: 'option', render: () => [<a key="view">查看</a>] },
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
const ChecksPage: React.FC = () => (
|
2026-03-30 02:56:16 +00:00
|
|
|
<ProTable<StockCheck>
|
2026-02-28 15:29:12 +08:00
|
|
|
headerTitle="库存盘点"
|
|
|
|
|
rowKey="checkId"
|
|
|
|
|
columns={columns}
|
|
|
|
|
search={false}
|
|
|
|
|
request={async (params) => {
|
2026-03-30 02:56:16 +00:00
|
|
|
const res = await listStockChecks({ page: params.current, pageSize: params.pageSize });
|
|
|
|
|
return { data: res?.data?.list || [], total: res?.data?.total || 0, success: res?.code === 0 };
|
2026-02-28 15:29:12 +08:00
|
|
|
}}
|
|
|
|
|
toolBarRender={() => [
|
|
|
|
|
<Button key="add" type="primary" icon={<PlusOutlined />}>创建盘点单</Button>,
|
|
|
|
|
]}
|
|
|
|
|
/>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
export default ChecksPage;
|