From cb9ade2afd2a367ad767bc605ab7086c695dd010 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 09 十二月 2022 15:53:32 +0800
Subject: [PATCH] 2022-12-09

---
 src/tabviews/custom/components/card/cardItem/index.jsx |   84 ++++++++++++++++++-----------------------
 1 files changed, 37 insertions(+), 47 deletions(-)

diff --git a/src/tabviews/custom/components/card/cardItem/index.jsx b/src/tabviews/custom/components/card/cardItem/index.jsx
index a5a6694..438e7a8 100644
--- a/src/tabviews/custom/components/card/cardItem/index.jsx
+++ b/src/tabviews/custom/components/card/cardItem/index.jsx
@@ -1,6 +1,5 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { connect } from 'react-redux'
 import { is, fromJS } from 'immutable'
 import { notification } from 'antd'
 
@@ -44,7 +43,7 @@
   openView = () => {
     const { card, data, cards } = this.props
 
-    if (!card.setting.click) return
+    if (!card.setting.click || data.$disabled) return
 
     if (card.setting.click === 'menus' && cards.subtype === 'datacard' && card.$cardType !== 'extendCard') {
       let menu = null
@@ -65,44 +64,44 @@
         return
       }
 
-      menu.type = menu.tabType
-
       let newtab = {
-        ...menu,
+        MenuID: menu.MenuID,
+        MenuName: menu.MenuName,
+        MenuNo: menu.MenuNo || '',
+        type: menu.tabType,
         param: {}
       }
 
       if (card.setting.joint === 'true') {
         newtab.param.$BID = data.$$uuid || ''
+
+        Object.keys(data).forEach(key => {
+          if (/^\$/.test(key)) return
+          newtab.param[key] = data[key]
+        })
       }
 
-      if (['linkage_navigation', 'linkage', 'menu_board'].includes(window.GLOB.navBar)) {
-        MKEmitter.emit('modifyTabs', newtab, 'replace')
-      } else {
-        MKEmitter.emit('modifyTabs', newtab, 'plus', true)
-      }
-    } else if (card.setting.click === 'menu') {
-      let menu = null
+      MKEmitter.emit('modifyTabs', newtab, true)
+    } else if (card.setting.click === 'menu' && card.setting.menu) {
+      let menuId = card.setting.MenuID || card.setting.menu.slice(-1)[0]
+      let menu = window.GLOB.mkThdMenus.filter(m => m.MenuID === menuId)[0]
 
-      if (card.setting.MenuID) {
+      if (!menu && card.setting.MenuName && card.setting.tabType) {
         menu = {
-          MenuID: card.setting.MenuID,
+          MenuID: menuId,
           MenuName: card.setting.MenuName,
-          MenuNo: card.setting.MenuNo,
+          MenuNo: card.setting.MenuNo || '',
           type: card.setting.tabType
         }
-      } else if (card.setting.menu && card.setting.menu.length > 0) {
-        let menu_id = card.setting.menu.slice(-1)[0]
-        menu = this.props.permMenus.filter(m => m.MenuID === menu_id)[0] || ''
+      }
 
-        if (!menu) {
-          notification.warning({
-            top: 92,
-            message: '鑿滃崟宸插垹闄ゆ垨娌℃湁璁块棶鏉冮檺锛�',
-            duration: 5
-          })
-          return
-        }
+      if (!menu) {
+        notification.warning({
+          top: 92,
+          message: '鑿滃崟宸插垹闄ゆ垨娌℃湁璁块棶鏉冮檺锛�',
+          duration: 5
+        })
+        return
       }
 
       let newtab = {
@@ -112,13 +111,14 @@
 
       if (card.setting.joint === 'true') {
         newtab.param.$BID = data.$$uuid || ''
+        
+        Object.keys(data).forEach(key => {
+          if (/^\$/.test(key)) return
+          newtab.param[key] = data[key]
+        })
       }
 
-      if (['linkage_navigation', 'linkage', 'menu_board'].includes(window.GLOB.navBar)) {
-        MKEmitter.emit('modifyTabs', newtab, 'replace')
-      } else {
-        MKEmitter.emit('modifyTabs', newtab, 'plus', true)
-      }
+      MKEmitter.emit('modifyTabs', newtab, true)
     } else if (card.setting.click === 'link') {
       let src = card.setting.linkurl
 
@@ -135,11 +135,11 @@
       window.open(src)
     } else if (card.setting.click === 'button' && card.setting.clickType !== 'multi' && card.setting.linkbtn) {
       if (data.$$type === 'extendCard') {
-        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [])
+        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, data.$$selectedData || [])
       } else if (cards.subtype === 'datacard') {
         MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data], 'linkbtn')
       } else {
-        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data])
+        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, data.$$empty ? [] : [data])
       }
     }
   }
@@ -147,15 +147,15 @@
   doubleClick = () => {
     const { card, data, cards } = this.props
 
-    if (card.setting.click !== 'button' || card.setting.clickType !== 'multi') return
+    if (card.setting.click !== 'button' || card.setting.clickType !== 'multi' || data.$disabled) return
 
     if (card.setting.linkbtn) {
       if (data.$$type === 'extendCard') {
-        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [])
+        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, data.$$selectedData || [])
       } else if (cards.subtype === 'datacard') {
         MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data], 'linkbtn')
       } else {
-        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data])
+        MKEmitter.emit('triggerBtnId', card.setting.linkbtn, data.$$empty ? [] : [data])
       }
     }
   }
@@ -174,14 +174,4 @@
   }
 }
 
-const mapStateToProps = (state) => {
-  return {
-    permMenus: state.permMenus
-  }
-}
-
-const mapDispatchToProps = () => {
-  return {}
-}
-
-export default connect(mapStateToProps, mapDispatchToProps)(CardBoxComponent)
\ No newline at end of file
+export default CardBoxComponent
\ No newline at end of file

--
Gitblit v1.8.0