ed-frame-vue
Version:
easydata 基础组件
75 lines (70 loc) • 2.14 kB
JavaScript
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
},
}
}