From ed7d889f7d9dfca77fd7f055ad8d6ec6ad85ae91 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 20 七月 2022 18:28:13 +0800
Subject: [PATCH] 2022-07-20

---
 src/views/design/sidemenu/index.jsx |   59 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
 1 files changed, 48 insertions(+), 11 deletions(-)

diff --git a/src/views/design/sidemenu/index.jsx b/src/views/design/sidemenu/index.jsx
index c3caac8..db9232f 100644
--- a/src/views/design/sidemenu/index.jsx
+++ b/src/views/design/sidemenu/index.jsx
@@ -1,8 +1,8 @@
 import React, {Component} from 'react'
 import { connect } from 'react-redux'
 import { is, fromJS } from 'immutable'
-import { Menu, notification } from 'antd'
-import { EditOutlined } from '@ant-design/icons'
+import { Menu, notification, Popover } from 'antd'
+import { EditOutlined, CloseOutlined, SwapOutlined, PlusOutlined, UnlockOutlined, SettingOutlined } from '@ant-design/icons'
 
 import asyncComponent from '@/utils/asyncComponent'
 import { resetEditLevel, modifyMenuTree, modifyMainMenu } from '@/store/action'
@@ -241,32 +241,69 @@
     this.props.resetEditLevel(false)
   }
 
+  editmenu = (cell) => {
+    if (cell.type === 'CustomPage') {
+      let _param = {
+        MenuType: 'custom',
+        MenuId: cell.MenuID,
+        ParentId: cell.ParentId,
+        MenuName: cell.MenuName,
+        MenuNo: cell.MenuNo
+      }
+      _param = window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
+      window.open(`#/menudesign/${_param}`)
+    } else {
+
+    }
+  }
+
   render () {
-    const { mainMenu } = this.props
+    const { mainMenu, editLevel } = this.props
+
+    let isnew = false
 
     return (
       <aside className="mk-sys-side-menu ant-menu-dark mk-edit">
-        {!(this.props.editLevel === 'level2' || this.props.editLevel === 'level3') &&
+        {!(editLevel === 'level2' || editLevel === 'level3') &&
           <Menu openKeys={this.state.openKeys} onOpenChange={this.onOpenChange} mode="inline" theme="dark">
-          {!this.props.editLevel && mainMenu ? <li className="sup-menu"><EditOutlined onClick={this.enterSubEdit} className="edit-check"/></li> : null}
+          {!editLevel && mainMenu ? <li className="sup-menu"><EditOutlined onClick={this.enterSubEdit} className="edit-check"/></li> : null}
           {this.state.subMenulist && this.state.subMenulist.map((item, index) => {
             return (
               <SubMenu
                 key={item.MenuID}
                 title={
-                  <span className={!this.props.editLevel && index === 0 ? 'edit-control' : ''}>
+                  <span className={!editLevel && index === 0 ? 'edit-control' : ''}>
                     <MkIcon type={item.PageParam.Icon} />
                     <span>{item.MenuName}</span>
                   </span>
                 }
               >
-                {!this.props.editLevel ? <li className={'ant-menu-item ' + (item.children.length > 0 ? 'sub-menu' : '')}>
-                  <EditOutlined onClick={(e) => {this.enterThrEdit(e, item)}} className="edit-check"/>
+                {!editLevel ? <li className={'ant-menu-item ' + (item.children.length > 0 ? 'sub-menu' : '')}>
+                  {!isnew ? <EditOutlined onClick={(e) => {this.enterThrEdit(e, item)}} className="edit-check"/> :
+                  <Popover overlayClassName="mk-popover-control-wrap mk-menu-control" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
+                    <div className="mk-popover-control">
+                      <PlusOutlined onClick={(e) => {this.enterThrEdit(e, item)}} className="mk-edit-menu"/>
+                      <SwapOutlined onClick={(e) => {this.enterThrEdit(e, item)}} className="mk-edit-menu mk-swap"/>
+                      <UnlockOutlined onClick={(e) => {this.enterThrEdit(e, item)}} className="mk-edit-menu"/>
+                    </div>
+                  } trigger="hover" placement="top">
+                    <SettingOutlined className="edit-check"/>
+                  </Popover>}
                 </li> : null}
                 {item.children.map(cell => {
                   return (
                     <Menu.Item key={cell.MenuID}>
-                      <a href={cell.src} id={cell.MenuID} onClick={(e) => this.changemenu(e, cell)}>{cell.MenuName}</a>
+                      {editLevel !== 'HS' && isnew ?
+                        <Popover overlayClassName="mk-popover-control-wrap mk-menu-control" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
+                          <div className="mk-popover-control">
+                            <EditOutlined className="edit" onClick={() => this.editmenu(cell)} />
+                            <CloseOutlined className="close" onClick={() => {}} />
+                          </div>
+                        } trigger="hover" placement="top">
+                          <span className="editable-menu-item">{cell.MenuName}</span>
+                        </Popover> : 
+                        <a href={cell.src} id={cell.MenuID} onClick={(e) => this.changemenu(e, cell)}>{cell.MenuName}</a>
+                      }
                     </Menu.Item>
                   )
                 })}
@@ -274,7 +311,7 @@
             )
           })}
         </Menu>}
-        {this.props.editLevel === 'level2' ?
+        {editLevel === 'level2' ?
           <EditSecMenu
             menulist={this.state.subMenulist}
             menuTree={this.props.menuTree}
@@ -283,7 +320,7 @@
             exitEdit={this.exitEdit}
           /> : null
         }
-        {this.props.editLevel === 'level3' && this.state.editMenu ?
+        {editLevel === 'level3' && this.state.editMenu ?
           <EditThdMenu
             menulist={this.state.editMenu.children}
             supMenuList={this.state.subMenulist}

--
Gitblit v1.8.0