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