diff --git a/src/pages/Policy/Mgmt/components/EditModal.tsx b/src/pages/Policy/Mgmt/components/EditModal.tsx index f4b3161..b10c6be 100644 --- a/src/pages/Policy/Mgmt/components/EditModal.tsx +++ b/src/pages/Policy/Mgmt/components/EditModal.tsx @@ -1,9 +1,11 @@ import React, { useEffect, useState } from 'react'; -import { Modal, Form, Input, DatePicker, Upload, Button, message } from 'antd'; +import { Modal, Form, Input, DatePicker, Upload, Button, message, Row, Col, Select } from 'antd'; import { UploadOutlined, DeleteOutlined } from '@ant-design/icons'; import type { UploadFile } from 'antd/es/upload/interface'; import dayjs from 'dayjs'; import { uploadPolicyFile } from '@/services/cms/policyInfo'; +import { getDictValueEnum } from '@/services/system/dict'; +import type { DictValueEnumObj } from '@/components/DictTag'; const { TextArea } = Input; @@ -18,6 +20,13 @@ const EditModal: React.FC = ({ open, values, onCancel, onSubmit const [form] = Form.useForm(); const [fileList, setFileList] = useState([]); const [uploading, setUploading] = useState(false); + const [userTypeEnum, setUserTypeEnum] = useState({}); + + useEffect(() => { + getDictValueEnum('user_type', false, true).then((data) => { + setUserTypeEnum(data); + }); + }, []); useEffect(() => { if (open) { @@ -25,6 +34,9 @@ const EditModal: React.FC = ({ open, values, onCancel, onSubmit form.setFieldsValue({ ...values, publishTime: values.publishTime ? dayjs(values.publishTime) : undefined, + policyTag: values.policyTag + ? String(values.policyTag).split(',').filter(Boolean) + : undefined, }); // 如果有已上传的文件,显示在列表中 if (values.fileUrl && values.fileName) { @@ -81,88 +93,131 @@ const EditModal: React.FC = ({ open, values, onCancel, onSubmit const handleOk = async () => { const formValues = await form.validateFields(); + const { policyTag, publishTime, ...rest } = formValues; onSubmit({ - ...formValues, + ...rest, id: values?.id, - publishTime: formValues.publishTime?.format('YYYY-MM-DD'), + publishTime: publishTime?.format('YYYY-MM-DD'), + policyTag: Array.isArray(policyTag) ? policyTag.join(',') : policyTag, }); }; + const userTypeOptions = Object.values(userTypeEnum).map((item) => ({ + label: item.label, + value: item.value, + })); + return (
- - - - - - - - - - - - - - - - - - - -