From 54d01e6ef9ac31f10de4a0e92824eba50b77eda6 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 27 九月 2021 18:40:51 +0800
Subject: [PATCH] 2021-09-27

---
 src/menu/modalconfig/index.jsx |   36 ++++++++++++++++++++----------------
 1 files changed, 20 insertions(+), 16 deletions(-)

diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx
index fa87b7f..bead002 100644
--- a/src/menu/modalconfig/index.jsx
+++ b/src/menu/modalconfig/index.jsx
@@ -191,13 +191,10 @@
     this.formRef.handleConfirm().then(res => {
       let _config = fromJS(this.state.config).toJS()
       let fieldrepet = false // 瀛楁閲嶅
-      let labelrepet = false // 鎻愮ず鏂囧瓧閲嶅
 
       _config.fields = _config.fields.map(item => {
         if (item.uuid !== res.uuid && res.field && item.field && item.field.toLowerCase() === res.field.toLowerCase()) {
           fieldrepet = true
-        } else if (res.label && item.uuid !== res.uuid && item.label === res.label) {
-          labelrepet = true
         }
 
         if (item.uuid === res.uuid) {
@@ -211,13 +208,6 @@
         notification.warning({
           top: 92,
           message: '瀛楁宸插瓨鍦紒',
-          duration: 10
-        })
-        return
-      } else if (labelrepet) {
-        notification.warning({
-          top: 92,
-          message: '鍚嶇О宸插瓨鍦紒',
           duration: 10
         })
         return
@@ -422,6 +412,24 @@
     })
   }
 
+  plusFields = (items) => {
+    let _config = fromJS(this.state.config).toJS()
+
+    if (_config.fields[0] && _config.fields[0].origin) {
+      _config.fields = _config.fields.filter(item => !item.origin)
+    }
+
+    _config.fields.push(...items)
+
+    this.setState({
+      config: _config
+    }, () => {
+      if (items.length === 1 && items[0].focus) {
+        this.handleForm(items[0])
+      }
+    })
+  }
+
   render () {
     const { config, dict, saving } = this.state
 
@@ -436,11 +444,7 @@
                     return (<SourceElement key={index} content={item}/>)
                   })}
                 </div>
-                <FieldsComponent
-                  config={config}
-                  type="form"
-                  updatefield={this.updateConfig}
-                />
+                <FieldsComponent config={config} type="form" plusFields={this.plusFields}/>
               </Panel>
             </Collapse>
           </div>
@@ -448,7 +452,7 @@
             <Card title={dict['header.menu.form.configurable']} bordered={false} extra={
               <div>
                 <Button type="danger" onClick={this.clearConfig}>娓呯┖</Button>
-                <EditComponent dict={dict} options={['form']} config={this.state.config} refresh={(res) => this.updateConfig(res.config)}/>
+                <EditComponent dict={dict} options={['form']} config={this.state.config} plusFields={this.plusFields}/>
                 <Button type="primary" loading={saving} onClick={this.submitConfig}>淇濆瓨</Button>
                 <Button onClick={this.cancelConfig}>杩斿洖</Button>
               </div>

--
Gitblit v1.8.0