From c9cc475f8399b8b1ccf9c2f37c1ca912a7b5d624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=AF=E8=BE=89?= Date: Tue, 30 Jun 2026 18:16:36 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=BF=E7=AD=96=E5=90=AF=E7=94=A8=E7=A6=81?= =?UTF-8?q?=E7=94=A8=E5=85=A8=E7=B3=BB=E7=88=B1=E4=BD=A0=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=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 | 18 ++++++++---- src/pages/Policy/Mgmt/index.tsx | 28 +++++++++++++------ 2 files changed, 31 insertions(+), 15 deletions(-) diff --git a/src/pages/Policy/Mgmt/components/EditModal.tsx b/src/pages/Policy/Mgmt/components/EditModal.tsx index 26b8002..38937ca 100644 --- a/src/pages/Policy/Mgmt/components/EditModal.tsx +++ b/src/pages/Policy/Mgmt/components/EditModal.tsx @@ -1,4 +1,5 @@ import React, { useEffect, useState } from 'react'; +import { useAccess } from '@umijs/max'; import { Modal, Form, Input, DatePicker, Upload, Button, message, Row, Col, Select, Switch } from 'antd'; import { UploadOutlined, DeleteOutlined } from '@ant-design/icons'; import type { UploadFile } from 'antd/es/upload/interface'; @@ -17,6 +18,7 @@ interface EditModalProps { } const EditModal: React.FC = ({ open, values, onCancel, onSubmit }) => { + const access = useAccess(); const [form] = Form.useForm(); const [fileList, setFileList] = useState([]); const [uploading, setUploading] = useState(false); @@ -95,12 +97,14 @@ const EditModal: React.FC = ({ open, values, onCancel, onSubmit const handleOk = async () => { const formValues = await form.validateFields(); const { policyTag, publishTime, status, ...rest } = formValues; + const canChangeStatus = access.hasPerms('cms:policyInfo:status'); onSubmit({ ...rest, id: values?.id, publishTime: publishTime?.format('YYYY-MM-DD'), policyTag: Array.isArray(policyTag) ? policyTag.join(',') : policyTag, - status: status ? '0' : '1', + // 有权限时取表单 Switch 值,无权限时保持原状态(新增默认启用,编辑保持原值) + status: canChangeStatus ? (status ? '0' : '1') : (values?.status || '0'), }); }; @@ -208,11 +212,13 @@ const EditModal: React.FC = ({ open, values, onCancel, onSubmit )} - - - - - + {access.hasPerms('cms:policyInfo:status') && ( + + + + + + )}