From fa381753ef2a2b25b1c0722549ac17e333da79be Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 06 九月 2022 22:50:54 +0800 Subject: [PATCH] 2022-09-06 --- src/menu/components/table/edit-table/columns/index.jsx | 40 ++++++++++++++++++++++++++-------------- 1 files changed, 26 insertions(+), 14 deletions(-) diff --git a/src/menu/components/table/edit-table/columns/index.jsx b/src/menu/components/table/edit-table/columns/index.jsx index 23067de..870e23a 100644 --- a/src/menu/components/table/edit-table/columns/index.jsx +++ b/src/menu/components/table/edit-table/columns/index.jsx @@ -18,6 +18,7 @@ const TableVerify = asyncComponent(() => import('./tableIn')) const MarkColumn = asyncIconComponent(() => import('@/menu/components/share/markcomponent')) const CardCellComponent = asyncComponent(() => import('@/menu/components/card/cardcellcomponent')) +const PasteComponent = asyncIconComponent(() => import('@/components/paste')) class HeaderCol extends Component { deleteCol = () => { @@ -51,7 +52,7 @@ } render() { - const { connectDragSource, connectDropTarget, moveCol, addElement, updateCol, editColumn, changeStyle, deleteCol, index, column, align, fields, children, ...restProps } = this.props + const { connectDragSource, connectDropTarget, moveCol, addElement, updateCol, editColumn, pasteCell, changeStyle, deleteCol, index, column, align, fields, children, ...restProps } = this.props if (!column) return ( <th {...restProps} index={index}> @@ -67,9 +68,11 @@ <PlusOutlined className="plus" title="娣诲姞" onClick={() => this.props.addElement(column)} /> : null } <EditOutlined className="edit" title="缂栬緫" onClick={() => this.props.editColumn(column)} /> + {column.type === 'custom' ? <PasteComponent options={['customCardElement']} updateConfig={(res, resolve) => this.props.pasteCell(column, res, resolve)} /> : null} + {column.type === 'action' ? <PasteComponent options={['action']} updateConfig={(res, resolve) => this.props.pasteCell(column, res, resolve)} /> : null} {column.type === 'custom' ? <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.props.changeStyle(column)}/> : null} <DeleteOutlined className="close" title="鍒犻櫎" onClick={this.deleteCol} /> - {['text', 'number', 'formula'].includes(column.type) ? <MarkColumn columns={fields} marks={column.marks} onSubmit={this.updateMarks} /> : null } + {['text', 'number', 'formula'].includes(column.type) ? <MarkColumn field={column.field || ''} columns={fields} marks={column.marks} onSubmit={this.updateMarks} /> : null } </div> } trigger="hover"> {children} @@ -282,6 +285,16 @@ }) } + pasteCell = (col, cell, resolve) => { + resolve({status: true}) + + delete cell.copyType + cell.uuid = Utils.getuuid() + cell.focus = true + + MKEmitter.emit('cardAddElement', [this.props.config.uuid, col.uuid], cell) + } + addElement = (col) => { const { config } = this.props let column = fromJS(col).toJS() @@ -328,27 +341,25 @@ editStyleCard: fromJS(col).toJS() }) - MKEmitter.emit('changeStyle', [col.uuid], ['font', 'padding'], col.style || {}) + MKEmitter.emit('changeStyle', ['font', 'padding'], col.style || {}, this.getStyle) } changeSubmitStyle = () => { const { config } = this.props - MKEmitter.emit('changeStyle', [config.uuid, 'submit'], ['font', 'background', 'border', 'margin', 'padding'], config.submit.style || {}) + MKEmitter.emit('changeStyle', ['font', 'background', 'border', 'margin', 'padding'], config.submit.style || {}, this.getSubmitStyle) } - getStyle = (comIds, style) => { + getSubmitStyle = (style) => { const { config } = this.props + + let submit = {...config.submit, style} + + this.props.updatecolumn({...config, submit: submit}) + } + + getStyle = (style) => { const { editStyleCard } = this.state - - if (comIds.length === 2 && comIds[0] === config.uuid && comIds[1] === 'submit') { - let submit = {...config.submit, style} - - this.props.updatecolumn({...config, submit: submit}) - - return - } - if (comIds.length !== 1 || !editStyleCard || comIds[0] !== editStyleCard.uuid) return let _card = {...editStyleCard, style} @@ -554,6 +565,7 @@ updateCol: this.updateCol, addElement: this.addElement, editColumn: this.editColumn, + pasteCell: this.pasteCell, changeStyle: this.changeStyle, deleteCol: this.deleteCol, }), -- Gitblit v1.8.0