blob: 56711243371e9658b172cdceae67b4bef8e1d11c [file] [log] [blame]
Jiarenxiang38dcb052025-03-13 16:40:09 +08001import { request } from '@umijs/max';
2import { DictValueEnumObj } from '@/components/DictTag';
3import { HttpResult } from '@/enums/httpEnum';
4import { downLoadXlsx } from '@/utils/downloadfile';
5
6/* *
7 *
8 * @author whiteshader@163.com
9 * @datetime 2021/09/16
10 *
11 * */
12
13// 查询字典类型列表
14export async function getDictTypeList(params?: API.DictTypeListParams) {
15 return request(`/api/system/dict/type/list`, {
16 params: {
17 ...params,
18 },
19 method: 'GET',
20 headers: {
21 'Content-Type': 'application/json;charset=UTF-8',
22 },
23 });
24}
25
26// 查询字典类型详细
27export function getDictType(dictId: string) {
28 return request(`/api/system/dict/type/${dictId}`, {
29 method: 'GET',
30 });
31}
32
33// 查询字典数据详细
34export async function getDictValueEnum(dictType: string, isDigital?: boolean): Promise<DictValueEnumObj> {
35 const resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
36 method: 'GET',
37 });
38 if(resp.code === HttpResult.SUCCESS) {
39 const opts: DictValueEnumObj = {};
40 resp.data.forEach((item: any) => {
41 opts[item.dictValue] = {
42 text: item.dictLabel,
43 label: item.dictLabel,
44 value: isDigital ? Number(item.dictValue) : item.dictValue,
45 key: item.dictCode,
46 listClass: item.listClass,
47 status: item.listClass };
48 });
49 return opts;
50 } else {
51 return {};
52 }
53}
54
55export async function getDictSelectOption(dictType: string, isDigital?: boolean) {
56 const resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
57 method: 'GET',
58 });
59 if (resp.code === 200) {
60 const options: DictValueEnumObj[] = resp.data.map((item) => {
61 return {
62 text: item.dictLabel,
63 label: item.dictLabel,
64 value: isDigital ? Number(item.dictValue) : item.dictValue,
65 key: item.dictCode,
66 listClass: item.listClass,
67 status: item.listClass
68 };
69 });
70 return options;
71 }
72 return [];
73};
74
75// 新增字典类型
76export async function addDictType(params: API.System.DictType) {
77 return request<API.Result>('/api/system/dict/type', {
78 method: 'POST',
79 headers: {
80 'Content-Type': 'application/json;charset=UTF-8',
81 },
82 data: params
83 });
84}
85
86// 修改字典类型
87export async function updateDictType(params: API.System.DictType) {
88 return request<API.Result>('/api/system/dict/type', {
89 method: 'PUT',
90 headers: {
91 'Content-Type': 'application/json;charset=UTF-8',
92 },
93 data: params
94 });
95}
96
97// 删除字典类型
98export async function removeDictType(ids: string) {
99 return request<API.Result>(`/api/system/dict/type/${ids}`, {
100 method: 'DELETE'
101 });
102}
103
104// 导出字典类型
105export function exportDictType(params?: API.System.DictTypeListParams) {
106 return downLoadXlsx(`/api/system/dict/type/export`, { params }, `dict_type_${new Date().getTime()}.xlsx`);
107}
108
109// 获取字典选择框列表
110export async function getDictTypeOptionSelect(params?: API.DictTypeListParams) {
111 return request('/api/system/dict/type/optionselect', {
112 params: {
113 ...params,
114 },
115 method: 'GET',
116 headers: {
117 'Content-Type': 'application/json;charset=UTF-8',
118 },
119 });
120}