king
2025-01-22 871597aaf2c838946723ee44fc7fa12487b56d34
src/templates/sharecomponent/fieldscomponent/index.jsx
@@ -58,13 +58,14 @@
            if (res.FDName && res.FDName.length > 0) {
              tabmsg.columns = res.FDName.map(item => {
                let _type = item.FieldType.toLowerCase()
                let _datatype = item.FieldType.toLowerCase()
                let _decimal = 0
                let _length = 50
                if (/^nvarchar/.test(_type)) {
                  try { // 存在max
                    _length = +_type.match(/\d+/)[0] || 50
                  } catch (e) {
                    _length = 2048
                    _length = 4000
                  }
                  _type = 'text'
                } else if (/^int/.test(_type)) {
@@ -80,6 +81,14 @@
                } else {
                  _type = 'text'
                }
                if (/^nvarchar/.test(_datatype)) {
                  _datatype = _datatype.replace(/^nvarchar/, 'Nvarchar')
                } else if (/^decimal/.test(_datatype)) {
                  _datatype = _datatype.replace(/^decimal/, 'Decimal')
                } else if (/^int/.test(_datatype)) {
                  _datatype = _datatype.replace(/^int/, 'Int')
                }
    
                return {
                  field: item.FieldName || '',
@@ -88,7 +97,7 @@
                  datatype: _type,
                  decimal: _decimal,
                  length: _length,
                  $datatype: item.FieldType.toLowerCase()
                  $datatype: _datatype
                }
              })
            }
@@ -137,9 +146,20 @@
    if (type === 'search') {
      // 添加搜索条件,字段集中存在搜索条件字段,使用搜索条件对象替换字段集,设置数据类型
      config.search.forEach(item => {
        if (item.field && columns.has(item.field.toLowerCase())) {
          let _datatype = columns.get(item.field.toLowerCase()).datatype
          columns.set(item.field.toLowerCase(), {...item, origin: true, datatype: _datatype})
        if (item.field) {
          if (/,/.test(item.field)) {
            item.field.split(',').forEach(n => {
              if (columns.has(n.toLowerCase())) {
                let _datatype = columns.get(n.toLowerCase()).datatype
                columns.set(n.toLowerCase(), {...item, field: n, origin: true, datatype: _datatype})
              }
            })
          } else {
            if (columns.has(item.field.toLowerCase())) {
              let _datatype = columns.get(item.field.toLowerCase()).datatype
              columns.set(item.field.toLowerCase(), {...item, origin: true, datatype: _datatype})
            }
          }
        }
      })
    } else if (type === 'columns') {
@@ -184,13 +204,6 @@
    let config = fromJS(this.props.config).toJS()
    // 获取已选字段集合
    let cards = selectCards
    let columnsMap = new Map()
    cards.forEach(card => {
      columnsMap.set(card.field.toLowerCase(), card)
    })
    let items = []
    let keys = []
    if (type === 'search') {
@@ -231,8 +244,8 @@
          label: item.label,
          field: item.field,
          Hide: 'false',
          IsSort: 'true',
          type: item.type,
          IsSort: 'false',
          type: item.type === 'number' ? 'number' : 'text',
          Width: item.type === 'number' ? 80 : 120
        }
@@ -240,6 +253,12 @@
          newcard.decimal = item.decimal
        } else {
          newcard.fieldlength = item.length || 50
        }
        if (item.type === 'date') {
          newcard.textFormat = 'YYYY-MM-DD'
        } else if (item.type === 'datetime') {
          newcard.textFormat = 'YYYY-MM-DD HH:mm:ss'
        }
        items.push(newcard)
@@ -257,6 +276,7 @@
          field: item.field,
          datatype: _t
        }
        items.unshift(newcard)
        keys.push(item.field.toLowerCase())
      })
@@ -285,7 +305,8 @@
          decimal: item.decimal,
          orderType: 'asc',
          readonly: 'false',
          required: 'true'
          required: 'true',
          readin: 'top'
        }
        if (/^icon|images?$/ig.test(item.field)) {
@@ -316,6 +337,8 @@
            newcard.span = 24
            newcard.labelwidth = 16.2
          }
        } else if (item.type === 'text') {
          newcard.fieldlength = item.length || 50
        }
        items.push(newcard)