king
2021-11-18 c98e45bfac25e9110ad0383faac54a54d98ea9d5
src/pc/menushell/index.jsx
@@ -1,6 +1,5 @@
import React, { useState } from 'react'
import { useDrop } from 'react-dnd'
import { is, fromJS } from 'immutable'
import update from 'immutability-helper'
import { Empty, notification, Modal } from 'antd'
@@ -18,9 +17,10 @@
    const { card, index } = findCard(id)
    const _cards = update(cards, { $splice: [[index, 1], [atIndex, 0, card]] })
    handleList({...menu, components: _cards})
    setCards(_cards)
  }
  if (!is(fromJS(cards), fromJS(menu.components))) {
  if (menu.components.length > cards.length) {
    setCards(menu.components)
  }
  
@@ -33,7 +33,9 @@
  }
  const updateConfig = (element) => {
    handleList({...menu, components: cards.map(item => item.uuid === element.uuid ? element : item)})
    const _cards = cards.map(item => item.uuid === element.uuid ? element : item)
    handleList({...menu, components: _cards})
    setCards(_cards)
  }
  const deleteCard = (id) => {
@@ -51,11 +53,16 @@
    let uuids = MenuUtils.getDelButtonIds(card)
    confirm({
      title: `确定删除《${card.name}》吗?`,
      title: `确定删除${card.name ? `《${card.name}》` : '组件'}吗?`,
      content: hasComponent ? '当前组件中含有子组件!' : '',
      onOk() {
        const _cards = cards.filter(item => item.uuid !== card.uuid)
        handleList({...menu, components: _cards})
        setCards(_cards)
        if (uuids.length === 0) return
        MKEmitter.emit('delButtons', uuids)
        handleList({...menu, components: cards.filter(item => item.uuid !== card.uuid)})
      },
      onCancel() {}
    })
@@ -68,6 +75,8 @@
        delete item.added // 删除组件添加标记
        return
      }
      let style = null
      if (item.component === 'search') { // 搜索组件不可重复添加
        if (cards.filter(card => card.type === 'search').length > 0) {
@@ -87,11 +96,16 @@
          })
          return
        }
        if (!menu.style.paddingTop) {
          style = {...menu.style, paddingTop: '50px'}
        }
      }
      let name = ''
      let names = {
        bar: '柱状图',
        chart: '图表',
        line: '折线图',
        tabs: '标签组',
        pie: '饼图',
@@ -102,7 +116,12 @@
        code: '自定义',
        navbar: '导航栏',
        carousel: '轮播',
        card: '卡片'
        dashboard: '仪表盘',
        tree: '树形列表',
        card: '卡片',
        balcony: '浮动卡',
        timeline: '时间轴',
        login: '登录'
      }
      let i = 1
      
@@ -138,7 +157,12 @@
      const { index: overIndex } = findCard(`${targetId}`)
      const _cards = update(cards, { $splice: [[overIndex + 1, 0, newcard]] })
      handleList({...menu, components: _cards})
      if (style) {
        handleList({...menu, style, components: _cards})
      } else {
        handleList({...menu, components: _cards})
      }
      setCards(_cards)
    }
  })