app.js 6.8 KB

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