From afb39f8ab004b2607bb718edab02e99c7a010114 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 22 三月 2023 14:36:44 +0800
Subject: [PATCH] 2023-03-22

---
 src/menu/components/share/actioncomponent/dragaction/index.jsx |   64 +++++++++++++++++++++++++++++---
 1 files changed, 58 insertions(+), 6 deletions(-)

diff --git a/src/menu/components/share/actioncomponent/dragaction/index.jsx b/src/menu/components/share/actioncomponent/dragaction/index.jsx
index 08044d4..e797df7 100644
--- a/src/menu/components/share/actioncomponent/dragaction/index.jsx
+++ b/src/menu/components/share/actioncomponent/dragaction/index.jsx
@@ -7,7 +7,7 @@
 import Card from './card'
 import './index.scss'
 
-const Container = ({list, handleList, handleMenu, deleteMenu, profileMenu, changeBtnStyle, dropButton, doubleClickCard }) => {
+const Container = ({list, type, handleList, handleMenu, deleteMenu, profileMenu, changeBtnStyle, dropButton, doubleClickCard }) => {
   const [cards, setCards] = useState(list)
   const moveCard = (id, atIndex) => {
     const { card, index } = findCard(id)
@@ -54,21 +54,33 @@
 
   const copyCard = id => {
     const { card } = findCard(id)
+
     let copycard = fromJS(card).toJS()
 
-    copycard.uuid = Utils.getuuid()
     copycard.origin = false
     copycard.copyType = 'action'
     copycard.focus = true
 
-    copycard.originCard = card
-
     let _val = fromJS(copycard).toJS()
 
+    if (_val.control) {
+      delete _val.controlField
+      delete _val.controlVal
+    }
+
+    copycard.uuid = Utils.getuuid()
+    copycard.originCard = card
+
     try {
-      _val.uuid = Utils.getuuid()
+      delete _val.$srcId
+    
+      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      if (srcid) {
+        _val.$srcId = srcid
+      }
+      
       _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val)))
-    } catch {
+    } catch (e) {
       console.warn('Stringify Failure')
       _val = ''
     }
@@ -92,6 +104,45 @@
   const [, drop] = useDrop({
     accept: 'action',
     drop(item) {
+      if (item.$init) { // 鎷栨嫿娣诲姞
+        if (item.class === 'element') {
+          delete item.overIndex
+          return
+        }
+        let newcard = {}
+        newcard.uuid = Utils.getuuid()
+        newcard.focus = true
+        newcard.label = 'button'
+        newcard.verify = null
+        newcard.show = 'button'
+        newcard.Ot = 'requiredSgl'
+        newcard.OpenType = item.value
+        newcard.class = 'primary'
+        newcard.style = { marginRight: '15px' }
+
+        if (newcard.OpenType === 'excelIn') {
+          newcard.label = item.text
+          newcard.class = 'dgreen'
+          newcard.Ot = 'notRequired'
+        } else if (newcard.OpenType === 'excelOut') {
+          newcard.label = item.text
+          newcard.execSuccess = 'never'
+          newcard.class = 'dgreen'
+          newcard.Ot = 'requiredOnce'
+        }
+
+        if (item.overIndex) {
+          const { index } = findCard(item.overIndex)
+          const _cards = update(cards, { $splice: [[index + 1, 0, newcard]] })
+          handleList(_cards, newcard)
+        } else {
+          handleList([...cards, newcard], newcard)
+        }
+
+        delete item.overIndex
+        return
+      }
+
       const { index } = findCard(item.id)
       if (index > -1) return
       dropButton(item.id)
@@ -105,6 +156,7 @@
           id={card.uuid}
           key={card.uuid}
           card={card}
+          type={type}
           moveCard={moveCard}
           copyCard={copyCard}
           editCard={editCard}

--
Gitblit v1.8.0