From cf8e332b14ca79859fcd89f2ac097ed7c6aa66c5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 01 十二月 2019 18:15:45 +0800
Subject: [PATCH] 2019-12-01

---
 src/templates/comtableconfig/editcard/index.jsx |   52 ++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 40 insertions(+), 12 deletions(-)

diff --git a/src/templates/comtableconfig/editcard/index.jsx b/src/templates/comtableconfig/editcard/index.jsx
index 51cb8b6..bb0e5e5 100644
--- a/src/templates/comtableconfig/editcard/index.jsx
+++ b/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>
     )

--
Gitblit v1.8.0