From 137fb8ea6af2789b3238b22bac31d80bced41dfe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 28 七月 2021 11:39:39 +0800
Subject: [PATCH] 2021-07-28

---
 src/menu/components/share/pastecomponent/index.jsx |   51 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 10 deletions(-)

diff --git a/src/menu/components/share/pastecomponent/index.jsx b/src/menu/components/share/pastecomponent/index.jsx
index 2d12bb3..553d24d 100644
--- a/src/menu/components/share/pastecomponent/index.jsx
+++ b/src/menu/components/share/pastecomponent/index.jsx
@@ -24,7 +24,7 @@
     this.setState({visible: true})
   }
 
-  resetconfig = (item, copyBtns) => {
+  resetconfig = (item, copyBtns, config) => {
     let _uuid = Utils.getuuid()
 
     if (item.OpenType === 'popview') {
@@ -38,9 +38,33 @@
       item.uuid = _uuid
     }
 
-    if (item.copyType === 'cardcell') {
+    if (item.copyType === 'cardcell' && config.subtype === 'datacard') {
+      item.setting = item.setting || {}
+      item.$cardType = 'extendCard'
+      item.setting.width = item.setting.width || 6
+
+      if (item.elements) {
+        item.elements = item.elements.map(cell => {
+          if (cell.datatype === 'dynamic') {
+            cell.datatype = 'static'
+          }
+          cell.uuid = Utils.getuuid()
+          return cell
+        })
+      }
+      if (item.backElements) {
+        item.backElements = item.backElements.map(cell => {
+          if (cell.datatype === 'dynamic') {
+            cell.datatype = 'static'
+          }
+          cell.uuid = Utils.getuuid()
+          return cell
+        })
+      }
+    } else if (item.copyType === 'cardcell') {
       item.setting = item.setting || {}
       item.setting.width = item.setting.width || 6
+      delete item.$cardType
 
       if (item.elements) {
         item.elements = item.elements.map(cell => {
@@ -105,12 +129,9 @@
   pasteSubmit = () => {
     const { options } = this.props
     this.pasteFormRef.handleConfirm().then(res => {
+
       if (!options.includes(res.copyType)) {
-        notification.warning({
-          top: 92,
-          message: '閰嶇疆淇℃伅鏍煎紡閿欒锛�',
-          duration: 5
-        })
+        notification.warning({ top: 92, message: '閰嶇疆淇℃伅鏍煎紡閿欒锛�', duration: 5 })
         return
       }
 
@@ -118,7 +139,7 @@
       let config = fromJS(this.props.config).toJS()
       let copyBtns = new Map()
 
-      res = this.resetconfig(res, copyBtns)
+      res = this.resetconfig(res, copyBtns, config)
       delete res.copyType
 
       copyBtns = [...copyBtns.values()]
@@ -127,10 +148,18 @@
         MKEmitter.emit('copyButtons', copyBtns)
       }
 
-      if (type === 'action') {
+      if (config.type === 'form' && config.subtype === 'stepform') {
+        this.props.updateConfig(res)
+        this.setState({visible: false})
+        return
+      } else if (type === 'action') {
         config.action = config.action || []
         config.action = config.action.filter(item => !item.origin)
 
+        if (['line', 'bar', 'scatter'].includes(config.type) && !['excelOut', 'excelIn'].includes(res.OpenType)) {
+          notification.warning({ top: 92, message: '鍥捐〃涓笉鏀寔姝ょ被鎸夐挳锛�', duration: 5 })
+          return
+        }
         MKEmitter.emit('addButton', config.uuid, res)
       } else if (type === 'search' || type === 'form') {
         config.search = config.search || []
@@ -139,7 +168,7 @@
         let keys = config.search.map(item => item.field.toLowerCase())
 
         if (type === 'form') {
-          if (['number', 'switch', 'textarea', 'checkcard', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) {
+          if (['number', 'switch', 'textarea', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) {
             res.type = 'text'
           } else if (res.type === 'radio') {
             res.type = 'select'
@@ -162,6 +191,8 @@
         config.search.push(res)
       } else if (type === 'cardcell') {
         config.subcards.push(res)
+      } else if (type === 'menucell') {
+        config.subMenus.push(res)
       } else if (type === 'cols') {
         config.cols = config.cols.filter(col => !col.origin)
 

--
Gitblit v1.8.0