From 6ed4e1dc4b9575a22f74f57fbf90abe02b315de7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 21 十一月 2024 10:10:33 +0800 Subject: [PATCH] 2024-11-21 --- src/menu/components/card/cardcellcomponent/dragaction/card.jsx | 46 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 38 insertions(+), 8 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/dragaction/card.jsx b/src/menu/components/card/cardcellcomponent/dragaction/card.jsx index 34fbe37..1c1b983 100644 --- a/src/menu/components/card/cardcellcomponent/dragaction/card.jsx +++ b/src/menu/components/card/cardcellcomponent/dragaction/card.jsx @@ -59,14 +59,20 @@ let _style = {opacity: isDragging ? 0.3 : 1} - if (card.style) { + if (card.style && card.eleType !== 'tag') { _style = {...card.style, opacity: isDragging ? 0.3 : 1} _style = resetStyle(_style) } if (card.eleType === 'picture' && card.maxWidth) { _style.maxWidth = card.maxWidth - let left = _style.marginLeft && _style.marginLeft !== '0px' ? _style.marginLeft : 'auto' - let right = _style.marginRight && _style.marginRight !== '0px' ? _style.marginRight : 'auto' + let left = _style.marginLeft || 'auto' + let right = _style.marginRight || 'auto' + + if (_style.marginLeft === '0px' && _style.marginRight === '0px') { + left = 'auto' + right = 'auto' + } + _style.margin = (_style.marginTop || 0) + ' ' + right + ' ' + (_style.marginBottom || 0) + ' ' + left delete _style.marginLeft delete _style.marginRight @@ -77,7 +83,7 @@ const getContent = () => { if (card.eleType === 'sequence') { return ( - <div style={{height: card.innerHeight || 'auto'}} className="ant-mk-text">1</div> + <div style={{height: card.innerHeight || 'auto'}} className="ant-mk-text">{card.prefix || ''}1{card.postfix || ''}</div> ) } else if (card.eleType === 'text' || card.eleType === 'number') { let val = `${card.prefix || ''}${card.datatype === 'static' ? (card.value || '') : (card.field || '')}${card.postfix || ''}` @@ -178,9 +184,25 @@ let _s = {fontSize: card.fixSize, color: card.fixColor, marginLeft: card.fixLeft, marginRight: card.fixRight} val = <><span style={_s}>{card.prefix || ''}</span>{card.formula}<span style={_s}>{card.postfix || ''}</span></> } + return ( <div className="ant-mk-text" style={{height: card.innerHeight || 'auto'}}> {val} + </div> + ) + } else if (card.eleType === 'tag') { + let vals = [] + if (card.datatype === 'static') { + vals = card.value.split(',').filter(Boolean) + } else { + vals = [card.field || ''] + } + + let _style = resetStyle(card.style) + + return ( + <div className="ant-mk-tag"> + {vals.map((val, index) => <span key={index} className="tag-item" style={_style}>{val}</span>)} </div> ) } else if (card.eleType === 'color') { @@ -219,9 +241,17 @@ _style_ = {float: 'right'} } - let tableHCell = false + let mark = ['text', 'number', 'slider', 'sequence', 'formula', 'icon'].includes(card.eleType) if (parent.setting && parent.setting.cardRole === 'header') { - tableHCell = true + mark = false + } else if (card.eleType === 'formula' && card.eval === 'func') { + mark = false + } + + let className = 'ant-col card-cell ant-col-' + card.width + + if (card.noValue === 'hide') { + className += ' no-value-hide' } return ( @@ -231,10 +261,10 @@ <CopyOutlined className="copy" title="澶嶅埗" onClick={() => copyCard(id)} /> <CloseOutlined className="close" title="鍒犻櫎" onClick={() => delCard(id)} /> <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => changeStyle(id)}/> - {['text', 'number', 'slider', 'sequence', 'formula'].includes(card.eleType) && !tableHCell ? <MarkColumn field={card.field || ''} columns={fields} type={card.eleType} marks={card.marks} onSubmit={(vals) => updateMarks({...card, marks: vals})} /> : null } + {mark ? <MarkColumn field={card.field || ''} columns={fields} type={card.eleType} marks={card.marks} onSubmit={(vals) => updateMarks({...card, marks: vals})} /> : null } </div> } trigger="hover"> - <div ref={node => drag(drop(node))} style={_style_} className={'ant-col card-cell ant-col-' + card.width}> + <div ref={node => drag(drop(node))} style={_style_} className={className}> <div style={_style} onClick={clickComponent} onDoubleClick={() => able && editCard(id)} id={card.uuid}> {getContent()} </div> -- Gitblit v1.8.0