From 343e35d61733028e884bc60963183983154ca093 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 03 十二月 2019 09:14:48 +0800
Subject: [PATCH] 2019-12-03-01

---
 src/templates/comtableconfig/dragelement/index.jsx |   44 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/src/templates/comtableconfig/dragelement/index.jsx b/src/templates/comtableconfig/dragelement/index.jsx
index 9e0c293..d46d2f4 100644
--- a/src/templates/comtableconfig/dragelement/index.jsx
+++ b/src/templates/comtableconfig/dragelement/index.jsx
@@ -7,7 +7,7 @@
 import ItemTypes from './itemtypes'
 import './index.scss'
 
-const Container = ({list, setting, type, placeholder, handleList, handleMenu, copyElement }) => {
+const Container = ({list, setting, type, placeholder, handleList, handleMenu, deleteMenu, copyElement }) => {
   let target = null
   const [cards, setCards] = useState(list)
   const moveCard = (id, atIndex) => {
@@ -28,6 +28,11 @@
   const editCard = id => {
     const { card } = findCard(id)
     handleMenu(card)
+  }
+
+  const delCard = id => {
+    const { card } = findCard(id)
+    deleteMenu({card: card, type: type})
   }
 
   const copyCard = id => {
@@ -127,6 +132,10 @@
         newcard.IsSort = 'true'
         newcard.type = item.subType
         newcard.Width = 120
+        if (item.subType === 'colspan') {
+          newcard.sublist = []
+          newcard.IsSort = 'false'
+        }
       }
       
       let indexes = cards.map(car => {return car.id})
@@ -157,13 +166,31 @@
     }
   })
   let columns = []
-  if (type === 'columns' && cards.length > 10) {
-    let number = Math.ceil(cards.length / Math.ceil(cards.length / 10))
-    for (let i = 0, len = cards.length; i < len; i += number) {
-      columns.push(cards.slice(i, i + number))
+  let _colCards = []
+
+  // 杩囨护鍚堝苟鍒�
+  if (type === 'columns') {
+    let _hideCol = []
+    cards.forEach(col => {
+      if (col.type === 'colspan' && col.sublist) {
+        _hideCol = _hideCol.concat(col.sublist)
+      }
+    })
+    cards.forEach(col => {
+      if (!_hideCol.includes(col.uuid)) {
+        _colCards.push(col)
+      }
+    })
+  }
+
+  // 鏄剧ず鍒楀垎琛�
+  if (type === 'columns' && _colCards.length > 10) {
+    let number = Math.ceil(_colCards.length / Math.ceil(_colCards.length / 10))
+    for (let i = 0, len = _colCards.length; i < len; i += number) {
+      columns.push(_colCards.slice(i, i + number))
     }
   } else if (type === 'columns') {
-    columns.push(cards)
+    columns.push(_colCards)
   }
   
   return (
@@ -176,6 +203,7 @@
           card={card}
           moveCard={moveCard}
           editCard={editCard}
+          delCard={delCard}
           copyCard={copyCard}
           findCard={findCard}
           hasDrop={hasDrop}
@@ -190,12 +218,13 @@
             card={card}
             moveCard={moveCard}
             editCard={editCard}
+            delCard={delCard}
             findCard={findCard}
             hasDrop={hasDrop}
           />
         </Col>
       ))}
-      {type === 'columns' && cards.length > 0 &&
+      {type === 'columns' && _colCards.length > 0 &&
         columns.map((column, i) => (
           <div key={i} className="column-box">
             {/* 澶氶�� */}
@@ -216,6 +245,7 @@
                 card={card}
                 moveCard={moveCard}
                 editCard={editCard}
+                delCard={delCard}
                 findCard={findCard}
                 hasDrop={hasDrop}
               />

--
Gitblit v1.8.0