From 642b103206a54923a460ee36550f275b22d6f09c Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 11 三月 2023 17:03:02 +0800 Subject: [PATCH] 2023-03-11 --- src/menu/components/card/cardcellcomponent/dragaction/action.jsx | 34 +++++++++++++++++++++++++++++----- 1 files changed, 29 insertions(+), 5 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/dragaction/action.jsx b/src/menu/components/card/cardcellcomponent/dragaction/action.jsx index 816abe9..5b2b78c 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, WarningOutlined } from '@ant-design/icons' +import { EditOutlined, CopyOutlined, CloseOutlined, FontColorsOutlined, ProfileOutlined, WarningOutlined, PlusOutlined, MinusOutlined } 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) @@ -47,8 +53,12 @@ if (card.OpenType === 'form') { if (card.formType === 'switch') { btnElement = (<Switch style={_style} className={card.size === 'large' ? 'ant-switch-large' : ''} size={card.size} checkedChildren={card.openText || ''} unCheckedChildren={card.closeText || ''}/>) - } else { + } else if (card.formType === 'counter') { + btnElement = (<div style={_style} className={'mk-counter ' + card.size}><span><MinusOutlined /></span><span>1</span><span><PlusOutlined /></span></div>) + } 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}/>{warning}</Button>) @@ -56,6 +66,20 @@ 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}{warning}</Button>) + } + + let _style_ = null + + if (card.style && card.style.clear === 'left') { + _style_ = {clear: 'left'} + } + + let className = card.width || '' + if (card.hidden === 'true') { + className += ' mk-hidden' + } + if (card.checkType) { + className += ' ' + card.checkType } return ( @@ -68,8 +92,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 + (card.hidden === 'true' ? ' mk-hidden' : '')} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> - <div style={{opacity: isDragging ? 0 : 1, ...card.wrapStyle}}> + <div ref={node => drag(drop(node))} style={_style_} className={'ant-col card-button-cell ant-col-' + className} onDoubleClick={(e) => {e.stopPropagation(); doubleClickCard(id)}}> + <div style={{opacity: isDragging ? 0.3 : 1, ...card.wrapStyle}}> {btnElement} </div> </div> -- Gitblit v1.8.0