From e8edfdadb561cd83bf6e1c3e00d55b8cc2aee6d5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 17 十月 2022 17:57:34 +0800 Subject: [PATCH] 2022-10-17 --- src/menu/components/card/cardcellcomponent/dragaction/action.jsx | 30 +++++++++++++++++++++--------- 1 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx index 346ad40..31328d0 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx @@ -1,7 +1,7 @@ import React from 'react' import { useDrag, useDrop } from 'react-dnd' import { Popover, Button, Switch, Checkbox } from 'antd' -import { EditOutlined, CopyOutlined, CloseOutlined, FontColorsOutlined, ProfileOutlined } from '@ant-design/icons' +import { EditOutlined, CopyOutlined, CloseOutlined, FontColorsOutlined, ProfileOutlined, WarningOutlined } from '@ant-design/icons' import { resetStyle } from '@/utils/utils-custom.js' import MkIcon from '@/components/mk-icon' @@ -18,7 +18,13 @@ const [, drop] = useDrop({ accept: 'action', canDrop: () => true, - drop({ id: draggedId }) { + drop(item) { + const { id: draggedId } = item + + if (item.$init) { + item.overIndex = id + } + if (!draggedId || draggedId === id) return const { index: originIndex } = findCard(draggedId) @@ -30,28 +36,34 @@ }) let hasProfile = false + let warning = null if (['pop', 'prompt', 'exec', 'form'].includes(card.OpenType)) { hasProfile = true } else if (card.OpenType === 'excelIn' || card.OpenType === 'excelOut') { hasProfile = true } else if (card.funcType === 'print') { hasProfile = true + } else if (card.OpenType === 'innerpage' && !card.pageTemplate) { + warning = <WarningOutlined style={{color: 'orange', marginLeft: '5px'}}/> } let btnElement = null let _style = resetStyle(card.style) + if (card.OpenType === 'form') { if (card.formType === 'switch') { - btnElement = (<Switch style={_style} size={card.size} checkedChildren={card.openText || ''} unCheckedChildren={card.closeText || ''}/>) - } else { + btnElement = (<Switch style={_style} className={card.size === 'large' ? 'ant-switch-large' : ''} size={card.size} checkedChildren={card.openText || ''} unCheckedChildren={card.closeText || ''}/>) + } else if (card.formType === 'radio') { btnElement = (<Checkbox style={_style}></Checkbox>) + } else { + btnElement = (<Button style={_style} type="link"><MkIcon type="scan"/></Button>) } } else if (card.show === 'icon') { - btnElement = (<Button style={_style} type="link"><MkIcon type={card.icon}/></Button>) + btnElement = (<Button style={_style} type="link"><MkIcon type={card.icon}/>{warning}</Button>) } else if (card.show === 'link') { - btnElement = (<Button style={_style} type="link">{card.label}{card.icon ? <MkIcon type={card.icon}/> : null}</Button>) + btnElement = (<Button style={_style} type="link">{card.label}{card.icon ? <MkIcon type={card.icon}/> : null}{warning}</Button>) } else { - btnElement = (<Button style={_style}> {card.icon ? <MkIcon type={card.icon}/> : null}{card.label} </Button>) + btnElement = (<Button style={_style}>{card.icon ? <MkIcon type={card.icon}/> : null}{card.label}{warning}</Button>) } return ( @@ -64,8 +76,8 @@ {hasProfile ? <ProfileOutlined className="profile" title="setting" onClick={() => profileCard(id)} /> : null} </div> } trigger="hover"> - <div ref={node => drag(drop(node))} className={'ant-col card-button-cell ant-col-' + card.width} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> - <div style={{opacity: isDragging ? 0 : 1}}> + <div ref={node => drag(drop(node))} className={'ant-col card-button-cell ant-col-' + card.width + (card.hidden === 'true' ? ' mk-hidden' : '')} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> + <div style={{opacity: isDragging ? 0 : 1, ...card.wrapStyle}}> {btnElement} </div> </div> -- Gitblit v1.8.0