From 233709a44a2f5cfff9b8fb955ebcdc6889c0d40b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 19 十一月 2019 09:12:28 +0800 Subject: [PATCH] 2019-11-19 --- src/components/sidemenu/comtableconfig/dragelement/index.jsx | 66 +++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 12 deletions(-) diff --git a/src/components/sidemenu/comtableconfig/dragelement/index.jsx b/src/components/sidemenu/comtableconfig/dragelement/index.jsx index c89134c..9a8425d 100644 --- a/src/components/sidemenu/comtableconfig/dragelement/index.jsx +++ b/src/components/sidemenu/comtableconfig/dragelement/index.jsx @@ -30,6 +30,36 @@ handleMenu(card) } + const copyCard = id => { + const { card } = findCard(id) + let copycard = JSON.parse(JSON.stringify(card)) + copycard.uuid = Utils.getuuid() + copycard.origin = false + let names = cards.map(car => { return car.label }) + let index = 1 + let origin = copycard.label.split('(copy')[0] || 'button' + let label = origin + '(copy)' + while (names.includes(label)) { + label = origin + `(copy${index})` + index++ + } + + copycard.label = label + + let indexes = cards.map(car => { return car.id }) + let newid = 0 + while (indexes.includes(newid)) { + newid++ + } + copycard.id = newid + + const { index: overIndex } = findCard(`${card.id}`) + + const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] }) + setCards(_cards) + handleList({action: _cards}) + } + const hasDrop = (item) => { target = item } @@ -40,31 +70,42 @@ if (item.hasOwnProperty('originalIndex')) { return } + let newcard = {} if (item.type === 'search') { newcard.uuid = Utils.getuuid() newcard.label = 'fieldName' - newcard.field = 'field' + newcard.field = '' newcard.initval = '' newcard.type = item.subType - if (item.subType === 'select') { - newcard.resourceType = 0 - newcard.options = [] - newcard.dataSource = '' - } + newcard.resourceType = '0' + newcard.options = [] + newcard.dataSource = '' + newcard.setAll = 'false' + newcard.linkField = '' + newcard.valueField = '' + newcard.valueText = '' + newcard.orderBy = '' + newcard.orderType = 'asc' + newcard.display = 'dropdown' } else if (item.type === 'action') { newcard.uuid = Utils.getuuid() newcard.label = 'button' - newcard.func = '' - newcard.Ot = 'notRequired' + newcard.innerFunc = '' + newcard.outerFunc = '' + newcard.Ot = 'requiredSgl' newcard.OpenType = item.subType - newcard.icon = 'plus' + newcard.icon = '' newcard.class = 'green' + newcard.intertype = 'inner' + newcard.interface = '' + newcard.callbackFunc = '' + newcard.pageTemplate = '' } else if (item.type === 'columns') { newcard.uuid = Utils.getuuid() newcard.Align = 'left' newcard.label = 'fieldName' - newcard.field = 'field' + newcard.field = '' newcard.Hide = 'false' newcard.IsSort = item.subType newcard.Width = 120 @@ -98,8 +139,8 @@ } }) let columns = [] - if (type === 'columns' && cards.length > 12) { - let number = Math.ceil(cards.length / Math.ceil(cards.length / 12)) + 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)) } @@ -117,6 +158,7 @@ card={card} moveCard={moveCard} editCard={editCard} + copyCard={copyCard} findCard={findCard} hasDrop={hasDrop} /> -- Gitblit v1.8.0