From 3815dd63daa201538cef661d551fc33c51be255c Mon Sep 17 00:00:00 2001 From: francis-fh Date: Wed, 3 Jun 2026 13:47:25 +0800 Subject: [PATCH] =?UTF-8?q?=E8=90=A5=E4=B8=9A=E6=89=A7=E7=85=A7=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Policy/Mgmt/components/EditModal.tsx | 179 ++++++++++++------ src/pages/Policy/Mgmt/index.tsx | 30 ++- src/types/cms/policyInfo.d.ts | 1 + 3 files changed, 147 insertions(+), 63 deletions(-) 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 (
- - - - - - - - - - - - - - - - - - - -