| | |
| | | * 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) { |
| | |
| | | * @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 |