206 lines
4.9 KiB
TypeScript
206 lines
4.9 KiB
TypeScript
|
|
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 Selects = {
|
||
|
|
Agents(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '代理',
|
||
|
|
key = 'agents_id',
|
||
|
|
dataIndex = ['agent', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.Agents()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
LoanCompany(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '资金方',
|
||
|
|
key = 'loan_companies_id',
|
||
|
|
dataIndex = ['loan_company', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.LoanCompanies()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
Markets(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '选择上游',
|
||
|
|
key = 'markets_id',
|
||
|
|
dataIndex = ['market', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.Markets()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
Bosses(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '老板',
|
||
|
|
key = 'bosses_id',
|
||
|
|
dataIndex = ['boss', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.Bosses()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
Factories(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '下游厂家',
|
||
|
|
key = 'factories_id',
|
||
|
|
dataIndex = ['factory', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.Factories()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
Platforms(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '平台',
|
||
|
|
key = 'platforms_id',
|
||
|
|
dataIndex = ['platform', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.Platforms()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
Merchants(props?: PropsType): ReturnType {
|
||
|
|
const {
|
||
|
|
title = '商户',
|
||
|
|
key = 'merchants_id',
|
||
|
|
dataIndex = ['merchant', 'name'],
|
||
|
|
required = false,
|
||
|
|
hideInTable = false,
|
||
|
|
...rest
|
||
|
|
} = props ?? {};
|
||
|
|
|
||
|
|
return {
|
||
|
|
title: title,
|
||
|
|
key: key,
|
||
|
|
dataIndex: dataIndex,
|
||
|
|
valueType: 'select',
|
||
|
|
hideInTable: hideInTable,
|
||
|
|
formItemProps: { ...(required ? rulesHelper.number : {}) },
|
||
|
|
fieldProps: {
|
||
|
|
showSearch: false,
|
||
|
|
fieldNames: {
|
||
|
|
label: 'name',
|
||
|
|
value: 'id',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
request: async () => (await Apis.Select.Merchants()).data,
|
||
|
|
...rest,
|
||
|
|
};
|
||
|
|
},
|
||
|
|
};
|