king
2023-02-17 2e3bf38aced62c8ecf4af58ca2685f09d3d47dde
src/menu/components/card/cardcellcomponent/elementform/index.jsx
@@ -48,7 +48,7 @@
  }
  UNSAFE_componentWillMount () {
    const { card, config } = this.props
    const { card, config, side } = this.props
    let _options = this.getOptions(card.eleType, card.datatype, card.link, (card.showType || 'line'), card.showInfo, card.fixStyle || '', card.posterType || '')
    
    this.setState({
@@ -64,20 +64,38 @@
        if (item.key === 'field' || item.key === 'linkurl' || item.key === 'bgImage' || item.key === 'posterField') {
          item.options = []
          config.columns.forEach(col => {
            let label = `${col.field}(${col.label})`
            if (/^(Int|Decimal)/ig.test(col.datatype) && (card.eleType === 'number' || card.eleType === 'slider')) {
              item.options.push({
                value: col.field,
                text: label
              })
            } else if (/^(Nvarchar|date)/ig.test(col.datatype) && card.eleType !== 'number' && card.eleType !== 'slider') {
              item.options.push({
                value: col.field,
                text: label
              })
            }
          })
          if (side === 'sub') {
            config.subColumns.forEach(col => {
              let label = `${col.field}(${col.label})`
              if (/^(Int|Decimal)/ig.test(col.datatype) && (card.eleType === 'number' || card.eleType === 'slider')) {
                item.options.push({
                  value: col.field,
                  text: label
                })
              } else if (/^(Nvarchar|date)/ig.test(col.datatype) && card.eleType !== 'number' && card.eleType !== 'slider') {
                item.options.push({
                  value: col.field,
                  text: label
                })
              }
            })
          } else {
            config.columns.forEach(col => {
              let label = `${col.field}(${col.label})`
              if (/^(Int|Decimal)/ig.test(col.datatype) && (card.eleType === 'number' || card.eleType === 'slider')) {
                item.options.push({
                  value: col.field,
                  text: label
                })
              } else if (/^(Nvarchar|date)/ig.test(col.datatype) && card.eleType !== 'number' && card.eleType !== 'slider') {
                item.options.push({
                  value: col.field,
                  text: label
                })
              }
            })
          }
        } else if (item.key === 'value' && card.eleType === 'slider') {
          item.type = 'number'
          item.label = '值'
@@ -159,7 +177,7 @@
   * 3、切换标签类型,重置可选标签
   */
  selectChange = (key, value, option) => {
    const { card, config } = this.props
    const { card, config, side } = this.props
    const { datatype, eleType, showType, showInfo, fixStyle, posterType } = this.state
    if (key === 'eleType') {
@@ -170,21 +188,38 @@
        if (item.key === 'field') {
          item.options = []
          config.columns.forEach(col => {
            let label = `${col.field}(${col.label})`
            if (/^(Int|Decimal)/ig.test(col.datatype) && (value === 'number' || value === 'slider')) {
              item.options.push({
                value: col.field,
                text: label
              })
            } else if (/^(Nvarchar|date)/ig.test(col.datatype) && value !== 'number' && value !== 'slider') {
              item.options.push({
                value: col.field,
                text: label
              })
            }
          })
          if (side === 'sub') {
            config.subColumns.forEach(col => {
              let label = `${col.field}(${col.label})`
              if (/^(Int|Decimal)/ig.test(col.datatype) && (card.eleType === 'number' || card.eleType === 'slider')) {
                item.options.push({
                  value: col.field,
                  text: label
                })
              } else if (/^(Nvarchar|date)/ig.test(col.datatype) && card.eleType !== 'number' && card.eleType !== 'slider') {
                item.options.push({
                  value: col.field,
                  text: label
                })
              }
            })
          } else {
            config.columns.forEach(col => {
              let label = `${col.field}(${col.label})`
              if (/^(Int|Decimal)/ig.test(col.datatype) && (value === 'number' || value === 'slider')) {
                item.options.push({
                  value: col.field,
                  text: label
                })
              } else if (/^(Nvarchar|date)/ig.test(col.datatype) && value !== 'number' && value !== 'slider') {
                item.options.push({
                  value: col.field,
                  text: label
                })
              }
            })
          }
        } else if (item.key === 'value') {
          if (value === 'slider') {
            item.type = 'number'