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

property.js 5.1KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. import axios from 'axios';
  2. export default {
  3. namespaced: true,
  4. state: {
  5. property: {
  6. createdBy: '',
  7. propertyTypeId: 0,
  8. propertyName: '',
  9. unit: '',
  10. operationalCosts: 0.0,
  11. price: 0,
  12. pricePer: '',
  13. isSale: false,
  14. description: '',
  15. shortDescription: '',
  16. addressLine1: '',
  17. addressLine2: '',
  18. addressLine3: '',
  19. suburbId: 0,
  20. cityId: 0,
  21. provinceId: 0,
  22. published: false,
  23. propertyUserFields: [],
  24. propertyImages: [],
  25. id: 0,
  26. },
  27. propertyImages: [],
  28. propertyTypes: [],
  29. propertyTypesRes: [],
  30. propertyTypesCom: [],
  31. propertyOverviewFields: [],
  32. propertyFields: [],
  33. },
  34. mutations: {
  35. setProperty(state, property) {
  36. state.property = property;
  37. },
  38. setPropertyImages(state, images) {
  39. state.propertyImages = images;
  40. },
  41. setPropertyTypes(state, types) {
  42. state.propertyTypes = types;
  43. },
  44. setPropertyTypesRes(state, types) {
  45. state.propertyTypesRes = types;
  46. },
  47. setPropertyTypesCom(state, types) {
  48. state.propertyTypesCom = types;
  49. },
  50. setPropertyOverviewFields(state, fields) {
  51. state.propertyOverviewFields = fields;
  52. },
  53. setPropertyFields(state, fields) {
  54. state.propertyFields = fields;
  55. },
  56. updateCurrentProperty(state, property) {
  57. if (state.properties) {
  58. state.properties.push(property);
  59. }
  60. },
  61. clearProperty(state) {
  62. state.property = {
  63. createdBy: '',
  64. propertyTypeId: 0,
  65. propertyName: '',
  66. unit: '',
  67. operationalCosts: 0.0,
  68. price: 0,
  69. pricePer: '',
  70. isSale: false,
  71. description: '',
  72. shortDescription: '',
  73. addressLine1: '',
  74. addressLine2: '',
  75. addressLine3: '',
  76. suburbId: 0,
  77. cityId: 0,
  78. provinceId: 0,
  79. published: false,
  80. propertyUserFields: [],
  81. propertyImages: [],
  82. id: 0,
  83. };
  84. },
  85. clearPropertyImages(state) {
  86. state.propertyImages = [];
  87. },
  88. },
  89. getters: {},
  90. actions: {
  91. getProperty({ commit }, id) {
  92. axios
  93. .get(`/api/Property/${id}`)
  94. .then(result => commit('setProperty', result.data))
  95. .catch(console.error);
  96. },
  97. getPropertyImages({ commit }, id) {
  98. axios
  99. .get(`/api/PropertyImage/getPropertyImages/${id}`)
  100. .then(result => commit('setPropertyImages', result.data))
  101. .catch(console.error);
  102. },
  103. getPropertyTypes({ commit }, propertyType) {
  104. axios
  105. .get(`/api/PropertyType/type/${propertyType}`)
  106. .then(result => commit('setPropertyTypes', result.data))
  107. .catch(console.error);
  108. },
  109. getPropertyTypesRes({ commit }) {
  110. axios
  111. .get('/api/PropertyType/type/Residential')
  112. .then(result => commit('setPropertyTypesRes', result.data))
  113. .catch(console.error);
  114. },
  115. getPropertyTypesCom({ commit }) {
  116. axios
  117. .get('/api/PropertyType/type/Commercial')
  118. .then(result => commit('setPropertyTypesCom', result.data))
  119. .catch(console.error);
  120. },
  121. getPropertyOverviewFields({ commit }) {
  122. axios
  123. .get('/api/PropertyFields/Property Overview')
  124. .then(response => commit('setPropertyOverviewFields', response.data));
  125. },
  126. getPropertyFields({ commit }, propertyType) {
  127. axios
  128. .get(`/api/propertyFields/PropertyType/${propertyType}`)
  129. .then(response => commit('setPropertyFields', response.data));
  130. },
  131. getPropertySavedOverviewFields({ commit }, id) {
  132. axios
  133. .get(`/api/PropertyFields/GetSavedValues/Residential/Property Overview/${id}`)
  134. .then(response => commit('setPropertyOverviewFields', response.data))
  135. .catch(console.error);
  136. },
  137. getPropertySavedFields({ commit }, item) {
  138. axios
  139. .get(`/api/PropertyFields/GetSavedValues/${item.type}/All/${item.id}`)
  140. .then(response => commit('setPropertyFields', response.data))
  141. .catch(console.error);
  142. },
  143. saveProperty({ commit }, item) {
  144. axios
  145. .post('/api/Property', item)
  146. .then(result => commit('updateCurrentProperty', result.data))
  147. .catch(console.error);
  148. },
  149. clearProperty({ commit }) {
  150. commit('clearProperty');
  151. },
  152. clearPropertyImages({ commit }) {
  153. commit('clearPropertyImages');
  154. },
  155. getSavedPropertyData({ commit }, item) {
  156. commit('clearProperty');
  157. commit('clearPropertyImages');
  158. axios
  159. .get(`/api/Property/${item.id}`)
  160. .then(result => commit('setProperty', result.data))
  161. .catch(console.error);
  162. axios
  163. .get(`/api/PropertyImage/getPropertyImages/${item.id}`)
  164. .then(result => commit('setPropertyImages', result.data))
  165. .catch(console.error);
  166. axios
  167. .get(`/api/PropertyFields/GetSavedValues/Residential/Property Overview/${item.id}`)
  168. .then(response => commit('setPropertyOverviewFields', response.data))
  169. .catch(console.error);
  170. axios
  171. .get(`/api/PropertyFields/GetSavedValues/${item.type}/All/${item.id}`)
  172. .then(response => commit('setPropertyFields', response.data))
  173. .catch(console.error);
  174. },
  175. },
  176. };