task.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. import Vue from 'vue'
  2. import dayjs from 'dayjs'
  3. import {
  4. assign,
  5. concat,
  6. takeRight
  7. } from 'lodash-es'
  8. const locationKey = 'gaode_location_data'
  9. import * as taskService from '@/service/task.js'
  10. export default {
  11. state: {
  12. locationDataSource: {},
  13. ratio: 60000,
  14. },
  15. getters: {
  16. currentLocationList(state) {
  17. const locationDataKey = dayjs().format('YYYYMMDD');
  18. return takeRight(state.locationDataSource[locationDataKey] || [], 5)
  19. }
  20. },
  21. mutations: {
  22. refreshLocationInfo(state) {
  23. uni.getStorage({
  24. key: locationKey,
  25. success(res) {
  26. console.log(res, 'success')
  27. Vue.set(state, 'locationDataSource', res.data)
  28. },
  29. fail(err) {
  30. console.log(err, 'fail ---------------222')
  31. }
  32. })
  33. },
  34. updateLocationData(state, payload) {
  35. const locationDataKey = payload.taskID + dayjs().format('YYYYMMDD');
  36. console.log(locationDataKey, 'update location data 1')
  37. if (!state.locationDataSource[locationDataKey]) {
  38. console.log(locationDataKey, 'update location data 2')
  39. Vue.set(state.locationDataSource, locationDataKey, [payload])
  40. } else {
  41. Vue.set(state.locationDataSource, locationDataKey, concat(state.locationDataSource[locationDataKey] ||
  42. [], payload))
  43. }
  44. uni.setStorage({
  45. key: locationKey,
  46. data: state.locationDataSource,
  47. })
  48. },
  49. updateTaskRecordRatio(state, value) {
  50. state.ratio = value * 60 * 1000;
  51. }
  52. },
  53. actions: {
  54. addLocationData({
  55. commit,
  56. dispatch
  57. }, data) {
  58. const payload = {
  59. task_id: data.taskID,
  60. lng: data.longitude,
  61. lat: data.latitude
  62. }
  63. commit('updateLocationData', data);
  64. console.warn('add record location', payload)
  65. taskService.addTaskRecordLocation(payload)
  66. },
  67. updateTaskRecordRatio({
  68. commit,
  69. dispatch
  70. }, ) {
  71. taskService.fetchTaskRecordRatio().then(res=>{
  72. console.warn('task record ratio',res)
  73. commit('updateTaskRecordRatio', res.upload_rate);
  74. // console.warn('add record location', payload)
  75. })
  76. }
  77. }
  78. }