24 lines
718 B
JavaScript
24 lines
718 B
JavaScript
|
import useDictStore from '@/store/modules/dict'
|
||
|
import { getDicts } from '@/api/system/dict/data'
|
||
|
|
||
|
/**
|
||
|
* 获取字典数据
|
||
|
*/
|
||
|
export function useDict(...args) {
|
||
|
const res = ref({});
|
||
|
return (() => {
|
||
|
args.forEach((dictType, index) => {
|
||
|
res.value[dictType] = [];
|
||
|
const dicts = useDictStore().getDict(dictType);
|
||
|
if (dicts) {
|
||
|
res.value[dictType] = dicts;
|
||
|
} else {
|
||
|
getDicts(dictType).then(resp => {
|
||
|
res.value[dictType] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }))
|
||
|
useDictStore().setDict(dictType, res.value[dictType]);
|
||
|
})
|
||
|
}
|
||
|
})
|
||
|
return toRefs(res.value);
|
||
|
})()
|
||
|
}
|