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