import './card-proj.css'; import { CheckOutlined, ClockCircleOutlined, CloseCircleOutlined, CreditCardOutlined, DownloadOutlined, EditOutlined, EyeOutlined, FolderOutlined, LoadingOutlined, SearchOutlined, SettingOutlined, WarningOutlined } from '@ant-design/icons'; import {Button, ConfigProvider, Tag} from 'antd'; import {GenerateStatus, IProj, PayStatus} from "../../interfaces/proj/IProj.ts"; import {useNavigate} from "react-router-dom"; import {Axios} from "../../util/AjaxUtils.ts"; export default function CardProj(props: { item: IProj }) { const nav = useNavigate(); const data = props.item; /** * 生成状态 */ const renderGenerateStatus = () => { if (data.generate.generateStatus == GenerateStatus.PENDING) { return 等待生成 } if (data.generate.generateStatus == GenerateStatus.GENERATING) { return 正在生成 } if (data.generate.generateStatus == GenerateStatus.SUCCESS) { return 生成成功 } if (data.generate.generateStatus == GenerateStatus.FAILED) { return 生成失败 } if (data.generate.generateStatus == GenerateStatus.NONE) { return 未生成 } return 错误 } const renderOption = () => { if(data.pay.payStatus == PayStatus.UNPAID) { return ( <>
) } return ( <>
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? (
) : <> } ) } return (
{data.projName}
上下文:{data.projContext} {data.gmtCreate} {renderGenerateStatus()}

金额¥:{data.pay.payment / 100}
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? ( { e.preventDefault(); nav(`/proj-edit/${data.projId}`) }}>查看 ) : ( { e.preventDefault(); nav(`/proj-edit/${data.projId}`) }}>编辑 ) } { e.stopPropagation(); window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') }}>预览
目录

{renderOption()}
) }