145 lines
3.5 KiB
TypeScript
145 lines
3.5 KiB
TypeScript
|
|
import { request } from '@umijs/max';
|
||
|
|
import { DictValueEnumObj } from '@/components/DictTag';
|
||
|
|
import { HttpResult } from '@/enums/httpEnum';
|
||
|
|
import { downLoadXlsx } from '@/utils/downloadfile';
|
||
|
|
|
||
|
|
/* *
|
||
|
|
*
|
||
|
|
* @author whiteshader@163.com
|
||
|
|
* @datetime 2021/09/16
|
||
|
|
*
|
||
|
|
* */
|
||
|
|
|
||
|
|
// 查询字典类型列表
|
||
|
|
export async function getDictTypeList(params?: API.DictTypeListParams) {
|
||
|
|
return request(`/api/cms/dict/type/list`, {
|
||
|
|
params: {
|
||
|
|
...params,
|
||
|
|
},
|
||
|
|
method: 'GET',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json;charset=UTF-8',
|
||
|
|
},
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 查询字典类型详细
|
||
|
|
export function getDictType(dictId: string) {
|
||
|
|
return request(`/api/cms/dict/type/${dictId}`, {
|
||
|
|
method: 'GET',
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 查询字典数据详细
|
||
|
|
export async function getDictValueEnum(
|
||
|
|
dictType: string,
|
||
|
|
isDigital?: boolean,
|
||
|
|
isCms?: boolean,
|
||
|
|
): Promise<DictValueEnumObj> {
|
||
|
|
let resp = null;
|
||
|
|
if (isCms) {
|
||
|
|
resp = await request<API.System.DictTypeResult>(`/api/cms/dict/data/type/${dictType}`, {
|
||
|
|
method: 'GET',
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
|
||
|
|
method: 'GET',
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (resp.code === HttpResult.SUCCESS) {
|
||
|
|
const opts: DictValueEnumObj = {};
|
||
|
|
resp.data.forEach((item: any) => {
|
||
|
|
opts[item.dictValue] = {
|
||
|
|
text: item.dictLabel,
|
||
|
|
label: item.dictLabel,
|
||
|
|
value: isDigital ? Number(item.dictValue) : item.dictValue,
|
||
|
|
key: item.dictCode,
|
||
|
|
listClass: item.listClass,
|
||
|
|
status: item.listClass,
|
||
|
|
};
|
||
|
|
});
|
||
|
|
return opts;
|
||
|
|
} else {
|
||
|
|
return {};
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
export async function getDictSelectOption(dictType: string, isDigital?: boolean, isCms?: boolean) {
|
||
|
|
let resp = null;
|
||
|
|
if (isCms) {
|
||
|
|
resp = await request<API.System.DictTypeResult>(`/api/cms/dict/data/type/${dictType}`, {
|
||
|
|
method: 'GET',
|
||
|
|
});
|
||
|
|
} else {
|
||
|
|
resp = await request<API.System.DictTypeResult>(`/api/system/dict/data/type/${dictType}`, {
|
||
|
|
method: 'GET',
|
||
|
|
});
|
||
|
|
}
|
||
|
|
if (resp.code === 200) {
|
||
|
|
const options: DictValueEnumObj[] = resp.data.map((item) => {
|
||
|
|
return {
|
||
|
|
text: item.dictLabel,
|
||
|
|
label: item.dictLabel,
|
||
|
|
value: isDigital ? Number(item.dictValue) : item.dictValue,
|
||
|
|
key: item.dictCode,
|
||
|
|
listClass: item.listClass,
|
||
|
|
status: item.listClass,
|
||
|
|
};
|
||
|
|
});
|
||
|
|
return options;
|
||
|
|
}
|
||
|
|
return [];
|
||
|
|
}
|
||
|
|
|
||
|
|
// 新增字典类型
|
||
|
|
export async function addDictType(params: API.System.DictType) {
|
||
|
|
return request<API.Result>('/api/cms/dict/type', {
|
||
|
|
method: 'POST',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json;charset=UTF-8',
|
||
|
|
},
|
||
|
|
data: params,
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 修改字典类型
|
||
|
|
export async function updateDictType(params: API.System.DictType) {
|
||
|
|
return request<API.Result>('/api/cms/dict/type', {
|
||
|
|
method: 'PUT',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json;charset=UTF-8',
|
||
|
|
},
|
||
|
|
data: params,
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 删除字典类型
|
||
|
|
export async function removeDictType(ids: string) {
|
||
|
|
return request<API.Result>(`/api/cms/dict/type/${ids}`, {
|
||
|
|
method: 'DELETE',
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
// 导出字典类型
|
||
|
|
export function exportDictType(params?: API.System.DictTypeListParams) {
|
||
|
|
return downLoadXlsx(
|
||
|
|
`/api/cms/dict/type/export`,
|
||
|
|
{ params },
|
||
|
|
`dict_type_${new Date().getTime()}.xlsx`,
|
||
|
|
);
|
||
|
|
}
|
||
|
|
|
||
|
|
// 获取字典选择框列表
|
||
|
|
export async function getDictTypeOptionSelect(params?: API.DictTypeListParams) {
|
||
|
|
return request('/api/cms/dict/type/optionselect', {
|
||
|
|
params: {
|
||
|
|
...params,
|
||
|
|
},
|
||
|
|
method: 'GET',
|
||
|
|
headers: {
|
||
|
|
'Content-Type': 'application/json;charset=UTF-8',
|
||
|
|
},
|
||
|
|
});
|
||
|
|
}
|