From c39ea1f23d21b070188abcf5f4dd5bdd7b47c1f9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 10 三月 2020 10:32:13 +0800
Subject: [PATCH] 2020-03-10

---
 src/tabviews/commontable/mainTable/index.jsx |   39 +++++++++------------------------------
 1 files changed, 9 insertions(+), 30 deletions(-)

diff --git a/src/tabviews/commontable/mainTable/index.jsx b/src/tabviews/commontable/mainTable/index.jsx
index 3fd499f..8d9bfca 100644
--- a/src/tabviews/commontable/mainTable/index.jsx
+++ b/src/tabviews/commontable/mainTable/index.jsx
@@ -1,6 +1,6 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { is, fromJS } from 'immutable'
+// import { is, fromJS } from 'immutable'
 import { Table, message, Affix, Button, Typography } from 'antd'
 import './index.scss'
 
@@ -12,7 +12,6 @@
     MenuID: PropTypes.string,      // 鑿滃崟Id
     setting: PropTypes.object,     // 琛ㄦ牸鍏ㄥ眬璁剧疆锛歵ableType锛堣〃鏍兼槸鍚﹀彲閫夈�佸崟閫夈�佸閫夛級銆乧olumnfixed锛堝垪鍥哄畾锛夈�乤ctionfixed锛堟寜閽浐瀹氾級
     pickup: PropTypes.any,         // 鏁版嵁鏀惰捣
-    setsingle: PropTypes.any,      // 璁剧疆鍗曢�夊閫�
     columns: PropTypes.array,      // 琛ㄦ牸鍒�
     data: PropTypes.any,           // 琛ㄦ牸鏁版嵁
     total: PropTypes.number,       // 鎬绘暟
@@ -26,13 +25,11 @@
     selectedRowKeys: [],  // 琛ㄦ牸涓�変腑琛�
     pageIndex: 1,         // 鍒濆椤甸潰绱㈠紩
     pageSize: 10,         // 姣忛〉鏁版嵁鏉℃暟
-    columns: null,        // 鏄剧ず鍒�
-    selectId: '',
-    isSingleSelect: false
+    columns: null         // 鏄剧ず鍒�
   }
 
   UNSAFE_componentWillMount () {
-    const { columns, setting } = this.props
+    const { columns } = this.props
     let _columns = []
     
     columns.forEach(item => {
@@ -50,19 +47,8 @@
     })
 
     this.setState({
-      columns: _columns,
-      isSingleSelect: setting.tableType === 'radio'
+      columns: _columns
     })
-  }
-
-  UNSAFE_componentWillReceiveProps(nextProps) {
-    if (!is(fromJS(this.props.setsingle), fromJS(nextProps.setsingle))) {
-      this.setState({
-        isSingleSelect: nextProps.setsingle,
-        selectedRowKeys: [],
-        selectId: ''
-      })
-    }
   }
 
   getContent = (item, record) => {
@@ -247,8 +233,6 @@
   }
 
   onSelectChange = selectedRowKeys => {
-    if (this.props.pickup) return
-
     let index = ''
     if (selectedRowKeys.length > 0) {
       index = selectedRowKeys[selectedRowKeys.length - 1]
@@ -266,7 +250,7 @@
     let newkeys = JSON.parse(JSON.stringify(this.state.selectedRowKeys))
     let _re = newkeys.includes(index)
 
-    if (this.props.setting.tableType === 'radio' || this.state.isSingleSelect) {
+    if (this.props.setting.tableType === 'radio') {
       this.changedata(index)
       this.setState({ selectedRowKeys: [index] })
     } else {
@@ -301,30 +285,25 @@
       _data = data[index] || ''
     }
 
-    this.setState({
-      selectId: _id
-    })
-
     this.props.handleTableId('mainTable', _id, _data)
   }
 
   resetTable = () => {
     this.setState({
       pageIndex: 1,
-      selectId: '',
       selectedRowKeys: []
     })
   }
 
   render() {
     const { setting, pickup } = this.props
-    let { selectedRowKeys, isSingleSelect, selectId } = this.state
+    let { selectedRowKeys } = this.state
 
     let rowSelection = null
     if (setting.tableType) {
       rowSelection = {
         selectedRowKeys,
-        type: (setting.tableType === 'radio' || isSingleSelect) ? 'radio' : 'checkbox',
+        type: (setting.tableType === 'radio') ? 'radio' : 'checkbox',
         onChange: this.onSelectChange
       }
     }
@@ -345,8 +324,8 @@
 
     let _data = this.props.data ? this.props.data : []
 
-    if (selectId && pickup && isSingleSelect) {
-      _data = _data.filter(item => item[setting.primaryKey] === selectId)
+    if (pickup) {
+      _data = _data.filter((item, index) => selectedRowKeys.includes(index))
     }
 
     return (

--
Gitblit v1.8.0