From 523cec6c87d88b43954a4409a8dfde6aade095a1 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 22 五月 2020 11:02:10 +0800 Subject: [PATCH] 2020-05-22 --- src/templates/sharecomponent/cardcomponent/index.jsx | 58 ++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 46 insertions(+), 12 deletions(-) diff --git a/src/templates/sharecomponent/cardcomponent/index.jsx b/src/templates/sharecomponent/cardcomponent/index.jsx index ab53003..bacd6f8 100644 --- a/src/templates/sharecomponent/cardcomponent/index.jsx +++ b/src/templates/sharecomponent/cardcomponent/index.jsx @@ -176,7 +176,8 @@ uuid: col.uuid, value: col.field, text: col.label, - icon: mark.icon + icon: mark.icon, + color: mark.color[1] }) } } @@ -268,7 +269,24 @@ }, onCancel() {} }) - + } + + deleteElem = (type) => { + const { dict } = this.state + let _this = this + + confirm({ + content: dict['model.confirm'] + dict['model.delete'] + '锛�', + okText: dict['model.confirm'], + cancelText: dict['header.cancel'], + onOk() { + let _subelement = fromJS(_this.props.card.subelement).toJS() + _subelement = _subelement.filter(_type => _type !== type) + + _this.plotChange({subelement: _subelement}) + }, + onCancel() {} + }) } render() { @@ -279,37 +297,52 @@ _width = Math.floor((100 / card.bottom.actions.length) * 10000) / 10000 + '%' } let outclass = card.widthType === 'ratio' ? ' ant-col ant-col-' + card.cardWidth : '' - if (card.background && card.background[1]) { - outclass += ' background ' + card.background[1] + if (card.background) { + outclass += ' background ' + card.background } - console.log(card) + if (card.border === 'hidden') { + outclass += ' without-border' + } else { + outclass += ' ant-card-bordered' + } + return ( <div className="line-card-edit-box mingke-table"> {card.title ? <p className="chart-title">{card.title}</p> : null} <div - className={'ant-card ant-card-bordered chart-card ' + outclass} + className={'ant-card chart-card ' + outclass} style={card.widthType === 'absolute' ? { width: card.cardWidth } : null} > {card.subelement.includes('header') ? <div className="ant-card-head"> <Icon className="edit" title="Edit" type="edit" onClick={this.editHeader} /> + <Icon className="edit close" title="close" type="close" onClick={() => this.deleteElem('header')} /> <div className="ant-card-head-wrapper"> <div className="ant-card-head-title">{card.header.content}</div> - {card.header.actions && card.header.actions.length > 0 ? <div className="ant-card-extra"> - <span>{card.header.actions.length === 1 ? card.header.actions[0].text : 'Action'}</span> - </div> : null} + {card.header.actions && card.header.actions.length > 0 ? + <div className="ant-card-extra"> + {card.header.actions.length === 1 ? + <span> + {['icon', 'all'].includes(card.header.show) ? <Icon type={card.header.actions[0].icon || 'dash'}/> : null} + {['text', 'all'].includes(card.header.show) ? card.header.actions[0].text : null} + </span> : null + } + {card.header.actions.length > 1 ? <span>Action</span> : null} + </div> : null + } </div> </div> : null } - {card.subelement.includes('content') ? <div className="ant-card-body"> + <div className="ant-card-body"> <div className="ant-card-meta"> <Icon type="plus" onClick={() => this.editdetail()} /> {card.subelement.includes('avatar') ? <div className="ant-card-meta-avatar"> <Icon className="edit" title="Edit" type="edit" onClick={this.editAvatar} /> + <Icon className="edit close" title="close" type="close" onClick={() => this.deleteElem('avatar')} /> <span className="ant-avatar ant-avatar-circle ant-avatar-image" style={{width: card.avatar.width || card.avatar.size || 32}}> {card.avatar.type === 'picture' ? <img src={avatar} alt=""/> : null} - {card.avatar.type === 'icon' ? <Icon className="avatar-icon" style={{fontSize: card.avatar.size + 'px'}} type={card.avatar.icon} /> : null} + {card.avatar.type === 'icon' ? <Icon className={'font ' + card.avatar.color} style={{fontSize: card.avatar.size + 'px'}} type={card.avatar.icon} /> : null} </span> </div> : null } @@ -320,10 +353,11 @@ deleteMenu={this.deletedetail} /> </div> - </div> : null} + </div> {card.subelement.includes('bottom') ? <ul className="ant-card-actions"> <Icon className="edit" title="Edit" type="edit" onClick={this.editBottom} /> + <Icon className="edit close" title="close" type="close" onClick={() => this.deleteElem('bottom')} /> {card.bottom.actions.map((item, i) => (<li key={i} style={{width: _width}}> <span> {['icon', 'all'].includes(card.bottom.show) ? <Icon type={item.icon || 'dash'}/> : null} -- Gitblit v1.8.0