import './proj-new.css'; import { useNavigate, useParams, useSearchParams } from "react-router-dom"; import { Button, Flex, Form, Input, message, Modal, Spin } from "antd"; import { useContext, useEffect, useState } from "react"; import { get, post } from "../../util/AjaxUtils.ts"; import { IProjCharge, ProjAdditionalType, ProjChargeType } from "../../interfaces/proj/IProj.ts"; import { GlobalDispatchContext, reloadUser } from "../../context/GlobalContext.ts"; // const { TextArea } = Input; type ProjInfo = { projName: string; projIntroduction: string; }; export default function ProjNew() { const globalDispatchContext = useContext(GlobalDispatchContext); const nav = useNavigate(); const pathParams = useParams(); const [queryParams] = useSearchParams(); const [messageApi, contextHolder] = message.useMessage(); const [loading, setLoading] = useState(false); const height = window.innerHeight - 180; const [isCreateModalOpen, setIsCreateModalOpen] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [chargePrice, setChargePrice] = useState(0); const [projInfo, setProjInfo] = useState({ projName: '', projIntroduction: '', }); const [createProjId, setCreateProjId] = useState(''); const listProjChargeAdditional: string[] = []; useEffect(() => { get({ messageApi: messageApi, url: '/api/proj/charge/get', onSuccess({ data }) { const charge = data as IProjCharge; // console.log('创建页price',charge.proj.materialAgent); let price = 0; switch (pathParams.projChargeType) { case ProjChargeType.ALL: price = charge.proj.all; break; case ProjChargeType.MATERIAL_AGENT: price = charge.proj.materialAgent; break; case ProjChargeType.MATERIAL_AGENT_URGENT: price = charge.proj.materialAgentUrgent; break; case ProjChargeType.MATERIAL: price = charge.proj.material; break; case ProjChargeType.FREE: price = charge.proj.free; break; default: messageApi.error({ type: 'error', content: '价格类型错误', }) } const pkg = queryParams.get('pkg') == 'true' ? true : false const videoDemo = queryParams.get('videoDemo') == 'true' ? true : false if (pkg) { price += charge.additional.pkg; listProjChargeAdditional.push(ProjAdditionalType.PKG); } if (videoDemo) { price += charge.additional.videoDemo; listProjChargeAdditional.push(ProjAdditionalType.VIDEO_DEMO); } setChargePrice(price); // console.log('传递信息pkg:',pkg,'videoDemo:',videoDemo); // console.log('显示价格',price); } }) }, []); return ( <> {contextHolder} {/* 首页}, {title: 创建项目}, {title: '新建项目'}, ]} /> */}
{/*
请完善项目的基本信息
*/}
{ setIsCreateModalOpen(true); setProjInfo({ projName: formData.projName, projIntroduction: formData.projIntroduction }) }} autoComplete="off" >
系统标题*
name="projName" rules={[{ required: true, message: '请输入系统标题' }]} >
{/*
简单描述
name="projIntroduction" >