app.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. import Vue from 'vue'
  2. import { employeeQueryList } from '@/api/expenseManagement'
  3. import { getLookUpData, listLookUp } from '@/api/data'
  4. import {
  5. SIDEBAR_TYPE,
  6. DEFAULT_THEME,
  7. DEFAULT_LAYOUT_MODE,
  8. DEFAULT_COLOR,
  9. DEFAULT_COLOR_WEAK,
  10. DEFAULT_FIXED_HEADER,
  11. DEFAULT_FIXED_SIDEMENU,
  12. DEFAULT_FIXED_HEADER_HIDDEN,
  13. DEFAULT_CONTENT_WIDTH_TYPE,
  14. DEFAULT_MULTI_TAB
  15. } from '@/store/mutation-types'
  16. const app = {
  17. state: {
  18. sidebar: true,
  19. device: 'desktop',
  20. theme: '',
  21. layout: '',
  22. contentWidth: '',
  23. fixedHeader: false,
  24. fixSiderbar: false,
  25. autoHideHeader: false,
  26. color: null,
  27. weak: false,
  28. multiTab: true,
  29. isNewTab: false,
  30. isNewSubTab: false,
  31. updateList: false,
  32. winHeight: 0, // 窗口高度
  33. loadingStatus: false,
  34. closeTabPages: [], // 已关闭的页面
  35. employeeList: [], // 申请人列表
  36. defectiveReturnReason: [], // 不良品申请退货列表
  37. goodReturnReason: [], // 良品申请退货列表
  38. tempBillOfData: null, // 临时存储收货单数据
  39. authMenusList: [], // 权限菜单数据
  40. priceAuthOptions: [], // 价格权限选项
  41. curActionPermission: '', // 当前激活状态的权限码
  42. showPdfPrintView: false, // pdf 打印预览
  43. pdfUrl: '',
  44. productBrandAllList: null, // 产品品牌列表
  45. productTypeAllList: null, // 产品分类列表
  46. warehouseAuthList: null, // 有权限的仓库列表
  47. warehouseAllList: null, // 无权限所有仓库列表
  48. defWarehouse: null, // 默认仓库
  49. isWarehouse: false// 仓库管理权限
  50. },
  51. mutations: {
  52. SET_SIDEBAR_TYPE: (state, type) => {
  53. state.sidebar = type
  54. Vue.ls.set(SIDEBAR_TYPE, type)
  55. },
  56. CLOSE_SIDEBAR: (state) => {
  57. Vue.ls.set(SIDEBAR_TYPE, true)
  58. state.sidebar = false
  59. },
  60. TOGGLE_DEVICE: (state, device) => {
  61. state.device = device
  62. },
  63. TOGGLE_THEME: (state, theme) => {
  64. // setStore('_DEFAULT_THEME', theme)
  65. Vue.ls.set(DEFAULT_THEME, theme)
  66. state.theme = theme
  67. },
  68. TOGGLE_LAYOUT_MODE: (state, layout) => {
  69. Vue.ls.set(DEFAULT_LAYOUT_MODE, layout)
  70. state.layout = layout
  71. },
  72. TOGGLE_FIXED_HEADER: (state, fixed) => {
  73. Vue.ls.set(DEFAULT_FIXED_HEADER, fixed)
  74. state.fixedHeader = fixed
  75. },
  76. TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
  77. Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
  78. state.fixSiderbar = fixed
  79. },
  80. TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
  81. Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
  82. state.autoHideHeader = show
  83. },
  84. TOGGLE_CONTENT_WIDTH: (state, type) => {
  85. Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type)
  86. state.contentWidth = type
  87. },
  88. TOGGLE_COLOR: (state, color) => {
  89. Vue.ls.set(DEFAULT_COLOR, color)
  90. state.color = color
  91. },
  92. TOGGLE_WEAK: (state, flag) => {
  93. Vue.ls.set(DEFAULT_COLOR_WEAK, flag)
  94. state.weak = flag
  95. },
  96. TOGGLE_MULTI_TAB: (state, bool) => {
  97. Vue.ls.set(DEFAULT_MULTI_TAB, bool)
  98. state.multiTab = bool
  99. },
  100. SET_WIN_HEIGHT: (state, val) => {
  101. state.winHeight = val
  102. },
  103. SET_loadingStatus: (state, val) => {
  104. state.loadingStatus = val
  105. },
  106. SET_employeeList: (state, val) => {
  107. state.employeeList = val
  108. },
  109. SET_returnReason:(state, obj) => {
  110. state[obj.key] = obj.val
  111. },
  112. SET_showPdfPrint: (state, val) => {
  113. state.showPdfPrintView = val
  114. },
  115. SET_PdfUrl: (state, val) => {
  116. state.pdfUrl = val
  117. }
  118. },
  119. actions: {
  120. setSidebar ({ commit }, type) {
  121. commit('SET_SIDEBAR_TYPE', type)
  122. },
  123. CloseSidebar ({ commit }) {
  124. commit('CLOSE_SIDEBAR')
  125. },
  126. ToggleDevice ({ commit }, device) {
  127. commit('TOGGLE_DEVICE', device)
  128. },
  129. ToggleTheme ({ commit }, theme) {
  130. commit('TOGGLE_THEME', theme)
  131. },
  132. ToggleLayoutMode ({ commit }, mode) {
  133. commit('TOGGLE_LAYOUT_MODE', mode)
  134. },
  135. ToggleFixedHeader ({ commit }, fixedHeader) {
  136. if (!fixedHeader) {
  137. commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
  138. }
  139. commit('TOGGLE_FIXED_HEADER', fixedHeader)
  140. },
  141. ToggleFixSiderbar ({ commit }, fixSiderbar) {
  142. commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
  143. },
  144. ToggleFixedHeaderHidden ({ commit }, show) {
  145. commit('TOGGLE_FIXED_HEADER_HIDDEN', show)
  146. },
  147. ToggleContentWidth ({ commit }, type) {
  148. commit('TOGGLE_CONTENT_WIDTH', type)
  149. },
  150. ToggleColor ({ commit }, color) {
  151. commit('TOGGLE_COLOR', color)
  152. },
  153. ToggleWeak ({ commit }, weakFlag) {
  154. commit('TOGGLE_WEAK', weakFlag)
  155. },
  156. ToggleMultiTab ({ commit }, bool) {
  157. commit('TOGGLE_MULTI_TAB', bool)
  158. },
  159. SetWinHeight ({ commit }, val) {
  160. commit('SET_WIN_HEIGHT', val)
  161. },
  162. GetEmployeeList ({ commit }, val) {
  163. employeeQueryList({}).then(res => {
  164. if (res.status == 200) {
  165. commit('SET_employeeList', res.data)
  166. } else {
  167. commit('SET_employeeList', [])
  168. }
  169. })
  170. },
  171. getLookUpDataByCode({ commit }, params) {
  172. getLookUpData({
  173. pageNo: 1,
  174. pageSize: 1000,
  175. lookupCode: params.code,
  176. isEnable: params.isEnable
  177. }).then(res => {
  178. if (res.status == 200) {
  179. commit('SET_returnReason', {key: params.key, val: res.data.list})
  180. }
  181. })
  182. },
  183. }
  184. }
  185. export default app