realtimeWatch.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. import { isEmpty, random } from 'lodash';
  2. const realtimeWatch = {
  3. state: {
  4. //汇总信息
  5. countInfo: [
  6. ],
  7. // 车辆选中数据
  8. vheicleCheckArr: [],
  9. // 人员选中数据
  10. peopleCheckArr: [],
  11. // 更新随机数
  12. randomNum: 0,
  13. // 定时任务
  14. treeInterVal: null,
  15. loading: false, //加载数据
  16. },
  17. mutations: {
  18. SET_REAL_DATA: (state, {key,data}) => {
  19. state[key] = data
  20. },
  21. },
  22. actions: {
  23. // 设置汇总信息
  24. setCountInfo({ commit, state }, data) {
  25. commit('SET_REAL_DATA', {key: 'countInfo',data},)
  26. },
  27. // 设置车辆选中数据
  28. setVheicleCheckArr({ commit, state }, data) {
  29. commit('SET_REAL_DATA', {key: 'vheicleCheckArr',data},)
  30. },
  31. // 设置人员选中数据
  32. setPeopleCheckArr({ commit, state }, data) {
  33. commit('SET_REAL_DATA', {key: 'peopleCheckArr',data},)
  34. },
  35. // Loading状态
  36. setLoading({ commit, state }, data) {
  37. commit('SET_REAL_DATA', {key: 'loading',data},)
  38. },
  39. // 定时器
  40. setTreeInterVal({ commit, state }, {cb,time=30000}) {
  41. let that = this;
  42. that.dispatch('clearTreeInterVal')
  43. state.treeInterVal = setInterval(() => {
  44. that.dispatch('updataRandomNum')
  45. cb()
  46. },time)
  47. },
  48. clearTreeInterVal ({ commit, state }) {
  49. if (state.treeInterVal) {
  50. clearInterval(state.treeInterVal)
  51. }
  52. },
  53. updataRandomNum({ commit, state }) {
  54. let num = random(1, 1000)
  55. if(state.randomNum === num) {
  56. num = random(1, 1000)
  57. }
  58. commit('SET_REAL_DATA', {key: 'randomNum',num},)
  59. },
  60. }
  61. }
  62. export default realtimeWatch