From 9c93e3fbb61ab2e1455c9f7110623dbc02f56059 Mon Sep 17 00:00:00 2001 From: zsqtony <450952271@qq.com> Date: Mon, 30 Jun 2025 13:41:38 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=9B=B4=E6=96=B0modal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/MyModal.tsx | 31 ++++++++++++++ src/pages/company/companies/modals/Create.tsx | 12 ++---- src/pages/company/companies/modals/Update.tsx | 40 +++++++++---------- src/pages/system/admins/modals/Update.tsx | 18 +++++---- 4 files changed, 64 insertions(+), 37 deletions(-) create mode 100644 src/components/MyModal.tsx diff --git a/src/components/MyModal.tsx b/src/components/MyModal.tsx new file mode 100644 index 0000000..a064364 --- /dev/null +++ b/src/components/MyModal.tsx @@ -0,0 +1,31 @@ +import { MyButtons } from '@/common'; +import { Modal } from 'antd'; +import { useState } from 'react'; + +export function MyModal(props?: any) { + const [open, setOpen] = useState(false); + return ( + <> + setOpen(true)} + /> + { + setOpen(false); + props?.handleOk?.(); + }} + onCancel={() => { + setOpen(false); + props?.onCancel?.(); + }} + footer={props?.modal?.footer || false} + {...props} + > + {props?.node} + + + ); +} diff --git a/src/pages/company/companies/modals/Create.tsx b/src/pages/company/companies/modals/Create.tsx index 63710c5..5304c94 100644 --- a/src/pages/company/companies/modals/Create.tsx +++ b/src/pages/company/companies/modals/Create.tsx @@ -6,7 +6,6 @@ import { rulesHelper, } from '@/common'; import { Address } from '@/components/Address'; -import { SysSelects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { CompaniesMerchantTypeEnum } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; @@ -30,20 +29,15 @@ export default function Create(props: MyBetaModalFormProps) { .catch(() => false) } columns={[ - SysSelects?.Companies({ - key: 'parent_id', - title: '上级组织', - colProps: { span: 24 }, - }), { key: 'name', - title: '组织名称', + title: '机构名称', colProps: { span: 8 }, formItemProps: { ...rulesHelper.text }, }, { key: 'short_name', - title: '组织简称', + title: '机构简称', colProps: { span: 8 }, }, { @@ -95,7 +89,7 @@ export default function Create(props: MyBetaModalFormProps) { }), { key: 'address', - title: '机构地址', + title: '详细地址', colProps: { span: 24 }, }, ]} diff --git a/src/pages/company/companies/modals/Update.tsx b/src/pages/company/companies/modals/Update.tsx index 0b15d89..e4c6758 100644 --- a/src/pages/company/companies/modals/Update.tsx +++ b/src/pages/company/companies/modals/Update.tsx @@ -6,31 +6,34 @@ import { rulesHelper, } from '@/common'; import { Address } from '@/components/Address'; -import { SysSelects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { CompaniesMerchantTypeEnum } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; -import { message } from 'antd'; +import { Form, message } from 'antd'; export default function Update(props: MyBetaModalFormProps) { + const [form] = Form.useForm(); return ( {...MyModalFormProps.props} title={`编辑${props.title}`} + form={form} trigger={} wrapperCol={{ span: 24 }} width="800px" - request={() => - Promise.resolve({ - ...props.item, - casacader: [ - props.item?.province_id || '', - props.item?.city_id || '', - props.item?.area_id || '', - props.item?.street_id || '', - ], - }) - } + onOpenChange={(open: any) => { + if (open && props.item) { + form.setFieldsValue({ + ...props.item, + casacader: [ + props.item?.province_id || '', + props.item?.city_id || '', + props.item?.area_id || '', + props.item?.street_id || '', + ], + }); + } + }} onFinish={async (values) => Apis.Company.Companies.Update({ ...values, id: props.item?.id ?? 0 }) .then(() => { @@ -41,20 +44,15 @@ export default function Update(props: MyBetaModalFormProps) { .catch(() => false) } columns={[ - SysSelects?.Companies({ - key: 'parent_id', - title: '上级组织', - colProps: { span: 24 }, - }), { key: 'name', - title: '组织名称', + title: '机构名称', colProps: { span: 8 }, formItemProps: { ...rulesHelper.text }, }, { key: 'short_name', - title: '组织简称', + title: '机构简称', colProps: { span: 8 }, }, { @@ -106,7 +104,7 @@ export default function Update(props: MyBetaModalFormProps) { }), { key: 'address', - title: '机构地址', + title: '详细地址', colProps: { span: 24 }, }, ]} diff --git a/src/pages/system/admins/modals/Update.tsx b/src/pages/system/admins/modals/Update.tsx index 4eb8591..c4d4e93 100644 --- a/src/pages/system/admins/modals/Update.tsx +++ b/src/pages/system/admins/modals/Update.tsx @@ -2,9 +2,10 @@ import { MyBetaModalFormProps, MyButtons, MyModalFormProps } from '@/common'; import { SysSelects } from '@/components/SysSelects'; import { Apis } from '@/gen/Apis'; import { BetaSchemaForm } from '@ant-design/pro-components'; -import { message } from 'antd'; +import { Form, message } from 'antd'; export default function Update(props: MyBetaModalFormProps) { + const [form] = Form.useForm(); return ( {...MyModalFormProps.props} @@ -12,12 +13,15 @@ export default function Update(props: MyBetaModalFormProps) { trigger={} wrapperCol={{ span: 24 }} width="500px" - request={() => - Promise.resolve({ - ...props.item, - roles_id: props.item?.roles?.map((item: any) => item.value), - }) - } + form={form} + onOpenChange={(open: any) => { + if (open && props.item) { + form.setFieldsValue({ + ...props.item, + roles_id: props.item?.roles?.map((item: any) => item.value), + }); + } + }} onFinish={async (values) => Apis.Common.Admins.Update({ ...values, id: props.item?.id ?? 0 }) .then(() => {