From b816a38598a2b96f244ba1aacec05f7071b1a803 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 26 三月 2021 16:09:56 +0800
Subject: [PATCH] 2021-03-26

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   40 ++++++++++++++++++----------------------
 1 files changed, 18 insertions(+), 22 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 7e30033..c3d2d10 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -201,11 +201,11 @@
       if (col.rowspan === 'true') {
         resProps.rowSpan = record['$$' + col.field]
       }
-
+      
       if (col.linkThdMenu || col.linkurl) {
         content = (
           <div>
-            <div className="link-menu" onDoubleClick={(e) => this.triggerLink(e, col, record)}></div>
+            <div className="link-menu" onDoubleClick={(e) => triggerLink(e, col, record)}></div>
             {content}
           </div>
         )
@@ -248,10 +248,14 @@
         content = md5(content)
       }
 
+      if (col.rowspan === 'true') {
+        resProps.rowSpan = record['$$' + col.field]
+      }
+
       if (col.linkThdMenu || col.linkurl) {
         content = (
           <div>
-            <div className="link-menu" onDoubleClick={(e) => this.triggerLink(e, col, record)}></div>
+            <div className="link-menu" onDoubleClick={(e) => triggerLink(e, col, record)}></div>
             {content}
           </div>
         )
@@ -500,7 +504,7 @@
 
   // 瀛楁閫忚
   triggerLink = (e, item, record) => {
-    const { tabviews, MenuID } = this.props
+    const { tabviews } = this.props
     e.stopPropagation()
 
     if (item.linkThdMenu) {
@@ -514,27 +518,19 @@
   
       tabmenu.selected = true
   
-      let index = 0
-      let isexit = false
-      let tabs = tabviews.map((tab, i) => {
+      let tabs = tabviews.filter((tab, i) => {
         tab.selected = false
-  
-        if (tab.MenuID === MenuID) {
-          index = i
-        } else if (tab.MenuID === tabmenu.MenuID) {
-          tab.param = tabmenu.param
-          tab.selected = true
-          isexit = true
-        }
-  
-        return tab
+        return tab.MenuID !== tabmenu.MenuID
       })
   
-      if (!isexit) {
-        tabs.splice(index + 1, 0, tabmenu)
+      if (tabviews.length > tabs.length) {
+        this.props.modifyTabview(fromJS(tabs).toJS())
       }
   
-      this.props.modifyTabview(tabs)
+      this.setState({}, () => {
+        tabs.push(tabmenu)
+        this.props.modifyTabview(tabs)
+      })
     } else {
       let src = item.linkurl
 
@@ -573,7 +569,7 @@
       index = selectedRowKeys.slice(-1)[0]
     }
 
-    if (setting.tableType === 'checkbox') {
+    if (setting.tableType === 'checkbox' || setting.tableType === 'radio') {
       _activeIndex = index === '' ? null : index
     }
 
@@ -599,7 +595,7 @@
     if (setting.tableType === 'radio') {
       newkeys = [index]
       this.changedata(index)
-      this.setState({ selectedRowKeys: newkeys })
+      this.setState({ selectedRowKeys: newkeys, activeIndex: index })
     } else {
       let _index = ''
       if (newkeys.includes(index)) {

--
Gitblit v1.8.0