兰宝车间质量管理系统-前端
LiuHao
2023-04-02 251d2411f235e23209d57173857e05b637729ce8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { getDicts } from '@/api/system/dict/data';
import { useDictStore } from '@/store/modules/dict';
/**
 * 获取字典数据
 */
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 getDicts(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;
    })();
};