// 系统全局字典 import useDictStore from '@/stores/modules/dict' import { getDictsApi } from '@/api/modules/system/dictData' /** * 获取字典数据 */ export const useDict = (...args: string[]): { [key: string]: DictDataOption[] } => { const res = ref<{ [key: string]: DictDataOption[] }>({}) return (() => { args.forEach(async dictType => { res.value[dictType] = [] const dicts = useDictStore().getDict(dictType) if (dicts) { res.value[dictType] = dicts } else { await getDictsApi(dictType).then(resp => { res.value[dictType] = resp.data.map( (p): DictDataOption => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }) ) useDictStore().setDict(dictType, res.value[dictType]) }) } }) return res.value })() }