pay-admin/src/components/Select.tsx

42 lines
1.0 KiB
TypeScript
Raw Normal View History

2025-06-29 18:42:50 +08:00
import { rulesHelper } from '@/common';
import { Apis } from '@/gen/Apis';
import { ProColumns, ProFormColumnsType } from '@ant-design/pro-components';
type ReturnType = ProColumns<any, 'text'> & ProFormColumnsType<any, 'text'>;
type PropsType = { required?: boolean } & ReturnType;
export const SysSelects = {
Companies(props?: PropsType): ReturnType {
const {
title = '机构',
key = 'parent_id',
required = false,
hideInTable = true,
...rest
} = props ?? {};
return {
title: title,
key: key,
valueType: 'select',
hideInTable: hideInTable,
formItemProps: { ...(required ? rulesHelper.number : {}) },
fieldProps: {
showSearch: true,
fieldNames: {
label: 'label',
value: 'value',
},
},
request: async (params) =>
(
await Apis.Company.Companies.Select({
keywords: params?.KeyWords,
...params,
})
).data,
...rest,
};
},
};