From 53b9fb93d0376eb02bb996935f1720b4e95cd897 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 12 十月 2022 14:41:06 +0800
Subject: [PATCH] 2022-10-12

---
 src/menu/components/share/searchcomponent/dragsearch/index.jsx |   58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 57 insertions(+), 1 deletions(-)

diff --git a/src/menu/components/share/searchcomponent/dragsearch/index.jsx b/src/menu/components/share/searchcomponent/dragsearch/index.jsx
index 36d7603..8a063a7 100644
--- a/src/menu/components/share/searchcomponent/dragsearch/index.jsx
+++ b/src/menu/components/share/searchcomponent/dragsearch/index.jsx
@@ -44,6 +44,13 @@
     let _val = fromJS(copycard).toJS()
 
     try {
+      delete _val.$srcId
+    
+      let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId')
+      if (srcid) {
+        _val.$srcId = srcid
+      }
+      
       _val.uuid = Utils.getuuid()
       _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val)))
     } catch (e) {
@@ -74,7 +81,56 @@
 
   const [, drop] = useDrop({
     accept: 'search',
-    drop() {}
+    drop(item) {
+      if (item.hasOwnProperty('originalIndex')) {
+        return
+      }
+
+      let newcard = {}
+      newcard.uuid = Utils.getuuid()
+      newcard.focus = true
+
+      newcard.label = 'label'
+      newcard.initval = ''
+      newcard.type = item.subType
+      newcard.resourceType = '0'
+      newcard.options = []
+      newcard.orderType = 'asc'
+      
+      let _match = 'like'
+      if (item.subType === 'select' || item.subType === 'link' || item.subType === 'checkcard') {
+        _match = '='
+      } else if (item.subType === 'date' || item.subType === 'datemonth') {
+        _match = '>='
+      } else if (item.subType === 'dateweek' || item.subType === 'daterange') {
+        _match = 'between'
+      } else if (item.subType === 'group') {
+        _match = 'between'
+        newcard.items = ['day', 'week', 'month', 'quarter', 'year', 'customized']
+      }
+      
+      newcard.match = _match
+
+      let targetId = ''
+
+      if (item.dropTargetId) {
+        targetId = item.dropTargetId
+        delete item.dropTargetId
+      } else if (cards.length > 0) {
+        targetId = cards[cards.length - 1].uuid
+      }
+
+      const { index: overIndex, card } = findCard(`${targetId}`)
+
+      if (card) {
+        newcard.ratio = card.ratio || 6
+        newcard.labelwidth = card.labelwidth || 33.3
+      }
+
+      const _cards = update(cards, { $splice: [[overIndex + 1, 0, newcard]] })
+
+      handleList(_cards, newcard)
+    }
   })
 
   return (

--
Gitblit v1.8.0