From 41c55c1f103658b997f7a828a7067bdb228f1df0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 04 十月 2022 23:35:10 +0800
Subject: [PATCH] 2022-10-04

---
 src/pc/menushell/card.jsx |   71 ++++++++++++++++++++++++++++++-----
 1 files changed, 61 insertions(+), 10 deletions(-)

diff --git a/src/pc/menushell/card.jsx b/src/pc/menushell/card.jsx
index aef7d95..7ecb332 100644
--- a/src/pc/menushell/card.jsx
+++ b/src/pc/menushell/card.jsx
@@ -7,22 +7,33 @@
 const AntvBar = asyncComponent(() => import('@/menu/components/chart/antv-bar'))
 const MainSearch = asyncComponent(() => import('@/menu/components/search/main-search'))
 const AntvPie = asyncComponent(() => import('@/menu/components/chart/antv-pie'))
+const AntvDashboard = asyncComponent(() => import('@/menu/components/chart/antv-dashboard'))
+const AntvScatter = asyncComponent(() => import('@/menu/components/chart/antv-scatter'))
 const AntvTabs = asyncComponent(() => import('@/menu/components/tabs/antv-tabs'))
 const DataCard = asyncComponent(() => import('@/menu/components/card/data-card'))
 const PropCard = asyncComponent(() => import('@/menu/components/card/prop-card'))
+const NormalTree = asyncComponent(() => import('@/menu/components/tree/antd-tree'))
 const TableCard = asyncComponent(() => import('@/menu/components/card/table-card'))
 const NormalTable = asyncComponent(() => import('@/menu/components/table/normal-table'))
+const EditTable = asyncComponent(() => import('@/menu/components/table/edit-table'))
 const NormalGroup = asyncComponent(() => import('@/menu/components/group/normal-group'))
+const SimpleForm = asyncComponent(() => import('@/menu/components/form/simple-form'))
+const StepForm = asyncComponent(() => import('@/menu/components/form/step-form'))
+const TabForm = asyncComponent(() => import('@/menu/components/form/tab-form'))
 const BraftEditor = asyncComponent(() => import('@/menu/components/editor/braft-editor'))
 const CodeSandbox = asyncComponent(() => import('@/menu/components/code/sandbox'))
 const NormalNavbar = asyncComponent(() => import('@/pc/components/navbar/normal-navbar'))
+const NormalLogin = asyncComponent(() => import('@/pc/components/login/normal-login'))
 const CarouselDataCard = asyncComponent(() => import('@/menu/components/carousel/data-card'))
 const CarouselPropCard = asyncComponent(() => import('@/menu/components/carousel/prop-card'))
+const Balcony = asyncComponent(() => import('@/menu/components/card/balcony'))
+const CustomChart = asyncComponent(() => import('@/menu/components/chart/chart-custom'))
+const Timeline = asyncComponent(() => import('@/menu/components/timeline/normal-timeline'))
 
 const Card = ({ id, card, moveCard, findCard, delCard, updateConfig }) => {
   const originalIndex = findCard(id).index
   const [{ isDragging }, drag] = useDrag({
-    item: { type: 'menu', id, originalIndex, floor: card.floor },
+    item: { type: 'menu', id, originalIndex },
     collect: monitor => ({
       isDragging: monitor.isDragging(),
     }),
@@ -31,10 +42,11 @@
     accept: 'menu',
     canDrop: () => true,
     drop: (item) => {
-      const { id: draggedId, originalIndex, floor } = item
+      const { id: draggedId, originalIndex } = item
+      
       if (originalIndex === undefined) {
         item.dropTargetId = id
-      } else if (draggedId && floor === card.floor) {
+      } else if (draggedId) {
         if (draggedId === id) return
         const { index: originIndex } = findCard(draggedId)
 
@@ -52,8 +64,20 @@
     style = { opacity: 0.3}
   }
   let col = ' ant-col ant-col-' + (card.width || 24)
-  if (card.type === 'navbar') {
-    col = ''
+  if (card.type === 'login') {
+    let height = ''
+    if (card.wrap && card.wrap.height) {
+      // scaleview
+      height = card.wrap.height.replace(/\d+vw/ig, (word) => {
+        return parseFloat(word) * (window.GLOB.winWidth || 420) / 100 + 'px'
+        // return parseFloat(word) * 350 / 100 + 'px'
+      }).replace(/\d+vh/ig, (word) => {
+        return parseFloat(word) * (window.GLOB.winHeight || 738) / 100 + 'px'
+        // return parseFloat(word) * 615 / 100 + 'px'
+      })
+    }
+    
+    style.minHeight = height
   }
 
   const getCardComponent = () => {
@@ -61,10 +85,22 @@
       return (<AntvBar card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'navbar') {
       return (<NormalNavbar card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'form' && card.subtype === 'simpleform') {
+      return (<SimpleForm card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'form' && card.subtype === 'stepform') {
+      return (<StepForm card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'form' && card.subtype === 'tabform') {
+      return (<TabForm card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'search') {
       return (<MainSearch card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'pie') {
       return (<AntvPie card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'dashboard') {
+      return (<AntvDashboard card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'tree') {
+      return (<NormalTree card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'scatter') {
+      return (<AntvScatter card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'tabs') {
       return (<AntvTabs tabs={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'card' && card.subtype === 'datacard') {
@@ -79,18 +115,33 @@
       return (<TableCard card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'table' && card.subtype === 'normaltable') {
       return (<NormalTable card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'table' && card.subtype === 'editable') {
+      return (<EditTable card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'group' && card.subtype === 'normalgroup') {
       return (<NormalGroup group={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'editor') {
       return (<BraftEditor card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     } else if (card.type === 'code') {
       return (<CodeSandbox card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'login') {
+      return (<NormalLogin card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'balcony') {
+      return (<Balcony card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'timeline') {
+      return (<Timeline card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
+    } else if (card.type === 'chart') {
+      return (<CustomChart card={card} updateConfig={updateConfig} deletecomponent={delCard}/>)
     }
   }
-  return (
-    <div className={`mk-component-card ${col}`} ref={node => drag(drop(node))} style={style}>
-      {getCardComponent()}
-    </div>
-  )
+
+  if (card.type === 'navbar') {
+    return getCardComponent()
+  } else {
+    return (
+      <div className={`mk-component-card ${col}`} ref={node => drag(drop(node))} style={style}>
+        {getCardComponent()}
+      </div>
+    )
+  }
 }
 export default Card

--
Gitblit v1.8.0