新增字典通用获取方法useDict

This commit is contained in:
RuoYi
2025-04-24 10:28:23 +08:00
parent da0b0e2a56
commit 9a60220020
5 changed files with 196 additions and 0 deletions

26
utils/dict.js Normal file
View File

@@ -0,0 +1,26 @@
import useDictStore from "@/store/modules/dict";
import { getDicts } from "@/api/system/dict/data";
import { ref, toRefs } from "vue";
/**
* 获取字典数据
*/
export function useDict(...args) {
const res = ref({});
return (() => {
args.forEach((dictType, index) => {
res.value[dictType] = [];
const dicts = useDictStore().getDict(dictType);
if (dicts) {
alert(1)
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);
})()
}