From 34e7681fd12b1c4e4994d3bea1a553870e10bc50 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 11 三月 2023 17:58:54 +0800
Subject: [PATCH] 2023-03-11

---
 src/pc/menushell/index.jsx |   51 ++++++++++++++++++++++++++++++++++++++++++---------
 1 files changed, 42 insertions(+), 9 deletions(-)

diff --git a/src/pc/menushell/index.jsx b/src/pc/menushell/index.jsx
index acc2b18..32b17b4 100644
--- a/src/pc/menushell/index.jsx
+++ b/src/pc/menushell/index.jsx
@@ -4,8 +4,6 @@
 import { Empty, notification, Modal } from 'antd'
 
 import Utils from '@/utils/utils.js'
-import MKEmitter from '@/utils/events.js'
-import MenuUtils from '@/utils/utils-custom.js'
 import Card from './card'
 import './index.scss'
 
@@ -38,6 +36,25 @@
     setCards(_cards)
   }
 
+  const unGroup = (id) => {
+    let { card, index } = findCard(`${id}`)
+    let components = [...card.components].map(item => {
+      if (item.wrap) {
+        item.wrap.width = card.width
+        item.width = card.width
+      } else if (item.plot) {
+        item.plot.width = card.width
+        item.width = card.width
+      }
+      return item
+    })
+    card.components = []
+
+    const _cards = update(cards, { $splice: [[index, 1, card, ...components]] })
+
+    handleList({...menu, components: _cards})
+  }
+
   const deleteCard = (id) => {
     const { card } = findCard(id)
 
@@ -50,13 +67,10 @@
       })
     }
 
-    let uuids = MenuUtils.getDelButtonIds(card)
-
     confirm({
       title: `纭畾鍒犻櫎${card.name ? `銆�${card.name}銆媊 : '缁勪欢'}鍚楋紵`,
       content: hasComponent ? '褰撳墠缁勪欢涓惈鏈夊瓙缁勪欢锛�' : '',
       onOk() {
-        MKEmitter.emit('delButtons', uuids)
         const _cards = cards.filter(item => item.uuid !== card.uuid)
         handleList({...menu, components: _cards})
         setCards(_cards)
@@ -72,6 +86,8 @@
         delete item.added // 鍒犻櫎缁勪欢娣诲姞鏍囪
         return
       }
+
+      let style = null
 
       if (item.component === 'search') { // 鎼滅储缁勪欢涓嶅彲閲嶅娣诲姞
         if (cards.filter(card => card.type === 'search').length > 0) {
@@ -91,11 +107,16 @@
           })
           return
         }
+
+        if (!menu.style.paddingTop) {
+          style = {...menu.style, paddingTop: '50px'}
+        }
       }
 
       let name = ''
       let names = {
         bar: '鏌辩姸鍥�',
+        chart: '鍥捐〃',
         line: '鎶樼嚎鍥�',
         tabs: '鏍囩缁�',
         pie: '楗煎浘',
@@ -109,7 +130,11 @@
         dashboard: '浠〃鐩�',
         tree: '鏍戝舰鍒楄〃',
         card: '鍗$墖',
-        login: '鐧诲綍'
+        balcony: '娴姩鍗�',
+        timeline: '鏃堕棿杞�',
+        antvG6: '鏍戝浘',
+        login: '鐧诲綍',
+        iframe: 'iframe'
       }
       let i = 1
       
@@ -127,7 +152,6 @@
         subtype: item.subtype,
         config: item.config,
         width: item.width || 24,
-        dataName: Utils.getdataName(),
         name: name,
         floor: 1,   // 缁勪欢鐨勫眰绾�
         isNew: true // 鏂版坊鍔犳爣蹇楋紝鐢ㄤ簬鍒濆鍖�
@@ -145,13 +169,21 @@
       const { index: overIndex } = findCard(`${targetId}`)
       const _cards = update(cards, { $splice: [[overIndex + 1, 0, newcard]] })
 
-      handleList({...menu, components: _cards})
+      if (style) {
+        handleList({...menu, style, components: _cards})
+      } else {
+        handleList({...menu, components: _cards})
+      }
       setCards(_cards)
     }
   })
 
+  let style = JSON.stringify(menu.style || {})
+  style = style.replace(/@mywebsite@\//ig, window.GLOB.baseurl)
+  style = JSON.parse(style)
+
   return (
-    <div ref={drop} className="menu-shell-inner" id="menu-shell-inner" style={menu.style}>
+    <div ref={drop} className="menu-shell-inner" id="menu-shell-inner" style={style}>
       <div className="ant-row">
         {cards.map(card => (
           <Card
@@ -160,6 +192,7 @@
             card={card}
             moveCard={moveCard}
             delCard={deleteCard}
+            unGroup={unGroup}
             findCard={findCard}
             updateConfig={updateConfig}
           />

--
Gitblit v1.8.0