Files
fe_supplier_frontend/src/pages/supplierAnnualManage/supplierAnnualTaskManage/components/Detail/SupplierInfo.tsx

83 lines
2.4 KiB
TypeScript
Raw Normal View History

2025-06-27 19:55:19 +08:00
import React from 'react';
import { Card, Table, Button, message } from 'antd';
2025-07-03 10:59:39 +08:00
import { useIntl, FormattedMessage } from 'umi';
2025-06-27 19:55:19 +08:00
import styles from '../../supplierAnnualTaskManageDetail.less';
interface SupplierInfoProps {
2025-06-30 09:43:28 +08:00
taskData: supplierAnnualTaskManage.TaskDetailData;
2025-06-27 19:55:19 +08:00
onViewEvaluators: (supplier: any) => void;
}
const SupplierInfo: React.FC<SupplierInfoProps> = ({ taskData, onViewEvaluators }) => {
2025-07-03 10:59:39 +08:00
const intl = useIntl();
2025-06-27 19:55:19 +08:00
// 查看供应商评价人员
2025-06-30 09:43:28 +08:00
const handleViewSupplierEvaluators = (record: supplierAnnualTaskManage.TaskDetailData) => {
if (record.userList && record.userList.length > 0) {
2025-06-27 19:55:19 +08:00
onViewEvaluators({
...record,
2025-06-30 09:43:28 +08:00
userList: record.userList,
2025-06-27 19:55:19 +08:00
});
} else {
2025-07-03 10:59:39 +08:00
message.error(intl.formatMessage({ id: 'supplierAnnualTaskManage.supplierInfo.noEvaluators' }));
2025-06-27 19:55:19 +08:00
}
};
const columns = [
{
2025-07-03 10:59:39 +08:00
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.index" />,
2025-06-27 19:55:19 +08:00
dataIndex: 'index',
key: 'index',
render: (_: any, __: any, index: number) => index + 1,
width: 80,
},
{
2025-07-03 10:59:39 +08:00
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.supplierName" />,
2025-06-27 19:55:19 +08:00
dataIndex: 'supplierName',
key: 'supplierName',
},
{
2025-07-03 10:59:39 +08:00
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.dept" />,
2025-06-27 19:55:19 +08:00
dataIndex: 'deptName',
key: 'deptName',
},
{
2025-07-03 10:59:39 +08:00
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.category" />,
2025-06-27 19:55:19 +08:00
dataIndex: 'categoryName',
key: 'categoryName',
render: (text: string) => text || '--',
},
{
2025-07-03 10:59:39 +08:00
title: <FormattedMessage id="supplierAnnualTaskManage.supplierInfo.action" />,
2025-06-27 19:55:19 +08:00
key: 'action',
render: (record: any) => (
2025-06-30 09:43:28 +08:00
<Button type="link" onClick={() => handleViewSupplierEvaluators(record)}>
2025-07-03 10:59:39 +08:00
<FormattedMessage id="supplierAnnualTaskManage.supplierInfo.viewEvaluators" />
2025-06-27 19:55:19 +08:00
</Button>
),
},
];
if (!taskData || !taskData.blackSupplierVos || taskData.blackSupplierVos.length === 0) {
2025-07-03 10:59:39 +08:00
return (
<div className={styles.emptyData}>
<FormattedMessage id="supplierAnnualTaskManage.supplierInfo.empty" />
</div>
);
2025-06-27 19:55:19 +08:00
}
return (
<Card className={styles.detailCard}>
<Table
columns={columns}
dataSource={taskData.blackSupplierVos}
rowKey="supplierId"
pagination={false}
className={styles.tableContainer}
/>
</Card>
);
};
export default SupplierInfo;