From b69b5f6329ca5f87932436b7a6c1ddfc3377e10f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 16 五月 2024 10:56:41 +0800 Subject: [PATCH] 2024-05-16 --- src/tabviews/custom/components/carousel/cardItem/index.jsx | 60 +++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 35 insertions(+), 25 deletions(-) diff --git a/src/tabviews/custom/components/carousel/cardItem/index.jsx b/src/tabviews/custom/components/carousel/cardItem/index.jsx index 94144cb..9b0d0d8 100644 --- a/src/tabviews/custom/components/carousel/cardItem/index.jsx +++ b/src/tabviews/custom/components/carousel/cardItem/index.jsx @@ -16,10 +16,6 @@ data: PropTypes.object, } - state = { - card: null, // 鍗$墖淇℃伅锛屽寘鎷鍙嶉潰 - } - /** * @description 鎼滅储鏉′欢鍒濆鍖� */ @@ -43,29 +39,32 @@ openView = () => { const { card, data, cards } = this.props - if (card.setting.click === 'menu' && card.setting.MenuID) { - let menu = { - MenuID: card.setting.MenuID, - MenuName: card.setting.MenuName, - MenuNo: card.setting.MenuNo, - type: card.setting.tabType + if (!card.setting.click || data.$disabled) return + + if (card.setting.click === 'menu') { + let menuId = card.setting.menu.slice(-1)[0] + let menu = null + + if (window.GLOB.mkThdMenus.has(menuId)) { + menu = {...window.GLOB.mkThdMenus.get(menuId)} + } else if (card.setting.MenuID) { + menu = { + MenuID: card.setting.MenuID, + MenuName: card.setting.MenuName, + type: card.setting.tabType + } } - let newtab = { - ...menu, - selected: true, - param: {} - } + if (!menu) return - if (card.setting.joint === 'true') { - newtab.param.$BID = data.$$uuid || '' - } + menu.param = {$BID: data.$$uuid || ''} - if (['linkage_navigation', 'linkage', 'menu_board'].includes(window.GLOB.navBar)) { - MKEmitter.emit('modifyTabs', newtab, 'replace') - } else { - MKEmitter.emit('modifyTabs', newtab, 'plus') - } + Object.keys(data).forEach(key => { + if (/^\$/.test(key)) return + menu.param[key] = data[key] + }) + + MKEmitter.emit('modifyTabs', menu, true) } else if (card.setting.click === 'link') { let src = card.setting.linkurl @@ -77,14 +76,25 @@ } src = src + `${con}id=${data.$$uuid || ''}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}` + } else if (/@/.test(src)) { + src = src.replace(/@id@/ig, data.$$uuid || '') + src = src.replace(/@appkey@/ig, window.GLOB.appkey) + src = src.replace(/@userid@/ig, sessionStorage.getItem('UserID')) + src = src.replace(/@LoginUID@/ig, sessionStorage.getItem('LoginUID')) + + Object.keys(data).forEach(key => { + if (/^\$/.test(key)) return + let reg = new RegExp('@' + key + '@', 'ig') + src = src.replace(reg, data[key]) + }) } window.open(src) } else if (card.setting.click === 'button' && card.setting.linkbtn) { if (cards.subtype === 'datacard') { - MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data], 'linkbtn') + MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data], 'linkbtn', (data.$$uuid || '') + (data.$Index || '')) } else { - MKEmitter.emit('triggerBtnId', card.setting.linkbtn, [data]) + MKEmitter.emit('triggerBtnId', card.setting.linkbtn, data.$$empty ? [] : [data]) } } } -- Gitblit v1.8.0