| | |
| | | } |
| | | |
| | | openView = () => { |
| | | const { card, data, cards } = this.props |
| | | const { card, data, cards, onClick } = this.props |
| | | |
| | | onClick && onClick() |
| | | |
| | | if (!card.setting.click || data.$disabled) return |
| | | |
| | | if (card.setting.click === 'menus' && cards.subtype === 'datacard' && card.$cardType !== 'extendCard') { |
| | | let menu = null |
| | | |
| | | if (card.menus && card.menus.length > 0) { |
| | | let s = data[card.setting.menuType] || '' |
| | | let s = data[card.setting.menuType] + '' |
| | | card.menus.forEach(m => { |
| | | if (s !== m.sign) return |
| | | menu = m |
| | |
| | | } |
| | | |
| | | doubleClick = () => { |
| | | const { card, data, cards } = this.props |
| | | const { card, data, cards, onDoubleClick } = this.props |
| | | |
| | | onDoubleClick && onDoubleClick() |
| | | |
| | | if (card.setting.click !== 'button' || card.setting.clickType !== 'multi' || data.$disabled) return |
| | | |
| | | if (card.setting.linkbtn) { |
| | |
| | | } |
| | | |
| | | render() { |
| | | const { card, data, cards } = this.props |
| | | const { card, data, cards, children } = this.props |
| | | let style = {...card.style} |
| | | |
| | | let bg = null |
| | | |
| | | if (card.setting.bgField) { |
| | | style.backgroundImage = `url('${data[card.setting.bgField] || ''}')` |
| | | } |
| | | |
| | | if (style.backgroundImage) { |
| | | bg = <div className="card-background" style={{backgroundImage: style.backgroundImage}}></div> |
| | | style.backgroundImage = '' |
| | | } |
| | | |
| | | return ( |
| | | <div className={'card-item-box ' + (card.setting.btnControl || '')} style={style} onClick={this.openView} onDoubleClick={this.doubleClick}> |
| | | <div className={'card-item-box ' + (card.setting.btnControl || '') + (card.setting.click ? ' mk-pointer' : '')} style={style} onClick={this.openView} onDoubleClick={this.doubleClick}> |
| | | {bg} |
| | | {children} |
| | | <CardCellComponent data={data} cards={cards} cardCell={card} elements={card.elements}/> |
| | | {card.setting.type === 'multi' ? <div className={'back-side ' + card.setting.transform} style={card.backStyle}> |
| | | <CardCellComponent data={data} cards={cards} cardCell={card} elements={card.backElements}/> |