48 lines
1.7 KiB
TypeScript
Raw Normal View History

import { PlusOutlined } from '@ant-design/icons';
import { ProColumns, ProTable } from '@ant-design/pro-components';
import { Button, Tag } from 'antd';
import { listStockAdjusts } from '@/services/api';
import type { StockAdjust } from '@/types/api';
const STATUS_MAP: Record<number, { text: string; color: string }> = {
0: { text: '待审核', color: 'warning' },
1: { text: '已审核', color: 'success' },
2: { text: '已驳回', color: 'error' },
};
const columns: ProColumns<StockAdjust>[] = [
{ title: '调整单号', dataIndex: 'adjustNo' },
{ title: '调整日期', dataIndex: 'adjustDate', valueType: 'date', search: false },
{ title: '调整原因', dataIndex: 'adjustReason', search: false },
{ title: '操作人', dataIndex: 'operator', search: false },
{
title: '状态',
dataIndex: 'status',
search: false,
render: (_, record) => {
const s = STATUS_MAP[record.status] ?? STATUS_MAP[0];
return <Tag color={s.color}>{s.text}</Tag>;
},
},
{ title: '创建时间', dataIndex: 'createdAt', valueType: 'dateTime', search: false },
{ title: '操作', valueType: 'option', render: () => [<a key="view"></a>] },
];
const AdjustsPage: React.FC = () => (
<ProTable<StockAdjust>
headerTitle="库存调整"
rowKey="adjustId"
columns={columns}
search={false}
request={async (params) => {
const res = await listStockAdjusts({ page: params.current, pageSize: params.pageSize });
return { data: res?.data?.list || [], total: res?.data?.total || 0, success: res?.code === 0 };
}}
toolBarRender={() => [
<Button key="add" type="primary" icon={<PlusOutlined />}></Button>,
]}
/>
);
export default AdjustsPage;