From cce4ab076f3fa26f393fe4039ef5a891e2e8b2a1 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 31 十二月 2024 10:49:28 +0800 Subject: [PATCH] 2024-12-31 --- src/utils/utils-custom.js | 120 ++++++++++++++++++++++++++++++++---------------------------- 1 files changed, 64 insertions(+), 56 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index 27a4c57..8058453 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -652,7 +652,7 @@ */ static resetBtn (btn, commonId) { if (btn.OpenType === 'pop' || (btn.OpenType === 'funcbutton' && btn.execMode === 'pop')) { - if (btn.modal && btn.modal.fields.length > 0) { + if (btn.modal && btn.modal.fields && btn.modal.fields.length > 0) { btn.modal.fields = btn.modal.fields.map(m => { m.uuid = this.getuuid() return m @@ -684,6 +684,10 @@ return md5(commonId + m) }) + } + + if (btn.OpenType === 'popview' && btn.config && btn.config.components) { + btn.config.components = this.resetConfig(btn.config.components, commonId) } } @@ -771,14 +775,7 @@ if (cell.eleType === 'button') { cell.uuid = md5(commonId + cell.uuid) - if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { - if (cell.modal && cell.modal.fields.length > 0) { - cell.modal.fields = cell.modal.fields.map(m => { - m.uuid = this.getuuid() - return m - }) - } - } + this.resetBtn(cell, commonId) } else { cell.uuid = this.getuuid() } @@ -792,14 +789,8 @@ card.backElements = card.backElements.map(cell => { if (cell.eleType === 'button') { cell.uuid = md5(commonId + cell.uuid) - if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { - if (cell.modal && cell.modal.fields.length > 0) { - cell.modal.fields = cell.modal.fields.map(m => { - m.uuid = this.getuuid() - return m - }) - } - } + + this.resetBtn(cell, commonId) } else { cell.uuid = this.getuuid() } @@ -818,14 +809,8 @@ item.elements = item.elements.map(cell => { if (cell.eleType === 'button') { cell.uuid = md5(commonId + cell.uuid) - if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { - if (cell.modal && cell.modal.fields.length > 0) { - cell.modal.fields = cell.modal.fields.map(m => { - m.uuid = this.getuuid() - return m - }) - } - } + + this.resetBtn(cell, commonId) } else { cell.uuid = this.getuuid() } @@ -850,14 +835,7 @@ col.elements = col.elements.map(cell => { cell.uuid = md5(commonId + cell.uuid) if (cell.eleType === 'button') { - if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { - if (cell.modal && cell.modal.fields.length > 0) { - cell.modal.fields = cell.modal.fields.map(m => { - m.uuid = this.getuuid() - return m - }) - } - } + this.resetBtn(cell, commonId) } return cell }) @@ -902,14 +880,7 @@ } item.action = item.action.map(cell => { cell.uuid = md5(commonId + cell.uuid) - if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) { - if (cell.modal && cell.modal.fields.length > 0) { - cell.modal.fields = cell.modal.fields.map(m => { - m.uuid = this.getuuid() - return m - }) - } - } + this.resetBtn(cell, commonId) return cell }) @@ -3084,11 +3055,18 @@ GOTO_RETURN: ROLLBACK TRAN` - let filterComponent = (components, mainSearch, label = '') => { + let filterComponent = (components, mainSearch, label = '', ispop) => { components.forEach(item => { item.$menuname = (config.MenuName || '') + label + '-' + (item.name || '') if (item.type === 'tabs') { + if (config.Template === 'BaseTable') { + item.subtabs.forEach(tab => { + if (tab.permission !== 'true' && tab.components[0] && tab.components[0].wrap) { + tab.components[0].wrap.permission = 'false' + } + }) + } item.subtabs.forEach(tab => { let _mainSearch = mainSearch || [] @@ -3099,10 +3077,11 @@ _mainSearch = com.search || [] }) } - filterComponent(tab.components, _mainSearch, label) + + filterComponent(tab.components, _mainSearch, label, ispop) }) } else if (item.type === 'group') { - filterComponent(item.components, mainSearch, label) + filterComponent(item.components, mainSearch, label, ispop) } else { if (item.wrap && item.setting) { if (item.wrap.datatype === 'public' || item.wrap.datatype === 'static') { @@ -3140,6 +3119,8 @@ roleId = '' } else if (item.setting.database === 'sso') { roleId = '' + } else if (ispop) { + roleId = '' } sqls.push({uuid: item.uuid, roleId: roleId, type: 'datasource', ...msg}) @@ -3154,7 +3135,7 @@ item.action && item.action.forEach(cell => { if (cell.hidden === 'true') return false - resetButton(item, cell) + resetButton(item, cell, false, ispop) }) if (item.type === 'table') { @@ -3169,7 +3150,7 @@ col.elements.forEach(cell => { if (cell.eleType !== 'button' || cell.hidden === 'true') return - resetButton(item, cell) + resetButton(item, cell, false, ispop) }) } else if (item.subtype === 'editable' && col.editable === 'true') { if (col.editType === 'select' && col.resourceType === '1') { @@ -3206,7 +3187,7 @@ card.elements && card.elements.forEach(cell => { if (cell.eleType !== 'button' || cell.hidden === 'true') return - resetButton(item, cell) + resetButton(item, cell, false, ispop) }) if (!card.backElements || card.backElements.length === 0) return @@ -3214,14 +3195,14 @@ card.backElements.forEach(cell => { if (cell.eleType !== 'button' || cell.hidden === 'true') return - resetButton(item, cell, true) + resetButton(item, cell, true, ispop) }) }) } else if (item.type === 'balcony') { item.elements.forEach(cell => { if (cell.eleType !== 'button' || cell.hidden === 'true') return - resetButton(item, cell) + resetButton(item, cell, false, ispop) }) } else if (item.type === 'form') { item.subcards.forEach(group => { @@ -3234,7 +3215,7 @@ fields: group.fields } - resetButton(item, group.subButton) + resetButton(item, group.subButton, false, ispop) }) } else if (item.type === 'module' && item.subtype === 'invoice') { if (item.buyer.setting && item.buyer.setting.interType === 'system') { @@ -3265,7 +3246,7 @@ }) } - let resetButton = (item, cell, isback) => { + let resetButton = (item, cell, isback, ispop) => { cell.logLabel = item.$menuname + '-' + cell.label let roleId = cell.uuid if (item.wrap && item.wrap.permission === 'false') { @@ -3273,6 +3254,8 @@ } else if (cell.hidden === 'true' || cell.permission === 'false') { roleId = '' } else if (cell.database === 'sso') { + roleId = '' + } else if (ispop) { roleId = '' } @@ -3319,7 +3302,7 @@ } else if (form.type === 'popSelect') { let msg = getPopSelectSql(form) - sqls.push({uuid: form.uuid, type: 'popSource', ...msg}) + sqls.push({uuid: md5(cell.uuid + form.uuid), type: 'popSource', ...msg}) } }) } @@ -3362,7 +3345,7 @@ } else if (form.type === 'popSelect') { let msg = getPopSelectSql(form) - sqls.push({uuid: form.uuid, type: 'popSource', ...msg}) + sqls.push({uuid: md5(cell.uuid + form.uuid), type: 'popSource', ...msg}) } }) } @@ -3402,7 +3385,7 @@ }) } - filterComponent(cell.config.components, _mainSearch, '-' + cell.label) + filterComponent(cell.config.components, _mainSearch, '-' + cell.label, true) } } } @@ -4695,7 +4678,7 @@ } else if (['mk_address'].includes(s)) { decSql.push(`@mk_address nvarchar(100)`) } else if (['mk_deleted'].includes(s)) { - secSql.push(`@mk_deleted int`) + decSql.push(`@mk_deleted int`) } else { decSql.push(`@${s} nvarchar(50)`) } @@ -4890,7 +4873,7 @@ let DateCount = '' if (_dataresource) { /*system_query*/ - if (/@pageSize@|@orderBy@|@mk_total/i.test(testSql)) { + if (/@pageSize@|@orderBy@|@mk_total/i.test(testSql) || (item.wrap && item.wrap.tree === 'true')) { LText = `select ${arr_field} from ${_dataresource} ${_search} ` } else if (item.setting.laypage === 'true' && item.setting.order) { LText = `select top @pageSize@ ${arr_field} from (select ${arr_field} ,ROW_NUMBER() over(order by @orderBy@) as rows from ${_dataresource} ${_search}) tmptable where rows > @pageSize@ * (@pageIndex@ - 1) order by tmptable.rows ` @@ -6438,5 +6421,30 @@ filterComponent(config.components, _mainSearch) + let keys = sqls.map(item => item.uuid) + if (keys.length > Array.from(new Set(keys)).length && !window.GLOB.syscheck) { + let m = new Map() + let n = new Map() + sqls.forEach(item => { + if (m.has(item.uuid)) { + if (!n.has(item.uuid)) { + window.mkInfo(m.get(item.uuid)) + n.set(item.uuid, true) + } + window.mkInfo(item) + } else { + m.set(item.uuid, item) + } + }) + + notification.warning({ + top: 92, + message: '瀛樺湪閲嶅鐨勫悗绔剼鏈琁D锛�', + duration: 5 + }) + + return [] + } + return sqls } \ No newline at end of file -- Gitblit v1.8.0