From 66cc7818cf5e13c44f4372e7d47fb72df7d2f752 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 16 九月 2022 10:30:14 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/menu/components/search/main-search/dragsearch/index.jsx |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/src/menu/components/search/main-search/dragsearch/index.jsx b/src/menu/components/search/main-search/dragsearch/index.jsx
index a3cfd27..5da648f 100644
--- a/src/menu/components/search/main-search/dragsearch/index.jsx
+++ b/src/menu/components/search/main-search/dragsearch/index.jsx
@@ -81,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)
+    }
   })
 
   let labelwidth = setting.searchLwidth !== undefined ? setting.searchLwidth : 33.3

--
Gitblit v1.8.0