king
2021-06-09 73a5124745890650d0fc91234bdbaa66d9bcbc6a
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))
  }