logwire-wms-pda-ui
Version:
运匠科技wms-PDA基础组件库
82 lines (65 loc) • 1.98 kB
JavaScript
/*
* 条码解析解析
* @author: 张文
* @date 2022-07-02
* */
import {common} from "../api/common/common";
export const barcodeResolve = {
/**
* 设置条码规则到全局变量中
* @author 张文
* @param {Object|Array} data 设置的值
* @param {String} key 需要设置值的key,默认设置顶级,传入值后设置顶级的下级
* @return -
* */
setRule(data, key=''){
let index = 'barcodeResolveRule'
if (key) index+=('.'+key)
window.lwWindowGlobalData.set(index, data)
},
/**
* 获取全局变量中的条码规则
* @author 张文
* @param {String} key 需要获取值的key,默认获取全部,传入值后获取指定key的数据
* @return {Object|Array} 返回获取到的值
* */
getRule(key){
let index = 'barcodeResolveRule'
if (key) index+=('.'+key)
return window.lwWindowGlobalData.get(index) || {}
},
/**
* 初始化规则
* @author 张文
* @param {Array} appCodeList 获取指定app的解析规则
* @return -
* */
asyncInitRule(appCodeList=[]){
common.commonWmsLoadAllComponentConfig({
appCodeList
}).then(res=>{
let obj = {}
// 判断返回数据是否是数组且有值
if (!Array.isArray(res) || !res.length){
console.warn(
'条码解析规则获取失败!接口返回数据不是数组类型或为空。将会导致条码解析无效或异常!!!返回值为:',
res
)
}else {
res.forEach(item => obj[item.componentId] = item)
}
this.setRule(obj)
})
},
/**
* 使用条码解析规则并解析条码
* @author 张文
* @param {String} inputId 输入框id
* @param {String} val 需要解析的内容
* @return -
* */
resolve(inputId, val){
const data = window.lwWindowGlobalData.get()
console.log(inputId, val, data)
}
}