Commit b38bb164874e5eb8ac157c11bb9b41e090315b71
Merge branch 'main_dev' into fix/teambition/10-16/2024
Showing
2 changed files
with
48 additions
and
15 deletions
... | ... | @@ -14,6 +14,7 @@ import { useI18n } from '/@/hooks/web/useI18n'; |
14 | 14 | enum SysDictApi { |
15 | 15 | CONFIG_URL = '/dict', |
16 | 16 | CONFIG_ITEM_URL = '/dict_item', |
17 | + CONFIG_LIST_DICT = '/dict/all', | |
17 | 18 | } |
18 | 19 | |
19 | 20 | /** |
... | ... | @@ -45,6 +46,17 @@ export const sysDictPage = (params: SysDictParams) => |
45 | 46 | }); |
46 | 47 | |
47 | 48 | /** |
49 | + * 获取字典list 用于查询 | |
50 | + */ | |
51 | + | |
52 | +export const getDictList = (_params?: string) => { | |
53 | + return defHttp.get<{ code: number; data: SysDict[]; message: string }>({ | |
54 | + url: SysDictApi.CONFIG_LIST_DICT, | |
55 | + // params, | |
56 | + }); | |
57 | +}; | |
58 | + | |
59 | +/** | |
48 | 60 | * 获取SysDictItem列表 |
49 | 61 | * @param params 查询参数 |
50 | 62 | */ | ... | ... |
1 | +import { getDictList } from '/@/api/system/dict'; | |
1 | 2 | import { BasicColumn } from '/@/components/Table'; |
2 | 3 | import { FormSchema } from '/@/components/Table'; |
3 | 4 | import { useI18n } from '/@/hooks/web/useI18n'; |
... | ... | @@ -36,26 +37,46 @@ export const columns: BasicColumn[] = [ |
36 | 37 | ]; |
37 | 38 | |
38 | 39 | export const searchFormSchema: FormSchema[] = [ |
40 | + // { | |
41 | + // field: 'dictName', | |
42 | + // label: t('system.dict.dictName'), | |
43 | + // component: 'Input', | |
44 | + // colProps: { span: 6 }, | |
45 | + // componentProps: { | |
46 | + // maxLength: 32, | |
47 | + // }, | |
48 | + // dynamicRules: () => { | |
49 | + // return [ | |
50 | + // { | |
51 | + // required: false, | |
52 | + // validator: (_, value) => { | |
53 | + // if (String(value).length > 32) { | |
54 | + // return Promise.reject(t('system.dict.textRule32')); | |
55 | + // } | |
56 | + // return Promise.resolve(); | |
57 | + // }, | |
58 | + // }, | |
59 | + // ]; | |
60 | + // }, | |
61 | + // }, | |
39 | 62 | { |
40 | 63 | field: 'dictName', |
41 | 64 | label: t('system.dict.dictName'), |
42 | - component: 'Input', | |
65 | + component: 'ApiSelect', | |
43 | 66 | colProps: { span: 6 }, |
44 | 67 | componentProps: { |
45 | - maxLength: 32, | |
46 | - }, | |
47 | - dynamicRules: () => { | |
48 | - return [ | |
49 | - { | |
50 | - required: false, | |
51 | - validator: (_, value) => { | |
52 | - if (String(value).length > 32) { | |
53 | - return Promise.reject(t('system.dict.textRule32')); | |
54 | - } | |
55 | - return Promise.resolve(); | |
56 | - }, | |
57 | - }, | |
58 | - ]; | |
68 | + api: async () => { | |
69 | + const { data: values } = await getDictList(); | |
70 | + return (values || []).map((item) => ({ | |
71 | + label: t(item.dictName) ? t(item.dictName) : item.dictName, | |
72 | + value: item.dictName, | |
73 | + })); | |
74 | + }, | |
75 | + | |
76 | + showSearch: true, | |
77 | + filterOption: (inputValue: string, options: Record<'label', string>) => { | |
78 | + return options.label.includes(inputValue); | |
79 | + }, | |
59 | 80 | }, |
60 | 81 | }, |
61 | 82 | { | ... | ... |