king
2020-02-28 888095418c902cc94693cba8b45f31bb79cdf818
src/templates/formtabconfig/index.jsx
@@ -83,11 +83,22 @@
    if (!config) {
      _config = JSON.parse(JSON.stringify(Source.baseConfig))
      _config.isAdd = true
      if (menu && menu.LongParam && menu.LongParam.setting.dataresource) {
      if (menu && menu.LongParam && menu.LongParam.setting) {
        _config.setting.tableName = menu.LongParam.setting.tableName
        _config.setting.primaryKey = menu.LongParam.setting.primaryKey
        _config.setting.dataresource = menu.LongParam.setting.dataresource
        _config.setting.interType = menu.LongParam.setting.interType
        _config.setting.interface = menu.LongParam.setting.interface
        _config.setting.outerFunc = menu.LongParam.setting.outerFunc
        _config.setting.innerFunc = menu.LongParam.setting.innerFunc
        _config.setting.sysInterface = menu.LongParam.setting.sysInterface
      }
    } else {
      _config = config
      if (menu && menu.LongParam && menu.LongParam.setting) {
        _config.setting.primaryKey = menu.LongParam.setting.primaryKey
      }
      _config.groups.forEach(group => {
        group.sublist.forEach(item => {
@@ -551,6 +562,14 @@
    if (modaltype === 'search') {
      this.modalFormRef.handleConfirm().then(res => {
        if (config.setting.primaryKey && config.setting.primaryKey.toLowerCase() === res.field.toLowerCase()) {
          notification.warning({
            top: 92,
            message: '表单中字段名不可与主键重复!',
            duration: 10
          })
          return
        }
        if ( // 更新下拉字典
          (res.type === 'select' || res.type === 'multiselect' || res.type === 'link') &&
          res.resourceType === '0' &&
@@ -1270,13 +1289,19 @@
      }
      // 存在多余的空表单组
      if (_config.groups.length > 1) {
      let _ismutil = _config.groups.length > 1
      let _primary = _config.setting.primaryKey ? _config.setting.primaryKey.toLowerCase() : ''
        _config.groups.forEach(group => {
          if (group.sublist.length === 0) {
        if (_ismutil && group.sublist.length === 0) {
          _config.enabled = false
        }
        let arr = group.sublist.filter(item => item.field.toLowerCase() === _primary)
        if (arr.length > 0) {
            _config.enabled = false
          }
        })
      }
      _config.funcs = [] // 页面及子页面存储过程集
@@ -1928,13 +1953,24 @@
      })
    }
    let _primary = config.setting.primaryKey ? config.setting.primaryKey.toLowerCase() : ''
    let primaryrepeat = false
    config.groups.forEach(group => {
      let arr = group.sublist.filter(item => item.field.toLowerCase() === _primary)
      if (arr.length > 0) {
        primaryrepeat = true
      }
    })
    if (config.setting.datatype === 'query' && config.setting.interType === 'inner' && !config.setting.innerFunc && !config.setting.dataresource) {
      notification.warning({
        top: 92,
        message: '尚未设置数据源,不可启用!',
        duration: 10
      })
    } else if (config.setting.datatype === 'query' && config.setting.primaryKey) {
    } else if (config.setting.datatype === 'query' && !config.setting.primaryKey) {
      notification.warning({
        top: 92,
        message: '尚未设置主键,不可启用!',
@@ -1952,6 +1988,12 @@
        message: '存在多余空表单组,不可启用!',
        duration: 10
      })
    } else if (primaryrepeat) {
      notification.warning({
        top: 92,
        message: '表单字段与主键重复,不可启用!',
        duration: 10
      })
    } else {
      this.setState({
        config: {...config, enabled: !config.enabled}