From f9bc0059785cb1b1583e6f7a3a501f667338e672 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 21 十二月 2023 14:59:52 +0800
Subject: [PATCH] 2023-12-21

---
 src/views/menudesign/index.jsx |   44 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 44 insertions(+), 0 deletions(-)

diff --git a/src/views/menudesign/index.jsx b/src/views/menudesign/index.jsx
index 3a98723..a2ffa00 100644
--- a/src/views/menudesign/index.jsx
+++ b/src/views/menudesign/index.jsx
@@ -125,6 +125,7 @@
     
     MKEmitter.addListener('changePopview', this.initPopview)
     MKEmitter.addListener('triggerMenuSave', this.triggerMenuSave)
+    MKEmitter.addListener('changeEditMenu', this.changeEditMenu)
     setTimeout(() => {
       this.getRoleFields()
       setGLOBFuncs()
@@ -196,6 +197,49 @@
     }
     MKEmitter.removeListener('changePopview', this.initPopview)
     MKEmitter.removeListener('triggerMenuSave', this.triggerMenuSave)
+    MKEmitter.removeListener('changeEditMenu', this.changeEditMenu)
+  }
+
+  changeEditMenu = (menu) => {
+    if (menu.MenuID && menu.MenuID.length === 3 && menu.MenuNo && !this.menuLoading) {
+      this.menuLoading = true
+      let param = {
+        func: 'sPC_Get_LongParam',
+        MenuID: menu.MenuID[2]
+      }
+  
+      Api.getCloudConfig(param).then(result => {
+        this.menuLoading = false
+        if (result.status) {
+          let config = null
+  
+          try {
+            config = result.LongParam ? JSON.parse(window.decodeURIComponent(window.atob(result.LongParam))) : null
+          } catch (e) {
+            console.warn('Parse Failure')
+            config = null
+          }
+
+          if (config) {
+            let _param = {
+              MenuId: menu.MenuID[2],
+              MenuID: menu.MenuID[2],
+              ParentId: menu.MenuID[1],
+              MenuName: menu.MenuName,
+              MenuNo: menu.MenuNo
+            }
+            if (config.Template === 'BaseTable') {
+              _param = window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
+              window.open(`#/tabledesign/${_param}`)
+            } else if (config.Template === 'CustomPage') {
+              _param.MenuType = 'custom'
+              _param = window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
+              window.open(`#/menudesign/${_param}`)
+            }
+          }
+        }
+      })
+    }
   }
 
   triggerMenuSave = () => {

--
Gitblit v1.8.0