king
2020-01-08 669d7cc31eb3728ad09bfb7ce6e615f5c571c14e
src/tabviews/tableshare/actionList/index.jsx
@@ -131,18 +131,31 @@
        return
      }
      // 执行方式为多行拼接,且打开方式为表单时,会转为循环发送请求
      // 打开方式为模态框,使用内部函数添加
      if (
        btn.Ot === 'notRequired' ||
        btn.Ot === 'requiredSgl' ||
        (btn.Ot === 'requiredOnce' && btn.OpenType !== 'pop') ||
        (btn.OpenType === 'pop' && !btn.innerFunc && btn.sql && btn.sqlType === 'insert')
      ) {
        // 创建凭证时,需要选择行时
        if (data.length === 0 && !btn.innerFunc && btn.verify && btn.verify.voucher && btn.verify.voucher.enabled) {
          notification.warning({
            top: 92,
            message: '使用创建凭证函数,需要选择行!',
            duration: 10
          })
          return
        }
        let param = { // 系统存储过程
          func: 'sPC_TableData_InUpDe',
          BID: this.props.BID
        }
        if (setting.primaryKey) {
        if (setting.primaryKey) { // 主键值预设,从表格数据第一项选取
          param[setting.primaryKey] = (data[0] && data[0][setting.primaryKey]) || ''
        }
@@ -152,7 +165,7 @@
            
          } else if (btn.Ot === 'requiredSgl') {
            ID = data[0][setting.primaryKey]
          } else if (btn.Ot === 'requiredOnce') {
          } else if (btn.Ot === 'requiredOnce') { // id值拼接
            let ids = data.map(d => { return d[setting.primaryKey]})
            ID = ids.join(',')
          }
@@ -161,10 +174,10 @@
            param[setting.primaryKey] = ID
          }
          if (btn.innerFunc) {
          if (btn.innerFunc) { // 使用自定义函数
            param.func = btn.innerFunc
          } else if (btn.sql) {
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, '', param[setting.primaryKey])) // 数据源
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, '', param[setting.primaryKey], data[0])) // 数据源
            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
            param.secretkey = Utils.encrypt(param.LText, param.timestamp)
          }
@@ -176,16 +189,16 @@
              param[_data.key] = _data.value
            })
          } else if (btn.sql && btn.sqlType === 'insert') {
          } else if (btn.sql && btn.sqlType === 'insert') { // 系统函数添加时,生成uuid
            if (setting.primaryKey) {
              param[setting.primaryKey] = Utils.getguid()
            }
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param[setting.primaryKey])) // 数据源
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param[setting.primaryKey], data[0])) // 数据源
            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
            param.secretkey = Utils.encrypt(param.LText, param.timestamp)
          } else if (btn.sql) {
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param[setting.primaryKey])) // 数据源
            param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param[setting.primaryKey], data[0])) // 数据源
            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
            param.secretkey = Utils.encrypt(param.LText, param.timestamp)
          }
@@ -216,7 +229,7 @@
            if (btn.innerFunc) {
              param.func = btn.innerFunc
            } else if (btn.sql) {
              param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, '', param[setting.primaryKey])) // 数据源
              param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, '', param[setting.primaryKey], cell)) // 数据源
              param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
              param.secretkey = Utils.encrypt(param.LText, param.timestamp)
            }
@@ -232,7 +245,7 @@
              if (setting.primaryKey) {
                param[setting.primaryKey] = cell[setting.primaryKey]
              }
              param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param[setting.primaryKey])) // 数据源
              param.LText = Utils.formatOptions(Utils.getSysDefaultSql(btn, setting, formdata, param[setting.primaryKey], cell)) // 数据源
              param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
              param.secretkey = Utils.encrypt(param.LText, param.timestamp)
            }
@@ -666,6 +679,14 @@
    const { configMap, execAction } = this.state
    let subfields = []
    if (execAction.setting.display === 'prompt') { // 如果表单以是否框展示,不请求下拉菜单信息
      this.setState({
        btnloading: false
      })
      this.modelconfirm()
      return
    }
    if (execAction.groups.length > 0) {
      execAction.groups.forEach(group => {
        group.sublist.forEach(field => {
@@ -788,6 +809,37 @@
    })
  }
  modelconfirm = () => {
    const { execAction, tabledata } = this.state
    let _this = this
    let _fields = []
    if (execAction.groups.length > 0) {
      execAction.groups.forEach(group => {
        _fields = [..._fields, ...group.sublist]
      })
    } else {
      _fields = execAction.fields
    }
    let result = _fields.map(item => {
      return {
        key: item.field,
        readonly: item.readonly === 'true',
        type: item.type,
        value: item.initval
      }
    })
    confirm({
      title: this.props.dict['main.action.confirm.tip'],
      onOk() {
        return new Promise(resolve => {
          _this.execSubmit(execAction, tabledata, resolve, result)
        })
      },
      onCancel() {}
    })
  }
  /**
   * @description 显示模态框
   */