app.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247
  1. import Vue from 'vue'
  2. import {
  3. SIDEBAR_TYPE,
  4. DEFAULT_THEME,
  5. DEFAULT_LAYOUT_MODE,
  6. DEFAULT_COLOR,
  7. DEFAULT_COLOR_WEAK,
  8. DEFAULT_FIXED_HEADER,
  9. DEFAULT_FIXED_SIDEMENU,
  10. DEFAULT_FIXED_HEADER_HIDDEN,
  11. DEFAULT_CONTENT_WIDTH_TYPE,
  12. DEFAULT_MULTI_TAB,
  13. DEFAULT_FONT_SIZE
  14. } from '@/store/mutation-types'
  15. const app = {
  16. state: {
  17. sidebar: true,
  18. device: 'desktop',
  19. theme: '',
  20. fontSize:'small',
  21. layout: '',
  22. contentWidth: '',
  23. fixedHeader: false,
  24. fixSiderbar: false,
  25. autoHideHeader: false,
  26. color: null,
  27. weak: false,
  28. multiTab: true,
  29. nowRoute: '', // 当前路由
  30. isShowVideo: false, // 是否显示视频弹窗
  31. isNewTab: false,
  32. closeTabPages: [], // 已关闭的页面
  33. isNewSubTab: false,
  34. updateList: false,
  35. loadingStatus: false,
  36. winHeight: 0 ,// 窗口高度
  37. isLastDayForMonth: false, // 是否是当月最后一天
  38. showPdfPrintView: false, // pdf 打印预览
  39. pdfPrintList: [] ,// 打印的pdf 文件
  40. showSelectPrint: false, // 选择打印机
  41. printTaskName: '', // 打印任务名称
  42. printTaskID: '', // 打印任务id列表
  43. printLoading: false, // 正在打印中
  44. printUseing: '0', // 选择打印机的用途 0 设置打印机,1打印时
  45. printSettingType: '', // 设置打印机类型,0 针式,1 喷墨
  46. printDefNeedle: undefined,// 默认针式打印机
  47. printDefInk: undefined, // 默认喷墨打印机
  48. },
  49. mutations: {
  50. SET_SIDEBAR_TYPE: (state, type) => {
  51. state.sidebar = type
  52. Vue.ls.set(SIDEBAR_TYPE, type)
  53. },
  54. CLOSE_SIDEBAR: (state) => {
  55. Vue.ls.set(SIDEBAR_TYPE, true)
  56. state.sidebar = false
  57. },
  58. TOGGLE_DEVICE: (state, device) => {
  59. state.device = device
  60. },
  61. TOGGLE_THEME: (state, theme) => {
  62. Vue.ls.set(DEFAULT_THEME, theme)
  63. localStorage.setItem(DEFAULT_THEME,theme)
  64. state.theme = theme
  65. },
  66. TOGGLE_FONTSIZE:(state, size) => {
  67. localStorage.setItem(DEFAULT_FONT_SIZE,size)
  68. state.fontSize = size
  69. document.body.className = size
  70. },
  71. TOGGLE_LAYOUT_MODE: (state, layout) => {
  72. Vue.ls.set(DEFAULT_LAYOUT_MODE, layout)
  73. state.layout = layout
  74. },
  75. TOGGLE_FIXED_HEADER: (state, fixed) => {
  76. Vue.ls.set(DEFAULT_FIXED_HEADER, fixed)
  77. state.fixedHeader = fixed
  78. },
  79. TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
  80. Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
  81. state.fixSiderbar = fixed
  82. },
  83. TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
  84. Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
  85. state.autoHideHeader = show
  86. },
  87. TOGGLE_CONTENT_WIDTH: (state, type) => {
  88. Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type)
  89. state.contentWidth = type
  90. },
  91. TOGGLE_COLOR: (state, color) => {
  92. Vue.ls.set(DEFAULT_COLOR, color)
  93. state.color = color
  94. },
  95. TOGGLE_WEAK: (state, flag) => {
  96. Vue.ls.set(DEFAULT_COLOR_WEAK, flag)
  97. state.weak = flag
  98. },
  99. TOGGLE_MULTI_TAB: (state, bool) => {
  100. Vue.ls.set(DEFAULT_MULTI_TAB, bool)
  101. state.multiTab = bool
  102. },
  103. // 当前路由
  104. TOGGLE_NOW_ROUTER: (state, bool) => {
  105. state.nowRoute = bool
  106. },
  107. // 是否显示视频弹窗
  108. IS_ShOW_VIDEO: (state, bool) => {
  109. state.isShowVideo = bool
  110. },
  111. SET_WIN_HEIGHT: (state, val) => {
  112. state.winHeight = val
  113. },
  114. SET_loadingStatus: (state, val) => {
  115. state.loadingStatus = val
  116. },
  117. // 打印
  118. SET_pdfPrintList: (state, val) => {
  119. state.pdfPrintList = val
  120. },
  121. SET_showPdfPrint: (state, val) => {
  122. state.showPdfPrintView = val && val.length > 0
  123. },
  124. SET_showSelectPrint: (state, val) => {
  125. state.showSelectPrint = val
  126. },
  127. SET_printTaskName: (state, val) => {
  128. state.printTaskName = val
  129. },
  130. SET_printTaskID: (state, val) => {
  131. state.printTaskID = val
  132. },
  133. SET_printLoading: (state, val) => {
  134. state.printLoading = val
  135. },
  136. SET_printDefNeedle: (state, val) => {
  137. state.printDefNeedle = val
  138. localStorage.setItem('DEFAULT_PRINT_NEEDLE',val)
  139. },
  140. SET_printDefInk: (state, val) => {
  141. state.printDefInk = val
  142. localStorage.setItem('DEFAULT_PRINT_INK',val)
  143. },
  144. SET_printUseing: (state, val) => {
  145. state.printUseing = val
  146. },
  147. SET_printSettingType: (state, val) => {
  148. state.printSettingType = val
  149. },
  150. },
  151. actions: {
  152. setSidebar ({
  153. commit
  154. }, type) {
  155. commit('SET_SIDEBAR_TYPE', type)
  156. },
  157. CloseSidebar ({
  158. commit
  159. }) {
  160. commit('CLOSE_SIDEBAR')
  161. },
  162. ToggleDevice ({
  163. commit
  164. }, device) {
  165. commit('TOGGLE_DEVICE', device)
  166. },
  167. ToggleTheme ({
  168. commit
  169. }, theme) {
  170. commit('TOGGLE_THEME', theme)
  171. },
  172. ToggleFontSize({
  173. commit
  174. }, size) {
  175. commit('TOGGLE_FONTSIZE', size)
  176. },
  177. TogglePrintDefNeedle({
  178. commit
  179. }, str) {
  180. commit('SET_printDefNeedle', str)
  181. },
  182. TogglePrintDefInk({
  183. commit
  184. }, str) {
  185. commit('SET_printDefInk', str)
  186. },
  187. TogglePrintUseing({
  188. commit
  189. }, str) {
  190. commit('SET_printUseing', str)
  191. },
  192. TogglePrintSettingType({
  193. commit
  194. }, str) {
  195. commit('SET_printSettingType', str)
  196. },
  197. ToggleLayoutMode ({
  198. commit
  199. }, mode) {
  200. commit('TOGGLE_LAYOUT_MODE', mode)
  201. },
  202. ToggleFixedHeader ({
  203. commit
  204. }, fixedHeader) {
  205. if (!fixedHeader) {
  206. commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
  207. }
  208. commit('TOGGLE_FIXED_HEADER', fixedHeader)
  209. },
  210. ToggleFixSiderbar ({
  211. commit
  212. }, fixSiderbar) {
  213. commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
  214. },
  215. ToggleFixedHeaderHidden ({
  216. commit
  217. }, show) {
  218. commit('TOGGLE_FIXED_HEADER_HIDDEN', show)
  219. },
  220. ToggleContentWidth ({
  221. commit
  222. }, type) {
  223. commit('TOGGLE_CONTENT_WIDTH', type)
  224. },
  225. ToggleColor ({
  226. commit
  227. }, color) {
  228. commit('TOGGLE_COLOR', color)
  229. },
  230. ToggleWeak ({
  231. commit
  232. }, weakFlag) {
  233. commit('TOGGLE_WEAK', weakFlag)
  234. },
  235. ToggleMultiTab ({
  236. commit
  237. }, bool) {
  238. commit('TOGGLE_MULTI_TAB', bool)
  239. },
  240. SetWinHeight ({ commit }, val) {
  241. commit('SET_WIN_HEIGHT', val)
  242. }
  243. }
  244. }
  245. export default app