king
2022-09-06 b8e1395f02c929eaa96b949cf6027ee2a43856a6
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,
        }),