From 669839c40c0080786cefa6a8e62d3ada68a39b8e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 14 六月 2022 14:10:50 +0800
Subject: [PATCH] 2022-06-14

---
 src/menu/components/form/tab-form/index.jsx |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 insertions(+), 2 deletions(-)

diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx
index fcd59c0..58643ce 100644
--- a/src/menu/components/form/tab-form/index.jsx
+++ b/src/menu/components/form/tab-form/index.jsx
@@ -185,6 +185,33 @@
       } else if (!card.setting.supModule) {
         card.errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'})
       }
+
+      let supModule = card.setting.supModule ? card.setting.supModule[card.setting.supModule.length - 1] || '' : ''
+      if (supModule === 'empty') {
+        supModule = ''
+      }
+      let columns = card.columns.map(c => c.field)
+      let lowcols = card.columns.map(c => c.field.toLowerCase())
+
+      card.subcards.forEach(item => {
+        item.fields.forEach(m => {
+          if (m.type === 'linkMain' && !supModule) {
+            card.errors.push({ level: 1, detail: `鍒嗙粍鈥�${item.setting.title}鈥濅腑鍏宠仈涓昏〃琛ㄥ崟鈥�${m.label}鈥濇棤鏁坄})
+          } else if (m.field && !columns.includes(m.field) && lowcols.includes(m.field.toLowerCase())) {
+            card.errors.push({ level: 1, detail: `鍒嗙粍鈥�${item.setting.title}鈥濅腑琛ㄥ崟鈥�${m.label}鈥濆ぇ灏忓啓涓庡瓧娈甸泦涓嶄竴鑷碻})
+          }
+        })
+      })
+    } else {
+      let supModule = card.wrap.supModule ? card.wrap.supModule[card.wrap.supModule.length - 1] : ''
+
+      card.subcards.forEach(item => {
+        item.fields.forEach(m => {
+          if (m.type === 'linkMain' && !supModule) {
+            card.errors.push({ level: 1, detail: `鍒嗙粍鈥�${item.setting.title}鈥濅腑鍏宠仈涓昏〃琛ㄥ崟鈥�${m.label}鈥濇棤鏁坄})
+          }
+        })
+      })
     }
 
     this.setState({
@@ -639,6 +666,34 @@
   }
 
   pasteForm = (res) => {
+    if (res.subButton) {
+      let card = fromJS(this.state.card).toJS()
+
+      res.uuid = Utils.getuuid()
+      res.sort = card.subcards.length + 1
+
+      res.fields.forEach(item => {
+        item.uuid = Utils.getuuid()
+      })
+
+      delete res.prevButton
+      delete res.nextButton
+
+      card.subcards.push(res)
+      
+      this.setState({
+        group: res
+      })
+      this.updateComponent(card)
+
+      notification.success({
+        top: 92,
+        message: '绮樿创鎴愬姛锛�',
+        duration: 2
+      })
+      return
+    }
+
     let _config = fromJS(this.state.group).toJS()
     let fieldrepet = false // 瀛楁閲嶅
 
@@ -674,7 +729,17 @@
   }
 
   updateWrap = (res) => {
-    this.updateComponent({...this.state.card, wrap: res})
+    let _card = {...this.state.card, wrap: res}
+
+    if (res.datatype === 'static') {
+      if (res.supModule && res.supModule.length > 0) {
+        _card.setting.supModule = res.supModule
+      } else {
+        _card.setting.supModule = ''
+      }
+    }
+
+    this.updateComponent(_card)
   }
 
   clearGroup = () => {
@@ -720,7 +785,7 @@
               <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/>
             </NormalForm>
             <CopyComponent type="tabform" card={card}/>
-            <PasteComponent config={card} options={['form']} updateConfig={this.pasteForm} />
+            <PasteComponent config={card} options={['form', 'formgroup']} updateConfig={this.pasteForm} />
             <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle}/>
             <UserComponent config={card}/>
             <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} />

--
Gitblit v1.8.0