dic.js 1.1 KB
import { getDicByCodeApi } from '@/api/base.js';

/**
 * 获取单个字典数据(无缓存版本)
 * @param {string} code
 * @returns {Promise<Array>}
 */
export function getDicByCode(code) {
  return getDicByCodeApi(code);
}

/**
 * 批量获取多个字典数据(无缓存版本)
 * @param {string[]} codes
 * @returns {Promise<Object>}
 */
export function getDicByCodes(codes) {
  const list = Array.isArray(codes) ? codes : [];
  const promises = list.map(code => getDicByCodeApi(code));
  return Promise.all(promises).then(results => {
    const result = {};
    list.forEach((code, index) => {
      result[code] = results[index] || [];
    });
    return result;
  });
}

/**
 * 获取字典项的名称(需要传入字典项数组)
 * @param {string} code 字典编码(仅用于标识,实际不使用)
 * @param {string} value 字典值
 * @param {Array} items 字典项数组
 * @returns {string}
 */
export function getDicName(code, value, items = []) {
  const list = Array.isArray(items) ? items : [];
  const item = list.find(it => it && it.code === value);
  return item ? item.name : value;
}