From e864d292f6ad49d3df691befe3440d7e4704ff8d Mon Sep 17 00:00:00 2001 From: uiuJun <> Date: Fri, 19 Sep 2025 11:32:37 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Select.tsx | 22 +++-- .../asset/accounts/modals/AccountsGet.tsx | 74 ++++++++++---- .../asset/accounts/modals/AccountsSelect.tsx | 99 ------------------- src/pages/asset/grids/modals/GridCreate.tsx | 16 +-- .../asset/list/components/AssetAccounts.tsx | 4 +- 5 files changed, 78 insertions(+), 137 deletions(-) delete mode 100644 src/pages/asset/accounts/modals/AccountsSelect.tsx diff --git a/src/components/Select.tsx b/src/components/Select.tsx index 99b8e30..ea73717 100644 --- a/src/components/Select.tsx +++ b/src/components/Select.tsx @@ -367,26 +367,30 @@ export const Selects = { hideInTable = true, ...rest } = props ?? {}; - return { title: title, key: key, valueType: 'select', hideInTable: hideInTable, formItemProps: { ...(required ? rulesHelper.number : {}) }, - request: async (params) => - ( - await Apis.Company.CompanyReceiptAccounts.Select({ - keywords: params?.KeyWords, - ...params, - }) - ).data, + request: async (params) => { + let res = await Apis.Company.CompanyReceiptAccounts.Select({ + keywords: params?.KeyWords, + companies_id: params?.companies_id, + ...params, + }); + res?.data?.map((l: any) => { + l.label = + l.company_name + '-' + l.company_bank + '-' + l.company_account; + }); + return res?.data; + }, ...rest, fieldProps: { showSearch: true, fieldNames: { label: 'label', - value: 'value', + value: 'id', }, ...rest?.fieldProps, }, diff --git a/src/pages/asset/accounts/modals/AccountsGet.tsx b/src/pages/asset/accounts/modals/AccountsGet.tsx index 90b5158..a81bbfd 100644 --- a/src/pages/asset/accounts/modals/AccountsGet.tsx +++ b/src/pages/asset/accounts/modals/AccountsGet.tsx @@ -11,7 +11,7 @@ import { Form, message } from 'antd'; export default function Create(props: MyBetaModalFormProps) { const [form] = Form.useForm(); - + console.log(props.item, 'pppp'); return ( {...MyModalFormProps.props} @@ -34,6 +34,8 @@ export default function Create(props: MyBetaModalFormProps) { onFinish={async (values) => Apis.Company.CompanyProjectReceiptAccounts.Store({ ...values, + companies_id: props?.item?.companies_id || values?.companies_id, + projects_id: props?.item?.id || values?.projects_id, }) .then(() => { props.reload?.(); @@ -43,24 +45,58 @@ export default function Create(props: MyBetaModalFormProps) { .catch(() => false) } columns={[ - Selects?.Companies({ - key: 'companies_id', - title: '选择机构', - colProps: { span: 24 }, - formItemProps: { ...rulesHelper.number }, - }), - Selects?.AssetProjects({ - key: 'projects_id', - title: '选择项目', - colProps: { span: 24 }, - formItemProps: { ...rulesHelper.number }, - }), - Selects?.CompanyAccounts({ - key: 'receipt_accounts_id', - title: '选择收款账户', - colProps: { span: 24 }, - formItemProps: { ...rulesHelper.number }, - }), + ...(props?.item?.id + ? [] + : [ + Selects?.Companies({ + key: 'companies_id', + title: '选择机构', + colProps: { span: 24 }, + required: true, + fieldProps: { + onChange: (val: any) => { + form.setFieldsValue({ + projects_id: undefined, + receipt_accounts_id: undefined, + }); + }, + }, + }), + ]), + { + valueType: 'dependency', + name: ['companies_id'], + columns: ({ companies_id }) => { + return [ + ...(props?.item?.id + ? [] + : [ + Selects?.AssetProjects({ + key: 'projects_id', + title: '选择项目', + params: { + companies_id: + companies_id || props?.item?.companies_id || 0, + }, + colProps: { span: 24 }, + formItemProps: { ...rulesHelper.number }, + fieldProps: { + showSearch: true, + }, + }), + ]), + Selects?.CompanyAccounts({ + key: 'receipt_accounts_id', + title: '选择收款账户', + params: { + companies_id: companies_id || props?.item?.companies_id || 0, + }, + colProps: { span: 24 }, + formItemProps: { ...rulesHelper.number }, + }), + ]; + }, + }, ]} /> ); diff --git a/src/pages/asset/accounts/modals/AccountsSelect.tsx b/src/pages/asset/accounts/modals/AccountsSelect.tsx deleted file mode 100644 index 650b4e4..0000000 --- a/src/pages/asset/accounts/modals/AccountsSelect.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { - MyBetaModalFormProps, - MyButtons, - MyColumns, - MyProTableProps, -} from '@/common'; -import { MyModal } from '@/components/MyModal'; -import { Apis } from '@/gen/Apis'; -import { ProTable } from '@ant-design/pro-components'; -import { message } from 'antd'; -import { useRef, useState } from 'react'; - -export default function Index(props: MyBetaModalFormProps) { - const modalRef: any = useRef(null); - const [selectedProjectsIds, setSelectedProjectsIds] = useState([]); - const onShowContactPhone = () => { - console.log(selectedProjectsIds, 'selectedProjectsIds'); - Apis.Company.CompanyProjectReceiptAccounts.Store({ - companies_id: props?.item?.companies_id ?? 0, - projects_id: props?.item?.id, - receipt_accounts_id: selectedProjectsIds[0], - }) - .then(() => { - props.reload?.(); - message.success('收款账号添加成功!'); - console.log(modalRef, 'modalRef.current'); - modalRef.current?.close(); - // todo 关闭页面 - }) - .catch(() => false); - }; - console.log(props?.item, '0000'); - return ( - - } - node={ - - MyProTableProps.request( - { - ...params, - companies_id: props?.item?.companies_id, - projects_id: props?.item?.id, - }, - sort, - Apis.Company.CompanyReceiptAccounts.List, - ) - } - rowSelection={{ - type: 'radio', - onChange: (selectedRowKeys) => { - console.log(selectedRowKeys, 'selectedRowKeys'); - setSelectedProjectsIds(selectedRowKeys); - }, - }} - tableAlertOptionRender={() => { - return ( - onShowContactPhone()} - /> - ); - }} - search={false} - options={false} - columns={[ - MyColumns.ID(), - { - title: '收款户名', - dataIndex: 'company_name', - }, - { - title: '开户行', - dataIndex: 'company_bank', - search: false, - }, - { - title: '收款账号', - dataIndex: 'company_account', - search: false, - }, - ]} - /> - } - /> - ); -} diff --git a/src/pages/asset/grids/modals/GridCreate.tsx b/src/pages/asset/grids/modals/GridCreate.tsx index b036b8a..509c8f0 100644 --- a/src/pages/asset/grids/modals/GridCreate.tsx +++ b/src/pages/asset/grids/modals/GridCreate.tsx @@ -28,14 +28,14 @@ export default function Create(props: MyBetaModalFormProps) { } form={form} key={new Date().getTime()} - // onOpenChange={(open: any) => { - // if (open) { - // form.resetFields(); // 清空表单数据 - // form.setFieldsValue({ - // asset_projects_id: props?.item?.id, - // }); - // } - // }} + onOpenChange={(open: any) => { + if (open) { + form.resetFields(); // 清空表单数据 + form.setFieldsValue({ + asset_projects_id: props?.item?.id, + }); + } + }} onFinish={async (values: any) => { return Apis.Grid.Grids.Store({ asset_projects_id: props?.item?.id || values?.asset_projects_id, diff --git a/src/pages/asset/list/components/AssetAccounts.tsx b/src/pages/asset/list/components/AssetAccounts.tsx index 1ec330d..8e3acf4 100644 --- a/src/pages/asset/list/components/AssetAccounts.tsx +++ b/src/pages/asset/list/components/AssetAccounts.tsx @@ -7,7 +7,7 @@ import { import { Apis } from '@/gen/Apis'; import { ProTable } from '@ant-design/pro-components'; import { Space } from 'antd'; -import AccountsSelect from '../../accounts/modals/AccountsSelect'; +import AccountsGet from '../../accounts/modals/AccountsGet'; export default function ReceiptAccounts(props: MyBetaModalFormProps) { return ( @@ -27,7 +27,7 @@ export default function ReceiptAccounts(props: MyBetaModalFormProps) { ) } toolBarRender={(action) => [ -