king
2023-03-07 79006d19801eb10e7532eaf8478d1dd2c239954b
src/menu/components/form/tab-form/index.jsx
@@ -713,6 +713,74 @@
    })
  }
  parseForm = (g, res) => {
    let _group = fromJS(g).toJS()
    let _confirm = false
    if (res.copyType === 'form') {
      let fieldrepet = false // 字段重复
      res.uuid = Utils.getuuid()
      _group.fields.forEach(item => {
        if (res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) {
          fieldrepet = true
        }
      })
      if (fieldrepet) {
        notification.warning({
          top: 92,
          message: '字段已存在!',
          duration: 10
        })
        return
      }
      _group.fields.push(res)
    } else {
      if (_group.fields.length > 0) {
        _confirm = true
      }
      _group.fields = res.fields.map(item => {
        item.uuid = Utils.getuuid()
        return item
      })
    }
    if (_confirm) {
      let that = this
      confirm({
        title: '确定替换表单吗?',
        content: '原表单将删除。',
        onOk() {
          that.updateForms(_group)
        },
        onCancel() {}
      })
    } else {
      this.updateForms(_group)
    }
  }
  updateForms = (_group) => {
    const { group } = this.state
    let card = fromJS(this.state.card).toJS()
    card.subcards = card.subcards.map(item => {
      if (item.uuid === _group.uuid) {
        return _group
      }
      return item
    })
    if (_group.uuid === group.uuid) {
      this.setState({group: _group})
      this.updateComponent(card)
    } else {
      this.updateComponent(card)
    }
  }
  clickComponent = (e) => {
    if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') {
      e.stopPropagation()
@@ -760,6 +828,7 @@
          selectId={group ? group.uuid : ''}
          handleList={this.changecards}
          handleGroup={this.updateGroup}
          handleForm={this.parseForm}
          closeGroup={this.closeGroup}
          selectGroup={this.selectGroup}
        />