From 1b89aa4493d1c9768447f2f480d594cdb8077fdc Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 26 十月 2020 09:24:19 +0800
Subject: [PATCH] 2020-10-26

---
 src/store/reducer.js |  126 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 121 insertions(+), 5 deletions(-)

diff --git a/src/store/reducer.js b/src/store/reducer.js
index 7ef0bcf..9877f9d 100644
--- a/src/store/reducer.js
+++ b/src/store/reducer.js
@@ -1,37 +1,69 @@
+import md5 from 'md5'
+import moment from 'moment'
 import * as Type from './action-type'
+
+let _collapse = localStorage.getItem('collapse') === 'true'
+let _level = 10
+let _Mlevel = sessionStorage.getItem('Member_Level')
+
+if (_Mlevel) {
+  if (_Mlevel === md5('mksoft' + moment().format('YYYYMM') + 10)) {
+    _level = 10
+  } else if (_Mlevel === md5('mksoft' + moment().format('YYYYMM') + 20)) {
+    _level = 20
+  } else if (_Mlevel === md5('mksoft' + moment().format('YYYYMM') + 30)) {
+    _level = 30
+  }
+}
 
 let defaultState = {
   selectedMainMenu: '', // 宸查�変富鑿滃崟
-  tabviews: [], // 瀵艰埅鏍�
-  collapse: false, // 鏄惁鏀惰捣渚ц竟鏍忓鑸�
-  isiframe: false, // 鏄惁涓篿frame绐楀彛
-  debug: false // 鐭ュ惁鍙互澶嶅埗鑿滃崟鍙傛暟
+  tabviews: [],         // 瀵艰埅鏍�
+  collapse: _collapse,  // 鏄惁鏀惰捣渚ц竟鏍忓鑸�
+  isiframe: false,      // 鏄惁涓篿frame绐楀彛
+  debug: false,         // 鐭ュ惁鍙互澶嶅埗鑿滃崟鍙傛暟, 鏄惁鍙繘鍏ョ紪杈戞ā寮�
+  editState: false,     // 鏄惁涓虹紪杈戠姸鎬侊紝鍊间负false銆乼rue
+  editLevel: null,      // 缂栬緫鑿滃崟绾у埆锛屽�间负level1銆乴evel2銆乴evel3銆丠S
+  refreshTab: null,     // 鍒锋柊tabview椤甸潰淇℃伅
+  permRoles: [],        // 鐢ㄦ埛瑙掕壊鍒楄〃
+  permAction: {},       // 鐢ㄦ埛鎸夐挳鏉冮檺
+  permMenus: {},        // 鐢ㄦ埛涓夌骇鑿滃崟鏉冮檺
+  permFuncField: [],    // 绯荤粺妯″潡
+  sysRoles: [],         // 绯荤粺瑙掕壊鍒楄〃
+  dataManager: false,   // 鏁版嵁绠$悊鍛�
+  memberLevel: _level,  // 浼氬憳绛夌骇
+  customMenu: null      // 缂栬緫涓殑鑿滃崟锛堣嚜瀹氫箟椤甸潰锛�
 }
 
 // 鐢ㄦ埛娑堟伅
 export default (state = defaultState, action = {}) => {
   switch (action.type) {
     case Type.Toggle_COLLAPSE:
+    // 鍒囨崲鑿滃崟鏍忓睍寮�鍚堝苟鐘舵��
       return {
         ...state,
         collapse: action.collapse
       }
     case Type.MODIFY_MAINMENU:
+    // 鍒囨崲涓昏彍鍗�
       return {
         ...state,
         selectedMainMenu: action.selectedMainMenu
       }
     case Type.MODIFY_TABVIEW:
+    // tab椤垫敼鍙�
       return {
         ...state,
         tabviews: action.tabviews
       }
     case Type.TOGGLE_ISIFRAME:
+    // 鍒囨崲鏄惁涓篿frame鐘舵��
       return {
         ...state,
         isiframe: action.isiframe
       }
     case Type.RESET_STATE:
+    // 閲嶇疆榛樿鍙傛暟锛堥��鍑烘椂锛�
       return {
         ...state,
         ...{
@@ -42,11 +74,95 @@
         }
       }
     case Type.RESET_DEBUG:
+    // 鍒囨崲debug鐘舵��
       return {
         ...state,
         debug: true
       }
+    case Type.REFRESH_TABVIEW:
+    // 鍒锋柊tab椤甸潰
+      return {
+        ...state,
+        refreshTab: action.refreshTab
+      }
+    case Type.RESET_EDITSTATE:
+    // 閲嶇疆缂栬緫鐘舵��
+      if (action.editState) {
+        state.tabviews = []
+      } else {
+        state.tabviews = [{
+          MenuID: 'home_page_id',
+          MenuName: '棣栭〉',
+          selected: true,
+          type: 'Home'
+        }]
+      }
+      return {
+        ...state,
+        editState: action.editState,
+        collapse: false
+      }
+    case Type.RESET_EDITLEVEL:
+    // 閲嶇疆缂栬緫绾у埆
+      return {
+        ...state,
+        editLevel: action.editLevel
+      }
+    case Type.INIT_ACTIONPERMISSION:
+    // 鍒濆鍖栨寜閽潈闄�
+      return {
+        ...state,
+        permRoles: action.permRoles,
+        permAction: action.permAction
+      }
+    case Type.INIT_PERMISSION:
+      // 鍒濆鍖栬鑹插垪琛ㄥ強鍒涘缓瀛樺偍杩囩▼鍙敤瀛楁
+      return {
+        ...state,
+        sysRoles: action.sysRoles,
+        permFuncField: action.permFuncField
+      }
+    case Type.INIT_MENUPERMISSION:
+    // 鍒濆鍖栦笁绾ц彍鍗曟潈闄�
+      return {
+        ...state,
+        permMenus: action.permMenus
+      }
+    case Type.MODIFY_MEMBERLEVEL:
+      // 淇敼浼氬憳绛夌骇
+      return {
+        ...state,
+        memberLevel: action.memberLevel
+      }
+    case Type.MODIFY_DATAMANAGER:
+      // 淇敼鏁版嵁鏉冮檺
+      return {
+        ...state,
+        dataManager: action.dataManager
+      }
+    case Type.MODIFY_CUSTOMMENU:
+      // 淇敼鑷畾涔夎彍鍗曚俊鎭�
+      return {
+        ...state,
+        customMenu: action.customMenu
+      }
+    case Type.LOGOUT:
+      return {
+        selectedMainMenu: '',
+        tabviews: [],
+        collapse: localStorage.getItem('collapse') === 'true',
+        isiframe: false,
+        debug: false,
+        editState: false,
+        editLevel: null,
+        refreshTab: null,
+        permAction: {},
+        permFuncField: [],
+        sysRoles: [],
+        permMenus: {},
+        customMenu: null
+      }
     default:
       return state
   }
-}
\ No newline at end of file
+}

--
Gitblit v1.8.0