king
2022-02-09 d59f518f466274b2caeb2e01c10c92deafe7c93b
src/mob/components/menubar/normal-menubar/menucomponent/index.jsx
@@ -1,12 +1,14 @@
import React, {Component} from 'react'
import PropTypes from 'prop-types'
import { is, fromJS } from 'immutable'
import { Popover, Icon, Col } from 'antd'
import { Popover, Col } from 'antd'
import { SwapOutlined, ArrowLeftOutlined, ArrowRightOutlined, EditOutlined, FontColorsOutlined, DeleteOutlined } from '@ant-design/icons'
import asyncIconComponent from '@/utils/asyncIconComponent'
import Utils from '@/utils/utils.js'
import getSettingForm from './options'
import { resetStyle } from '@/utils/utils-custom.js'
import MkIcon from '@/components/mk-icon'
import MKEmitter from '@/utils/events.js'
import './index.scss'
@@ -80,9 +82,10 @@
  }
  getSettingForms = () => {
    const { cards } = this.props
    const { card } = this.state
    return getSettingForm(card.setting)
    return getSettingForm(card.setting, cards.columns || [])
  }
  updateSetting = (res) => {
@@ -126,32 +129,34 @@
        <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
          <div className="mk-popover-control">
            <NormalForm title="菜单编辑" width={900} update={this.updateSetting} getForms={this.getSettingForms}>
              <Icon type="edit" style={{color: '#1890ff'}} title="编辑"/>
              <EditOutlined style={{color: '#1890ff'}} title="编辑"/>
            </NormalForm>
            <CopyComponent type="menucell" card={card}/>
            <Icon className="style" title="调整样式" onClick={this.changeStyle} type="font-colors" />
            <FontColorsOutlined className="style" title="调整样式" onClick={this.changeStyle}/>
            <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
              <div className="mk-popover-control">
                <Icon className="plus" title="左移" type="arrow-left" onClick={() => this.props.move(card, 'left')} />
                <Icon className="close" title="右移" type="arrow-right" onClick={() => this.props.move(card, 'right')} />
                <ArrowLeftOutlined className="plus" title="左移" onClick={() => this.props.move(card, 'left')} />
                <ArrowRightOutlined className="close" title="右移" onClick={() => this.props.move(card, 'right')} />
              </div>
            } trigger="hover" getPopupContainer={() => document.getElementById(card.uuid + 'swap')}>
              <Icon type="swap" id={card.uuid + 'swap'}/>
              <SwapOutlined id={card.uuid + 'swap'}/>
            </Popover>
            <Icon className="close" title="删除菜单" type="delete" onClick={() => this.props.deleteElement(card)} />
            <DeleteOutlined className="close" title="删除菜单" onClick={() => this.props.deleteElement(card)} />
          </div>
        } trigger="hover">
          <div className="menu-item" onDoubleClick={() => this.changeMenu()} style={_style}>
            {card.setting.sign === 'icon' ? <div className="menu-sign">
              <Icon style={{
              <MkIcon style={{
                fontSize: card.setting.iconFont || 20,
                padding: card.setting.padding,
                background: card.setting.background,
                color: card.setting.color,
                borderRadius: card.setting.borderRadius || '15%'
              }} type={card.setting.icon}/>
              {card.setting.tip ? <sup className="am-badge-text"></sup> : null}
            </div> : <div className="menu-sign">
              <img style={{width: card.setting.imgWidth, height: card.setting.imgWidth, borderRadius: card.setting.borderRadius || '15%'}} src={card.setting.url} alt=""/>
              {card.setting.tip ? <sup className="am-badge-text"></sup> : null}
            </div>}
            <div className="menu-name">{card.setting.name}</div>
          </div>