king
2022-02-09 d59f518f466274b2caeb2e01c10c92deafe7c93b
src/store/reducer.js
@@ -1,22 +1,34 @@
import md5 from 'md5'
import moment from 'moment'
import * as Type from './action-type'
let _mainMenu = null
let _url = window.location.href.split('#')[0]
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
  }
}
if (localStorage.getItem(_url + '-sideHidden') === 'true') {
  _mainMenu = ''
}
let defaultState = {
  selectedMainMenu: '', // 已选主菜单
  tabviews: [],         // 导航栏
  menuTree: null,       // 菜单结构树
  mainMenu: _mainMenu,  // 已选主菜单
  collapse: _collapse,  // 是否收起侧边栏导航
  isiframe: false,      // 是否为iframe窗口
  debug: false,         // 知否可以复制菜单参数, 是否可进入编辑模式
  editState: false,     // 是否为编辑状态,值为false、true
  editLevel: null,      // 编辑菜单级别,值为level1、level2、level3。。。
  refreshTab: null,     // 刷新tabview页面信息
  permRoles: [],        // 用户角色列表
  editLevel: null,      // 编辑菜单级别,值为level1、level2、level3、HS
  permAction: {},       // 用户按钮权限
  permMenus: {},        // 用户三级菜单权限
  permFuncField: [],    // 系统模块
  sysRoles: [],         // 系统角色列表
  dataManager: false    // 数据管理员
  permMenus: [],        // 用户三级菜单列表
  memberLevel: _level,  // 会员等级
}
// 用户消息
@@ -28,65 +40,17 @@
        ...state,
        collapse: action.collapse
      }
    case Type.MODIFY_MENUTREE:
    // 初始化菜单信息
      return {
        ...state,
        menuTree: action.menuTree
      }
    case Type.MODIFY_MAINMENU:
    // 切换主菜单
      return {
        ...state,
        selectedMainMenu: action.selectedMainMenu
      }
    case Type.MODIFY_TABVIEW:
    // tab页改变
      return {
        ...state,
        tabviews: action.tabviews
      }
    case Type.TOGGLE_ISIFRAME:
    // 切换是否为iframe状态
      return {
        ...state,
        isiframe: action.isiframe
      }
    case Type.RESET_STATE:
    // 重置默认参数(退出时)
      return {
        ...state,
        ...{
          selectedMainMenu: '',
          tabviews: [],
          collapse: false,
          isiframe: false
        }
      }
    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: '1576117946681plembmkk9akkv8sn0vtdfdsfaf',
          MenuName: '首页',
          MenuNo: 'MESOrderDetailMwe',
          selected: true,
          text: '首页',
          type: 'Home'
        }]
      }
      return {
        ...state,
        editState: action.editState,
        collapse: false
        mainMenu: action.mainMenu
      }
    case Type.RESET_EDITLEVEL:
    // 重置编辑级别
@@ -98,15 +62,7 @@
    // 初始化按钮权限
      return {
        ...state,
        permRoles: action.permRoles,
        permAction: action.permAction
      }
    case Type.INIT_PERMISSION:
      // 初始化角色列表及创建存储过程可用字段
      return {
        ...state,
        sysRoles: action.sysRoles,
        permFuncField: action.permFuncField
      }
    case Type.INIT_MENUPERMISSION:
    // 初始化三级菜单权限
@@ -114,20 +70,20 @@
        ...state,
        permMenus: action.permMenus
      }
    case Type.MODIFY_MEMBERLEVEL:
      // 修改会员等级
      return {
        ...state,
        memberLevel: action.memberLevel
      }
    case Type.LOGOUT:
      return {
        selectedMainMenu: '',
        tabviews: [],
        menuTree: null,
        mainMenu: null,
        collapse: localStorage.getItem('collapse') === 'true',
        isiframe: false,
        debug: false,
        editState: false,
        editLevel: null,
        refreshTab: null,
        permAction: {},
        permFuncField: [],
        sysRoles: [],
        permMenus: {}
        permMenus: [],
      }
    default:
      return state