Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

myWeeks.js 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. /* eslint-disable no-restricted-syntax */
  2. /* eslint-disable guard-for-in */
  3. import axios from "axios";
  4. export default {
  5. namespaced: true,
  6. state: {
  7. items: [],
  8. weekCount: {}
  9. },
  10. mutations: {
  11. setItems(state, list) {
  12. state.items = list;
  13. },
  14. setItem(state, item) {
  15. state.week = item;
  16. },
  17. setWeekCount(state, item){
  18. state.weekCount = item
  19. },
  20. updateItem(state, item) {
  21. var index;
  22. var count = 0;
  23. state.items.forEach(el => {
  24. if (el.id === item.id) {
  25. index = count;
  26. }
  27. count++;
  28. });
  29. Object.assign(state.items[index], item);
  30. },
  31. updatePublished(state, item) {
  32. state.items.find(week => week.id === item.id).publish = true;
  33. },
  34. updateUnpublished(state, item) {
  35. state.items.find(week => week.id === item.id).publish = false;
  36. },
  37. removeListing(state, id) {
  38. var index = state.items.findIndex((item) => item.id == id)
  39. state.items.splice(index, 1)
  40. },
  41. },
  42. getters: {
  43. getNeedsVerify(state) {
  44. return state.items;
  45. }
  46. },
  47. actions: {
  48. async getItems({ commit }, id) {
  49. await axios
  50. .get(`/api/timeshareweek/getMyWeek/${id}`)
  51. .then(r => commit("setItems", r.data))
  52. .catch(console.error);
  53. },
  54. async getAllItems({ commit }) {
  55. const response = await axios.get("api/timeshareweek/");
  56. if (response.status === 200) {
  57. commit("setItems");
  58. return Promise.resolve();
  59. } else {
  60. return Promise.reject();
  61. }
  62. },
  63. async getWeekCount({commit}, id){
  64. await axios.get("api/timeshareweek/indivWeekCount/"+ id)
  65. .then((res) => {
  66. commit("setWeekCount", res.data)
  67. return Promise.resolve()
  68. })
  69. .catch((ex) => {
  70. return Promise.reject(ex.response)
  71. })
  72. },
  73. verifyWeek({ commit }, id) {
  74. try {
  75. axios.post(`/api/timeshareweek/verifyweek/${id}`).catch(console.error);
  76. } catch (err) {
  77. console.log(err);
  78. }
  79. },
  80. publishWeek({ commit }, item) {
  81. axios
  82. .post(`/api/timeshareweek/publishweek/${item.id}`)
  83. .then(result => commit("updatePublished", item))
  84. .catch(console.error);
  85. },
  86. unpublishWeek({ commit }, item) {
  87. axios
  88. .post(`/api/timeshareweek/UnpublishWeek/${item.id}`)
  89. .then(result => commit("updateUnpublished", item))
  90. .catch(console.error);
  91. },
  92. deleteListing({ commit }, id) {
  93. axios
  94. .delete(`/api/timeshareWeek/${id}`)
  95. .then(result => commit('removeListing', id))
  96. .catch(console.error);
  97. },
  98. async getWeek({ commit }, id) {
  99. await axios
  100. .get(`/api/timeshareweek/${id}`)
  101. .then(r => {
  102. //console.log(JSON.stringify(r));
  103. commit("setItem", r.data);
  104. })
  105. .catch(console.error);
  106. },
  107. async publishOnly({ commit }, week) {
  108. await axios
  109. .put(`/api/timeshareweek/publishOnly`, week)
  110. .then(r => {
  111. commit("setItem", week);
  112. })
  113. .catch(console.error);
  114. },
  115. async editSave({ commit }, week) {
  116. await axios
  117. .put(`/api/timeshareweek`, week)
  118. .then(r => {
  119. week.owner = week.owner.name;
  120. if(week.agent !== undefined){
  121. week.agent = week.agent.name;
  122. }
  123. commit("setItem", week);
  124. return Promise.resolve()
  125. })
  126. .catch((ex) => {
  127. return Promise.reject(ex.response)
  128. });
  129. }
  130. }
  131. };