From a9ac16fecc0cf9bc66dfaefe4e9b35fa3c722812 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 10 十一月 2020 16:58:43 +0800 Subject: [PATCH] 2020-11-10 --- src/menu/components/card/cardcellcomponent/index.jsx | 74 ++++++++++++++++++++++++++++++------ 1 files changed, 61 insertions(+), 13 deletions(-) diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx index 0c8d9f2..3d80bc4 100644 --- a/src/menu/components/card/cardcellcomponent/index.jsx +++ b/src/menu/components/card/cardcellcomponent/index.jsx @@ -102,10 +102,9 @@ const { cards, cardCell } = this.props let _style = element.style ? fromJS(element.style).toJS() : {} - let options = ['font', 'border', 'padding', 'margin'] + let options = ['font', 'border', 'padding', 'margin', 'backgroundColor'] if (element.eleType === 'button') { - options.push('background') if (element.btnstyle) { _style = {..._style, ...element.btnstyle} } @@ -132,7 +131,32 @@ let _card = fromJS(card).toJS() - if (card.eleType === 'button') { // 鎷嗗垎style + if (_card.eleType === 'text' || _card.eleType === 'number' || _card.eleType === 'link') { + _card.style = style + + let fontSize = 14 + let lineHeight = 1.5 + let line = _card.height || 1 + + if (_card.style.fontSize) { + fontSize = parseInt(_card.style.fontSize) + } + if (_card.style.lineHeight) { + lineHeight = parseFloat(_card.style.lineHeight) + } + + _card.innerHeight = fontSize * lineHeight * line + } else if (_card.eleType === 'barcode') { + _card.style = style + + let fontSize = 14 + + if (_card.style.fontSize) { + fontSize = parseInt(_card.style.fontSize) + } + + _card.innerHeight = _card.barHeight + (_card.displayValue === 'true' ? fontSize + 2 : 0) + } else if (_card.eleType === 'button') { // 鎷嗗垎style let _style = fromJS(style).toJS() _card.style = {} @@ -203,13 +227,15 @@ * @description 鍏冪礌缂栬緫锛岃幏鍙栧厓绱犺〃鍗曚俊鎭� */ handleElement = (card) => { + const { cards } = this.props + if (card.eleType === 'button') { this.handleAction(card) } else { this.setState({ visible: true, card: card, - formlist: getCardCellForm(card) + formlist: getCardCellForm(card, cards.type) }) } } @@ -376,16 +402,40 @@ handleSubmit = () => { const { elements } = this.state - this.elementFormRef.handleConfirm().then(ele => { + this.elementFormRef.handleConfirm().then(res => { let _elements = elements.map(cell => { - if (cell.uuid === ele.uuid) { - ele.style = cell.style || {} - if (ele.eleType === 'splitline' && cell.eleType !== 'splitline') { - ele.style.paddingTop = '5px' - ele.style.paddingBottom = '5px' + if (cell.uuid === res.uuid) { + res.style = cell.style || {} + if (res.eleType === 'splitline' && cell.eleType !== 'splitline') { + res.style.paddingTop = '5px' + res.style.paddingBottom = '5px' + } else if (res.eleType === 'text' || res.eleType === 'number' || res.eleType === 'link') { + let fontSize = 14 + let lineHeight = 1.5 + let line = res.height || 1 + + if (res.style && res.style.fontSize) { + fontSize = parseInt(res.style.fontSize) + } + if (res.style && res.style.lineHeight) { + lineHeight = parseFloat(res.style.lineHeight) + } + res.innerHeight = fontSize * lineHeight * line + + if (res.eleType === 'link' && !res.style.color) { + res.style.color = 'rgba(24, 144, 255, 1)' + } + } else if (res.eleType === 'barcode') { + let fontSize = 14 + + if (res.style && res.style.fontSize) { + fontSize = parseInt(res.style.fontSize) + } + + res.innerHeight = res.barHeight + (res.displayValue === 'true' ? fontSize + 2 : 0) } - return ele + return res } return cell }) @@ -410,10 +460,8 @@ if (cell.uuid === res.uuid) { res = {...cell, ...res} delete res.focus - return res } - return cell }) -- Gitblit v1.8.0