app.js 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341
  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. bookReason: [], // 收款事由
  39. priceLeveList: [], // 价格等级
  40. tempBillOfData: null, // 临时存储收货单数据
  41. authMenusList: [], // 权限菜单数据
  42. priceAuthOptions: [], // 价格权限选项
  43. curActionPermission: '', // 当前激活状态的权限码
  44. showPdfPrintView: false, // pdf 打印预览
  45. pdfUrl: '',
  46. productBrandAllList: null, // 产品品牌列表
  47. productTypeAllList: null, // 产品分类列表
  48. warehouseAuthList: null, // 有权限的仓库列表
  49. warehouseAllList: null, // 无权限所有仓库列表
  50. defWarehouse: null, // 默认仓库
  51. isWarehouse: false, // 仓库管理权限
  52. isShowCustomerSearch: false, // 客服查询权限
  53. interFaceList: [
  54. // 销售单编辑、下推、审核
  55. {
  56. a: 'sales/findBySn',
  57. b: [
  58. 'sales/auditPass',
  59. 'sales/auditReject',
  60. 'sales/auditPush',
  61. ]
  62. },
  63. {
  64. a: 'sales/findBaseBySn',
  65. b: [
  66. 'sales/submit',
  67. 'sales/detail/insert',
  68. 'sales/detail/delete',
  69. 'sales/detail/updateWarehouse',
  70. 'sales/detail/updateQty',
  71. 'sales/detail/delete/batch',
  72. 'sales/detail/delete/all',
  73. 'sales/detail/disablePromo',
  74. 'sales/detail/enablePromo',
  75. 'sales/detail/changePromo',
  76. 'sales/detail/addPromo',
  77. 'sales/detail/updateBatch',
  78. 'sales/detail/insertBatch',
  79. 'sales/detail/cancelAll',
  80. 'sales/detail/cancleOfBatch',
  81. 'sales/detail/pushOfBatch',
  82. 'dispatch/detail/deleteBatch',
  83. 'dispatch/detail/updateQty',
  84. 'dispatch/pushDown',
  85. 'sales/detail/batchTransferOfPurchaseAmount'
  86. ],
  87. timeStr: ''
  88. },
  89. // 销售退货
  90. {
  91. a: 'salesReturn/findBySn',
  92. b: [
  93. 'salesReturn/submitVerify',
  94. 'salesReturn/submit',
  95. 'salesReturn/againCreate',
  96. 'salesReturn/receive',
  97. 'salesReturn/check',
  98. 'salesReturn/detail/insert',
  99. 'salesReturn/detail/batchInsert',
  100. 'salesReturn/detail/delete',
  101. 'salesReturn/detail/updateReason',
  102. 'salesReturn/detail/updateBackStockQty',
  103. 'salesReturn/detail/updateQty',
  104. 'salesReturn/detail/setReturnReason',
  105. 'salesReturn/detail/updateReceiveQty',
  106. 'salesReturn/detail/updateBatchGoodQty',
  107. 'salesReturn/detail/updateBatchBackStockQty',
  108. 'salesReturn/detail/receiveBatch',
  109. 'salesReturn/detail/updateByCustomerService',
  110. 'salesReturn/customerServiceConfirm',
  111. 'salesReturn/detail/setReturnPrice',
  112. 'salesReturn/detail/deleteByCustomerService',
  113. 'salesReturn/detail/deleteByReceiver',
  114. 'salesReturn/detail/insertByReceive',
  115. 'salesReturn/detail/insertByCustomerService',
  116. 'salesReturn/detail/updateAllReason'
  117. ],
  118. timeStr: ''
  119. },
  120. // 散件入库
  121. {
  122. a: 'spareParts/queryBySn',
  123. b: [
  124. 'spareParts/saveDetail',
  125. 'spareParts/deleteDetail',
  126. 'spareParts/detail/parseProducts',
  127. 'spareParts/detail/batchInsert',
  128. 'spareParts/queryDetailPageCount'
  129. ],
  130. timeStr: ''
  131. },
  132. // 采购退货
  133. {
  134. a: 'sparePartsReturn/queryBySn',
  135. b: [
  136. 'sparePartsReturn/submit',
  137. 'sparePartsReturn/detail/delete',
  138. 'sparePartsReturn/detail/save',
  139. 'sparePartsReturn/detail/saveBatch'
  140. ],
  141. timeStr: ''
  142. },
  143. // 采购入库
  144. {
  145. a: 'purchase/queryBySn',
  146. b: [
  147. 'purchase/saveDetail',
  148. 'purchase/deleteDetail',
  149. 'purchase/detail/batchInsert',
  150. 'purchase/setSupplierInfo',
  151. 'purchase/submit'
  152. ],
  153. timeStr: ''
  154. },
  155. // 调拨
  156. {
  157. a: 'allocateBill/findBySn',
  158. b: [
  159. 'allocateBill/submit',
  160. 'allocateBill/save',
  161. 'allocateBill/detail/updateBatchDepartment',
  162. 'allocateBill/detail/delete',
  163. 'allocateBill/detail/deleteAll',
  164. 'allocateBill/detail/save',
  165. 'allocateBill/detail/parseProducts',
  166. 'allocateBill/detail/batchInsert',
  167. ''
  168. ],
  169. timeStr: ''
  170. },
  171. // 调拨退货
  172. {
  173. a: 'allocateReturn/queryBySn',
  174. b: [
  175. 'allocateReturn/submit',
  176. 'allocateReturn/check',
  177. 'allocReturnDetail/check',
  178. 'allocReturnDetail/delete',
  179. 'allocReturnDetail/insert',
  180. 'allocReturnDetail/insertBatch',
  181. 'allocReturnDetail/update'
  182. ],
  183. timeStr: ''
  184. },
  185. // 发货单
  186. {
  187. a: 'sendBill/findBySn',
  188. b: [
  189. 'sendBill/update',
  190. 'sendBill/updateIssueRemark',
  191. 'sendBill/updateTransportInfo'
  192. ],
  193. timeStr: ''
  194. },
  195. // 提货单
  196. {
  197. a: 'pickUp/queryBySn',
  198. b: [
  199. 'pickUp/submit',
  200. 'pickUp/save'
  201. ]
  202. }
  203. ]
  204. },
  205. mutations: {
  206. SET_SIDEBAR_TYPE: (state, type) => {
  207. state.sidebar = type
  208. Vue.ls.set(SIDEBAR_TYPE, type)
  209. },
  210. CLOSE_SIDEBAR: (state) => {
  211. Vue.ls.set(SIDEBAR_TYPE, true)
  212. state.sidebar = false
  213. },
  214. TOGGLE_DEVICE: (state, device) => {
  215. state.device = device
  216. },
  217. TOGGLE_THEME: (state, theme) => {
  218. // setStore('_DEFAULT_THEME', theme)
  219. Vue.ls.set(DEFAULT_THEME, theme)
  220. state.theme = theme
  221. },
  222. TOGGLE_LAYOUT_MODE: (state, layout) => {
  223. Vue.ls.set(DEFAULT_LAYOUT_MODE, layout)
  224. state.layout = layout
  225. },
  226. TOGGLE_FIXED_HEADER: (state, fixed) => {
  227. Vue.ls.set(DEFAULT_FIXED_HEADER, fixed)
  228. state.fixedHeader = fixed
  229. },
  230. TOGGLE_FIXED_SIDERBAR: (state, fixed) => {
  231. Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed)
  232. state.fixSiderbar = fixed
  233. },
  234. TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => {
  235. Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show)
  236. state.autoHideHeader = show
  237. },
  238. TOGGLE_CONTENT_WIDTH: (state, type) => {
  239. Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type)
  240. state.contentWidth = type
  241. },
  242. TOGGLE_COLOR: (state, color) => {
  243. Vue.ls.set(DEFAULT_COLOR, color)
  244. state.color = color
  245. },
  246. TOGGLE_WEAK: (state, flag) => {
  247. Vue.ls.set(DEFAULT_COLOR_WEAK, flag)
  248. state.weak = flag
  249. },
  250. TOGGLE_MULTI_TAB: (state, bool) => {
  251. Vue.ls.set(DEFAULT_MULTI_TAB, bool)
  252. state.multiTab = bool
  253. },
  254. SET_WIN_HEIGHT: (state, val) => {
  255. state.winHeight = val
  256. },
  257. SET_loadingStatus: (state, val) => {
  258. state.loadingStatus = val
  259. },
  260. SET_employeeList: (state, val) => {
  261. state.employeeList = val
  262. },
  263. SET_returnReason: (state, obj) => {
  264. state[obj.key] = obj.val
  265. },
  266. SET_showPdfPrint: (state, val) => {
  267. state.showPdfPrintView = val
  268. },
  269. SET_PdfUrl: (state, val) => {
  270. state.pdfUrl = val
  271. }
  272. },
  273. actions: {
  274. setSidebar ({ commit }, type) {
  275. commit('SET_SIDEBAR_TYPE', type)
  276. },
  277. CloseSidebar ({ commit }) {
  278. commit('CLOSE_SIDEBAR')
  279. },
  280. ToggleDevice ({ commit }, device) {
  281. commit('TOGGLE_DEVICE', device)
  282. },
  283. ToggleTheme ({ commit }, theme) {
  284. commit('TOGGLE_THEME', theme)
  285. },
  286. ToggleLayoutMode ({ commit }, mode) {
  287. commit('TOGGLE_LAYOUT_MODE', mode)
  288. },
  289. ToggleFixedHeader ({ commit }, fixedHeader) {
  290. if (!fixedHeader) {
  291. commit('TOGGLE_FIXED_HEADER_HIDDEN', false)
  292. }
  293. commit('TOGGLE_FIXED_HEADER', fixedHeader)
  294. },
  295. ToggleFixSiderbar ({ commit }, fixSiderbar) {
  296. commit('TOGGLE_FIXED_SIDERBAR', fixSiderbar)
  297. },
  298. ToggleFixedHeaderHidden ({ commit }, show) {
  299. commit('TOGGLE_FIXED_HEADER_HIDDEN', show)
  300. },
  301. ToggleContentWidth ({ commit }, type) {
  302. commit('TOGGLE_CONTENT_WIDTH', type)
  303. },
  304. ToggleColor ({ commit }, color) {
  305. commit('TOGGLE_COLOR', color)
  306. },
  307. ToggleWeak ({ commit }, weakFlag) {
  308. commit('TOGGLE_WEAK', weakFlag)
  309. },
  310. ToggleMultiTab ({ commit }, bool) {
  311. commit('TOGGLE_MULTI_TAB', bool)
  312. },
  313. SetWinHeight ({ commit }, val) {
  314. commit('SET_WIN_HEIGHT', val)
  315. },
  316. GetEmployeeList ({ commit }, val) {
  317. employeeQueryList({}).then(res => {
  318. if (res.status == 200) {
  319. commit('SET_employeeList', res.data)
  320. } else {
  321. commit('SET_employeeList', [])
  322. }
  323. })
  324. },
  325. getLookUpDataByCode ({ commit }, params) {
  326. getLookUpData({
  327. pageNo: 1,
  328. pageSize: 1000,
  329. lookupCode: params.code,
  330. isEnable: params.isEnable
  331. }).then(res => {
  332. if (res.status == 200) {
  333. commit('SET_returnReason', { key: params.key, val: res.data.list })
  334. }
  335. })
  336. }
  337. }
  338. }
  339. export default app