From e1cee96b38805bcccf48e7bcb9d296f2bc54c720 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 24 一月 2025 11:10:32 +0800
Subject: [PATCH] 2025-01-24

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

diff --git a/src/menu/components/share/searchcomponent/dragsearch/index.jsx b/src/menu/components/share/searchcomponent/dragsearch/index.jsx
index a5013eb..accf640 100644
--- a/src/menu/components/share/searchcomponent/dragsearch/index.jsx
+++ b/src/menu/components/share/searchcomponent/dragsearch/index.jsx
@@ -44,13 +44,6 @@
     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) {
@@ -81,7 +74,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 (['select', 'link', 'checkcard'].includes(item.subType)) {
+        _match = '='
+      } else if (['date', 'datemonth'].includes(item.subType)) {
+        _match = '>='
+      } else if (['dateweek', 'daterange', 'range'].includes(item.subType)) {
+        _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