From 294a5ca15f02aa2e216b8c0e2829a17d9a2ab5d0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 18 七月 2021 01:31:28 +0800 Subject: [PATCH] 2021-07-18 --- src/utils/utils-custom.js | 102 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 102 insertions(+), 0 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index e991da4..43a7b75 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -166,6 +166,80 @@ } /** + * @description 鑾峰彇鍙叧鑱旀ā鍧� + */ + static getLinkModules (components) { + let modules = components.map(item => { + if ((item.type === 'card' && item.subtype === 'datacard') || (item.type === 'table' && item.subtype === 'normaltable')) { + return { + value: item.uuid, + label: item.name + } + } else if (item.type === 'tabs') { + let _item = { + value: item.uuid, + label: item.name, + children: item.subtabs.map(f_tab => { + let subItem = { + value: f_tab.uuid, + label: f_tab.label, + children: this.getLinkModules(f_tab.components) + } + + if (!subItem.children || subItem.children.length === 0) { + return {children: null} + } + return subItem + }) + } + + _item.children = _item.children.filter(t => t.children !== null) + + if (_item.children.length === 0) { + return {children: null} + } + + return _item + } else if (item.type === 'group') { + let _item = { + value: item.uuid, + label: item.name, + children: item.components.map(f_tab => { + if ((f_tab.type === 'card' && f_tab.subtype === 'datacard') || (f_tab.type === 'table' && f_tab.subtype === 'normaltable')) { + return { + value: f_tab.uuid, + label: f_tab.name + } + } + return { + children: null + } + }) + } + + _item.children = _item.children.filter(t => t.children !== null) + + if (_item.children.length === 0) { + return {children: null} + } + + return _item + } else { + return { + children: null + } + } + }) + + modules = modules.filter(mod => mod.children !== null) + + if (modules.length === 0) { + return null + } + return modules + } + + /** * @description 鑾峰彇鍒犻櫎鎸夐挳Id * @return {String} name */ @@ -280,6 +354,11 @@ return cell }) item.components = this.resetConfig(item.components) + } else if (item.type === 'menubar') { + item.subMenus = item.subMenus.map(cell => { + cell.uuid = this.getuuid() + return cell + }) } else if (item.type === 'card' || item.type === 'carousel' || (item.type === 'table' && item.subtype === 'tablecard')) { item.subcards.forEach(card => { card.uuid = this.getuuid() @@ -366,4 +445,27 @@ return item }) } +} + +/** + * @description 閲嶇疆绉诲姩绔痵tyle + * @return {Object} style + */ +export function resetStyle (style) { + if (!style) return {} + if (sessionStorage.getItem('appType') === 'mob') { + let _style = JSON.stringify(style) + + // scaleview + _style = _style.replace(/\d+vw/ig, (word) => { + return parseFloat(word) * (window.GLOB.winWidth || 420) / 100 + 'px' + // return parseFloat(word) * 350 / 100 + 'px' + }).replace(/\d+vh/ig, (word) => { + return parseFloat(word) * (window.GLOB.winHeight || 738) / 100 + 'px' + // return parseFloat(word) * 615 / 100 + 'px' + }) + + return JSON.parse(_style) + } + return JSON.parse(JSON.stringify(style)) } \ No newline at end of file -- Gitblit v1.8.0