| | |
| | | import React, { useState } from 'react' |
| | | import { useDrop } from 'react-dnd' |
| | | import { is, fromJS } from 'immutable' |
| | | import { message } from 'antd' |
| | | import update from 'immutability-helper' |
| | | |
| | | import Utils from '@/utils/utils.js' |
| | | import Card from './card' |
| | | import './index.scss' |
| | | |
| | | const Container = ({list, handleList, handleMenu, deleteMenu, profileMenu, changeBtnStyle, dropButton, doubleClickCard }) => { |
| | | const Container = ({list, type, handleList, handleMenu, deleteMenu, profileMenu, changeBtnStyle, dropButton, doubleClickCard }) => { |
| | | const [cards, setCards] = useState(list) |
| | | const moveCard = (id, atIndex) => { |
| | | const { card, index } = findCard(id) |
| | |
| | | |
| | | let _val = fromJS(copycard).toJS() |
| | | |
| | | if (_val.control) { |
| | | delete _val.controlField |
| | | delete _val.controlVal |
| | | } |
| | | |
| | | copycard.uuid = Utils.getuuid() |
| | | copycard.originCard = card |
| | | |
| | | try { |
| | | delete _val.$srcId |
| | | |
| | | let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId') |
| | | if (srcid) { |
| | | _val.$srcId = srcid |
| | | } |
| | | |
| | | _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val))) |
| | | } catch { |
| | | } catch (e) { |
| | | console.warn('Stringify Failure') |
| | | _val = '' |
| | | } |
| | |
| | | oInput.select() |
| | | document.execCommand('Copy') |
| | | document.body.removeChild(oInput) |
| | | |
| | | message.success('复制成功。') |
| | | } else { |
| | | message.warning('复制失败。') |
| | | } |
| | | |
| | | const { index: overIndex } = findCard(id) |
| | | // const { index: overIndex } = findCard(id) |
| | | |
| | | const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] }) |
| | | // const _cards = update(cards, { $splice: [[overIndex + 1, 0, copycard]] }) |
| | | |
| | | handleList(_cards, copycard) |
| | | // handleList(_cards, copycard) |
| | | } |
| | | |
| | | const [, drop] = useDrop({ |
| | | accept: 'action', |
| | | drop(item) { |
| | | if (item.$init) { // 拖拽添加 |
| | | if (item.class === 'element') { |
| | | delete item.overIndex |
| | | return |
| | | } |
| | | let newcard = {} |
| | | newcard.uuid = Utils.getuuid() |
| | | newcard.focus = true |
| | | newcard.label = 'button' |
| | | newcard.verify = null |
| | | newcard.show = 'button' |
| | | newcard.Ot = 'requiredSgl' |
| | | newcard.OpenType = item.value |
| | | newcard.class = 'primary' |
| | | newcard.style = { marginRight: '15px' } |
| | | |
| | | if (newcard.OpenType === 'excelIn') { |
| | | newcard.label = item.text |
| | | newcard.class = 'border-dgreen' |
| | | newcard.Ot = 'notRequired' |
| | | } else if (newcard.OpenType === 'excelOut') { |
| | | newcard.label = item.text |
| | | newcard.execSuccess = 'never' |
| | | newcard.class = 'dgreen' |
| | | newcard.Ot = 'requiredOnce' |
| | | } |
| | | |
| | | if (item.overIndex) { |
| | | const { index } = findCard(item.overIndex) |
| | | const _cards = update(cards, { $splice: [[index + 1, 0, newcard]] }) |
| | | handleList(_cards, newcard) |
| | | } else { |
| | | handleList([...cards, newcard], newcard) |
| | | } |
| | | |
| | | delete item.overIndex |
| | | return |
| | | } |
| | | |
| | | const { index } = findCard(item.id) |
| | | if (index > -1) return |
| | | dropButton(item.id) |
| | |
| | | id={card.uuid} |
| | | key={card.uuid} |
| | | card={card} |
| | | type={type} |
| | | moveCard={moveCard} |
| | | copyCard={copyCard} |
| | | editCard={editCard} |