| | |
| | | import MKEmitter from '@/utils/events.js' |
| | | import './index.scss' |
| | | |
| | | const { confirm } = Modal |
| | | |
| | | const NormalForm = asyncIconComponent(() => import('@/components/normalform')) |
| | | const CardCellComponent = asyncComponent(() => import('@/menu/components/card/cardcellcomponent')) |
| | | const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent')) |
| | |
| | | } |
| | | |
| | | addElement = () => { |
| | | const { cards } = this.props |
| | | const { card } = this.state |
| | | |
| | | let newcard = {} |
| | |
| | | newcard.eleType = 'text' |
| | | newcard.datatype = 'dynamic' |
| | | newcard.height = 1 |
| | | |
| | | if (card.$cardType === 'extendCard' && card.setting.cardRole === 'header') { |
| | | newcard.datatype = 'static' |
| | | } else if (cards.subtype === 'propcard' && cards.wrap.datatype === 'static') { |
| | | newcard.datatype = 'static' |
| | | } |
| | | |
| | | // 注册事件-添加元素 |
| | | MKEmitter.emit('cardAddElement', card.uuid, newcard) |
| | |
| | | updateSetting = (res) => { |
| | | const { card, side, appType } = this.state |
| | | |
| | | if (card.$cardType === 'extendCard' && res.cardRole === 'header') { |
| | | let _card = {...card, setting: res} |
| | | |
| | | let originLength = _card.elements.length |
| | | _card.elements = _card.elements.filter(item => item.eleType === 'text') |
| | | _card.backElements = [] |
| | | |
| | | delete _card.menus |
| | | |
| | | if (_card.elements.length < originLength) { |
| | | const that = this |
| | | |
| | | confirm({ |
| | | title: '表格头仅支持文本,确定要切换卡片角色吗?', |
| | | content: '', |
| | | okText: '确定', |
| | | cancelText: '取消', |
| | | onOk() { |
| | | that.setState({ card: _card, side: '', elements: fromJS(_card.elements).toJS() }, () => { |
| | | that.setState({ side: 'front' }) |
| | | }) |
| | | that.props.updateElement(_card) |
| | | }, |
| | | onCancel() {} |
| | | }) |
| | | } else { |
| | | this.setState({ card: _card, side: 'front' }) |
| | | this.props.updateElement(_card) |
| | | } |
| | | |
| | | return |
| | | } |
| | | |
| | | if (appType === '' && res.menu) { |
| | | let list = null |
| | | try { |
| | |
| | | |
| | | let _uuid = Utils.getuuid() |
| | | |
| | | if (card.$cardType === 'extendCard' && card.setting.cardRole === 'header' && element.eleType !== 'text') { |
| | | resolve({status: false, message: '表格头仅支持文本元素!'}) |
| | | return |
| | | } |
| | | |
| | | if (element.copyType === 'action') { |
| | | element.eleType = 'button' |
| | | element.width = element.width || 12 |
| | | } |
| | | |
| | | element.uuid = _uuid |
| | |
| | | } |
| | | } |
| | | |
| | | let tablerole = '' |
| | | if (card.$cardType === 'extendCard' && card.setting.cardRole === 'header') { |
| | | tablerole = ' mk-table-header' |
| | | } |
| | | |
| | | return ( |
| | | <Col span={card.setting.width || 6}> |
| | | <div className={'card-item ' + (card.setting.btnControl || '') + checkAll} style={_style} onDoubleClick={(e) => {e.stopPropagation(); this.doubleClickCard()}} id={card.uuid}> |
| | | <div className={'card-item ' + (card.setting.btnControl || '') + checkAll + tablerole} style={_style} onDoubleClick={(e) => {e.stopPropagation(); this.doubleClickCard()}} id={card.uuid}> |
| | | <span className="circle-select"></span> |
| | | <CardCellComponent cards={cards} cardCell={card} side={side} elements={elements} updateElement={this.updateCard}/> |
| | | <div className="card-control" onDoubleClick={(e) => e.stopPropagation()}> |
| | | <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ |
| | | <div className="mk-popover-control"> |
| | | <PlusOutlined className="plus" title="添加元素" onClick={this.addElement} /> |
| | | <PlusSquareOutlined className="plus" title="添加按钮" onClick={this.addButton} /> |
| | | {!tablerole ? <PlusSquareOutlined className="plus" title="添加按钮" onClick={this.addButton} /> : null} |
| | | <NormalForm title={cards.subtype === 'datacard' && card.$cardType !== 'extendCard' ? '循环卡片设置' : '属性卡片设置'} width={950} update={this.updateSetting} getForms={this.getSettingForms}> |
| | | <EditOutlined className="edit" title="编辑"/> |
| | | </NormalForm> |