king
2024-06-14 2c573446cd5059b09c06c8673eaf1f51f43967ce
src/menu/components/table/base-table/columns/index.jsx
@@ -2,8 +2,8 @@
import PropTypes from 'prop-types'
import { is, fromJS } from 'immutable'
import { DndProvider, DragSource, DropTarget } from 'react-dnd'
import { Table, Popover, Modal, message, notification } from 'antd'
import { PlusOutlined, PlusSquareOutlined, EditOutlined, CopyOutlined, DeleteOutlined, FontColorsOutlined, CloseCircleOutlined, AntDesignOutlined, InfoOutlined } from '@ant-design/icons'
import { Table, Popover, Modal, message, notification, Typography } from 'antd'
import { PlusOutlined, PlusSquareOutlined, EditOutlined, CopyOutlined, DeleteOutlined, FontColorsOutlined, CloseCircleOutlined, AntDesignOutlined } from '@ant-design/icons'
import asyncComponent from '@/utils/asyncComponent'
import asyncIconComponent from '@/utils/asyncIconComponent'
@@ -12,6 +12,7 @@
import './index.scss'
const { confirm } = Modal
const { Paragraph } = Typography
const EditColumn = asyncComponent(() => import('./editColumn'))
const MarkColumn = asyncIconComponent(() => import('@/menu/components/share/markcomponent'))
const CardCellComponent = asyncComponent(() => import('@/menu/components/card/cardcellcomponent'))
@@ -192,14 +193,14 @@
        val = '$Index'
      } else if (column.type === 'formula') {
        val = column.formula
        if (column.eval === 'false') {
          val = val.replace(/\n/ig, '<br/>').replace(/\s/ig, '&nbsp;')
          val = <span style={{fontWeight: 'inherit'}} dangerouslySetInnerHTML={{__html: val}}></span>
        }
        // if (column.eval === 'false') {
        //   val = val.replace(/\n/ig, '<br/>').replace(/\s/ig, '&nbsp;')
        //   val = <span style={{fontWeight: 'inherit'}} dangerouslySetInnerHTML={{__html: val}}></span>
        // }
      }
      return (
        <td style={{...style}} className={className}>
          {val}
          {column.field ? <Paragraph className="col-copy" copyable={{ text: column.field }}>{val}</Paragraph> : val}
          {column.Hide === 'true' ? <CloseCircleOutlined style={{marginLeft: '5px', color: 'orange', fontSize: '12px'}}/> : null}
          {column.marks && column.marks.length ? <AntDesignOutlined className="profile"/> : null}
        </td>
@@ -324,6 +325,8 @@
      col.subcols = []
    } else if (col.type === 'index') {
      col.label = '序号'
    } else if (col.type === 'number') {
      col.Width = 80
    }
    let hIndex = +hoverIndex
@@ -613,26 +616,26 @@
    })
  }
  copyFields = () => {
    const { config } = this.props
    let m = []
    let n = []
  // copyFields = () => {
  //   const { config } = this.props
  //   let m = []
  //   let n = []
    config.columns.forEach(col => {
      m.push(`${col.field} ${col.datatype}`)
      n.push(col.field)
    })
  //   config.columns.forEach(col => {
  //     m.push(`${col.field} ${col.datatype}`)
  //     n.push(col.field)
  //   })
    let oInput = document.createElement('input')
    oInput.value = `/*${m.join(',')}*/
      ${n.join(',')}`
    document.body.appendChild(oInput)
    oInput.select()
    document.execCommand('Copy')
    document.body.removeChild(oInput)
  //   let oInput = document.createElement('input')
  //   oInput.value = `/*${m.join(',')}*/
  //     ${n.join(',')}`
  //   document.body.appendChild(oInput)
  //   oInput.select()
  //   document.execCommand('Copy')
  //   document.body.removeChild(oInput)
    message.success('复制成功。')
  }
  //   message.success('复制成功。')
  // }
  componentDidMount () {
    MKEmitter.addListener('plusColumns', this.plusColumns)
@@ -678,7 +681,7 @@
          <FieldsComponent config={config} type="columns" />
          <CopyOutlined title="复制显示列" onClick={this.copycolumn} />
          <MarkColumn columns={fields} type="line" marks={lineMarks} onSubmit={this.updateLineMarks} />
          <InfoOutlined title="复制字段" style={{color: 'orange'}} onClick={this.copyFields}/>
          {/* <InfoOutlined title="复制字段" style={{color: 'orange'}} onClick={this.copyFields}/> */}
        </div>
        <DndProvider>
          {groups ? groups.map((group, i) => {