king
2025-05-08 b6c698c8833836971184a0a9c2645a15f8174d37
src/menu/components/table/edit-table/index.jsx
@@ -57,8 +57,8 @@
        columns: [],
        cols: [
          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label1', field: '', Hide: 'false', type: 'text', Width: 120 },
          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label2', field: '', Hide: 'false', IsSort: 'true', type: 'text', Width: 120 },
          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label3', field: '', Hide: 'false', IsSort: 'true', type: 'text', Width: 120 },
          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label2', field: '', Hide: 'false', IsSort: 'false', type: 'text', Width: 120 },
          { origin: true, uuid: Utils.getuuid(), Align: 'left', label: 'label3', field: '', Hide: 'false', IsSort: 'false', type: 'text', Width: 120 },
        ],
        scripts: [],
        submit: {intertype: 'system', default: 'true', innerFunc: '', execSuccess: 'grid', execError: 'never', scripts: [], uniques: []},
@@ -71,7 +71,13 @@
      if (_card.mergeCol) {
        let col = _card.cols[_card.mergeCol[0]]
        _card.cols.splice(_card.mergeCol[0], 1, ...col.pops)
        if (col.pops) {
          _card.cols.splice(_card.mergeCol[0], 1, ...col.pops)
        }
      }
      if (_card.wrap.commit === 'simple') {
        _card.wrap.commit = 'change'
      }
      this.setState({
@@ -134,6 +140,10 @@
      if (card.errors.length === 0) {
        card.$tables = getTables(card)
      }
      delete card.$c_ds
      delete card.$c_ac
      delete card.$c_cl
    }
    this.setState({
@@ -208,7 +218,13 @@
  addSearch = () => {
    const { card } = this.state
    MKEmitter.emit('plusSearch', card.uuid, {uuid: Utils.getuuid(), focus: true, label: 'label', type: 'text', match: '='}, 'simple')
    let ratio = 6
    if (card.search.length) {
      ratio = card.search[card.search.length - 1].ratio
    }
    MKEmitter.emit('plusSearch', card.uuid, {uuid: Utils.getuuid(), focus: true, label: 'label', type: 'text', match: '=', ratio}, 'simple')
  }
  addButton = () => {
@@ -280,6 +296,10 @@
    res.borderRadius = card.wrap.borderRadius || 0
    res.resetContrl = card.wrap.resetContrl || 'init'
    if (res.commit === 'check' && !res.tableType) {
      res.tableType = 'radio'
    }
    let _card = {...card, wrap: res}
    if (res.tableType) {
@@ -292,6 +312,25 @@
  updatecolumn = (config) => {
    config.absFields = []
    config.mergeCol = false
    config.hasExtend = false
    config.parCtrl = false
    let mapCol = (cols) => {
      cols.forEach(col => {
        if (col.type === 'number') {
          if (col.format === 'abs') {
            config.absFields.push(col.field)
          }
        } else if (col.type === 'extend') {
          config.hasExtend = true
          if (col.supField) {
            config.parCtrl = true
          }
        } else if (col.type === 'colspan' && col.subcols) {
          mapCol(col.subcols)
        }
      })
    }
    config.cols.forEach((col, index) => {
      delete col.pops
@@ -300,14 +339,13 @@
        if (col.format === 'abs') {
          config.absFields.push(col.field)
        }
      } else if (col.type === 'extend') {
        config.hasExtend = true
        if (col.supField) {
          config.parCtrl = true
        }
      } else if (col.type === 'colspan' && col.subcols) {
        col.subcols.forEach(scol => {
          if (scol.type === 'number') {
            if (scol.format === 'abs') {
              config.absFields.push(scol.field)
            }
          }
        })
        mapCol(col.subcols)
      } else if (col.type === 'text') {
        if (col.editable === 'true' && col.editType === 'popSelect' && /^tab:/.test(col.initval)) {
          config.mergeCol = config.mergeCol || []
@@ -357,7 +395,7 @@
              <EditOutlined style={{color: '#1890ff'}} title="编辑"/>
            </NormalForm>
            <CopyComponent type="editable" card={card}/>
            <PasteComponent config={card} options={['action', 'search', 'form', 'cols']} updateConfig={this.updateComponent} />
            <PasteComponent config={card} options={['action', 'search', 'form', 'editcols']} updateConfig={this.updateComponent} />
            <FontColorsOutlined className="style" title="调整样式" onClick={this.changeStyle}/>
            <DeleteOutlined className="close" title="删除组件" onClick={() => this.props.deletecomponent(card.uuid)} />
            <SettingComponent config={card} updateConfig={this.updateComponent} />
@@ -367,7 +405,7 @@
        </Popover>
        <SearchComponent config={card} updatesearch={this.updateComponent}/>
        <ActionComponent config={card} setSubConfig={this.setSubConfig} updateaction={this.updateComponent}/>
        <ColumnComponent config={card} updatecolumn={this.updatecolumn}/>
        <ColumnComponent config={card} updatecolumn={this.updatecolumn} addColumns={this.addColumns}/>
        <div className="component-name">
          <div className="center">
            <div className="title" onDoubleClick={() => {