import './proj-config-list-mod.css'; import { Alert, Button, Col, Flex, Form, Input, message, Modal, Row, Spin, } from "antd"; import { useNavigate, useParams} from "react-router-dom"; import {useEffect, useState} from "react"; import FaiconSelect from "../../../components/faicon/FaIconSelect.tsx"; import ModField, {IModField} from "../../../components/modfield/ModField.tsx"; import {post} from "../../../util/AjaxUtils.ts"; import {MAX_MOD_SIZE, MAX_MOD_SIZE_FREE, MIN_MOD_SIZE, MIN_MOD_SIZE_FREE} from "./ProjConfigModList.tsx"; type FormFieldType = { modName: string; modDesc: string; modIcon: string; fields: IModField[]; } type PropsType = { isFree?: boolean; } export default function ProjConfigModSave(props: PropsType) { const nav = useNavigate(); const pathParams = useParams(); const [messageApi, contextHolder] = message.useMessage(); const [form] = Form.useForm(); const [loading, setLoading] = useState(false); const [isModIconModalOpen, setIsModIconModalOpen] = useState(false); const [isEditModalOpen, setIsEditModalOpen] = useState(false); const [selectedModIcon, setSelectedModIcon] = useState('fa fa-list'); const minSize = props.isFree ? MIN_MOD_SIZE_FREE : MIN_MOD_SIZE; const maxSize = props.isFree ? MAX_MOD_SIZE_FREE : MAX_MOD_SIZE; const height = window.innerHeight - 210; useEffect(() => { form.setFieldsValue({ modIcon: 'fa fa-list' }) }, []) return ( <> {contextHolder} {/* 首页}, {title: 创建项目}, { title: { if(props.isFree) { nav(`/proj-efree/${pathParams.projId}`) } else { `/proj-edit/${pathParams.projId}` } }}>编辑项目 }, { title: { nav(-1); }}>系统菜单管理 }, {title: '添加菜单'}, ]} /> */}
{ setIsEditModalOpen(true); }} autoComplete="off" > label="菜单名称" name="modName" extra="此内容会作为菜单名生成菜单,最多8个字" rules={[{required: true, message: '请输入菜单名称'}]} > label="菜单说明" name="modDesc" extra="此内容会作为功能描述生成到操作手册中,请详细描述,最多600字" rules={[{required: true, message: '请输入菜单说明'}]} > label="菜单图标" name="modIcon" extra="菜单图标会显示在菜单栏中" rules={[{required: true, message: '请输入菜单图标'}]} > name="fields" rules={[{required: true, message: '请添加菜单属性'}]} > { if (!dataArray) { return; } form.setFieldValue('fields', dataArray); }}/>
{ setIsEditModalOpen(false); post({ messageApi, url: `/api/proj-mod/save`, body: { projId: pathParams.projId, modName: form.getFieldValue('modName'), modDesc: form.getFieldValue('modDesc'), modIcon: form.getFieldValue('modIcon'), fields: form.getFieldValue('fields'), }, onBefore() { setLoading(true); }, onSuccess() { messageApi.success('添加成功'); nav(0); }, onFinally() { setLoading(false); } }) }} onCancel={() => { setIsEditModalOpen(false); }}>
确定提交吗?
{ setIsModIconModalOpen(false); }}>
{ form.setFieldValue('modIcon', icon); setSelectedModIcon(icon); }} />
) }