import React, { useState, useEffect } from 'react'; import { history } from 'umi'; import { Button, Card, Descriptions, Divider, Spin, message, Typography, Empty, Space } from 'antd'; import { ArrowLeftOutlined } from '@ant-design/icons'; import { getTemplateDetail } from '@/servers/api/supplierEvaluate'; import { TaskType, TaskTypeText, TemplateStatus, TemplateStatusText, TemplateStatusColor, CategoryLimitationType, CategoryLimitationTypeText, StarLevel, } from '@/dicts/supplierTemplateDict'; import EvaluateTemplateTable from '@/components/EvaluateTemplateTable'; const { Title } = Typography; const SupplierTemplateManageDetail: React.FC = () => { const [loading, setLoading] = useState(false); const [templateDetail, setTemplateDetail] = useState( null, ); const [templateData, setTemplateData] = useState([]); // 从路由获取ID const { id } = history.location.state as { id: string }; // 获取模板详情 const fetchTemplateDetail = async (templateId: string) => { try { setLoading(true); const res = await getTemplateDetail(templateId); if (res.success && res.data) { setTemplateDetail(res.data); // 直接设置指标数据,无需转换 if (res.data.indicatorStList && res.data.indicatorStList.length > 0) { setTemplateData(res.data.indicatorStList); } } else { message.error(res.message || '获取模板详情失败'); } } catch (error) { console.error('获取模板详情失败:', error); message.error('获取模板详情失败'); } finally { setLoading(false); } }; // 首次加载获取数据 useEffect(() => { if (id) { fetchTemplateDetail(id); } else { message.error('模板ID不存在,无法获取详情'); history.goBack(); } }, [id]); // 返回列表页 const handleBack = () => { history.goBack(); }; // 获取状态标签 const getStatusText = (status: string | undefined) => { if (!status) return '未知状态'; return TemplateStatusText[status as keyof typeof TemplateStatusText] || '未知状态'; }; return (
模板详情
{templateDetail ? ( <> {templateDetail.templateName} {CategoryLimitationTypeText[templateDetail.categoryLimitation as keyof typeof CategoryLimitationTypeText] || '未知'} {templateDetail.categoryName || '未知品类'} {getStatusText(templateDetail.status)} {templateDetail.createTime} {templateDetail.updateTime && ( {templateDetail.updateTime} )} {templateData.length > 0 ? ( ) : ( )} ) : ( !loading && )}
); }; export default SupplierTemplateManageDetail;