app.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. import Vue from 'vue'
  2. import { employeeQueryList } from '@/api/expenseManagement'
  3. import {
  4. SIDEBAR_TYPE,
  5. DEFAULT_THEME,
  6. DEFAULT_LAYOUT_MODE,
  7. DEFAULT_COLOR,
  8. DEFAULT_COLOR_WEAK,
  9. DEFAULT_FIXED_HEADER,
  10. DEFAULT_FIXED_SIDEMENU,
  11. DEFAULT_FIXED_HEADER_HIDDEN,
  12. DEFAULT_CONTENT_WIDTH_TYPE,
  13. DEFAULT_MULTI_TAB
  14. } from '@/store/mutation-types'
  15. const app = {
  16. state: {
  17. sidebar: true,
  18. device: 'desktop',
  19. theme: '',
  20. layout: '',
  21. contentWidth: '',
  22. fixedHeader: false,
  23. fixSiderbar: false,
  24. autoHideHeader: false,
  25. color: null,
  26. weak: false,
  27. multiTab: true,
  28. isNewTab: false,
  29. isNewSubTab: false,
  30. updateList: false,
  31. winHeight: 0 ,// 窗口高度
  32. loadingStatus: false,
  33. closeTabPages: [], // 已关闭的页面
  34. employeeList: [], // 申请人列表
  35. },
  36. mutations: {
  37. SET_SIDEBAR_TYPE: (state, type) => {
  38. state.sidebar = type
  39. Vue.ls.set(SIDEBAR_TYPE, type)
  40. },
  41. CLOSE_SIDEBAR: (state) => {
  42. Vue.ls.set(SIDEBAR_TYPE, true)
  43. state.sidebar = false
  44. },
  45. TOGGLE_DEVICE: (state, device) => {
  46. state.device = device
  47. },
  48. TOGGLE_THEME: (state, theme) => {
  49. // setStore('_DEFAULT_THEME', theme)
  50. Vue.ls.set(DEFAULT_THEME, theme)
  51. state.theme = theme
  52. },
  53. TOGGLE_LAYOUT_MODE: (state, layout) => {
  54. Vue.ls.set(DEFAULT_LAYOUT_MODE, layout)
  55. state.layout = layout
  56. },
  57. TOGGLE_FIXED_HEADER: (state, fixed) => {
  58. Vue.ls.set(DEFAULT_FIXED_HEADER, fixed)
  59. state.fixedHeader = fixed
  60. },
  61. TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
  62. Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
  63. state.fixSiderbar = fixed
  64. },
  65. TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
  66. Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
  67. state.autoHideHeader = show
  68. },
  69. TOGGLE_CONTENT_WIDTH: (state, type) => {
  70. Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type)
  71. state.contentWidth = type
  72. },
  73. TOGGLE_COLOR: (state, color) => {
  74. Vue.ls.set(DEFAULT_COLOR, color)
  75. state.color = color
  76. },
  77. TOGGLE_WEAK: (state, flag) => {
  78. Vue.ls.set(DEFAULT_COLOR_WEAK, flag)
  79. state.weak = flag
  80. },
  81. TOGGLE_MULTI_TAB: (state, bool) => {
  82. Vue.ls.set(DEFAULT_MULTI_TAB, bool)
  83. state.multiTab = bool
  84. },
  85. SET_WIN_HEIGHT: (state, val) => {
  86. state.winHeight = val
  87. },
  88. SET_loadingStatus: (state, val) => {
  89. state.loadingStatus = val
  90. },
  91. SET_employeeList:(state, val) => {
  92. state.employeeList = val
  93. },
  94. },
  95. actions: {
  96. setSidebar ({ commit }, type) {
  97. commit('SET_SIDEBAR_TYPE', type)
  98. },
  99. CloseSidebar ({ commit }) {
  100. commit('CLOSE_SIDEBAR')
  101. },
  102. ToggleDevice ({ commit }, device) {
  103. commit('TOGGLE_DEVICE', device)
  104. },
  105. ToggleTheme ({ commit }, theme) {
  106. commit('TOGGLE_THEME', theme)
  107. },
  108. ToggleLayoutMode ({ commit }, mode) {
  109. commit('TOGGLE_LAYOUT_MODE', mode)
  110. },
  111. ToggleFixedHeader ({ commit }, fixedHeader) {
  112. if (!fixedHeader) {
  113. commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
  114. }
  115. commit('TOGGLE_FIXED_HEADER', fixedHeader)
  116. },
  117. ToggleFixSiderbar ({ commit }, fixSiderbar) {
  118. commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
  119. },
  120. ToggleFixedHeaderHidden ({ commit }, show) {
  121. commit('TOGGLE_FIXED_HEADER_HIDDEN', show)
  122. },
  123. ToggleContentWidth ({ commit }, type) {
  124. commit('TOGGLE_CONTENT_WIDTH', type)
  125. },
  126. ToggleColor ({ commit }, color) {
  127. commit('TOGGLE_COLOR', color)
  128. },
  129. ToggleWeak ({ commit }, weakFlag) {
  130. commit('TOGGLE_WEAK', weakFlag)
  131. },
  132. ToggleMultiTab ({ commit }, bool) {
  133. commit('TOGGLE_MULTI_TAB', bool)
  134. },
  135. SetWinHeight ({ commit }, val) {
  136. commit('SET_WIN_HEIGHT', val)
  137. },
  138. GetEmployeeList({ commit }, val) {
  139. employeeQueryList({}).then(res => {
  140. if (res.status == 200) {
  141. commit('SET_employeeList', res.data)
  142. } else {
  143. commit('SET_employeeList', [])
  144. }
  145. })
  146. },
  147. }
  148. }
  149. export default app