From 8d66ff34fae5b048a6b7923cc75d34f13a08be9d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 02 八月 2022 11:42:43 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/mob/components/menubar/normal-menubar/index.jsx |   85 ++++++++++++++++++++++++++++--------------
 1 files changed, 57 insertions(+), 28 deletions(-)

diff --git a/src/mob/components/menubar/normal-menubar/index.jsx b/src/mob/components/menubar/normal-menubar/index.jsx
index 93d9aff..53d4e1f 100644
--- a/src/mob/components/menubar/normal-menubar/index.jsx
+++ b/src/mob/components/menubar/normal-menubar/index.jsx
@@ -41,7 +41,6 @@
       let _card = {
         uuid: card.uuid,
         type: card.type,
-        floor: card.floor,
         tabId: '',
         parentId: '',
         format: 'object',   // 缁勪欢灞炴�� - 鏁版嵁鏍煎紡
@@ -52,7 +51,7 @@
         name: card.name,
         subtype: card.subtype,
         setting: { interType: 'system' },
-        wrap: { name: card.name, width: card.width || 24, title: '' },
+        wrap: { name: card.name, width: card.width || 24, title: '', permission: 'true' },
         style: { marginLeft: '0px', marginRight: '0px', marginTop: '8px', marginBottom: '8px' },
         headerStyle: { fontSize: '16px', borderBottomWidth: '1px', borderBottomColor: '#e8e8e8' },
         subMenus: [{
@@ -145,20 +144,27 @@
   /**
    * @description 鍗曚釜鍗$墖淇℃伅鏇存柊
    */
-  deleteCard = (cell) => {
+  deleteCard = (cell, type) => {
     let card = fromJS(this.state.card).toJS()
     let _this = this
 
-    confirm({
-      content: '纭畾鍒犻櫎鍗$墖鍚楋紵',
-      onOk() {
-        card.subMenus = card.subMenus.filter(item => item.uuid !== cell.uuid)
-
-        _this.setState({card})
-        _this.props.updateConfig(card)
-      },
-      onCancel() {}
-    })
+    if (type !== 'direct') {
+      confirm({
+        content: '纭畾鍒犻櫎鍗$墖鍚楋紵',
+        onOk() {
+          card.subMenus = card.subMenus.filter(item => item.uuid !== cell.uuid)
+  
+          _this.setState({card})
+          _this.props.updateConfig(card)
+        },
+        onCancel() {}
+      })
+    } else {
+      card.subMenus = card.subMenus.filter(item => item.uuid !== cell.uuid)
+  
+      this.setState({card})
+      this.props.updateConfig(card)
+    }
   }
 
   changeStyle = () => {
@@ -186,7 +192,7 @@
 
     let newcard = {
       uuid: Utils.getuuid(),
-      setting: { type: 'menu', width: 6, sign: 'icon', icon: 'user', name: '瀹㈡埛', url: '', color: '#ffffff', iconFont: 20, padding: 12, background: '#1890ff', imgWidth: '' },
+      setting: { type: 'menu', width: 6, sign: 'icon', icon: '', name: '', url: '', color: '#ffffff', iconFont: 20, padding: 12, background: '#1890ff', imgWidth: '' },
       style: {
         paddingTop: '15px', paddingBottom: '15px'
       }
@@ -195,12 +201,44 @@
     if (card.subMenus.length > 0) {
       newcard = fromJS(card.subMenus.slice(-1)[0]).toJS()
       newcard.uuid = Utils.getuuid()
+
+      newcard.setting.clearMenu = 'true'
+      newcard.setting.icon = ''
+      newcard.setting.name = ''
+      newcard.setting.MenuNo = ''
+      newcard.setting.type = 'menu'
+      newcard.setting.copyMenuId = ''
+      newcard.setting.linkMenuId = ''
+      newcard.setting.linkurl = ''
+      newcard.setting.tip = ''
+      newcard.setting.url = ''
     }
 
     card.subMenus.push(newcard)
     
     this.setState({card})
     this.props.updateConfig(card)
+
+    setTimeout(() => {
+      let node = document.getElementById(newcard.uuid)
+      node && node.click()
+    }, 200)
+  }
+
+  filterComponent = (config) => {
+    let item = null
+    config.subMenus.forEach(menu => {
+      if (menu.setting.type === 'linkmenu' && menu.setting.linkMenuId === '') {
+        item = menu
+      }
+    })
+    
+    this.updateComponent(config)
+    
+    setTimeout(() => {
+      let node = document.getElementById(item.uuid)
+      node && node.click()
+    }, 200)
   }
 
   move = (item, direction) => {
@@ -252,18 +290,6 @@
   render() {
     const { card } = this.state
 
-    let offset = 0
-    if (card.wrap.cardFloat && card.wrap.cardFloat !== 'left') {
-      let _width = 0
-      card.subMenus.forEach(card => {
-        _width += card.setting.width
-      })
-      offset = _width < 24 ? 24 - _width : 0
-      if (card.wrap.cardFloat === 'center') {
-        offset = Math.floor(offset / 2)
-      }
-    }
-
     let _style = resetStyle(card.style)
 
     return (
@@ -276,7 +302,7 @@
               <EditOutlined style={{color: '#1890ff'}} title="缂栬緫"/>
             </NormalForm>
             <CopyComponent type="menubar" card={card}/>
-            <PasteComponent config={card} options={['menucell']} updateConfig={this.updateComponent} />
+            <PasteComponent config={card} options={['menucell']} updateConfig={this.filterComponent} />
             <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={this.changeStyle} />
             <UserComponent config={card}/>
             <DeleteOutlined className="close" title="鍒犻櫎缁勪欢" onClick={() => this.props.deletecomponent(card.uuid)} />
@@ -286,7 +312,10 @@
         } trigger="hover">
           <ToolOutlined />
         </Popover>
-        {card.subMenus.map((menu, index) => (<MenuComponent key={menu.uuid} offset={!index ? offset : 0} cards={card} card={menu} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
+        <div className={(card.wrap.layout || 'grid') + '-layout'}>
+          {card.subMenus.map((menu, index) => (<MenuComponent key={menu.uuid} cards={card} card={menu} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
+        </div>
+        <div className="component-name"><div className="center">{card.name}</div></div>
       </div>
     )
   }

--
Gitblit v1.8.0