From 8d66ff34fae5b048a6b7923cc75d34f13a08be9d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 02 八月 2022 11:42:43 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/tabviews/zshare/actionList/popupbutton/index.jsx |   61 ++++++++++++++----------------
 1 files changed, 28 insertions(+), 33 deletions(-)

diff --git a/src/tabviews/zshare/actionList/popupbutton/index.jsx b/src/tabviews/zshare/actionList/popupbutton/index.jsx
index 02ce0db..7a2ef97 100644
--- a/src/tabviews/zshare/actionList/popupbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/popupbutton/index.jsx
@@ -15,7 +15,6 @@
 
 class PopupButton extends Component {
   static propTpyes = {
-    show: PropTypes.any,              // 鎸夐挳鏄剧ず鏍峰紡鎺у埗
     BID: PropTypes.string,            // 涓昏〃ID
     BData: PropTypes.any,             // 涓昏〃鏁版嵁
     selectedData: PropTypes.any,      // 瀛愯〃涓�夋嫨鏁版嵁
@@ -24,7 +23,6 @@
     btn: PropTypes.object,            // 鎸夐挳
     setting: PropTypes.any,           // 椤甸潰閫氱敤璁剧疆
     disabled: PropTypes.any,          // 琛屾寜閽鐢�
-    lineId: PropTypes.any,            // 琛岀储寮�+涓婚敭鍊硷紝鐢ㄤ簬琛屾寜閽弻鍑�
   }
 
   state = {
@@ -158,12 +156,7 @@
     const { loading, disabled } = this.state
 
     if (loading || disabled) return
-    if (triggerId) {
-      if (btn.uuid !== triggerId) return
-      if (this.props.lineId && record && record[0] && this.props.lineId !== record[0].$$key) {
-        return
-      }
-    }
+    if (triggerId && btn.uuid !== triggerId) return
 
     if (((Tab && Tab.supMenu) || setting.supModule) && !BID) {
       notification.warning({
@@ -172,10 +165,8 @@
         duration: 5
       })
       return
-    } else if (type === 'linkbtn' && selectedData && selectedData.length === 1) {
-      if (record[0].$Index !== selectedData[0].$Index) {
-        return
-      }
+    } else if (type === 'linkbtn' && !btn.$toolbtn && !is(fromJS(selectedData || []), fromJS(record))) {
+      return
     }
 
     let data = record || selectedData || []
@@ -237,6 +228,8 @@
     if (btn.popClose !== 'never') {
       MKEmitter.emit('refreshByButtonResult', btn.$menuId, btn.popClose, btn)
     }
+
+    btn.syncComponentId && MKEmitter.emit('reloadData', btn.syncComponentId)
   }
 
   getPop = () => {
@@ -324,47 +317,49 @@
   }
 
   render() {
-    const { btn, show } = this.props
+    const { btn } = this.props
     const { loading, disabled, hidden } = this.state
 
     if (hidden) return null
 
     let label = ''
     let icon = ''
+    let type = 'link'
+    let className = ''
 
-    if (show === 'button') {
+    if (btn.show === 'button') {
       label = btn.label
       icon = btn.icon || ''
-    } else if (show === 'link') {
+    } else if (btn.show === 'link') {
       label = <span>{btn.label}{btn.icon ? <MkIcon style={{marginLeft: '8px'}} type={btn.icon}/> : ''}</span>
       icon = ''
-    } else if (show === 'icon') {
+    } else if (btn.show === 'icon') {
       icon = btn.icon || ''
-    } else {
+    } else if (!btn.$toolbtn) {
+      icon = btn.icon || ''
       label = btn.label
+      className = 'mk-btn mk-' + btn.class
+    } else {
+      type = ''
+      icon = btn.icon || ''
+      label = btn.label
+      className = 'mk-btn mk-' + btn.class
     }
 
     return (
-      <div style={{display: 'inline-block'}} onClick={(e) => e.stopPropagation()}>
-        {show === 'actionList' ? <Button
-          className={'mk-btn mk-' + btn.class}
-          icon={btn.icon}
-          disabled={disabled}
-          title={disabled ? (btn.reason || '') : ''}
-          onClick={() => {this.actionTrigger()}}
-          loading={loading}
-        >{btn.label}</Button> : null}
-        {show !== 'actionList' ? <Button
-          type="link"
-          title={disabled ? (btn.reason || '') : (show === 'icon' ? btn.label : '')}
+      <>
+        <Button
+          type={type}
+          title={disabled ? (btn.reason || '') : (btn.show === 'icon' ? btn.label : '')}
           loading={loading}
           disabled={disabled}
           style={btn.style}
           icon={icon}
-          onClick={() => {this.actionTrigger()}}
-        >{label}</Button> : null}
-        {this.getPop()}
-      </div>
+          className={className}
+          onClick={(e) => {e.stopPropagation(); this.actionTrigger()}}
+        >{label}</Button>
+        <span onClick={(e) => {e.stopPropagation()}}>{this.getPop()}</span>
+      </>
     )
   }
 }

--
Gitblit v1.8.0