Найти недвижимость
@@ -98,18 +97,21 @@ export default {
isSelected(name, value) {
return this.sortParams.some((e) => e.name === name && e.value === value) ? 'parametrs__block__selected' : '';
},
- addSortParam(name, value, isRange = false) {
+ async addSortParam(name, value) {
const element = this.sortParams.findIndex((e) => e.name === name && e.value === value);
- if (~element && !isRange) {
+ if (~element) {
this.sortParams.splice(element, 1);
+ await this.reloadOffers();
return;
}
this.sortParams = this.sortParams.filter((e) => e.name !== name);
this.sortParams.push({ name, value });
+
+ await this.reloadOffers();
},
- addRangeSortParam(range, paramName) {
+ async addRangeSortParam(range, paramName) {
const min = this[range].min;
const max = this[range].max;
diff --git a/frontend/src/views/OfferView.vue b/frontend/src/views/OfferView.vue
index 47171f3..b140019 100644
--- a/frontend/src/views/OfferView.vue
+++ b/frontend/src/views/OfferView.vue
@@ -19,13 +19,15 @@
-
-

-
+
+
+
+
+
@@ -33,18 +35,18 @@
-
Виктория
+ {{ ownerName }}
-
-
-

+
+
@@ -72,32 +74,14 @@
Отзывы
-
+
-
-
-

-
-
-
-
-
-
-

-
-
-
+
@@ -111,12 +95,14 @@ import RatingStars from "@/components/RatingStars.vue";
import TheHeader from "@/components/TheHeader.vue";
import TheFooter from "@/components/TheFooter.vue";
import offerService from "@/services/offer";
+import { getURL } from "@/services/images";
export default {
name: "OfferView",
components: {TheFooter, TheHeader, RatingStars},
data() {
return {
+ imagePreviewId: 0,
offer: {}
};
},
@@ -135,6 +121,32 @@ export default {
'Room2': '2 комнаты',
'Room3More': '3 комнаты и больше',
}[this.offer.rooms]
+ },
+ imagePreview() {
+ return this.offer.images.length !== 0
+ ? `url(${getURL(this.offer.images[this.imagePreviewId].file)})`
+ : 'url(@/assets/images/offer1.png)';
+ },
+ ownerName() {
+ if (!this.offer.user) return;
+
+ const user = this.offer.user;
+ return user.first_name ?? `Пользователь #${user.id}`;
+ },
+ ownerPhoto() {
+ if (!this.offer.user) return;
+
+ const user = this.offer.user;
+ return user.photo ? `url(${getURL(user.photo)})` : 'url(/src/assets/images/user_standart.png)';
+ },
+ },
+ methods: {
+ url(path) {
+ return getURL(path);
+ },
+ showPhone() {
+ const phone = this.offer.user.phone ?? 'отсутствует';
+ alert(`Номер пользователя: ${phone}`);
}
},
async mounted() {
@@ -151,4 +163,14 @@ export default {
\ No newline at end of file
Очень приятный владелец, все чисто и опрятно
+{{ review.comment }}