king
2021-11-17 c51f5e007a3e03c9d6731ab7f28f0080de009990
src/templates/comtableconfig/index.jsx
@@ -113,12 +113,6 @@
            curuuid: uuid,
            Template: 'Modal'
          })
        } else if (item.OpenType === 'tab' && item.tabTemplate === 'FormTab') { // 含有子配置项的按钮(标签页打开)
          _oriActions.push({
            prebtn: fromJS(item).toJS(),
            curuuid: uuid,
            Template: 'FormTab'
          })
        }
        item.uuid = uuid
@@ -622,7 +616,6 @@
        let curBtn = config.action.filter(cell => item.curuuid === cell.uuid)[0] // 查看初始化按钮是否存在
        if (!curBtn) return
        if (curBtn.OpenType !== item.prebtn.OpenType) return
        if (curBtn.OpenType === 'tab' && curBtn.tabTemplate !== 'FormTab') return
        if (curBtn.OpenType === 'funcbutton' && curBtn.execMode !== 'pop') return
        oriActions.push({
@@ -641,76 +634,30 @@
          MenuID: action.prebtn.uuid
        }).then(result => {
          if (result.status && result.LongParam) {
            let _LongParam = ''
            let _temp = ''
            if (result.LongParam) {
              let _subconfig = ''
              try {
                _subconfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParam)))
                _temp = _subconfig.type
              } catch (e) {
                console.warn('Parse Failure')
                _subconfig = ''
              }
              if (_temp === 'FormTab') {
                try {
                  _subconfig.action = _subconfig.action.map(_btn => {
                    _btn.uuid = Utils.getuuid()
                    return _btn
                  })
                  // 兼容已有结构
                  if (!_subconfig.tabgroups) {
                    _subconfig.tabgroups = [{ uuid: 'tabs', sublist: [] }]
                  } else if (typeof(_subconfig.tabgroups[0]) === 'string') {
                    let _tabgroups = []
                    _subconfig.tabgroups.forEach(groupId => {
                      let _group = {
                        uuid: groupId,
                        sublist: fromJS(_subconfig[groupId]).toJS()
                      }
                      delete _subconfig[groupId]
                      _tabgroups.push(_group)
                    })
                    _subconfig.tabgroups = _tabgroups
                  }
                  _subconfig.tabgroups.forEach(group => {
                    group.sublist = group.sublist.map(_tab => {
                      _tab.uuid = Utils.getuuid()
                      _tab.linkTab = Utils.getuuid()
                      return _tab
                    })
                  })
                  _subconfig = window.btoa(window.encodeURIComponent(JSON.stringify(_subconfig)))
                } catch (e) {
                  console.warn('Stringify Failure')
                  _subconfig = ''
                }
                _LongParam = _subconfig
              } else if (_subconfig) {
                _LongParam = result.LongParam
              }
            let _subconfig = ''
            try {
              _subconfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParam)))
              _temp = _subconfig.type
            } catch (e) {
              console.warn('Parse Failure')
              _subconfig = ''
            }
            if (_LongParam) {
              let param = {
                func: 'sPC_ButtonParam_AddUpt',
                ParentID: this.props.menu.MenuID,
                MenuID: action.curBtn.uuid,
                MenuNo: config.MenuNo,
                Template: _temp,
                MenuName: action.curBtn.label,
                PageParam: JSON.stringify({Template: _temp}),
                LongParam: _LongParam
              }
              Api.getSystemConfig(param).then(() => {})
            if (!_subconfig) return
            let param = {
              func: 'sPC_ButtonParam_AddUpt',
              ParentID: this.props.menu.MenuID,
              MenuID: action.curBtn.uuid,
              MenuNo: config.MenuNo,
              Template: _temp,
              MenuName: action.curBtn.label,
              PageParam: JSON.stringify({Template: _temp}),
              LongParam: result.LongParam
            }
            Api.getSystemConfig(param).then(() => {})
          }
        })
      })