From 1da6506bf58270bacc2a4345002c6b082835580e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 21 十月 2021 23:17:08 +0800
Subject: [PATCH] 2021-10-21

---
 src/tabviews/zshare/actionList/changeuserbutton/index.jsx |   28 +++++++++++++++++++---------
 1 files changed, 19 insertions(+), 9 deletions(-)

diff --git a/src/tabviews/zshare/actionList/changeuserbutton/index.jsx b/src/tabviews/zshare/actionList/changeuserbutton/index.jsx
index d750c2c..c418c51 100644
--- a/src/tabviews/zshare/actionList/changeuserbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/changeuserbutton/index.jsx
@@ -15,6 +15,7 @@
   static propTpyes = {
     show: PropTypes.any,              // 鎸夐挳鏄剧ず鏍峰紡鎺у埗
     position: PropTypes.any,          // 鎸夐挳浣嶇疆锛屽伐鍏锋爮涓簍oolbar
+    MenuID: PropTypes.any,            // 鑿滃崟ID
     BID: PropTypes.string,            // 涓昏〃ID
     btn: PropTypes.object,            // 鎸夐挳
     selectedData: PropTypes.any,      // 瀛愯〃涓�夋嫨鏁版嵁
@@ -47,11 +48,7 @@
   }
 
   componentDidMount () {
-    const { position } = this.props
-
-    if (position === 'toolbar') {
-      MKEmitter.addListener('triggerBtnId', this.actionTrigger)
-    }
+    MKEmitter.addListener('triggerBtnId', this.actionTrigger)
   }
 
   UNSAFE_componentWillReceiveProps (nextProps) {
@@ -82,11 +79,24 @@
   /**
    * @description 瑙﹀彂鎸夐挳鎿嶄綔
    */
-  actionTrigger = (triggerId, record) => {
-    const { setting, selectedData, btn } = this.props
-    const { loading } = this.state
+  actionTrigger = (triggerId, record, type) => {
+    const { setting, selectedData, btn, MenuID } = this.props
+    const { loading, disabled } = this.state
     
-    if ((triggerId && btn.uuid !== triggerId) || loading) return
+    if ((triggerId && btn.uuid !== triggerId) || loading || disabled) return
+
+    if (btn.funcType === 'closetab') {
+      MKEmitter.emit('closeTabView', MenuID || btn.$MenuID)
+
+      if (btn.refreshTab && btn.refreshTab.length > 0) {
+        MKEmitter.emit('reloadMenuView', btn.refreshTab[btn.refreshTab.length - 1], 'table')
+      }
+      return
+    } else if (type === 'linkbtn' && selectedData && selectedData.length === 1) {
+      if (record[0].$Index !== selectedData[0].$Index) {
+        return
+      }
+    }
     
     let data = record || selectedData || []
 

--
Gitblit v1.8.0