king
2019-12-01 cf8e332b14ca79859fcd89f2ac097ed7c6aa66c5
src/templates/comtableconfig/editcard/index.jsx
@@ -1,6 +1,8 @@
import React, {Component} from 'react'
import { Row, Col, Icon, Radio } from 'antd'
import { Row, Col, Icon, Radio, Input } from 'antd'
import './index.scss'
const { Search } = Input
class EditCardCell extends Component {
  constructor(props) {
@@ -29,6 +31,8 @@
    const { card } = this.state
    this.setState({
      card: {...card, selected: !card.selected}
    }, () => {
      this.props.changeCard(this.state.card)
    })
  }
@@ -72,16 +76,29 @@
    this.state = {
      dataSource: props.data,
      type: props.type
      selectCards: props.data.filter(item => item.selected),
      type: props.type,
      searchKey: ''
    }
  }
  getSelectedCard = () => {
    let box = []
    this.state.dataSource.forEach((item, index) => {
      box.push(this.refs['cellCard' + index].state.card)
  changeCard = (item) => {
    let cards = JSON.parse(JSON.stringify(this.state.selectCards))
    let isAdd = true
    cards = cards.map(card => {
      if (card.field === item.field) {
        isAdd = false
        return item
      } else {
        return card
      }
    })
    return box
    if (isAdd) {
      cards.push(item)
    }
    this.setState({
      selectCards: cards
    })
  }
  render() {
@@ -89,12 +106,23 @@
    return (
      <div className="common-modal-edit-card">
        <Row className="search-row">
          <Col span={8}>
            <Search placeholder="请输入字段名" onSearch={value => {this.setState({searchKey: value})}} enterButton />
          </Col>
        </Row>
        <Row>
          {dataSource.map((item, index) => (
            <Col key={index} span={8}>
              <EditCardCell ref={'cellCard' + index} type={type} card={item} />
            </Col>
          ))}
          {dataSource.map((item, index) => {
            if (item.field.toLowerCase().indexOf(this.state.searchKey.toLowerCase()) >= 0) {
              return (
                <Col key={index} span={8}>
                  <EditCardCell ref={'cellCard' + index} type={type} card={item} changeCard={this.changeCard} />
                </Col>
              )
            } else {
              return ''
            }
          })}
        </Row>
      </div>
    )