From 51a60b5cb00fdeaf9e42c29341242460bf2154e8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 18 九月 2020 09:37:22 +0800 Subject: [PATCH] 2020-09-18 --- src/menu/components/tabs/tabcomponents/index.jsx | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 54 insertions(+), 6 deletions(-) diff --git a/src/menu/components/tabs/tabcomponents/index.jsx b/src/menu/components/tabs/tabcomponents/index.jsx index 1d409e6..14b4604 100644 --- a/src/menu/components/tabs/tabcomponents/index.jsx +++ b/src/menu/components/tabs/tabcomponents/index.jsx @@ -2,13 +2,15 @@ import { useDrop } from 'react-dnd' import { is, fromJS } from 'immutable' import update from 'immutability-helper' -import { Empty, notification } from 'antd' +import { Empty, notification, Modal } from 'antd' import Utils from '@/utils/utils.js' import Card from './card' import './index.scss' -const Container = ({menu, parentId, config, handleList, deleteCard, doubleClickCard }) => { +const { confirm } = Modal + +const Container = ({menu, config, handleList }) => { let target = null const [cards, setCards] = useState(config.components) @@ -38,6 +40,28 @@ handleList({...config, components: cards.map(item => item.uuid === element.uuid ? element : item)}) } + const deleteCard = (id) => { + const { card } = findCard(id) + + let hasComponent = false + if (card.type === 'tabs') { + card.subtabs.forEach(tab => { + if (tab.components.length > 0) { + hasComponent = true + } + }) + } + + confirm({ + title: `纭畾鍒犻櫎銆�${card.setting.name}銆嬪悧锛焋, + content: hasComponent ? '褰撳墠缁勪欢涓惈鏈夊瓙缁勪欢锛�' : '', + onOk() { + handleList({...config, components: cards.filter(item => item.uuid !== card.uuid)}) + }, + onCancel() {} + }) + } + const [, drop] = useDrop({ accept: 'menu', drop(item) { @@ -55,15 +79,40 @@ }) return } + } else if (item.component === 'tabs' && config.floor === 3) { + notification.warning({ + top: 92, + message: '鏍囩椤垫渶澶氫负涓夐噸缁撴瀯锛�', + duration: 5 + }) + return + } + + let name = '' + let names = { + bar: '鏌辩姸鍥�', + line: '鎶樼嚎鍥�', + tabs: '鏍囩缁�' + } + let i = 1 + + while (!name && names[item.component]) { + let _name = names[item.component] + i + if (config.components.filter(com => com.setting && com.setting.name === _name).length === 0) { + name = _name + } + i++ } let newcard = { uuid: Utils.getuuid(), + tabId: config.uuid, + parentId: config.parentId, type: item.component, subtype: item.subtype, - parentId: parentId, - floor: 2, // 缁勪欢鐨勫眰绾� - isNew: true // 鏂版坊鍔犳爣蹇楋紝鐢ㄤ簬鍒濆鍖� + name: name, + floor: config.floor ? (config.floor + 1) : 2, // 缁勪欢鐨勫眰绾� + isNew: true // 鏂版坊鍔犳爣蹇楋紝鐢ㄤ簬鍒濆鍖� } let targetId = cards.length > 0 ? cards[cards.length - 1].uuid : 0 @@ -97,7 +146,6 @@ findCard={findCard} hasDrop={hasDrop} updateConfig={updateConfig} - doubleClickCard={doubleClickCard} /> ))} {cards.length === 0 ? -- Gitblit v1.8.0