king
2020-10-23 407c0f1765c7d085218a91ad8842784977383d05
src/tabviews/formtab/actionList/index.jsx
@@ -34,7 +34,6 @@
   */
  actionTrigger = (item) => {
    const { data } = this.props
    let _this = this
    if (item.btnType !== 'cancel') {
@@ -72,19 +71,45 @@
    let _primaryId = primaryId
    if (btn.intertype === 'inner') {
      // 使用内部接口时,内部函数和数据源不可同时为空, 使用系统函数时,类型不可为空
      if (!btn.innerFunc && (!btn.sql || (btn.sql && !btn.sqlType))) {
      let param = { // 系统存储过程
        func: btn.innerFunc,
        BID: ''
      }
      param[setting.primaryKey] = primaryId
      formdata.forEach(_data => {
        param[_data.key] = _data.value
      })
      if (!param[setting.primaryKey]) {
        param[setting.primaryKey] = Utils.getguid()
      }
      _primaryId = param[setting.primaryKey]
      Api.genericInterface(param).then((res) => {
        if (res.status) {
          this.execSuccess(btn, res, _primaryId, formdata)
        } else {
          this.execError(res, btn)
        }
        _resolve()
      })
    } else if (btn.intertype === 'system') {
      // 使用系统接口时,数据源不可为空, 使用系统函数时,类型不可为空
      if (!btn.sql || !btn.sqlType) {
        this.actionSettingError()
        _resolve()
        return
      }
      // 创建凭证时,需要选择行时
      if (!data && !btn.innerFunc && btn.verify && btn.verify.voucher && btn.verify.voucher.enabled) {
      if (!data && btn.verify && btn.verify.voucher && btn.verify.voucher.enabled) {
        notification.warning({
          top: 92,
          message: '使用创建凭证函数,需要选择行!',
          duration: 10
          duration: 5
        })
        return
      }
@@ -94,34 +119,52 @@
        BID: ''
      }
      if (btn.innerFunc) {
        param.func = btn.innerFunc
        param[setting.primaryKey] = primaryId
        formdata.forEach(_data => {
          param[_data.key] = _data.value
        })
        if (!param[setting.primaryKey]) {
          param[setting.primaryKey] = Utils.getguid()
        }
        _primaryId = param[setting.primaryKey]
      } else if (btn.sql && btn.sqlType === 'insert') { // 系统函数添加时,生成uuid
      if (btn.sql && btn.sqlType === 'insert') { // 系统函数添加时,生成uuid
        param.ID = Utils.getguid()
        param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param, data, logcolumns)) // 数据源
        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
        param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data, logcolumns) // 数据源
        let { LText, LText1, LText2 } = Utils.sPCInUpDeFormatOptions(param.LText)
        param.LText2 = LText2
        param.LText1 = LText1
        param.LText = LText
        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
        param.secretkey = Utils.encrypt(param.LText, param.timestamp)
        _primaryId = param.ID
      } else if (btn.sql && btn.sqlType === 'insertOrUpdate') { // 系统函数添加或修改时
        param.ID = primaryId || Utils.getguid()
        param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data, logcolumns) // 数据源
        let { LText, LText1, LText2 } = Utils.sPCInUpDeFormatOptions(param.LText)
        param.LText2 = LText2
        param.LText1 = LText1
        param.LText = LText
        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
        param.secretkey = Utils.encrypt(param.LText, param.timestamp)
        _primaryId = param.ID
      } else if (btn.sql) {
        param.ID = primaryId
        param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param, data, logcolumns)) // 数据源
        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
        param.LText = Utils.getSysDefaultSql(btn, setting, formdata, param, data, logcolumns) // 数据源
        let { LText, LText1, LText2 } = Utils.sPCInUpDeFormatOptions(param.LText)
        param.LText2 = LText2
        param.LText1 = LText1
        param.LText = LText
        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
        param.secretkey = Utils.encrypt(param.LText, param.timestamp)
      }
      if (this.props.menuType === 'HS' && param.timestamp) { // 云端验证
        param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp)
      }
      Api.genericInterface(param).then((res) => {
        if (res.status) {
          this.execSuccess(btn, res, _primaryId, formdata)
@@ -191,9 +234,9 @@
            res.rduri = btn.interface
          }
        } else {
          if (btn.sysInterface === 'true') {
            res.rduri = window.GLOB.mainSystemApi || window.GLOB.subSystemApi
          } else {
          if (btn.sysInterface === 'true' && window.GLOB.mainSystemApi) {
            res.rduri = window.GLOB.mainSystemApi
          } else if (btn.sysInterface !== 'true') {
            res.rduri = btn.interface
          }
        }
@@ -201,8 +244,6 @@
        if (btn.outerFunc) {
          res.func = btn.outerFunc
        }
        res.appkey = window.GLOB.appkey || '' // 外部请求时,统一添加appkey
  
        return Api.genericInterface(res)
      }).then(response => {
@@ -282,14 +323,14 @@
      notification.error({
        top: 92,
        message: res.message || res.ErrMesg,
        duration: btn.errorTime || 15
        duration: btn.errorTime || 10
      })
    } else if (res.ErrCode === 'F') {
      notification.error({
        className: 'notification-custom-error',
        top: 92,
        message: res.message || res.ErrMesg,
        duration: btn.errorTime || 15
        duration: btn.errorTime || 10
      })
    } else if (res.ErrCode === 'NM') {
      message.error(res.message || res.ErrMesg)
@@ -305,7 +346,7 @@
    notification.warning({
      top: 92,
      message: this.props.dict['main.action.settingerror'],
      duration: 10
      duration: 5
    })
  }