UNPKG

logwire-wms-pda-ui

Version:

运匠科技wms-PDA基础组件库

74 lines (62 loc) 1.77 kB
/* * 字典数据 * @author 张文 * @date 2022-02-10 * */ import {dict} from "../api/common/Dict"; export const Dict = { /** * 设置字典数据 * @author 张文 * @param {Object|Array} data 需要设置的数据 * @param {String} key 需要设置字典的某一项,为空时将修改全部数据 * */ set(data, key = null) { if (key) { window.lwWindowGlobalData.set('dict.'+key, data) } else { window.lwWindowGlobalData.set('dict', data) } }, /** * 根据字典key获取数据 * @author 张文 * @param {String} key 字典类型名称,为空时返回全部数据 * @return {*} 字典项的数据 */ get(key = null) { return key ? window.lwWindowGlobalData.get('dict.'+key) : window.lwWindowGlobalData.get('dict') }, /** * 根据字典项的值获取对应项的名称 * @author 张文 * @param key 字典类型名称 * @param value 字典项的值 * @param def 默认值 * @returns {*} 字典项的名称,如果未找到且默认值为空,则返回字典项的值 */ getDictLabel(key, value, def) { const list = this.get(key) if (Array.isArray(list)) { const item = list.find(i => i.value === value) if (item && item.label) { return item.label } } return def || value }, /** * 异步获取字典数据 * @author 张文 * @param {String} key 字典类型名称,为空时返回全部数据 * @returns {Promise} 字典项的数据 */ asyncGet(key = null) { return new Promise((PR, PE) => { dict.get().then(res=>{ this.set(res) PR(this.get(key)) }).catch(err => PE(err)) }) }, }