import './proj-edit-step.css'; import {Breadcrumb, Col, message, Row, Checkbox, Divider} from "antd"; import {Link, useNavigate, useParams} from "react-router-dom"; import {useEffect, useState} from "react"; import {get} from "../../../util/AjaxUtils.ts"; import {Form, Input} from 'antd'; import {AxiosResponse} from "axios"; import {IEnvHard, IEnvLang, IEnvSoft, IEnvTechnical} from "../../../interfaces/proj/IEnv.ts"; const {TextArea} = Input; type FieldType = { envHard: string; envHardCustom: string; envSoft: string; envSoftCustom: string; envLang: string; envLangCustom: string; envTechnical: string; envTechnicalCustom: string; }; type FormFieldType = { envHard: string[]; envHardCustom: string; envSoft: string[]; envSoftCustom: string; envLang: string[]; envLangCustom: string; envTechnical: string[]; envTechnicalCustom: string; }; export default function ProjEditStep3Show() { const nav = useNavigate(); const pathParams = useParams(); const [messageApi, contextHolder] = message.useMessage(); const [form] = Form.useForm(); const [envHardArray, setEnvHardArray] = useState([]); const [envSoftArray, setEnvSoftArray] = useState([]); const [envLangArray, setEnvLangArray] = useState([]); const [envTechnicalArray, setEnvTechnicalArray] = useState([]); const height = window.innerHeight - 180; const listEnvHard = () => { return new Promise((resolve) => { get({ messageApi, url: '/api/proj-env-hard/list', onSuccess({data}) { resolve(data); } }) }) } const listEnvSoft = () => { return new Promise((resolve) => { get({ messageApi, url: '/api/proj-env-soft/list', onSuccess({data}) { resolve(data); } }) }) } const listEnvLang = () => { return new Promise((resolve) => { get({ messageApi, url: '/api/proj/env/lang/list', onSuccess({data}) { resolve(data); } }) }) } const listEnvTechnical = () => { return new Promise((resolve) => { get({ messageApi, url: '/api/proj/env/technical/list', onSuccess({data}) { resolve(data); } }) }) } const getData = () => { return new Promise((resolve) => { get({ messageApi, url: `/api/proj/get/edit-step3/${pathParams.projId}`, onSuccess({data}: AxiosResponse) { resolve(data); } }) }) } const render = async () => { const envHards = await listEnvHard(); const envSofts = await listEnvSoft(); const envLangs = await listEnvLang(); const envTechnicals = await listEnvTechnical(); const data = await getData(); setEnvHardArray(envHards); setEnvSoftArray(envSofts); setEnvLangArray(envLangs); setEnvTechnicalArray(envTechnicals); form.setFieldsValue({ envHard: data.envHard.split(','), envHardCustom: data.envHardCustom, envSoft: data.envSoft.split(','), envSoftCustom: data.envSoftCustom, envLang: data.envLang.split(','), envLangCustom: data.envLangCustom, envTechnical: data.envTechnical.split(','), envTechnicalCustom: data.envTechnicalCustom, }) } useEffect(() => { render(); }, []) return ( <> {contextHolder} 首页}, {title: 创建项目}, {title: {nav(-1)}}>编辑项目}, {title: '软件功能特点'}, ]} />
label="硬件环境" name="envHard" rules={[{required: true, message: '请选择硬件环境'}]} > {envHardArray.map((item, index) => { return ( {item.type} - {item.content} ) })} label="其他" name="envHardCustom" rules={[{required: false, message: '请输入其他硬件环境'}]} >