app.js 7.4 KB

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