index.js 976 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import Vue from 'vue'
  2. import Vuex from 'vuex'
  3. import modules from './modules'
  4. import { getOptions } from '@/api/common'
  5. import util from '@/utils/util'
  6. Vue.use(Vuex)
  7. const store = new Vuex.Store({
  8. modules,
  9. state: {
  10. allOptions: ''
  11. },
  12. getters: {
  13. allOptions: state => state.allOptions ||
  14. (util.isEmpty(uni.getStorageSync('allOptions')) ? {} : JSON.parse(uni.getStorageSync('allOptions')))
  15. },
  16. mutations: {
  17. // 全局选项
  18. setAllOptions(state, data = {}) {
  19. state.allOptions = data
  20. uni.setStorageSync('allOptions', JSON.stringify(data))
  21. }
  22. },
  23. actions: {
  24. getAllOptions({ commit }) {
  25. // sysBudgetStatus 预算 sysRenovationStatus 装修类型 sysBookingStatus 派单状态
  26. return getOptions({
  27. type: ''
  28. }).then((res) => {
  29. if (res.status === 'success') {
  30. commit('setAllOptions', res.data)
  31. } else {
  32. uni.showToast({
  33. title: res.errors.message,
  34. icon: 'none'
  35. })
  36. }
  37. })
  38. }
  39. }
  40. })
  41. export default store