From f89d818bc9d80cfff8a60ace4f8354acf1116bfd Mon Sep 17 00:00:00 2001 From: xixi <123@qq.com> Date: Fri, 14 Jun 2024 15:59:55 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=B9=E7=AA=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/route/proj/ProjEditAll.tsx | 202 ++++++++++++++++++++++---------- src/route/proj/ProjEditFree.tsx | 43 ++++++- 2 files changed, 180 insertions(+), 65 deletions(-) diff --git a/src/route/proj/ProjEditAll.tsx b/src/route/proj/ProjEditAll.tsx index 0fb8221..e092bad 100644 --- a/src/route/proj/ProjEditAll.tsx +++ b/src/route/proj/ProjEditAll.tsx @@ -1,18 +1,27 @@ import './proj-edit.css'; -import { useNavigate, useParams} from "react-router-dom"; -import { Button, message} from "antd"; +import { useNavigate, useParams } from "react-router-dom"; +import { Button, message, Modal } from "antd"; import StepProjEdit from "../../components/step/StepProjEdit.tsx"; import CardProjEdit from "../../components/card/CardProjEdit.tsx"; -import {Process} from "../../interfaces/step/IStepProj.ts"; +import { Process } from "../../interfaces/step/IStepProj.ts"; import CardProjDownload from "../../components/card/CardProjDownload.tsx"; import CardProjJump from "../../components/card/CardProjJump.tsx"; -import {useEffect, useState} from "react"; -import {Axios, get} from "../../util/AjaxUtils.ts"; -import {EditStepEnum, IProjEdit} from "../../interfaces/card/ICardProj.ts"; -import {MAX_MOD_SIZE} from "./edit/ProjConfigModList.tsx"; -import {GenerateStatus} from "../../interfaces/proj/IProj.ts"; - +import { useEffect, useState } from "react"; +import { Axios, get } from "../../util/AjaxUtils.ts"; +import { EditStepEnum, IProjEdit } from "../../interfaces/card/ICardProj.ts"; +import { MAX_MOD_SIZE } from "./edit/ProjConfigModList.tsx"; +import { GenerateStatus } from "../../interfaces/proj/IProj.ts"; +import TitleIntroduction from '../../route/proj/edit/ProjEditStep1.tsx' +import TitleIntroductionShow from '../../route/proj/edit/ProjEditStep1Show.tsx' +import SoftwareInfo from '../../route/proj/edit/ProjEditStep2.tsx' +import SoftwareInfoShow from '../../route/proj/edit/ProjEditStep2Show.tsx' export default function ProjEditAll() { + //第一步 标题简介弹窗 + const [titleIntroductionOpen, setTitleIntroductionOpen] = useState(false) + const [titleIntroductionShowOpen, setTitleIntroductionShowOpen] = useState(false) + //第二步 软件基本信息弹窗 + const [softwareInfoOpen, setSoftwareOpen] = useState(false) + const [softwareInfoShowOpen, setSoftwareShowOpen] = useState(false) const nav = useNavigate(); const pathParams = useParams(); @@ -26,6 +35,7 @@ export default function ProjEditAll() { // const height = window.innerHeight - 240; const renderEditStep = (data: any, isEdited: boolean, isGenerateSuccess: boolean) => { + const editStepArray: IProjEdit[] = []; editStepArray.push( { @@ -33,12 +43,14 @@ export default function ProjEditAll() { desc: '修改软件系统的相关简介与详细介绍', step: 1, btnName: !isGenerateSuccess ? '设置' : '查看', - status: data.projIntroduction?EditStepEnum.EDITED:EditStepEnum.UN_EDIT, + status: data.projIntroduction ? EditStepEnum.EDITED : EditStepEnum.UN_EDIT, handleEdit() { if (!isGenerateSuccess) { - nav(`/proj-edit/step1/${pathParams.projId}`) + // nav(`/proj-edit/step1/${pathParams.projId}`) + setTitleIntroductionOpen(true) } else { - nav(`/proj-edit/step1-show/${pathParams.projId}`) + // nav(`/proj-edit/step1-show/${pathParams.projId}`) + setTitleIntroductionShowOpen(true) } } }, @@ -47,13 +59,17 @@ export default function ProjEditAll() { desc: '完善软件简称、版本号、软件所属者及联系人等信息', step: 2, btnName: !isGenerateSuccess ? '设置' : '查看', - status: data.apply.projDevCompleteDate?EditStepEnum.EDITED:EditStepEnum.UN_EDIT, + status: data.apply.projDevCompleteDate ? EditStepEnum.EDITED : EditStepEnum.UN_EDIT, canBtnClick: false, handleEdit() { if (generateStatus != GenerateStatus.SUCCESS) { - nav(`/proj-edit/step2/${pathParams.projId}`) + // nav(`/proj-edit/step2/${pathParams.projId}`) + setSoftwareOpen(true) + } else { - nav(`/proj-edit/step2-show/${pathParams.projId}`) + // nav(`/proj-edit/step2-show/${pathParams.projId}`) + setSoftwareShowOpen(true) + } } }, @@ -94,8 +110,8 @@ export default function ProjEditAll() { get({ messageApi: messageApi, url: `/api/proj/get/${pathParams.projId}`, - onSuccess({data}) { - const isEdited = Boolean(data.projIntroduction) == true && Boolean(data.apply.projDevCompleteDate) == true && Boolean(data.apply.envHardDev) == true && Boolean(data.loginpage.loginpageId) == true + onSuccess({ data }) { + const isEdited = Boolean(data.projIntroduction) == true && Boolean(data.apply.projDevCompleteDate) == true && Boolean(data.apply.envHardDev) == true && Boolean(data.loginpage.loginpageId) == true const isConfig = data.loginpage.loginpageId && MAX_MOD_SIZE > 0; const isGenerateSuccess: boolean = data.generate.generateStatus == GenerateStatus.SUCCESS; renderEditStep(data, isEdited, isGenerateSuccess); @@ -110,7 +126,7 @@ export default function ProjEditAll() { renderData(); }, []) - return ( + return ( <> {contextHolder} {/* */} -
+
+ descTitle="完善信息" + descDetail="完善项目的基本信息" + hasNext={true}> { editStepArray.map((item, index) => { return }) } + process={!isEditStepEdited ? Process.PENDING : (isConfigEdited ? Process.COMPLETE : Process.PROCESSING)} + descTitle="功能设置" + descDetail="设置系统的菜单功能" hasNext={true}> { { - window.open(`${Axios.defaults?.baseURL}/${previewUrl}`, '_blank') - }} + desc={isEditStepEdited && isConfigEdited ? "点击查看预览系统" : "制作中"} + canBtnClick={isEditStepEdited && isConfigEdited} + handleJump={() => { + window.open(`${Axios.defaults?.baseURL}/${previewUrl}`, '_blank') + }} /> } + process={generateStatus == GenerateStatus.SUCCESS ? Process.PROCESSING : Process.PENDING} + descTitle="资料下载"> { - window.open(`${Axios.defaults?.baseURL}/route/proj/download/apply/${pathParams.projId}`) - }} + desc="点击下载申请表" + canBtnClick={generateStatus == GenerateStatus.SUCCESS} + handleDownload={() => { + window.open(`${Axios.defaults?.baseURL}/route/proj/download/apply/${pathParams.projId}`) + }} /> { - window.open(`${Axios.defaults?.baseURL}/route/proj/download/manual/${pathParams.projId}`) - }} + desc="点击下载操作手册" + canBtnClick={generateStatus == GenerateStatus.SUCCESS} + handleDownload={() => { + window.open(`${Axios.defaults?.baseURL}/route/proj/download/manual/${pathParams.projId}`) + }} /> { - window.open(`${Axios.defaults?.baseURL}/route/proj/download/code-zip/${pathParams.projId}`) - }} + desc="点击下载代码压缩包" + canBtnClick={generateStatus == GenerateStatus.SUCCESS} + handleDownload={() => { + window.open(`${Axios.defaults?.baseURL}/route/proj/download/code-zip/${pathParams.projId}`) + }} /> { - window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/${pathParams.projId}`) - }} + desc="点击下载代码文档" + canBtnClick={generateStatus == GenerateStatus.SUCCESS} + handleDownload={() => { + window.open(`${Axios.defaults?.baseURL}/route/proj/download/code/${pathParams.projId}`) + }} />
+ {/* 第1步设置 */} + { + + setTitleIntroductionOpen(false); + // setTimeout(() => { + // window.location.reload() + // }, 500) + + }} + footer={null} + > + { setTitleIntroductionOpen(false) }}> + + {/* 第1步查看 */} + { + setTitleIntroductionShowOpen(false); + }} + footer={null} + > + + + {/* 第二步设置 */} + { + setSoftwareOpen(false); + // setTimeout(() => { + // props.closeModal() + // window.location.reload(); // 刷新页面 + // }, 1000); + // setTimeout(() => { + // window.location.reload() + // }, 500) + }} + footer={null} + > + { setSoftwareOpen(false) }}> + + {/* 第二步查看 */} + { + setSoftwareShowOpen(false); + }} + footer={null} + > + + ) } \ No newline at end of file diff --git a/src/route/proj/ProjEditFree.tsx b/src/route/proj/ProjEditFree.tsx index 0f5fe3d..6b5b9ca 100644 --- a/src/route/proj/ProjEditFree.tsx +++ b/src/route/proj/ProjEditFree.tsx @@ -1,6 +1,6 @@ import './proj-edit.css'; import { useNavigate, useParams } from "react-router-dom"; -import { Button, message } from "antd"; +import { Button, message,Modal } from "antd"; import StepProjEdit from "../../components/step/StepProjEdit.tsx"; import CardProjEdit from "../../components/card/CardProjEdit.tsx"; import { Process } from "../../interfaces/step/IStepProj.ts"; @@ -11,8 +11,12 @@ import { Axios, get } from "../../util/AjaxUtils.ts"; import { EditStepEnum, IProjEdit } from "../../interfaces/card/ICardProj.ts"; import { MAX_MOD_SIZE_FREE } from "./edit/ProjConfigModList.tsx"; import { GenerateStatus } from "../../interfaces/proj/IProj.ts"; - +import TitleIntroduction from '../../route/proj/edit/ProjEditStep1.tsx' +import TitleIntroductionShow from '../../route/proj/edit/ProjEditStep1Show.tsx' export default function ProjEdit() { + //第一步 标题简介弹窗 + const [titleIntroductionOpen, setTitleIntroductionOpen] = useState(false) + const [titleIntroductionShowOpen, setTitleIntroductionShowOpen] = useState(false) const nav = useNavigate(); const pathParams = useParams(); @@ -38,9 +42,11 @@ export default function ProjEdit() { status: data.projIntroduction?EditStepEnum.EDITED:EditStepEnum.UN_EDIT, handleEdit() { if (!isGenerateSuccess) { - nav(`/proj-edit/step1/${pathParams.projId}`) + // nav(`/proj-edit/step1/${pathParams.projId}`) + setTitleIntroductionOpen(true) } else { nav(`/proj-edit/step1-show/${pathParams.projId}`) + setTitleIntroductionShowOpen(true) } } }, @@ -341,6 +347,37 @@ export default function ProjEdit() { nav(-1); }}>返回
+ {/* 第1步设置 */} + { + + setTitleIntroductionOpen(false); + // setTimeout(() => { + // window.location.reload() + // }, 500) + + }} + footer={null} + > + { setTitleIntroductionOpen(false) }}> + + {/* 第1步查看 */} + { + setTitleIntroductionShowOpen(false); + }} + footer={null} + > + + ) } \ No newline at end of file