From 03a22ec6f9ad7303d10b4c65bb5bc6fa5cbd448a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 22 十月 2022 23:21:42 +0800 Subject: [PATCH] 2022-10-22 --- src/utils/utils-custom.js | 233 +++++++++++++++++++++++---------------------------------- 1 files changed, 95 insertions(+), 138 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index d021b1a..b783fc3 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -4,44 +4,51 @@ * @return {String} selfId 褰撳墠缁勪欢id */ static getSubModules (components, selfId, supId) { - let modules = components.map(item => { + let modules = [] + components.forEach(item => { if (item.uuid === selfId || item.type === 'navbar') { - return { - children: null - } + return } else if (item.format) { // 鏁版嵁鏍煎紡锛屽瓨鍦ㄦ暟鎹簮 - return { + modules.push({ value: item.uuid, label: item.name, disabled: supId === item.uuid - } + }) } else if (item.type === 'tabs') { - let _item = { - type: 'tabs', - value: item.uuid, - label: item.name, - children: item.subtabs.map(f_tab => { - let subItem = { - type: 'tab', - value: f_tab.uuid, - label: f_tab.label, - children: this.getSubModules(f_tab.components, selfId) - } - - if (!subItem.children || subItem.children.length === 0) { - return {children: null} - } - return subItem + if (item.subtype === 'tabletabs') { + item.subtabs.forEach(tab => { + modules.push({ + value: tab.components[0].uuid, + label: tab.label, + disabled: supId === tab.components[0].uuid + }) }) + } else { + let _item = { + type: 'tabs', + value: item.uuid, + label: item.name, + children: item.subtabs.map(f_tab => { + let subItem = { + type: 'tab', + value: f_tab.uuid, + label: f_tab.label, + children: this.getSubModules(f_tab.components, selfId, supId) + } + + if (subItem.children.length === 0) { + return {children: null} + } + return subItem + }) + } + + _item.children = _item.children.filter(t => t.children !== null) + + if (_item.children.length > 0) { + modules.push(_item) + } } - - _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, @@ -54,7 +61,8 @@ } else if (f_tab.format) { return { value: f_tab.uuid, - label: f_tab.name + label: f_tab.name, + disabled: supId === f_tab.uuid } } return { @@ -65,23 +73,12 @@ _item.children = _item.children.filter(t => t.children !== null) - if (_item.children.length === 0) { - return {children: null} - } - - return _item - } else { - return { - children: null + if (_item.children.length > 0) { + modules.push(_item) } } }) - modules = modules.filter(mod => mod.children !== null) - - if (modules.length === 0) { - return null - } return modules } @@ -175,11 +172,10 @@ * @return {String} selfId 褰撳墠缁勪欢id */ static getSupModules (components, selfId) { - let modules = components.map(item => { + let modules = [] + components.forEach(item => { if (item.uuid === selfId) { - return { - children: null - } + } else if (item.switchable) { // 鏁版嵁鍙垏鎹� let disabled = false if (item.type === 'card') { @@ -187,41 +183,51 @@ } else if (item.type === 'table') { disabled = item.wrap.tableType === '' } - return { + modules.push({ value: item.uuid, label: item.name, disabled: disabled - } + }) } else if (item.type === 'form') { // 鏁版嵁鏍煎紡锛屽瓨鍦ㄦ暟鎹簮 - return { + modules.push({ 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.getSupModules(f_tab.components, selfId) - } + if (item.subtype === 'tabletabs') { + item.subtabs.forEach(tab => { + if (tab.components[0].uuid === selfId) return - if (!subItem.children || subItem.children.length === 0) { - return {children: null} - } - return subItem + modules.push({ + value: tab.components[0].uuid, + label: tab.label, + disabled: tab.components[0].wrap.tableType === '' + }) }) + } else { + 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.getSupModules(f_tab.components, selfId) + } + + if (subItem.children.length === 0) { + return {children: null} + } + return subItem + }) + } + + _item.children = _item.children.filter(t => t.children !== null) + + if (_item.children.length > 0) { + modules.push(_item) + } } - - _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, @@ -232,9 +238,16 @@ children: null } } else if (f_tab.switchable) { + let disabled = false + if (f_tab.type === 'card') { + disabled = f_tab.wrap.cardType === '' + } else if (f_tab.type === 'table') { + disabled = f_tab.wrap.tableType === '' + } return { value: f_tab.uuid, - label: f_tab.name + label: f_tab.name, + disabled: disabled } } return { @@ -245,23 +258,12 @@ _item.children = _item.children.filter(t => t.children !== null) - if (_item.children.length === 0) { - return {children: null} - } - - return _item - } else { - return { - children: null + if (_item.children.length > 0) { + modules.push(_item) } } }) - modules = modules.filter(mod => mod.children !== null) - - if (modules.length === 0) { - return null - } return modules } @@ -438,20 +440,10 @@ item.subtabs.forEach(tab => { uuids[tab.uuid] = this.getuuid() tab.uuid = uuids[tab.uuid] - tab.parentId = item.uuid - - tab.components = tab.components.map(cell => { - cell.tabId = tab.uuid - cell.parentId = item.uuid - return cell - }) + tab.components = this.resetConfig(tab.components, uuids, clear) }) } else if (item.type === 'group') { - item.components = item.components.map(cell => { - cell.parentId = item.uuid - return cell - }) item.components = this.resetConfig(item.components, uuids, clear) } else if (item.type === 'menubar') { item.subMenus = item.subMenus.map(cell => { @@ -671,46 +663,15 @@ } /** - * @description 閲嶇疆鑿滃崟閰嶇疆锛岄〉闈㈡暣浣撳鍒� - * @return {String} components 閰嶇疆淇℃伅 + * @description 缁勪欢鍚嶅姞鍚庣紑 */ - static getFloor = (id) => { - let floor = 1 - let finish = false - - let reCheck = (components, f) => { - components.forEach(item => { - if (finish) return - if (item.type === 'tabs') { - if (item.uuid === id) { - floor = f - finish = true - } else { - item.subtabs.forEach(tab => { - reCheck(tab.components, f + 1) - }) - } - } - }) - } - - reCheck(window.GLOB.customMenu.components, 1) - - return floor - } - - /** - * @description 鏁版嵁婧愬悕绉帮紝鐢ㄤ簬缁熶竴鏌ヨ - * @return {String} name - */ - static getdataName () { + static getSignName () { let name = [] let _options = 'abcdefghigklmnopqrstuvwxyz' - for (let i = 0; i < 6; i++) { + for (let i = 0; i < 3; i++) { name.push(_options.substr(Math.floor(Math.random() * 26), 1)) } - name.splice(3, 0, new Date().getTime()) - return name.join('') + return (Math.floor(Math.random()*10) + name.join('')).toUpperCase() } /** @@ -728,12 +689,8 @@ item.uuid = _uuid - if (item.dataName) { - item.dataName = this.getdataName() - } - // 閲嶇疆缁勪欢鍚嶇О - let sign = this.getdataName().toUpperCase().substr(-4) + let sign = this.getSignName() if (item.plot) { // 鍥捐〃 item.plot.name = item.plot.name + sign item.name = item.plot.name -- Gitblit v1.8.0