king
2020-01-05 71b872aa44de6266a344646d0e535895620d57a7
src/tabviews/tableshare/actionList/index.jsx
@@ -122,6 +122,7 @@
   */
  execSubmit = (btn, data, _resolve, formdata) => {
    const { setting } = this.props
    if (btn.intertype === 'inner') {
      // 使用内部接口时,内部函数和数据源不可同时为空, 使用系统函数时,类型不可为空
      if (!btn.innerFunc && (!btn.sql || (btn.sql && !btn.sqlType))) {
@@ -141,6 +142,10 @@
          BID: this.props.BID
        }
        if (setting.primaryKey) {
          param[setting.primaryKey] = (data[0] && data[0][setting.primaryKey]) || ''
        }
        if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 是否弹框或直接执行
          let ID = ''
          if (btn.Ot === 'notRequired') {
@@ -152,7 +157,9 @@
            ID = ids.join(',')
          }
          param.ID = ID
          if (setting.primaryKey) {
            param[setting.primaryKey] = ID
          }
          if (btn.innerFunc) {
            param.func = btn.innerFunc
@@ -168,21 +175,16 @@
            formdata.forEach(_data => {
              param[_data.key] = _data.value
            })
            if (setting.primaryKey) {
              if (!param.hasOwnProperty(setting.primaryKey) && data[0] && data[0][setting.primaryKey]) {
                param[setting.primaryKey] = data[0][setting.primaryKey]
              }
            }
            if (!param.hasOwnProperty('ID') && setting.primaryKey && data[0] && data[0][setting.primaryKey]) {
              param.ID = data[0][setting.primaryKey]
            }
          } else if (btn.sql && btn.sqlType === 'insert') {
            param.ID = Utils.getguid()
            if (setting.primaryKey) {
              param[setting.primaryKey] = Utils.getguid()
            }
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata)) // 数据源
            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
            param.secretkey = Utils.encrypt(param.LText, param.timestamp)
          } else if (btn.sql) {
            param.ID = data[0][setting.primaryKey]
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata)) // 数据源
            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
            param.secretkey = Utils.encrypt(param.LText, param.timestamp)
@@ -205,8 +207,11 @@
            BID: this.props.BID
          }
          if (setting.primaryKey) {
            param[setting.primaryKey] = cell[setting.primaryKey] || ''
          }
          if (btn.OpenType === 'prompt' || btn.OpenType === 'exec') { // 是否弹框或直接执行
            param.ID = cell[setting.primaryKey]
            if (btn.innerFunc) {
              param.func = btn.innerFunc
@@ -222,14 +227,11 @@
              formdata.forEach(_data => {
                param[_data.key] = _data.value
              })
              if (!param.hasOwnProperty(setting.primaryKey) && cell[setting.primaryKey]) {
            } else if (btn.sql) {
              if (setting.primaryKey) {
                param[setting.primaryKey] = cell[setting.primaryKey]
              }
              if (!param.hasOwnProperty('ID') && cell[setting.primaryKey]) {
                param.ID = cell[setting.primaryKey]
              }
            } else if (btn.sql) {
              param.ID = cell[setting.primaryKey]
              param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata)) // 数据源
              param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
              param.secretkey = Utils.encrypt(param.LText, param.timestamp)
@@ -268,7 +270,6 @@
    } else if (btn.intertype === 'outer') {
      /** *********************调用外部接口************************* */
      let param = {
        ID: '',
        BID: this.props.BID
      }
@@ -282,11 +283,11 @@
        // 获取id
        if (btn.Ot === 'notRequired') {
          
        } else if (btn.Ot === 'requiredSgl') {
          param.ID = data[0][setting.primaryKey]
        } else if (btn.Ot === 'requiredOnce') {
        } else if (btn.Ot === 'requiredSgl' && setting.primaryKey) {
          param[setting.primaryKey] = data[0][setting.primaryKey]
        } else if (btn.Ot === 'requiredOnce' && setting.primaryKey) {
          let ids = data.map(d => { return d[setting.primaryKey]})
          param.ID = ids.join(',')
          param[setting.primaryKey] = ids.join(',')
        }
        new Promise(resolve => {
@@ -368,7 +369,9 @@
                BID: this.props.BID,
                func: btn.innerFunc
              }
              _param.ID = cell[setting.primaryKey]
              if (setting.primaryKey) {
                _param[setting.primaryKey] = cell[setting.primaryKey]
              }
              return new Promise(resolve => {
                Api.genericInterface(_param).then(res => {
                  resolve(res)
@@ -398,10 +401,14 @@
            })
          } else {
            let params = data.map(cell => {
              return {
              let _cell = {
                BID: this.props.BID,
                ID: cell[setting.primaryKey]
              }
              if (setting.primaryKey) {
                _cell[setting.primaryKey] = cell[setting.primaryKey]
              }
              return _cell
            })
            resolve(params)
          }
@@ -510,18 +517,26 @@
   * 5、通知主列表刷新
   */
  execSuccess = (btn, res) => {
    if (btn.OpenType === 'excelOut') {
    if (btn.OpenType === 'excelOut') { // 导出excel
      this.setState({
        loadingUuid: ''
      })
    } else if (res && res.ErrCode === 'S') {
    } else if (res && res.ErrCode === 'S') { // 执行成功
      notification.success({
        top: 92,
        message: res.ErrMesg || this.props.dict['main.action.confirm.success'],
        duration: 2
      })
    } else if (res && res.ErrCode === '-1') {
    } else if (res && res.ErrCode === '-1') { // 完成后不提示
    } else if (res.Relogin === 'true') { // 切换用户功能
      sessionStorage.setItem('UserID', res.UserID)
      sessionStorage.setItem('SessionUid', Utils.getuuid())
      sessionStorage.setItem('LoginUID', res.LoginUID)
      sessionStorage.setItem('User_Name', res.UserName)
      window.location.reload()
      return
    }
    
    if (btn.OpenType === 'pop' && btn.setting && btn.setting.finish !== 'unclose') {