king
2021-09-16 d7ec8fbd65cd7225ce8d405a0ee0a1f166f44d7b
src/pc/components/navbar/normal-navbar/index.jsx
@@ -8,9 +8,10 @@
import MKEmitter from '@/utils/events.js'
import zhCN from '@/locales/zh-CN/model.js'
import enUS from '@/locales/en-US/model.js'
import getWrapForm from './options'
import './index.scss'
const WrapComponent = asyncIconComponent(() => import('./wrapsetting'))
const NormalForm = asyncIconComponent(() => import('@/components/normalform'))
const MenuComponent = asyncIconComponent(() => import('./menusetting'))
const LinkComponent = asyncIconComponent(() => import('./linksetting'))
@@ -38,10 +39,9 @@
        type: card.type,
        floor: card.floor,
        dataName: card.dataName || '',
        width: card.width || 24,
        name: card.name,
        subtype: card.subtype,
        wrap: { name: card.name, width: card.width || 1200 },
        wrap: { name: card.name, width: card.width || 1200, height: 50 },
        logoStyle: { width: '100px' },
        style: { },
        links: [],
@@ -93,7 +93,6 @@
      card: component
    })
    component.width = component.wrap.width
    component.name = component.wrap.name
    this.props.updateConfig(component)
@@ -138,8 +137,11 @@
  }
  changeMenu = (menu) => {
    if (menu.property === 'link') {
      window.open(menu.link)
      return
    }
    MKEmitter.emit('changeEditMenu', {
      fixed: menu.property === 'menu',
      MenuID: menu.property === 'linkmenu' ? menu.linkMenuId : menu.MenuID,
      copyMenuId: menu.property === 'menu' ? menu.copyMenuId : '',
      MenuNo: menu.MenuNo,
@@ -149,27 +151,39 @@
  changeLogoMenu = () => {
    const { card } = this.state
    if (card.wrap.property === 'linkmenu') {
      MKEmitter.emit('changeEditMenu', {
        MenuID: card.wrap.linkmenu,
        copyMenuId: '',
        MenuNo: '',
        MenuName: ''
      })
    }
  }
    if (!card.wrap.logolink) return
  getWrapForms = () => {
    const { wrap } = this.state.card
    MKEmitter.emit('changeEditMenu', {MenuID: card.wrap.logolink})
    return getWrapForm(wrap)
  }
  updateWrap = (res) => {
    this.updateComponent({...this.state.card, wrap: res})
  }
  render() {
    const { card } = this.state
    let _style = {...card.style}
    if (_style.shadow) {
      _style.boxShadow = '0 0 4px ' + _style.shadow
    }
    return (
      <div className="normal-navbar-edit-box" style={_style} onClick={this.clickComponent} id={card.uuid}>
      <div className="normal-navbar-edit-box" style={card.style} onClick={this.clickComponent} id={card.uuid}>
        <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
          <div className="mk-popover-control">
            <MenuComponent config={card} updateConfig={this.updateComponent} />
            <LinkComponent config={card} updateConfig={this.updateComponent} />
            <WrapComponent config={card} updateConfig={this.updateComponent} />
            <NormalForm title="导航栏设置" width={800} update={this.updateWrap} getForms={this.getWrapForms}>
              <Icon type="edit" style={{color: '#1890ff'}} title="编辑"/>
            </NormalForm>
            <Icon className="style" title="调整样式" onClick={this.changeStyle} type="font-colors" />
            <Icon className="close" title="删除组件" type="delete" onClick={() => this.props.deletecomponent(card.uuid)} />
          </div>
@@ -215,7 +229,7 @@
                  )
                } else {
                  return (
                    <Menu.Item key={fst.MenuID} onClick={(e) => e.stopPropagation()}>
                    <Menu.Item key={fst.MenuID}>
                      <span onClick={(e) => e.stopPropagation()} onDoubleClick={() => this.changeMenu(fst)}>{fst.name}</span>
                    </Menu.Item>
                  )