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