您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

property.js 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. import axios from "axios";
  2. import { Date } from "core-js";
  3. import { result } from "lodash";
  4. import { resolve } from "core-js/fn/promise";
  5. export default {
  6. namespaced: true,
  7. state: {
  8. statuses: [],
  9. property: {},
  10. propertyImages: [],
  11. propertyTypes: [],
  12. propertyTypesRes: [],
  13. propertyTypesCom: [],
  14. propertyOverviewFields: [],
  15. propertyFields: []
  16. },
  17. mutations: {
  18. setProperty(state, property) {
  19. state.property = property;
  20. },
  21. setPropertyImages(state, images) {
  22. state.propertyImages = images;
  23. state.propertyImageList = [];
  24. for (let i = 0; i < images.length; i++) {
  25. state.propertyImageList.push(images[i].image);
  26. }
  27. },
  28. setPropertyTypes(state, types) {
  29. state.propertyTypes = types;
  30. },
  31. setPropertyTypesRes(state, types) {
  32. state.propertyTypesRes = types;
  33. },
  34. setPropertyTypesCom(state, types) {
  35. state.propertyTypesCom = types;
  36. },
  37. setPropertyOverviewFields(state, fields) {
  38. state.propertyOverviewFields = fields;
  39. },
  40. setPropertyFields(state, fields) {
  41. state.propertyFields = fields;
  42. },
  43. updateCurrentProperty(state, property) {
  44. if (state.properties) {
  45. state.properties.push(property);
  46. }
  47. },
  48. clearPropertyImages(state) {
  49. state.propertyImages = [];
  50. },
  51. setStatuses(state, stats) {
  52. state.statuses = stats;
  53. }
  54. },
  55. getters: {},
  56. actions: {
  57. getStatuses({ commit }) {
  58. axios
  59. .get("/api/property/GetPropertyStatuses")
  60. .then(result => commit("setStatuses", result.data));
  61. },
  62. getProperty({ commit, dispatch }, id) {
  63. return new Promise((resolve, reject) => {
  64. axios
  65. .get(`/api/Property/getDetailed/${id}`)
  66. .then(result => {
  67. commit("setProperty", result.data);
  68. dispatch("getPropertyTypes", result.data.propertyUsageType);
  69. dispatch("getSavedPropertyImages", result.data.id);
  70. dispatch("getSavedPropertyFields", result.data.id);
  71. dispatch("getStatuses");
  72. resolve();
  73. })
  74. .catch(error => reject(new Error(error.message)));
  75. });
  76. },
  77. getPropertyImages({ commit }, id) {
  78. axios
  79. .get(`/api/PropertyImage/GetImagesByProperty/${id}`)
  80. .then(result => commit("setPropertyImages", result.data))
  81. .catch(console.error);
  82. },
  83. getSavedPropertyImages({ commit }, id) {
  84. axios
  85. .get(`/api/PropertyImage/GetProperySavedImages/${id}`)
  86. .then(result => commit("setPropertyImages", result.data))
  87. .catch(console.error);
  88. },
  89. getPropertyTypes({ commit }, propertyType) {
  90. axios
  91. .get(`/api/PropertyType/type/${propertyType}`)
  92. .then(result => commit("setPropertyTypes", result.data))
  93. .catch(console.error);
  94. },
  95. getPropertyTypesRes({ commit }) {
  96. axios
  97. .get("/api/PropertyType/type/Residential")
  98. .then(result => commit("setPropertyTypesRes", result.data))
  99. .catch(console.error);
  100. },
  101. getPropertyTypesCom({ commit }) {
  102. axios
  103. .get("/api/PropertyType/type/Commercial")
  104. .then(result => commit("setPropertyTypesCom", result.data))
  105. .catch(console.error);
  106. },
  107. getPropertyOverviewFields({ commit }) {
  108. axios
  109. .get("/api/PropertyFields/Property Overview")
  110. .then(response => commit("setPropertyOverviewFields", response.data));
  111. },
  112. getPropertyFields({ commit }, propertyType) {
  113. axios
  114. .get(`/api/propertyFields/PropertyType/${propertyType}`)
  115. .then(response => commit("setPropertyFields", response.data));
  116. },
  117. getSavedPropertyFields({ commit }, id) {
  118. axios
  119. .get(`/api/PropertyFields/GetSavedPropertyUserFields/${id}`)
  120. .then(result => commit("setPropertyFields", result.data));
  121. },
  122. getPropertySavedOverviewFields({ commit }, id) {
  123. axios
  124. .get(`/api/PropertyFields/GetSavedValues/Residential/Property Overview/${id}`)
  125. .then(response => commit("setPropertyOverviewFields", response.data))
  126. .catch(console.error);
  127. },
  128. getPropertySavedFields({ commit }, item) {
  129. axios
  130. .get(`/api/PropertyFields/GetSavedValues/${item.type}/All/${item.id}`)
  131. .then(response => commit("setPropertyFields", response.data))
  132. .catch(console.error);
  133. },
  134. saveProperty({ commit }, item) {
  135. return new Promise((resolve, reject) => {
  136. axios
  137. .post("/api/Property", item)
  138. .then(resp => {
  139. commit("updateCurrentProperty", resp);
  140. resolve(resp);
  141. })
  142. .catch(() => {
  143. reject(console.error);
  144. });
  145. });
  146. },
  147. clearProperty({ commit }) {
  148. axios
  149. .get("/api/Property/getDetailed/0")
  150. .then(result => {
  151. alert(JSON.stringify(result.data));
  152. commit("setProperty", result.data);
  153. })
  154. .catch(console.error);
  155. },
  156. clearPropertyImages({ commit }) {
  157. commit("clearPropertyImages");
  158. },
  159. getSavedPropertyData({ commit }, item) {
  160. commit("clearProperty");
  161. commit("clearPropertyImages");
  162. axios
  163. .get(`/api/Property/getProperty/${item.id}`)
  164. .then(result => commit("setProperty", result.data))
  165. .catch(console.error);
  166. axios
  167. .get(`/api/PropertyImage/GetProperySavedImages/${item.id}`)
  168. .then(result => commit("setPropertyImages", result.data))
  169. .catch(console.error);
  170. axios
  171. .get(`/api/PropertyFields/GetSavedValues/Residential/Property Overview/${item.id}`)
  172. .then(response => commit("setPropertyOverviewFields", response.data))
  173. .catch(console.error);
  174. axios
  175. .get(`/api/PropertyFields/GetSavedValues/${item.type}/All/${item.id}`)
  176. .then(response => commit("setPropertyFields", response.data))
  177. .catch(console.error);
  178. },
  179. getSavedPropertyImages({ commit }, id) {
  180. axios
  181. .get(`/api/PropertyImage/GetProperySavedImages/${id}`)
  182. .then(result => commit("setPropertyImages", result.data))
  183. .catch(console.error);
  184. },
  185. updateProperty({ commit }, property) {
  186. return new Promise((resolve, reject) => {
  187. axios
  188. .put("/api/property", property)
  189. .then(response => {
  190. resolve();
  191. })
  192. .catch(() => {
  193. reject(console.error);
  194. });
  195. });
  196. }
  197. }
  198. };