/* eslint-disable @typescript-eslint/no-unused-vars */ import './card-proj.css'; import { CheckOutlined, ClockCircleOutlined, CloseCircleOutlined, CreditCardOutlined, DeleteOutlined, DownloadOutlined, DownOutlined, EditOutlined, EyeOutlined, LoadingOutlined, SearchOutlined, SettingOutlined, WarningOutlined, FolderOutlined } from '@ant-design/icons'; import { Button, ConfigProvider, Dropdown, Tag } from 'antd'; import { GenerateStatus, IProj, PayStatus, ProjChargeType } from "../../interfaces/proj/IProj.ts"; import { useNavigate } from "react-router-dom"; import { Axios, put } from "../../util/AjaxUtils.ts"; import { useContext, useEffect, useState } from "react"; import { IndexListContext } from "../../context/IndexListContext.ts"; import useMessage from "antd/es/message/useMessage"; import setImg from '../../static/right/set.png' import orderImg from '../../static/right/order.png' import menuImg from '../../static/right/menu.png' import testImg from '../../static/test.jpg' export default function CardProj(props: { item: IProj }) { const nav = useNavigate(); // const [showZpi,setShowZpi] = useState(false) const data = props.item; const isShow = data.pay.chargeAdditionals.includes('PKG') const [messageApi, messageContext] = useMessage(); const [projCategoryId, setProjCategoryId] = useState(data.projCategoryId); const [projCategoryName, setProjCategoryName] = useState(data.projCategoryName); const [charge, setCharge] = useState(''); const [payCharge, setPayCharge] = useState(''); const indexListContext = useContext(IndexListContext); /** * 生成状态 */ 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 ? (
) : <> } ) } const goEdit = () => { if (charge == ProjChargeType.ALL) { nav(`/proj-eall/${data.projId}`); } else if (charge == ProjChargeType.FREE) { nav(`/proj-efree/${data.projId}`); } else { nav(`/proj-edit/${data.projId}`); } } useEffect(() => { const charge = props.item.pay.charge.split(':')[0]; let chargeName = ''; if (charge == ProjChargeType.ALL) { chargeName = '全托管'; } else if (charge == ProjChargeType.MATERIAL_AGENT) { chargeName = '写材料+代理'; } else if (charge == ProjChargeType.MATERIAL_AGENT_URGENT) { chargeName = '写材料+代理(加急)'; } else if (charge == ProjChargeType.MATERIAL) { chargeName = '写材料'; } else { chargeName = '免费试用'; } setCharge(charge) setPayCharge(chargeName); }, []) return ( <>
{data.projName}
{payCharge}
编号:{data.projContext}
{data.gmtCreate}
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? ( 查看 ) : ( 编辑 ) } | { window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') }}>预览
金额(¥) : {data.pay.payment / 100}
{ if (data.generate.generateStatus == GenerateStatus.SUCCESS) { nav(`/proj-edit/config-loginpage-show/${data.projId}`) } else { nav(`/proj-edit/config-loginpage/${data.projId}`) } }}>
登录界面设置
{ if (data.generate.generateStatus == GenerateStatus.SUCCESS) { nav(`/proj-edit/config-mod-list-show/${data.projId}`) } else { nav(`/proj-edit/config-mod-list/${data.projId}`) } }}>
系统菜单管理({data.projModCount})
{ if (data.generate.generateStatus == GenerateStatus.SUCCESS) { nav(`/proj-edit/config-menu-list-show/${data.projId}`) } else { nav(`/proj-edit/config-menu-list/${data.projId}`) } }}>
菜单排序({data.projModCount})
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? (
{ isShow && } {/* */}
) : <> }
{/* 层级 */} { const span = e.domEvent.target as HTMLSpanElement; put({ messageApi, url: `/api/proj/update-category/${data.projId}/${e.key}`, onSuccess() { messageApi.success('修改成功'); setProjCategoryId(e.key); setProjCategoryName(span.innerText); } }); } }}> {projCategoryId ? projCategoryName : '无目录'} { projCategoryId ? ( { put({ messageApi, url: `/api/proj/cancel-category/${data.projId}`, onSuccess() { messageApi.success('取消成功'); setProjCategoryId(''); setProjCategoryName(''); } }); }} /> ) : <> }
{/*
*/}
-当前状态-
{renderGenerateStatus()}
{/*
{data.projName}
编号:{data.projContext} {data.gmtCreate} */} {/* 状态标签 */} {/* {renderGenerateStatus()} */} {/*
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? ( 查看 ) : ( 编辑 ) } | { window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') }}>预览
*/} {/*
*/} {/*
*/} {/* {payCharge} */} {/* 金额 */} {/* ¥{data.pay.payment / 100} */} {/*
*/} {/*
金额(¥) : {data.pay.payment / 100}
{ if (data.generate.generateStatus == GenerateStatus.SUCCESS) { nav(`/proj-edit/config-loginpage-show/${data.projId}`) } else { nav(`/proj-edit/config-loginpage/${data.projId}`) } }}>
登录界面设置
{ if (data.generate.generateStatus == GenerateStatus.SUCCESS) { nav(`/proj-edit/config-mod-list-show/${data.projId}`) } else { nav(`/proj-edit/config-mod-list/${data.projId}`) } }}>
系统菜单管理({data.projModCount})
{ if (data.generate.generateStatus == GenerateStatus.SUCCESS) { nav(`/proj-edit/config-menu-list-show/${data.projId}`) } else { nav(`/proj-edit/config-menu-list/${data.projId}`) } }}>
菜单排序({data.projModCount})
*/} {/* 目录层级结构*/} {/*
- 当前状态 -
{renderGenerateStatus()}
*/} {/*
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? ( 查看 ) : ( 编辑 ) } { window.open(`${Axios.defaults?.baseURL}/${data.previewUrl}`, '_blank') }}>预览
*/} {/*
*/} {/*
{ data.generate.generateStatus == GenerateStatus.SUCCESS ? ( { e.preventDefault(); nav(`/agent-select/${data.projId}`); }}>找代理 ) : <> }
{ const span = e.domEvent.target as HTMLSpanElement; put({ messageApi, url: `/api/proj/update-category/${data.projId}/${e.key}`, onSuccess() { messageApi.success('修改成功'); setProjCategoryId(e.key); setProjCategoryName(span.innerText); } }); } }}> {projCategoryId ? projCategoryName : '无目录'} { projCategoryId ? ( { put({ messageApi, url: `/api/proj/cancel-category/${data.projId}`, onSuccess() { messageApi.success('取消成功'); setProjCategoryId(''); setProjCategoryName(''); } }); }}/> ) : <> }
*/} {/*
*/} {/*
*/} {/*
{renderOption()}
*/}
{messageContext} ) }