king
2023-03-11 34e7681fd12b1c4e4994d3bea1a553870e10bc50
src/templates/comtableconfig/index.jsx
@@ -58,7 +58,6 @@
    delActions: [],          // 删除按钮列表
    copyActions: [],         // 复制按钮组
    tabviews: [],            // 所有标签页
    thawButtons: [],         // 已选择要解冻的按钮
    activeKey: '0',          // 默认展开基本信息
    chartview: null,         // 当前视图
    openEdition: '',         // 编辑版本标记,防止多人操作
@@ -294,7 +293,7 @@
   */
  submitConfig = () => {
    const { menu } = this.props
    const { delActions, thawButtons, openEdition } = this.state
    const { delActions, openEdition } = this.state
    let _config = fromJS(this.state.config).toJS()
@@ -380,7 +379,7 @@
    }
    let _sort = 0
    let btntabs = []
    // let btntabs = []
    let btnParam = {             // 添加菜单按钮
      func: 'sPC_Button_AddUpt',
@@ -396,14 +395,14 @@
    _config.action.forEach(item => {
      if (item.hidden === 'true') return
      _sort++
      if (item.OpenType === 'popview') {
        btntabs.push({
          uuid: item.uuid,
          linkTab: item.linkTab,
          label: item.label,
          sort: _sort
        })
      }
      // if (item.OpenType === 'popview') {
      //   btntabs.push({
      //     uuid: item.uuid,
      //     linkTab: item.linkTab,
      //     label: item.label,
      //     sort: _sort
      //   })
      // }
      
      btnParam.LText.push(`select '${item.uuid}' as menuid, '${item.label}' as menuname, '${_sort * 10}' as Sort`)
    })
@@ -413,33 +412,33 @@
    btnParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    btnParam.secretkey = Utils.encrypt(btnParam.LText, btnParam.timestamp)
    
    let tabParam = { // 添加菜单tab页
      func: 'sPC_sMenusTab_AddUpt',
      MenuID: menu.MenuID
    }
    // let tabParam = { // 添加菜单tab页
    //   func: 'sPC_sMenusTab_AddUpt',
    //   MenuID: menu.MenuID
    // }
    let _LText = []
    // let _LText = []
    btntabs.forEach(item => {
      _LText.push(`select '${item.uuid}' as MenuID ,'${item.linkTab}' as Tabid,'${item.label}' as TabName ,'${item.sort * 10}' as Sort`)
    })
    _config.tabgroups.forEach(group => {
      group.sublist.forEach(item => {
        _sort++
        _LText.push(`select '${menu.MenuID}' as MenuID ,'${item.linkTab}' as Tabid,'${item.label}' as TabName ,'${_sort * 10}' as Sort`)
      })
    })
    // btntabs.forEach(item => {
    //   _LText.push(`select '${item.uuid}' as MenuID ,'${item.linkTab}' as Tabid,'${item.label}' as TabName ,'${item.sort * 10}' as Sort`)
    // })
    // _config.tabgroups.forEach(group => {
    //   group.sublist.forEach(item => {
    //     _sort++
    //     _LText.push(`select '${menu.MenuID}' as MenuID ,'${item.linkTab}' as Tabid,'${item.label}' as TabName ,'${_sort * 10}' as Sort`)
    //   })
    // })
    _LText = _LText.join(' union all ')
    // _LText = _LText.join(' union all ')
    // 清空菜单下关联的标签
    if (!_LText) {
      _LText = `select '${menu.MenuID}' as MenuID ,'' as Tabid,'' as TabName ,'0' as Sort`
    }
    // if (!_LText) {
    //   _LText = `select '${menu.MenuID}' as MenuID ,'' as Tabid,'' as TabName ,'0' as Sort`
    // }
    tabParam.LText = Utils.formatOptions(_LText)
    tabParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    tabParam.secretkey = Utils.encrypt(tabParam.LText, tabParam.timestamp)
    // tabParam.LText = Utils.formatOptions(_LText)
    // tabParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    // tabParam.secretkey = Utils.encrypt(tabParam.LText, tabParam.timestamp)
    let _vals = this.getFuncNames(_config)
@@ -538,26 +537,7 @@
      }).then(resp => {
        if (resp === false) return
        if (thawButtons.length > 0) {
          let defers = thawButtons.map(item => {
            return new Promise((resolve) => {
              Api.getSystemConfig({
                func: 'sPC_MainMenu_ReDel',
                MenuID: item
              }).then(res => {
                if (res.status) {
                  resolve('')
                } else {
                  resolve(res.message)
                }
              })
            })
          })
          return Promise.all(defers)
        } else {
          return true
        }
        return true
      }).then(res => {
        if (res === true || res === false) return res
@@ -570,9 +550,6 @@
          })
          return false
        } else {
          this.setState({
            thawButtons: []
          })
          return true
        }
      }).then(resp => {
@@ -596,7 +573,7 @@
            delete localParam.EasyCode
            delete localParam.open_edition
            this.submitAction(btnParam, tabParam, localParam)
            this.submitAction(btnParam, localParam)
          } else {
            this.setState({
              menuloading: false,
@@ -616,52 +593,29 @@
  /**
   * @description 保存或修改菜单按钮集
   */
  submitAction = (btnParam, tabParam, localParam) => {
  submitAction = (btnParam, localParam) => {
    const { config } = this.state
    new Promise(resolve => {
      let deffers = []
      let defer = new Promise(resolve => {
        Api.getSystemConfig(tabParam).then(result => {
          resolve(result)
        })
      })
      deffers.push(defer)
      if (btnParam.LText) {
        let defer = new Promise(resolve => {
          Api.getSystemConfig(btnParam).then(result => {
            if (result.status) {
              this.setState({ // 保存成功后清空复制列表
                copyActions: []
              })
            }
        Api.getSystemConfig(btnParam).then(result => {
          if (result.status) {
            this.setState({ // 保存成功后清空复制列表
              copyActions: []
            })
            resolve(result)
          })
        })
        deffers.push(defer)
      }
      Promise.all(deffers).then(result => {
        let error = false
        result.forEach(res => {
          if (!res.status) {
            error = res
          } else {
            notification.warning({
              top: 92,
              message: result.message,
              duration: 5
            })
            resolve(false)
          }
        })
        if (error) {
          notification.warning({
            top: 92,
            message: error.message,
            duration: 5
          })
          resolve(false)
        } else {
          resolve(true)
        }
      })
      } else {
        resolve(true)
      }
    }).then(response => {
      if (response === false) return response
@@ -1024,7 +978,6 @@
   */
  editConfig = (res) => {
    this.setState({
      thawButtons: res.thawButtons,
      config: res.config
    })
  }
@@ -1250,7 +1203,7 @@
                <Unattended config={config} updateConfig={this.updateconfig}/>
                <Versions MenuId={menu.MenuID} open_edition={openEdition} updateConfig={this.refreshConfig}/>
                <ReplaceField type="table" config={config} updateConfig={this.updateconfig}/>
                <EditComponent type="table" options={['search', 'form', 'action', 'columns']} config={this.state.config} MenuID={this.props.menu.MenuID} thawButtons={this.state.thawButtons} refresh={this.editConfig}/>
                <EditComponent type="table" options={['search', 'form', 'action', 'columns']} config={this.state.config} refresh={this.editConfig}/>
                <UpdateTable config={config}/>
                <Switch className="big" checkedChildren="启" unCheckedChildren="停" checked={this.state.config.enabled} onChange={this.onEnabledChange} />
                <Button type="primary" id="save-config" onClick={this.submitConfig} loading={this.state.menuloading}>保存</Button>