From 49fabbaab6ad5ab8ab6d8da3954384e0281f6134 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 05 六月 2024 23:49:17 +0800 Subject: [PATCH] 2024-06-05 --- src/utils/utils-custom.js | 318 ++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 216 insertions(+), 102 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index b426415..6d66833 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -193,6 +193,42 @@ } /** + * @description 鑾峰彇鎸囧畾缁勪欢 + * @return {String} 缁勪欢id + */ + static getComponent (Id) { + let interfaces = window.GLOB.customMenu.interfaces + let components = window.GLOB.customMenu.components + let cell = null + + let mapComponents = (components = []) => { + components.forEach(item => { + if (item.uuid === Id) { + cell = item + }else if (item.type === 'tabs') { + item.subtabs.forEach(f_tab => { + mapComponents(f_tab.components) + }) + } else if (item.type === 'group') { + mapComponents(item.components) + } + }) + } + + mapComponents(components) + + if (!cell && interfaces) { + interfaces.forEach(m => { + if (m.uuid === Id && m.status === 'true') { + cell = m + } + }) + } + + return cell + } + + /** * @description 鑾峰彇涓婄骇妯″潡 * @return {String} selfId 褰撳墠缁勪欢id */ @@ -325,80 +361,6 @@ check(modules) return has - } - - /** - * @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 } /** @@ -540,7 +502,16 @@ return cell }) } - } else if (item.type === 'table' && item.cols) { + } else if (item.type === 'table') { + if (item.supNodes && item.supNodes.length > 0) { + item.supNodes = item.supNodes.map(cell => { + cell.nodes = cell.nodes.map(n => md5(commonId + n)) + cell.componentId = cell.nodes[cell.nodes.length - 1] + + return cell + }) + } + let loopCol = (cols) => { return cols.map(col => { if (col.type === 'action') { @@ -578,7 +549,7 @@ }) } - item.cols = loopCol(item.cols) + item.cols = loopCol(item.cols || []) if (item.colsCtrls) { item.colsCtrls = item.colsCtrls.map(col => { @@ -846,7 +817,7 @@ return cell }) } - } else if (item.type === 'table' && item.cols) { + } else if (item.type === 'table') { let loopCol = (cols) => { return cols.map(col => { if (col.type === 'action') { @@ -887,7 +858,7 @@ }) } - item.cols = loopCol(item.cols) + item.cols = loopCol(item.cols || []) if (item.colsCtrls) { item.colsCtrls = item.colsCtrls.map(col => { @@ -969,6 +940,128 @@ } /** + * @description 鑾峰彇鍙叧鑱旀ā鍧� + */ +export function 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: 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 鑾峰彇鍏叡鏁版嵁婧� + */ +export function getInterfaces () { + let menu = window.GLOB.customMenu + + let interfaces = [] + if (menu.interfaces) { + menu.interfaces.forEach(item => { + if (item.status === 'true') { + interfaces.push({ + value: item.uuid, + label: item.name, + columns: JSON.parse(JSON.stringify(item.columns)) + }) + } + }) + } + + let mapComponents = (components = []) => { + components.forEach(item => { + if (item.type === 'card' && item.subtype === 'datacard') { + interfaces.push({ + value: item.uuid, + label: item.name + '锛堟暟鎹崱锛�', + columns: JSON.parse(JSON.stringify(item.columns)) + }) + } else if (item.type === 'table' && item.subtype === 'normaltable') { + interfaces.push({ + value: item.uuid, + label: item.name + '锛堝父鐢ㄨ〃锛�', + columns: JSON.parse(JSON.stringify(item.columns)) + }) + } else if (item.type === 'tabs') { + item.subtabs.forEach(f_tab => { + mapComponents(f_tab.components) + }) + } else if (item.type === 'group') { + mapComponents(item.components) + } + }) + } + + mapComponents(menu.components) + + return interfaces +} + +/** * @description 鏍煎紡鍖栨悳绱㈡潯浠� */ export function formatSearch (searches) { @@ -1009,7 +1102,7 @@ } else if (item.type === 'daterange') { value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000' } else if (item.type === 'range') { - value = item.initval || `${item.minValue || '-999999'},${item.maxValue || '999999'}` + value = item.initval || `${item.minValue || '-999999999'},${item.maxValue || '999999999'}` } else if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) { type = 'multi' } @@ -1058,7 +1151,7 @@ searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')') } else if (item.type === 'range') { let val = item.value.split(',') - searchText.push('(' + item.key + ' >= ' + (val[0] || -999999) + ' AND ' + item.key + ' <= ' + (val[1] || 999999) + ')') + searchText.push('(' + item.key + ' >= ' + (val[0] || -999999999) + ' AND ' + item.key + ' <= ' + (val[1] || 999999999) + ')') } else if (item.type === 'datemonth') { if (item.match === '=') { searchText.push('(' + item.key + ' = \'' + item.value + '\')') @@ -1122,10 +1215,10 @@ let val = item.value.split(',') options.push({ reg: new RegExp('@' + item.key + '@', 'ig'), - value: `${val[0] || -999999}` + value: `${val[0] || -999999999}` }, { reg: new RegExp('@' + item.key + '1@', 'ig'), - value: `${val[1] || 999999}` + value: `${val[1] || 999999999}` }) } else if (item.type === 'datemonth') { if (item.match === '=') { @@ -1186,39 +1279,43 @@ let _usefulFields = [] searches.forEach(item => { - if (!item.field) return + let key = item.key || item.field + + if (!key) return if (item.type === 'group') { - _usefulFields.push(item.field) - _usefulFields.push(item.datefield) - _usefulFields.push(item.datefield + '1') + _usefulFields.push(key) + if (item.datefield) { + _usefulFields.push(item.datefield) + _usefulFields.push(item.datefield + '1') + } } else if (item.type === 'dateweek') { - _usefulFields.push(item.field) - _usefulFields.push(item.field + '1') + _usefulFields.push(key) + _usefulFields.push(key + '1') } else if (item.type === 'datemonth') { if (item.match === '=') { - _usefulFields.push(item.field) + _usefulFields.push(key) } else { - _usefulFields.push(item.field) - _usefulFields.push(item.field + '1') + _usefulFields.push(key) + _usefulFields.push(key + '1') } } else if (item.type === 'range') { - _usefulFields.push(item.field) - _usefulFields.push(item.field + '1') + _usefulFields.push(key) + _usefulFields.push(key + '1') } else if (item.type === 'daterange') { - let _skey = item.field - let _ekey = item.field + '1' + let _skey = key + let _ekey = key + '1' - if (/,/.test(item.field)) { - _skey = item.field.split(',')[0] - _ekey = item.field.split(',')[1] + if (/,/.test(key)) { + _skey = key.split(',')[0] + _ekey = key.split(',')[1] } _usefulFields.push(_skey) _usefulFields.push(_ekey) - } else if (item.type === 'date' && _usefulFields.includes(item.field)) { - _usefulFields.push(item.field + '1') + } else if (item.type === 'date' && _usefulFields.includes(key)) { + _usefulFields.push(key + '1') } else { - _usefulFields.push(item.field) + _usefulFields.push(key) } }) @@ -1645,6 +1742,16 @@ if (card.$c_ds) { columns = card.columns.map(c => c.field) + + if (card.setting.primaryKey && !columns.includes(card.setting.primaryKey)) { + let key = card.setting.primaryKey.toLowerCase() + columns.forEach(f => { + if (f.toLowerCase() === key) { + card.setting.primaryKey = f + } + }) + } + if (card.setting.interType === 'system' && card.setting.execute !== 'false' && !card.setting.dataresource) { errors.push({ level: 0, detail: '鏈缃暟鎹簮锛�'}) } else if (card.setting.interType === 'system' && card.setting.execute === 'false' && card.scripts.filter(script => script.status !== 'false').length === 0) { @@ -1661,7 +1768,7 @@ } else if (!card.setting.supModule) { errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'}) } - } else if (card.type === 'card' && card.subtype === 'datacard') { // 鏁版嵁鍗★紝鍙兘鏈夊涓婄骇 + } else if ((card.type === 'card' && card.subtype === 'datacard') || card.subtype === 'normaltable') { // 鏁版嵁鍗°�乼able锛屽彲鑳芥湁澶氫笂绾� if (card.wrap.supType !== 'multi' && !card.setting.supModule) { errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'}) } @@ -1897,6 +2004,13 @@ duration: 5 }) return false + } else if (/\send\s+begin\s/ig.test(sql)) { + notification.warning({ + top: 92, + message: `end 鍚庝笉鍙揣璺� begin銆俙, + duration: 5 + }) + return false } else if (type === 'customscript' && /\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig.test(sql)) { let list = sql.match(/\son\s+[a-z0-9_]+\.[a-z0-9_]+\s*=\s*[a-z0-9_]+\.[a-z0-9_]+/ig) let errors = [] -- Gitblit v1.8.0