king
2023-10-30 bca9d545b6b10e1d0120b8edaece22f9acbe12f3
src/menu/components/table/edit-table/index.jsx
@@ -67,8 +67,15 @@
      this.updateComponent(_card)
    } else {
      let _card = fromJS(card).toJS()
      if (_card.mergeCol) {
        let col = _card.cols[_card.mergeCol[0]]
        _card.cols.splice(_card.mergeCol[0], 1, ...col.pops)
      }
      this.setState({
        card: fromJS(card).toJS()
        card: _card
      })
    }
  }
@@ -133,13 +140,27 @@
      card: card
    })
    let _card = card.isNew ? fromJS(card).toJS() : card
    let _card = card
    if (_card.isNew) {
      _card = fromJS(card).toJS()
      _card.cols = _card.cols.filter(a => !a.origin)
      delete _card.isNew
      delete _card.mergeCol
    } else if (_card.mergeCol) {
      _card = fromJS(card).toJS()
      let col = {..._card.cols[_card.mergeCol[0]]}
      col.initval = ''
      col.pops = []
      _card.mergeCol.forEach(index => {
        col.pops.push(_card.cols[index])
      })
      _card.cols = _card.cols.filter((col, index) => !_card.mergeCol.includes(index))
      _card.cols.splice(_card.mergeCol[0], 0, col)
    }
    this.props.updateConfig(_card)
  }
@@ -270,7 +291,11 @@
  updatecolumn = (config) => {
    config.absFields = []
    config.cols.forEach(col => {
    config.mergeCol = false
    config.cols.forEach((col, index) => {
      delete col.pops
      if (col.type === 'number') {
        if (col.format === 'abs') {
          config.absFields.push(col.field)
@@ -283,6 +308,11 @@
            }
          }
        })
      } else if (col.type === 'text') {
        if (col.editable === 'true' && col.editType === 'popSelect' && /^tab:/.test(col.initval)) {
          config.mergeCol = config.mergeCol || []
          config.mergeCol.push(index)
        }
      }
    })