From f0bf8c399c354c22227f8f1a76ed806098db59c0 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 21 五月 2024 16:51:02 +0800 Subject: [PATCH] 2024-05-21 --- src/menu/components/card/cardcellcomponent/index.jsx | 71 ++++++++++++++++++++++++++++++----- 1 files changed, 61 insertions(+), 10 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx index b58ca78..50386cc 100644 --- a/src/menu/components/card/cardcellcomponent/index.jsx +++ b/src/menu/components/card/cardcellcomponent/index.jsx @@ -24,11 +24,12 @@ class CardCellComponent extends Component { static propTpyes = { - cards: PropTypes.object, // 鑿滃崟閰嶇疆淇℃伅 + cards: PropTypes.object, cardCell: PropTypes.object, side: PropTypes.string, - elements: PropTypes.array, // 鍏冪礌闆� - updateElement: PropTypes.func // 鑿滃崟閰嶇疆鏇存柊 + timestamp: PropTypes.any, + elements: PropTypes.array, + updateElement: PropTypes.func } state = { @@ -74,7 +75,7 @@ } UNSAFE_componentWillReceiveProps(nextProps) { - if (this.props.side !== nextProps.side && nextProps.side) { + if (this.props.timestamp !== nextProps.timestamp && nextProps.timestamp) { this.setState({ elements: fromJS(nextProps.elements).toJS() }) @@ -150,9 +151,13 @@ } else { options.push('width', 'minHeight', 'float') _style.minHeight = _style.minHeight || '28px' + _style.textAlign = _style.textAlign || 'center' } + if (element.wrapStyle) { _style.float = element.wrapStyle.textAlign || 'left' + } else { + _style.float = _style.float || 'center' } } else if (element.eleType === 'picture') { options = ['background', 'border', 'margin'] @@ -168,8 +173,12 @@ } else if (element.eleType === 'splitline') { options = ['padding', 'margin'] } + if (['text', 'number', 'formula', 'currentDate'].includes(element.eleType)) { + options.push('fontFamily') + _style.fontFamily = _style.fontFamily ? _style.fontFamily.split(',') : [] + } - if (element.eleType !== 'button') { + if (element.eleType !== 'button' && element.eleType !== 'tag') { options.push('position') } @@ -203,8 +212,16 @@ let _card = fromJS(card).toJS() if (['text', 'number', 'formula', 'currentDate', 'sequence', 'icon'].includes(_card.eleType)) { - _card.style = style + _card.style = fromJS(style).toJS() let line = _card.height || null + + if (style.fontFamily) { + if (style.fontFamily.length === 0) { + delete _card.style.fontFamily + } else { + _card.style.fontFamily = style.fontFamily.join(',') + } + } if (['currentDate', 'sequence'].includes(_card.eleType) || (_card.eleType === 'icon' && _card.tipType !== 'text')) { line = 1 @@ -238,9 +255,17 @@ } else if (_card.eleType === 'button') { // 鎷嗗垎style _card.style = fromJS(style).toJS() - if (style.float) { + if (style.float === 'center') { + delete _card.style.float + } else if (style.float) { _card.wrapStyle = {textAlign: style.float} delete _card.style.float + } + if (style.textAlign === 'center') { + delete _card.style.textAlign + } + if (style.minHeight === '28px') { + delete _card.style.minHeight } } else if (_card.eleType === 'picture') { _card.style = style @@ -322,7 +347,7 @@ this.setState({ actvisible: true, card: card, - formlist: getBaseTableActionForm(card, functip, cards, usefulFields, modules) + formlist: getBaseTableActionForm(card, functip, cards, usefulFields, modules, 'line') }) } else { let anchors = MenuUtils.getAnchors(menu.components, cards.uuid) || [] @@ -330,7 +355,7 @@ this.setState({ actvisible: true, card: card, - formlist: getActionForm(card, functip, cards, usefulFields, modules, anchors, side) + formlist: getActionForm(card, functip, cards, usefulFields, modules, anchors, side, 'line') }) } } @@ -379,6 +404,9 @@ if (!['text', 'number', 'icon'].includes(res.eleType)) { delete res.style.display } + if (!['text', 'number', 'formula', 'currentDate'].includes(res.eleType)) { + delete res.style.fontFamily + } if (res.eleType === 'splitline' && (cell.eleType !== 'splitline' || cell.focus)) { res.style.paddingTop = '5px' @@ -423,6 +451,21 @@ delete res.style.paddingBottom delete res.style.paddingLeft delete res.style.paddingRight + } else if (res.eleType === 'tag') { + delete res.style.position + if (cell.eleType !== 'tag') { + res.style = { + backgroundColor: 'var(--mk-sys-color1)', + color: 'var(--mk-sys-color)', + borderColor: 'var(--mk-sys-color)', + borderWidth: '1px', + borderRadius: '4px', + paddingLeft: '7px', + paddingRight: '7px', + marginRight: '8px', + marginBottom: '8px', + } + } } return res @@ -447,6 +490,13 @@ let color = { primary: '#1890ff', yellow: '#c49f47', orange: 'orange', danger: '#ff4d4f', green: '#26C281', dgreen: '#32c5d2', purple: '#8E44AD', cyan: '#13c2c2', gray: '#666666', default: 'rgba(0, 0, 0, 0.65)' } this.actionFormRef.handleConfirm().then(res => { + if (res.width % 0.5) { + res.width = parseInt(res.width / 0.5) * 0.5 + } + if (res.width % 1) { + res.width = (res.width + '').replace(/.5/, 'x') + } + let _elements = elements.map(cell => { if (cell.uuid === res.uuid) { res.eleType = cell.eleType || null @@ -457,7 +507,8 @@ if (cell.OpenType !== 'form') { res.style = {} } - } else if (res.class !== cell.class || res.show !== cell.show || !res.style) { + // } else if (res.class !== cell.class || res.show !== cell.show || !res.style) { + } else if (res.class !== cell.class || !res.style) { if (res.class) { let cl = res.class.replace('border-', '') let style = {} -- Gitblit v1.8.0