From c4564064afe704f73acab29dded85e8c85dcc182 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 26 三月 2024 14:28:23 +0800 Subject: [PATCH] 2024-03-26 --- src/tabviews/zshare/actionList/tabbutton/index.jsx | 67 +++++++++++++++------------------ 1 files changed, 30 insertions(+), 37 deletions(-) diff --git a/src/tabviews/zshare/actionList/tabbutton/index.jsx b/src/tabviews/zshare/actionList/tabbutton/index.jsx index 7a7fee1..87402ee 100644 --- a/src/tabviews/zshare/actionList/tabbutton/index.jsx +++ b/src/tabviews/zshare/actionList/tabbutton/index.jsx @@ -3,8 +3,6 @@ import { is, fromJS } from 'immutable' import { Button, notification } from 'antd' -import zhCN from '@/locales/zh-CN/main.js' -import enUS from '@/locales/en-US/main.js' import MKEmitter from '@/utils/events.js' import MkIcon from '@/components/mk-icon' // import './index.scss' @@ -17,10 +15,10 @@ btn: PropTypes.object, // 鎸夐挳 selectedData: PropTypes.any, // 瀛愯〃涓�夋嫨鏁版嵁 disabled: PropTypes.any, // 琛屾寜閽鐢� + name: PropTypes.any } state = { - dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, disabled: false, hidden: false, primaryId: '' @@ -114,11 +112,19 @@ let data = record || selectedData || [] - if (btn.Ot === 'requiredSgl' && data.length !== 1) { + if (btn.Ot !== 'notRequired' && data.length === 0) { + // 闇�瑕侀�夋嫨琛屾椂锛屾牎楠屾暟鎹� + notification.warning({ + top: 92, + message: '璇烽�夋嫨琛岋紒', + duration: 5 + }) + return false + } else if (btn.Ot === 'requiredSgl' && data.length !== 1) { // 闇�瑕侀�夋嫨鍗曡鏃讹紝鏍¢獙鏁版嵁 notification.warning({ top: 92, - message: this.state.dict['main.action.confirm.selectSingleLine'], + message: '璇烽�夋嫨鍗曡鏁版嵁锛�', duration: 5 }) return @@ -128,6 +134,10 @@ if (btn.Ot === 'requiredSgl') { primaryId = data[0].$$uuid || '' + } else if (btn.Ot === 'requiredOnce') { + let ids = data.map(d => (d.$$uuid || '')) + ids = ids.filter(Boolean) + primaryId = ids.join(',') } else if (btn.Ot === 'notRequired' && BID) { primaryId = BID } @@ -149,14 +159,16 @@ } } else if (btn.linkmenu && btn.linkmenu.length > 0) { let menuId = btn.linkmenu.slice(-1)[0] - let menu = window.GLOB.mkThdMenus.filter(m => m.MenuID === menuId)[0] + let menu = null - if (!menu && btn.MenuName && btn.MenuID) { + if (window.GLOB.mkThdMenus.has(menuId)) { + menu = {...window.GLOB.mkThdMenus.get(menuId), param: { $BID: primaryId }} + } else if (btn.MenuID) { menu = { MenuID: btn.MenuID, MenuName: btn.MenuName, - MenuNo: btn.MenuNo, - type: btn.tabType + type: btn.tabType, + param: { $BID: primaryId } } } @@ -169,12 +181,7 @@ return } - newtab = { - ...menu, - param: { - $BID: primaryId - } - } + newtab = menu } if (btn.openTab === 'view') { @@ -191,43 +198,29 @@ } render() { - const { btn } = this.props + const { btn, name } = this.props const { disabled, hidden } = this.state if (hidden) return null let label = '' - let icon = '' - let type = 'link' - let className = '' - if (btn.show === 'button') { - label = btn.label - icon = btn.icon || '' - } else if (btn.show === 'link') { - label = <span>{btn.label}{btn.icon ? <MkIcon style={{marginLeft: '8px'}} type={btn.icon}/> : ''}</span> - icon = '' + if (btn.show === 'link') { + label = <span>{name || btn.label}{btn.icon ? <MkIcon style={{marginLeft: '8px'}} type={btn.icon} /> : ''}</span> } else if (btn.show === 'icon') { - icon = btn.icon || '' - } else if (!btn.$toolbtn) { - icon = btn.icon || '' - label = btn.label - className = 'mk-btn mk-' + btn.class + label = <MkIcon type={btn.icon} /> } else { - type = '' - icon = btn.icon || '' - label = btn.label - className = 'mk-btn mk-' + btn.class + label = <span>{btn.icon ? <MkIcon style={{marginRight: '8px'}} type={btn.icon} /> : ''}{name || btn.label}</span> } return ( <Button - type={type} + type="link" + id={'button' + btn.uuid} title={disabled ? (btn.reason || '') : (btn.show === 'icon' ? btn.label : '')} style={btn.style || null} disabled={disabled} - icon={icon} - className={className} + className={btn.$toolbtn ? (btn.hover || '') : ''} onClick={(e) => {e.stopPropagation(); this.actionTrigger()}} >{label}</Button> ) -- Gitblit v1.8.0