From 73a5124745890650d0fc91234bdbaa66d9bcbc6a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 09 六月 2021 17:52:01 +0800 Subject: [PATCH] 2021-06-09 --- src/templates/sharecomponent/settingcomponent/index.jsx | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/templates/sharecomponent/settingcomponent/index.jsx b/src/templates/sharecomponent/settingcomponent/index.jsx index bad5664..dfd1ac0 100644 --- a/src/templates/sharecomponent/settingcomponent/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/index.jsx @@ -59,7 +59,8 @@ this.setState({ loading: true }) - this.settingRef.handleConfirm().then(res => { + this.settingRef.handleConfirm().then(setting => { + let res = this.resetSetting(setting) this.setState({ visible: false, loading: false @@ -83,7 +84,8 @@ const { menu } = this.state this.settingRef.handleConfirm('func').then(setting => { - let _config = {...config, setting: setting} + let res = this.resetSetting(setting) + let _config = {...config, setting: res} let newLText = Utils.formatOptions(FuncUtils.getTableFunc(setting, menu, _config)) // 鍒涘缓瀛樺偍杩囩▼sql let DelText = Utils.formatOptions(FuncUtils.dropfunc(setting.innerFunc)) // 鍒犻櫎瀛樺偍杩囩▼sql @@ -103,7 +105,8 @@ const { menu } = this.state this.settingRef.handleConfirm('interface').then(setting => { - let _config = {...config, setting: setting} + let res = this.resetSetting(setting) + let _config = {...config, setting: res} let _menu = { type: config.Template === 'CommonTable' ? 'main' : 'subtable', MenuID: menu.MenuID, @@ -115,6 +118,30 @@ }) } + resetSetting = (s) => { + let setting = fromJS(s).toJS() + + if (window.GLOB.funcs && window.GLOB.funcs.length > 0) { + window.GLOB.funcs.forEach(m => { + let reg = new RegExp('\\$ex@' + m.func_code + '@ex\\$', 'ig') + setting.scripts.forEach(item => { + item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + }) + setting.preScripts.forEach(item => { + item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + }) + setting.cbScripts.forEach(item => { + item.sql = item.sql.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + }) + if (setting.dataresource) { + setting.dataresource = setting.dataresource.replace(reg, `/*$ex@${m.func_code}-begin*/\n${m.key_sql}\n/*@ex$-end*/`) + } + }) + } + + return setting + } + shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.state), fromJS(nextState)) } -- Gitblit v1.8.0