king
2021-07-08 0847aeed380492bafaf5b27a49ac4e4b77a819b1
src/mob/searchconfig/index.jsx
@@ -148,20 +148,49 @@
   * 3、通过loading刷新
   */
  handleSubmit = () => {
    const { config } = this.state
    this.formRef.handleConfirm().then(res => {
      let _group = fromJS(this.state.group).toJS()
      let fieldrepet = false // 字段重复
      _group.fields = _group.fields.map(item => {
        if (item.uuid !== res.uuid && item.field.toLowerCase() === res.field.toLowerCase()) {
          fieldrepet = true
        }
        if (item.uuid === res.uuid) {
          return res
        } else {
          return item
        }
      })
      let fieldrepet = false // 字段重复
      let lowerField = res.field.toLowerCase()
      if (config.setting.field) {
        let m = config.setting.field.toLowerCase().split(',')
        if (m.includes(lowerField)) {
          fieldrepet = true
        }
      }
      config.fields.forEach(item => {
        if (item.uuid === res.uuid) return
        if (res.type === 'date' && item.type === 'date') return
        if (item.field.toLowerCase() === lowerField) {
          fieldrepet = true
        }
      })
      config.groups.forEach(group => {
        if (group.setting.field) {
          let m = group.setting.field.toLowerCase().split(',')
          if (m.includes(lowerField)) {
            fieldrepet = true
          }
        }
        group.fields.forEach(item => {
          if (item.uuid === res.uuid) return
          if (res.type === 'date' && item.type === 'date') return
          if (item.field.toLowerCase() === lowerField) {
            fieldrepet = true
          }
        })
      })
      if (fieldrepet) {
@@ -285,8 +314,54 @@
   * @description 保存分组设置
   */
  settingSave = () => {
    const { config } = this.state
    this.settingRef.handleConfirm().then(res => {
      let _group = {...this.state.group, setting: res}
      let lowers = _group.setting.field ? _group.setting.field.toLowerCase() : ''
      if (lowers) {
        let fieldrepet = false // 字段重复
        lowers = lowers.split(',')
        let length = lowers.length
        if (_group.floor !== 1 && config.setting.field) {
          let m = config.setting.field.toLowerCase().split(',')
          if (Array.from(new Set([...m, ...lowers])).length < m.length + length) {
            fieldrepet = true
          }
        }
        config.fields.forEach(item => {
          if (lowers.includes(item.field.toLowerCase())) {
            fieldrepet = true
          }
        })
        config.groups.forEach(group => {
          if (_group.uuid === group.uuid) return
          if (group.setting.field) {
            let m = group.setting.field.toLowerCase().split(',')
            if (Array.from(new Set([...m, ...lowers])).length < m.length + length) {
              fieldrepet = true
            }
          }
          group.fields.forEach(item => {
            if (lowers.includes(item.field.toLowerCase())) {
              fieldrepet = true
            }
          })
        })
        if (fieldrepet) {
          notification.warning({
            top: 92,
            message: '字段已存在!',
            duration: 10
          })
          return
        }
      }
      this.setState({
        group: _group,
        settingVisible: false