From f4b9504cad034ddcdef21c2081d14a4984fcd2d3 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 15 七月 2024 17:14:48 +0800
Subject: [PATCH] 2024-07-15

---
 src/mob/components/navbar/normal-navbar/index.jsx |   64 +++++---------------------------
 1 files changed, 10 insertions(+), 54 deletions(-)

diff --git a/src/mob/components/navbar/normal-navbar/index.jsx b/src/mob/components/navbar/normal-navbar/index.jsx
index bc0925f..48a06f5 100644
--- a/src/mob/components/navbar/normal-navbar/index.jsx
+++ b/src/mob/components/navbar/normal-navbar/index.jsx
@@ -2,17 +2,17 @@
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import { Popover } from 'antd'
-import { SettingOutlined, EditOutlined, ToolOutlined, DeleteOutlined, FontColorsOutlined } from '@ant-design/icons'
+import { SettingOutlined, EditOutlined, ToolOutlined, DeleteOutlined, FontColorsOutlined, PlusOutlined } from '@ant-design/icons'
 
 import asyncIconComponent from '@/utils/asyncIconComponent'
-import MkIcon from '@/components/mk-icon'
 import MKEmitter from '@/utils/events.js'
 import getWrapForm from './options'
 import './index.scss'
 
 const NormalForm = asyncIconComponent(() => import('@/components/normalform'))
-const MenuComponent = asyncIconComponent(() => import('./menusetting'))
+const MenuComponent = asyncIconComponent(() => import('./menus'))
 const SettingComponent = asyncIconComponent(() => import('@/menu/datasource'))
+const CopyComponent = asyncIconComponent(() => import('@/menu/components/share/copycomponent'))
 
 class NormalNavbar extends Component {
   static propTpyes = {
@@ -33,11 +33,9 @@
       let _card = {
         uuid: card.uuid,
         type: card.type,
-        floor: card.floor,
         format: 'object',   // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡
         pageable: false,    // 缁勪欢灞炴�� - 鏄惁鍙垎椤�
         switchable: false,  // 缁勪欢灞炴�� - 鏁版嵁鏄惁鍙垏鎹�
-        dataName: card.dataName || '',
         name: card.name,
         subtype: card.subtype,
         setting: { interType: 'system' },
@@ -67,10 +65,6 @@
     }
   }
 
-  componentDidMount () {
-    MKEmitter.addListener('submitStyle', this.getStyle)
-  }
-
   shouldComponentUpdate (nextProps, nextState) {
     return !is(fromJS(this.state), fromJS(nextState))
   }
@@ -82,7 +76,6 @@
     this.setState = () => {
       return
     }
-    MKEmitter.removeListener('submitStyle', this.getStyle)
   }
   
   /**
@@ -98,12 +91,8 @@
     this.props.updateConfig(component)
   }
 
-  getStyle = (comIds, style) => {
-    const { card } = this.state
-
-    if (comIds[0] !== card.uuid) return
-
-    let _card = {...card, style}
+  getStyle = (style) => {
+    let _card = {...this.state.card, style}
 
     this.setState({
       card: _card
@@ -115,27 +104,7 @@
   changeStyle = () => {
     const { card } = this.state
 
-    MKEmitter.emit('changeStyle', [card.uuid], ['font', 'background', 'border', 'padding', 'shadow'], card.style)
-  }
-
-  clickComponent = (e) => {
-    if (sessionStorage.getItem('style-control') === 'true' || sessionStorage.getItem('style-control') === 'component') {
-      e.stopPropagation()
-      MKEmitter.emit('clickComponent', this.state.card)
-    }
-  }
-
-  changeMenu = (menu) => {
-    if (menu.property === 'link') {
-      window.open(menu.link)
-    } else {
-      MKEmitter.emit('changeEditMenu', {
-        MenuID: menu.property === 'linkmenu' ? menu.linkMenuId : menu.MenuID,
-        copyMenuId: menu.property === 'menu' ? menu.copyMenuId : '',
-        MenuNo: menu.MenuNo,
-        MenuName: menu.name,
-      })
-    }
+    MKEmitter.emit('changeStyle', ['font', 'background', 'border', 'padding', 'shadow'], card.style, this.getStyle)
   }
 
   getWrapForms = () => {
@@ -155,13 +124,14 @@
     _style.height = card.wrap.height
 
     return (
-      <div className="normal-navbar-edit-box" style={_style} onClick={this.clickComponent} id={card.uuid}>
+      <div className={'normal-navbar-edit-box ' + (card.wrap.menuStyle || '')} style={_style} 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} />
+            <PlusOutlined className="plus" title="娣诲姞鑿滃崟" onClick={() => MKEmitter.emit('addmobmenu')}/>
             <NormalForm title="鑿滃崟鏍忚缃�" width={800} update={this.updateWrap} getForms={this.getWrapForms}>
               <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/>
             </NormalForm>
+            <CopyComponent type="mobnavbar" card={card}/>
             <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle} />
             <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} />
             {card.wrap.datatype !== 'static' ? <SettingComponent config={card} updateConfig={this.updateComponent} /> : null}
@@ -170,21 +140,7 @@
         } trigger="hover">
           <ToolOutlined />
         </Popover>
-        <div className="menu">
-          {card.menus.map(menu => {
-            return (
-              <div key={menu.MenuID} className="am-tab-bar-tab" onDoubleClick={() => this.changeMenu(menu)}>
-                {menu.icon ? <div className="am-tab-bar-tab-icon">
-                  <span className="am-badge am-tab-bar-tab-badge tab-badge">
-                    <MkIcon type={menu.icon} />
-                    {menu.tip ? <sup className="am-badge-text"></sup> : null}
-                  </span>
-                </div> : null}
-                <p className="am-tab-bar-tab-title">{menu.name}</p>
-              </div>
-            )
-          })}
-        </div>
+        <MenuComponent menus={card.menus} columns={card.columns} updateConfig={(menus) => this.updateComponent({...card, menus: menus})}/>
       </div>
     )
   }

--
Gitblit v1.8.0