|
@@ -1,3 +1,4 @@
|
|
|
+import useDictStore from '@/store/modules/dict'
|
|
|
import { getDicts } from '@/api/system/dict/data'
|
|
|
|
|
|
/**
|
|
@@ -6,11 +7,17 @@ import { getDicts } from '@/api/system/dict/data'
|
|
|
export function useDict(...args) {
|
|
|
const res = ref({});
|
|
|
return (() => {
|
|
|
- args.forEach((d, index) => {
|
|
|
- res.value[d] = [];
|
|
|
- getDicts(d).then(resp => {
|
|
|
- res.value[d] = resp.data.map(p => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }))
|
|
|
- })
|
|
|
+ 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);
|
|
|
})()
|