/** * @description 升级表单信息 * @param {Object} config 表单配置信息 * @return {Object} config */ export function updateForm (config) { if (!config.version && config.groups) { config.version = '1.0' if (config.groups && config.groups.length > 0) { let fields = [] config.groups.forEach(group => { if (group.sublist.length === 0) return if (!group.default) { fields.push({ type: 'split', label: group.label, uuid: group.uuid, span: 24 }) } fields.push(...group.sublist) }) config.fields = fields } delete config.groups let _col = config.setting.cols || '2' config.fields = config.fields.map(item => { item.labelwidth = 33.3 if (_col === '1' || item.entireLine === 'true' || ['textarea','hint','checkcard','brafteditor'].includes(item.type)) { item.span = 24 if (_col === '2') { item.labelwidth = 16.3 } else if (_col === '3') { item.labelwidth = 10.5 } else if (_col === '4') { item.labelwidth = 8.3 } } else if (_col === '2') { item.span = 12 } else if (_col === '3') { item.span = 8 } else if (_col === '4') { item.span = 6 } return item }) } return config } /** * @description 升级主表信息 * @param {Object} config 页面配置信息 * @return {Object} config */ export function updateCommonTable (config) { if (!config.version || config.version < '1.0') { config.version = '1.0' // 兼容标签 if (!config.tabgroups) { config.tabgroups = [{ uuid: 'tabs', sublist: [] }] } else if (typeof(config.tabgroups[0]) === 'string') { let _tabgroups = [] config.tabgroups.forEach(groupId => { let _group = { uuid: groupId, sublist: config[groupId] } delete config[groupId] _tabgroups.push(_group) }) config.tabgroups = _tabgroups } // 兼容图表 if (!config.charts) { config.expand = true config.charts = [{ uuid: '$$normaltable', label: '', title: '', chartType: 'table', icon: 'table', Hide: 'false', blacklist: [] }] } else { config.charts.forEach(card => { if (card.chartType === 'card') { card.details = card.details.map(_cell => { _cell.fontSize = _cell.fontSize || 14 if (!_cell.width) { _cell.width = 100 } else if (_cell.width === 'helf') { _cell.width = 50 } else if (_cell.width === 'third') { _cell.width = 33 } if (!_cell.fontWeight && _cell.bold === 'true') { _cell.fontWeight = 'normal' } _cell.height = _cell.height || 1 return _cell }) } }) } } if (config.version < '1.1') { config.version = '1.1' if (config.setting.interType === 'inner' && !config.setting.innerFunc) { config.setting.interType = 'system' } // 兼容接口类型 config.action = config.action.map(item => { if (item.intertype === 'inner' && !item.innerFunc) { item.intertype = 'system' } return item }) } if (config.version < '1.2') { config.version = '1.2' // 兼容功能按钮 config.action = config.action.map(item => { if (item.execMode) { item.OpenType = 'funcbutton' } else if (item.OpenType === 'blank') { item.OpenType = 'tab' } return item }) } if (config.version < '2.0') { config.version = '2.0' // 去除传统table中的标签,调整数据结构 if (config.charts && config.charts.length === 1) { config.charts = null } } config.Template = 'CommonTable' return config } /** * @description 升级子表信息 * @param {Object} config 页面配置信息 * @return {Object} config */ export function updateSubTable (config) { if (!config.version || config.version < '1.0') { config.version = '1.0' // 兼容图表 if (!config.charts) { config.expand = false config.charts = [{ uuid: '$$normalsubtable', label: '', title: '', chartType: 'table', icon: 'table', Hide: 'false', blacklist: [] }] } else { config.charts.forEach(card => { if (card.chartType === 'card') { card.details = card.details.map(_cell => { if (!_cell.fontSize) { _cell.fontSize = 14 } if (!_cell.width) { _cell.width = 100 } else if (_cell.width === 'helf') { _cell.width = 50 } else if (_cell.width === 'third') { _cell.width = 33 } if (_cell.bold === 'true') { _cell.fontWeight = 'normal' } if (!_cell.height) { _cell.height = 1 } return _cell }) } }) } } if (config.version < '1.1') { config.version = '1.1' if (config.setting.interType === 'inner' && !config.setting.innerFunc) { config.setting.interType = 'system' } // 兼容接口类型 config.action = config.action.map(item => { if (item.intertype === 'inner' && !item.innerFunc) { item.intertype = 'system' } return item }) } if (config.version < '1.2') { config.version = '1.2' // 兼容功能按钮 config.action = config.action.map(item => { if (item.execMode) { item.OpenType = 'funcbutton' } else if (item.OpenType === 'blank') { item.OpenType = 'tab' } return item }) } if (config.version < '2.0') { config.version = '2.0' // 去除传统table中的标签,调整数据结构 if (config.charts && config.charts.length === 1) { config.charts = null } } config.Template = 'SubTable' return config } /** * @description 升级弹窗子表信息 * @param {Object} config 页面配置信息 * @return {Object} config */ export function updateSubTabTable (config) { if (!config.version || config.version < '1.1') { config.version = '1.1' if (config.setting.interType === 'inner' && !config.setting.innerFunc) { config.setting.interType = 'system' } // 兼容接口类型 config.action = config.action.map(item => { if (item.intertype === 'inner' && !item.innerFunc) { item.intertype = 'system' } return item }) } if (config.version < '1.2') { config.version = '1.2' // 兼容功能按钮 config.action = config.action.map(item => { if (item.execMode) { item.OpenType = 'funcbutton' } else if (item.OpenType === 'blank') { item.OpenType = 'tab' } return item }) } config.Template = 'SubTable' return config }