66 lines
1.7 KiB
JavaScript
66 lines
1.7 KiB
JavaScript
import { useDictStore } from '@/store/dict'
|
|
|
|
/**
|
|
* 字典工具函数
|
|
* 提供便捷的字典映射方法
|
|
*/
|
|
|
|
/**
|
|
* 根据字典类型和值获取字典标签
|
|
* @param {string} dictType 字典类型
|
|
* @param {string|number} dictValue 字典值
|
|
* @returns {string} 字典标签
|
|
*/
|
|
export const getDictLabel = (dictType, dictValue) => {
|
|
const dictStore = useDictStore()
|
|
return dictStore.getDictLabel(dictType, dictValue)
|
|
}
|
|
|
|
/**
|
|
* 根据字典类型获取字典列表
|
|
* @param {string} dictType 字典类型
|
|
* @returns {Array} 字典项列表
|
|
*/
|
|
export const getDictList = (dictType) => {
|
|
const dictStore = useDictStore()
|
|
return dictStore.getDictByType(dictType)
|
|
}
|
|
|
|
/**
|
|
* 根据字典类型和值获取完整的字典项
|
|
* @param {string} dictType 字典类型
|
|
* @param {string|number} dictValue 字典值
|
|
* @returns {Object|null} 字典项对象
|
|
*/
|
|
export const getDictItem = (dictType, dictValue) => {
|
|
const dictStore = useDictStore()
|
|
return dictStore.getDictItem(dictType, dictValue)
|
|
}
|
|
|
|
/**
|
|
* 批量获取字典标签
|
|
* @param {string} dictType 字典类型
|
|
* @param {Array<string|number>} dictValues 字典值数组
|
|
* @returns {Array<string>} 字典标签数组
|
|
*/
|
|
export const getDictLabels = (dictType, dictValues) => {
|
|
const dictStore = useDictStore()
|
|
return dictStore.getDictLabels(dictType, dictValues)
|
|
}
|
|
|
|
/**
|
|
* 初始化字典数据
|
|
* @param {boolean} forceRefresh 是否强制刷新
|
|
* @returns {Promise}
|
|
*/
|
|
export const initDictData = async (forceRefresh = true) => {
|
|
const dictStore = useDictStore()
|
|
|
|
console.log('initDictData',dictStore)
|
|
// 先从缓存初始化
|
|
dictStore.initFromCache()
|
|
// 然后加载最新数据
|
|
return dictStore.loadDictData(forceRefresh)
|
|
}
|
|
|