From 3683e1475e8d74f690172a468518d88d91a69ccc Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 20 八月 2020 20:15:48 +0800
Subject: [PATCH] 2020-08-20

---
 src/templates/menuconfig/editthdmenu/index.jsx |   44 +++++++++++++++++++++++++++++++-------------
 1 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/src/templates/menuconfig/editthdmenu/index.jsx b/src/templates/menuconfig/editthdmenu/index.jsx
index be00486..1737bd3 100644
--- a/src/templates/menuconfig/editthdmenu/index.jsx
+++ b/src/templates/menuconfig/editthdmenu/index.jsx
@@ -13,6 +13,7 @@
 import mainsubtable from '@/assets/img/mainsubtable.jpg'
 import treepage from '@/assets/img/treepage.jpg'
 import calendar from '@/assets/img/calendar.jpg'
+import customImg from '@/assets/img/custom.jpg'
 
 import Preview from './preview'
 import MenuForm from './menuform'
@@ -38,12 +39,6 @@
 const { confirm } = Modal
 const { TabPane } = Tabs
 const { Search } = Input
-
-const illust = { // 妯℃澘鍥剧墖锛岀敤浜庡凡浣跨敤妯℃澘
-  CommonTable: mainsubtable,
-  TreePage: treepage,
-  CalendarPage: calendar
-}
 
 class EditMenu extends Component {
   static propTpyes = {
@@ -136,7 +131,7 @@
         onCancel() {}
       })
     } else if (menu.type === 'edit') {
-      let _menu = JSON.parse(JSON.stringify(menu.card))
+      let _menu = fromJS(menu.card).toJS()
 
       delete _menu.id
       delete _menu.src
@@ -439,7 +434,7 @@
    * 2銆佷娇鐢ㄥ凡鏈夎彍鍗曟ā鏉挎椂锛岃幏鍙栬彍鍗曢厤缃俊鎭紝鏍囪涓簎ser锛堝鍒惰彍鍗曟寜閽級
    */
   useTemplate = (template, useType) => {
-    let editMenu = JSON.parse(JSON.stringify(this.state.editMenu))
+    let editMenu = fromJS(this.state.editMenu).toJS()
 
     if (!this.state.fstMenuId) {
       notification.warning({
@@ -455,7 +450,7 @@
       editMenu.fstMenuList = this.state.fstMenuList
     }
 
-    if (useType === 'sys' && template.type === 'RolePermission') { // 鐙珛椤甸潰
+    if (useType === 'sys' && (template.type === 'RolePermission' || template.type === 'CustomPage')) { // 鐙珛椤甸潰
       let _menu = {
         ...editMenu,
         MenuID: Utils.getuuid(),
@@ -533,7 +528,7 @@
 
       this.setState({
         loading: false,
-        tabview: template.type,
+        tabview: template.type === 'CustomPage' ? '' : template.type,
         optionLibs: new Map(), // 鏂板缓鏃讹紝鍒濆鍖栦笅鎷夐�夐」搴�
         editMenu: {
           ...editMenu,
@@ -543,12 +538,34 @@
           isSubtable: template.isSubtable
         }
       })
+
+      if (template.type === 'CustomPage') { // 浣跨敤鑷畾涔夌殑宸叉湁鑿滃崟
+        // let _menu = {
+        //   ...editMenu,
+        //   MenuID: Utils.getuuid(),
+        //   MenuName: template.title,
+        //   Template: template.type,
+        //   ParentID: this.props.supMenu.MenuID,
+        // }
+  
+        // this.setState({
+        //   handleMVisible: true,
+        //   sysMenu: _menu
+        // })
+        return
+      }
       document.getElementById('root').style.overflowY = 'hidden'
     })
   }
 
   getUsedTemplate = () => {
     let { sysTemplates } = this.state
+    const illust = { // 妯℃澘鍥剧墖锛岀敤浜庡凡浣跨敤妯℃澘
+      CommonTable: mainsubtable,
+      TreePage: treepage,
+      CalendarPage: calendar,
+      CustomPage: customImg
+    }
 
     Api.getSystemConfig({func: 'sPC_Get_UserTemp', TypeCharTwo: 'menu'}).then(res => {
       let _templates = []
@@ -608,9 +625,10 @@
    */
   memuSubmit = () => {
     const { sysMenu } = this.state
-    let sysTemplates = JSON.parse(JSON.stringify(this.state.sysTemplates))
+    let sysTemplates = fromJS(this.state.sysTemplates).toJS()
 
-    if (sysMenu.isSystem) {
+    // 瑙掕壊鏉冮檺鍒嗛厤妯℃澘锛屽彧鍙互娣诲姞涓�娆�
+    if (sysMenu.isSystem && sysMenu.Template === 'RolePermission') {
       sysTemplates = sysTemplates.map(temp => {
         if (temp.type === sysMenu.type) {
           temp.hidden = true
@@ -709,7 +727,7 @@
             return _smenu
           })
         }, () => {
-          let _menu = JSON.parse(JSON.stringify(this.state.editMenu))
+          let _menu = this.state.editMenu ? fromJS(this.state.editMenu).toJS() : null
   
           if (!_menu || !_menu.loadingFstMenuId) {
             return

--
Gitblit v1.8.0