From f6a1ab6a58215cf7546976a86eb6face1a7be32f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 30 七月 2021 15:37:17 +0800 Subject: [PATCH] 2021-07-30 --- src/utils/utils-custom.js | 179 +++++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 137 insertions(+), 42 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index cf2d151..e79cd52 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -166,11 +166,89 @@ } /** + * @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 */ static getDelButtonIds (card) { + let appType = sessionStorage.getItem('appType') let uuids = [] + + if (appType === 'mob') return uuids + const getUuids = (item) => { if (item.type === 'tabs') { item.subtabs.forEach(tab => { @@ -183,48 +261,41 @@ getUuids(c) }) } else { - if (item.action && item.action.length > 0) { - item.action.forEach(act => { - if (!act.origin) { - uuids.push(act.uuid) - } - }) - } - if (item.type === 'card') { - item.subcards.forEach(_card => { + item.action && item.action.forEach(act => { + if (act.origin || (appType === 'pc' && act.OpenType !== 'popview')) return + + uuids.push(act.uuid) + }) + + if (card.type === 'card' || item.type === 'carousel' || (card.type === 'table' && card.subtype === 'tablecard')) { + card.subcards.forEach(_card => { _card.elements && _card.elements.forEach(cell => { - if (cell.eleType === 'button') { - uuids.push(cell.uuid) - } - }) - _card.backElements && _card.backElements.forEach(cell => { - if (cell.eleType === 'button') { - uuids.push(cell.uuid) - } - }) - }) - } else if (item.type === 'carousel') { - item.subcards.forEach(_card => { - _card.elements && _card.elements.forEach(cell => { - if (cell.eleType === 'button') { - uuids.push(cell.uuid) - } - }) - }) - } else if (item.type === 'table' && item.subtype === 'tablecard') { - item.subcards.forEach(_card => { - _card.elements && _card.elements.forEach(cell => { - if (cell.eleType === 'button') { - uuids.push(cell.uuid) - } - }) - }) - } else if (item.type === 'table' && item.subtype === 'normaltable') { - item.cols && item.cols.forEach(col => { - if (col.type !== 'action') return - col.elements && col.elements.forEach(cell => { + if (cell.eleType !== 'button') return + if (appType === 'pc' && cell.OpenType !== 'popview') return + uuids.push(cell.uuid) }) + _card.backElements && _card.backElements.forEach(cell => { + if (cell.eleType !== 'button') return + if (appType === 'pc' && cell.OpenType !== 'popview') return + + uuids.push(cell.uuid) + }) + }) + } else if (card.type === 'table' && card.subtype === 'normaltable') { + card.cols && card.cols.forEach(col => { + if (col.type !== 'action') return + col.elements && col.elements.forEach(cell => { + if (appType === 'pc' && cell.OpenType !== 'popview') return + + uuids.push(cell.uuid) + }) + }) + } else if (card.type === 'balcony') { + card.elements && card.elements.forEach(cell => { + if (appType === 'pc' && cell.OpenType !== 'popview') return + + uuids.push(cell.uuid) }) } } @@ -301,6 +372,13 @@ }) } }) + } else if (item.type === 'balcony') { + if (item.elements) { + item.elements = item.elements.map(cell => { + cell.uuid = this.getuuid() + return cell + }) + } } else if (item.type === 'table' && item.subtype === 'normaltable' && item.cols) { let loopCol = (col) => { col.subcols = col.subcols.map(c => { @@ -355,7 +433,24 @@ return cell }) } - if (item.search) { + if (item.type === 'topbar') { + if (item.search && item.search.fields) { + item.search.fields = item.search.fields.map(cell => { + cell.uuid = this.getuuid() + return cell + }) + } + if (item.search && item.search.groups) { + item.search.groups = item.search.groups.map(cell => { + cell.uuid = this.getuuid() + cell.fields = cell.fields.map(m => { + m.uuid = this.getuuid() + return m + }) + return cell + }) + } + } else if (item.search) { item.search = item.search.map(cell => { cell.uuid = this.getuuid() return cell @@ -384,10 +479,10 @@ // scaleview _style = _style.replace(/\d+vw/ig, (word) => { - return parseFloat(word) * 420 / 100 + 'px' + return parseFloat(word) * (window.GLOB.winWidth || 420) / 100 + 'px' // return parseFloat(word) * 350 / 100 + 'px' }).replace(/\d+vh/ig, (word) => { - return parseFloat(word) * 738 / 100 + 'px' + return parseFloat(word) * (window.GLOB.winHeight || 738) / 100 + 'px' // return parseFloat(word) * 615 / 100 + 'px' }) -- Gitblit v1.8.0