UNPKG

ed-frame-vue

Version:

easydata 基础组件

75 lines (70 loc) 2.14 kB
import { getVarType} from "../../../utils/utils"; export default { methods: { /** * 获取的模版数据转换为前端使用的模型信息 * @param {*} dataModel */ toViewModel(dataModel) { if (dataModel) { if (dataModel instanceof Array && dataModel.length === 0) { return {} } else if (dataModel instanceof Array && dataModel.length > 0) { let dataList = Object.assign({data: []}, dataModel[0]) dataModel.forEach((data) => { if (data.dataInfoArray && data.dataInfoArray instanceof Array && data.dataInfoArray.length > 0) { data.dataInfoArray.forEach((d) => { dataList.data.push(d) }) } else if (data.keyInfoView) { dataList.data.push({keyInfo: data.keyInfoView}) } else if (data.keyInfoObject) { dataList.data.push({keyInfo: data.keyInfoObject}) } else { dataList.data.push({keyInfo: data}) } }) return dataList } else { return dataModel } } return {} }, /** * @name getOneModuleId * @param id * @return {null} * @description 获取一级模块数据 */ getOneModuleId(id) { let moduleId = null this.modules.map(oneModule => { let module = oneModule.twoModule.find(i => i.id === id) if (module) moduleId = module.id }) return moduleId }, /** * 解析模块对象中的属性值 * @param {*} module * @param {*} key * @returns Object */ getModuleProp(module, key) { const {prop} = module let item = prop && prop[key] ? prop[key] : module[key] if (item && item.value) { const itemType = getVarType(item.value) if (itemType === 'boolean') { return itemType } else if (itemType === 'string') { return item.value === 'true' ? true : item.value === 'false' ? false : item.value } else { return item.value } } return undefined }, } }