增加字典功能

This commit is contained in:
tao
2025-12-29 17:20:34 +08:00
parent 0bc46dbd14
commit ae56afcf93
8 changed files with 333 additions and 0 deletions

26
src/utils/dict.ts Normal file
View File

@@ -0,0 +1,26 @@
import { useDictStore } from "@/store";
import { getDicts } from '@/api/system/dict'
import { ref, toRefs } from 'vue'
/**
* 获取字典数据
*/
export function useDict(...args: string[]) {
const res = ref<any>({})
return (() => {
args.forEach((dictType, index) => {
res.value[dictType] = []
const dicts = useDictStore().getDict(dictType)
if (dicts) {
res.value[dictType] = dicts
} else {
getDicts(dictType).then((resp: any) => {
res.value[dictType] = resp.data.map((p: any) => ({ label: p.dictLabel, value: p.dictValue, elTagType: p.listClass, elTagClass: p.cssClass }))
useDictStore().setDict(dictType, res.value[dictType])
})
}
})
return toRefs(res.value)
})()
}