import React, { useState, useEffect } from 'react'; import { Modal, Descriptions } from 'antd'; import { coscoAccessWork } from '../services' //数据接口 interface Data { coscoAccessWork: coscoAccessWorks; coscoAccessSupplierList: coscoAccessSupplierLists[]; coscoAccessCategoryList: coscoAccessCategoryLists[]; coscoAccessUserls: coscoAccessUserl[]; coscoAccessWorkAttachments: coscoAccessWorkAttachments; } interface coscoAccessWorkAttachments { fileName: string; fileUrl: string; } interface coscoAccessUserl { deptId: string; deptName: string; userId: string; } interface coscoAccessCategoryLists { categoryName: string; [property: string]: any; } interface coscoAccessSupplierLists { supplierName: string; [property: string]: any; } interface coscoAccessWorks { deptId: string; deptName: string; startTime: string; endTime: string; reviewStatusText: string; accessType: string; accessDesc: string; approveStatusText: string; } const ViewModal: React.FC<{ visible: boolean; record?: any; onCancel: () => void; }> = ({ visible, record = {}, onCancel }) => { //渲染数据 const [data, setData] = useState(null); //初始化 useEffect(() => { if (record.id) { coscoAccessWork(record.id).then((res) => { const { code, data } = res; if (code == 200) { setData(data) } }) } }, [record]) return ( {data && ( {data.coscoAccessWork.deptName} {data.coscoAccessSupplierList.map((item) => { return (
{item.supplierName}
) })}
{data.coscoAccessWork.accessType === 'scattered' && ( <> {data.coscoAccessWork.accessDesc} {data.coscoAccessWorkAttachments.fileName} )} {data.coscoAccessWork.accessType === 'offline' && ( {data.coscoAccessWorkAttachments.fileName} )} {data.coscoAccessWork.accessType === 'online' && ( <> {data.coscoAccessCategoryList.map((item) => { return (
{item.categoryName}
) })}
{data.coscoAccessWork.startTime} {data.coscoAccessWork.endTime} {data.coscoAccessUserls.map((item) => { return (
{item.deptName} - {item.userId}
) })}
{data.coscoAccessWork.approveStatusText} )}
)}
); }; export default ViewModal;