| | |
| | | } |
| | | |
| | | 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({ |
| | |
| | | |
| | | 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 = '值' |
| | |
| | | * 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') { |
| | |
| | | |
| | | 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' |