diff --git a/src/assets/img/apartmentDetail/arrow-black.svg b/src/assets/img/apartmentDetail/arrow-black.svg new file mode 100644 index 0000000..e84f6f7 --- /dev/null +++ b/src/assets/img/apartmentDetail/arrow-black.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/img/apartmentDetail/orientation.png b/src/assets/img/apartmentDetail/orientation.png new file mode 100644 index 0000000..e9a7a06 Binary files /dev/null and b/src/assets/img/apartmentDetail/orientation.png differ diff --git a/src/assets/img/apartmentDetail/same-brand-recommendation.png b/src/assets/img/apartmentDetail/same-brand-recommendation.png new file mode 100644 index 0000000..c3aaba6 Binary files /dev/null and b/src/assets/img/apartmentDetail/same-brand-recommendation.png differ diff --git a/src/assets/img/apartmentDetail/same-brand.png b/src/assets/img/apartmentDetail/same-brand.png index c3aaba6..2d3b723 100644 Binary files a/src/assets/img/apartmentDetail/same-brand.png and b/src/assets/img/apartmentDetail/same-brand.png differ diff --git a/src/assets/img/apartmentDetail/subway-icon.png b/src/assets/img/apartmentDetail/subway-icon.png new file mode 100644 index 0000000..468547c Binary files /dev/null and b/src/assets/img/apartmentDetail/subway-icon.png differ diff --git a/src/assets/img/apartmentDetail/taxi-icon.png b/src/assets/img/apartmentDetail/taxi-icon.png new file mode 100644 index 0000000..367e9ae Binary files /dev/null and b/src/assets/img/apartmentDetail/taxi-icon.png differ diff --git a/src/assets/img/apartmentDetail/tick-circle-red.svg b/src/assets/img/apartmentDetail/tick-circle-red.svg new file mode 100644 index 0000000..7fba509 --- /dev/null +++ b/src/assets/img/apartmentDetail/tick-circle-red.svg @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/assets/img/apartmentDetail/u1834.png b/src/assets/img/apartmentDetail/u1834.png new file mode 100644 index 0000000..9bcc8e2 Binary files /dev/null and b/src/assets/img/apartmentDetail/u1834.png differ diff --git a/src/assets/img/apartmentDetail/walk-icon.png b/src/assets/img/apartmentDetail/walk-icon.png new file mode 100644 index 0000000..8dc3507 Binary files /dev/null and b/src/assets/img/apartmentDetail/walk-icon.png differ diff --git a/src/assets/img/publicImage/apartment-icon.png b/src/assets/img/publicImage/apartment-icon.png new file mode 100644 index 0000000..7d549a4 Binary files /dev/null and b/src/assets/img/publicImage/apartment-icon.png differ diff --git a/src/assets/img/publicImage/apartment-title.png b/src/assets/img/publicImage/apartment-title.png new file mode 100644 index 0000000..294b818 Binary files /dev/null and b/src/assets/img/publicImage/apartment-title.png differ diff --git a/src/assets/styles/apartmentDetail.css b/src/assets/styles/apartmentDetail.css index c943760..74d423a 100644 --- a/src/assets/styles/apartmentDetail.css +++ b/src/assets/styles/apartmentDetail.css @@ -235,7 +235,6 @@ background-color: #ebebeb; border-radius: 8px; color: #555555; - line-height: 26px; padding: 0 8px; font-size: 13px; margin-right: 10px; @@ -288,6 +287,7 @@ .content .header .header-content .header-right .introduce .introduce-head .more { color: #333333; font-size: 14px; + cursor: pointer; } .content .header .header-content .header-right .introduce .introduce-head .more .icon { width: 6px; @@ -424,7 +424,7 @@ margin-right: 4px; } .content .operate-box-bj .operate-box .btn-box .btn-item.consult-btn { - width: 180px; + width: 138px; background: -webkit-linear-gradient(324.8544545deg, #62b1ff -11%, #80ffff 135%); background: -moz-linear-gradient(125.1455455deg, #62b1ff -11%, #80ffff 135%); background: linear-gradient(125.1455455deg, #62b1ff -11%, #80ffff 135%); @@ -452,10 +452,12 @@ } .content .details-box .details-left .special-offer .special-bj { width: 876px; - height: 169px; + height: 100px; position: absolute; top: 0; left: 0; + object-fit: cover; + border-radius: 10px; } .content .details-box .details-left .special-offer .head { width: 125px; @@ -675,6 +677,7 @@ .content .details-box .details-left .type-box .item .info .tags { margin-bottom: 16px; margin-bottom: 5px; + flex-wrap: wrap; } .content .details-box .details-left .type-box .item .info .tags .tags-item { width: fit-content; @@ -825,10 +828,17 @@ .content .details-box .details-left .details-item .traffic-box .traffic-title { margin-bottom: 16px; } -.content .details-box .details-left .details-item.apartment-facilities .facility-box { - padding: 30px; +.content .details-box .details-left .details-item.apartment-facilities { + transition: all 0.3s; position: relative; } +.content .details-box .details-left .details-item.apartment-facilities.hide { + height: 820px; + overflow: hidden; +} +.content .details-box .details-left .details-item.apartment-facilities .facility-box { + padding: 30px 30px 30px 46px; +} .content .details-box .details-left .details-item.apartment-facilities .facility-box .item:not(:last-of-type) { margin-bottom: 40px; } @@ -855,7 +865,6 @@ box-sizing: border-box; } .content .details-box .details-left .details-item.apartment-facilities .facility-box .item .label { - margin-bottom: 7px; flex-wrap: wrap; } .content .details-box .details-left .details-item.apartment-facilities .facility-box .item .label .label-item { @@ -873,11 +882,15 @@ height: 16px; margin-right: 10px; } +.content .details-box .details-left .details-item.apartment-facilities .facility-box .item .img-box { + margin-top: 7px; +} .content .details-box .details-left .details-item.apartment-facilities .facility-box .item .img-box .img-item { width: 110px; height: 110px; margin-right: 10px; position: relative; + cursor: pointer; } .content .details-box .details-left .details-item.apartment-facilities .facility-box .item .img-box .img-item .icon { width: 110px; @@ -898,6 +911,14 @@ border-radius: 0 0 10px 10px; padding-left: 10px; } +.content .details-box .details-left .details-item.details-message { + transition: all 0.3s; + position: relative; +} +.content .details-box .details-left .details-item.details-message.hide { + height: 820px; + overflow: hidden; +} .content .details-box .details-left .details-item .bottom-btn { position: absolute; bottom: 0; @@ -970,8 +991,6 @@ margin-bottom: 20px; font-size: 18px; color: #000000; - background: -webkit-linear-gradient(350.34816653deg, #fdda55 0%, #e5d7be 50%, #cbfebf 100%); - background: -moz-linear-gradient(99.65183347deg, #fdda55 0%, #e5d7be 50%, #cbfebf 100%); background: linear-gradient(99.65183347deg, #fdda55 0%, #e5d7be 50%, #cbfebf 100%); border-radius: 12px; width: 304px; @@ -980,6 +999,13 @@ position: relative; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.11764706); } +.content .details-box .details-right .same-brand-title.like { + background: linear-gradient(-80.34816653deg, #d6dcf0 0%, #dae6f2 19%, #eff2cc 62%, #eff9f1 100%); +} +.content .details-box .details-right .same-brand-title.like .same-brand-icon { + width: 24px; + height: 24px; +} .content .details-box .details-right .same-brand-title::after { content: ""; position: absolute; @@ -993,124 +1019,9 @@ transform: translateX(-50%); } .content .details-box .details-right .same-brand-title .same-brand-icon { - width: 24px; - height: 24px; - margin-right: 4px; -} -.content .details-box .details-right .same-brand-list .same-brand-item { - width: 304px; - background-color: #ffffff; - border-radius: 17px; - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.11764706); - padding: 8px 0; - margin-bottom: 20px; - cursor: pointer; -} -.content .details-box .details-right .same-brand-list .same-brand-item:hover { - box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25686275); -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-header { - width: 288px; - height: 192px; - overflow: hidden; - border-radius: 17px; - margin: 0 auto 20px; - position: relative; -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-header .same-brand-img { - width: 288px; - height: 192px; - object-fit: none; -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-header .apartment-name { - font-weight: 650; - font-style: normal; - font-size: 16px; - color: #000000; - height: 32px; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background-color: rgba(255, 255, 255, 0.7); - padding: 0 15px; - border-radius: 40px; - width: max-content; - line-height: 30px; - max-width: 100%; -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-header .apartment-synopsis { - width: 100%; - height: 32px; - line-height: 32px; - background-color: rgba(0, 0, 0, 0.63921569); - border-radius: 0 0 10px 10px; - position: absolute; - bottom: 0; - font-size: 13px; - color: #d7d7d7; - padding: 0 10px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .site { - margin: 0 20px 20px; - color: #555555; - font-size: 14px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .site .site-icon { - width: 18px; - height: 18px; - margin-right: 4px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .price-box { - font-size: 14px; - color: #555555; - margin: 0 20px 31px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .price-box .price-item { - justify-content: space-between; - height: 50px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .price-box .price-item:not(:last-of-type) { - border-bottom: 1px solid #ebebeb; -} -.content .details-box .details-right .same-brand-list .same-brand-item .price-box .room-name { - font-size: 15px; - color: #000000; - padding-right: 5px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .price-box .unit { - font-family: "Arial-Black", "Arial Black", sans-serif; - font-weight: 900; - color: #000000; - font-size: 13px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .price-box .quantity { - font-family: "Arial-Black", "Arial Black", sans-serif; - font-weight: 900; - font-size: 18px; - color: #f95d5d; - margin: 0 5px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-quantity { - font-size: 14px; - color: #555555; - margin: 21px auto; -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-quantity .quantity { - font-weight: 650; - font-size: 14px; - color: #000000; - line-height: 18px; - height: 18px; - background-color: #fddf6d; - border-radius: 9px; - padding: 0 8px; - margin: 0 8px; -} -.content .details-box .details-right .same-brand-list .same-brand-item .same-brand-quantity .same-brand-quantity-icon { - width: 7px; - height: 12px; - margin-left: 8px; + width: 22px; + height: 22px; + margin-right: 7px; } .add-customer-mask { position: fixed; diff --git a/src/assets/styles/apartmentDetail.less b/src/assets/styles/apartmentDetail.less index 090985a..28dbf7a 100644 --- a/src/assets/styles/apartmentDetail.less +++ b/src/assets/styles/apartmentDetail.less @@ -290,7 +290,6 @@ background-color: rgba(235, 235, 235, 1); border-radius: 8px; color: #555555; - line-height: 26px; padding: 0 8px; font-size: 13px; margin-right: 10px; @@ -344,6 +343,7 @@ .more { color: #333333; font-size: 14px; + cursor: pointer; .icon { width: 6px; height: 10px; @@ -555,7 +555,7 @@ } &.consult-btn { - width: 180px; + width: 138px; background: -webkit-linear-gradient(324.854454500294deg, rgba(98, 177, 255, 1) -11%, rgba(128, 255, 255, 1) 135%); background: -moz-linear-gradient(125.145545499706deg, rgba(98, 177, 255, 1) -11%, rgba(128, 255, 255, 1) 135%); background: linear-gradient(125.145545499706deg, rgba(98, 177, 255, 1) -11%, rgba(128, 255, 255, 1) 135%); @@ -590,10 +590,12 @@ .special-bj { width: 876px; - height: 169px; + height: 100px; position: absolute; top: 0; left: 0; + object-fit: cover; + border-radius: 10px; } .head { @@ -861,6 +863,7 @@ .tags { margin-bottom: 16px; margin-bottom: 5px; + flex-wrap: wrap; .tags-item { width: fit-content; @@ -1218,9 +1221,15 @@ } &.apartment-facilities { + &.hide { + height: 820px; + overflow: hidden; + } + transition: all 0.3s; + position: relative; .facility-box { - padding: 30px; - position: relative; + padding: 30px 30px 30px 46px; + // position: relative; .item { &:not(:last-of-type) { margin-bottom: 40px; @@ -1249,7 +1258,6 @@ } .label { - margin-bottom: 7px; flex-wrap: wrap; .label-item { font-size: 14px; @@ -1270,11 +1278,13 @@ } .img-box { + margin-top: 7px; .img-item { width: 110px; height: 110px; margin-right: 10px; position: relative; + cursor: pointer; .icon { width: 110px; height: 110px; @@ -1331,6 +1341,15 @@ } } + &.details-message { + &.hide { + height: 820px; + overflow: hidden; + } + transition: all 0.3s; + position: relative; + } + .bottom-btn { position: absolute; bottom: 0; @@ -1418,16 +1437,21 @@ margin-bottom: 20px; font-size: 18px; color: #000000; - background: -webkit-linear-gradient(350.348166533196deg, rgba(253, 218, 85, 1) 0%, rgba(229, 215, 190, 1) 50%, rgba(203, 254, 191, 1) 100%); - background: -moz-linear-gradient(99.6518334668042deg, rgba(253, 218, 85, 1) 0%, rgba(229, 215, 190, 1) 50%, rgba(203, 254, 191, 1) 100%); background: linear-gradient(99.6518334668042deg, rgba(253, 218, 85, 1) 0%, rgba(229, 215, 190, 1) 50%, rgba(203, 254, 191, 1) 100%); border-radius: 12px; width: 304px; height: 60px; border: 5px solid #fff; position: relative; - // box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.11764706); box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.117647058823529); + + &.like { + background: linear-gradient(-80.3481665331958deg, rgba(214, 220, 240, 1) 0%, rgba(218, 230, 242, 1) 19%, rgba(239, 242, 204, 1) 62%, rgba(239, 249, 241, 1) 100%); + .same-brand-icon { + width: 24px; + height: 24px; + } + } &::after { content: ""; position: absolute; @@ -1442,148 +1466,13 @@ } .same-brand-icon { - width: 24px; - height: 24px; - margin-right: 4px; + width: 22px; + height: 22px; + margin-right: 7px; } } .same-brand-list { - .same-brand-item { - width: 304px; - background-color: rgba(255, 255, 255, 1); - border-radius: 17px; - // -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.156862745098039); - // -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.156862745098039); - // box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.156862745098039); - box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.117647058823529); - padding: 8px 0; - margin-bottom: 20px; - cursor: pointer; - - &:hover { - box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.25686275); - } - - .same-brand-header { - width: 288px; - height: 192px; - overflow: hidden; - border-radius: 17px; - margin: 0 auto 20px; - position: relative; - - .same-brand-img { - width: 288px; - height: 192px; - object-fit: none; - } - - .apartment-name { - font-weight: 650; - font-style: normal; - font-size: 16px; - color: #000000; - padding: 0 15px; - height: 32px; - position: absolute; - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - background-color: rgba(255, 255, 255, 0.7); - padding: 0 15px; - border-radius: 40px; - width: max-content; - line-height: 30px; - max-width: 100%; - } - - .apartment-synopsis { - width: 100%; - height: 32px; - line-height: 32px; - background-color: rgba(0, 0, 0, 0.63921568627451); - border-radius: 0 0 10px 10px; - position: absolute; - bottom: 0; - font-size: 13px; - color: #d7d7d7; - padding: 0 10px; - } - } - - .site { - margin: 0 20px 20px; - color: #555555; - font-size: 14px; - - .site-icon { - width: 18px; - height: 18px; - margin-right: 4px; - } - } - - .price-box { - font-size: 14px; - color: #555555; - margin: 0 20px 31px; - - .price-item { - justify-content: space-between; - height: 50px; - - &:not(:last-of-type) { - border-bottom: 1px solid #ebebeb; - } - } - - .room-name { - font-size: 15px; - color: #000000; - padding-right: 5px; - } - - .unit { - font-family: "Arial-Black", "Arial Black", sans-serif; - font-weight: 900; - color: #000000; - font-size: 13px; - } - - .quantity { - font-family: "Arial-Black", "Arial Black", sans-serif; - font-weight: 900; - font-size: 18px; - color: #f95d5d; - margin: 0 5px; - } - } - - .same-brand-quantity { - font-size: 14px; - color: #555555; - margin: 21px auto; - - .quantity { - font-weight: 650; - font-size: 14px; - color: #000000; - line-height: 18px; - height: 18px; - background-color: #fddf6d; - border-radius: 9px; - padding: 0 8px; - margin: 0 8px; - } - - .same-brand-quantity-icon { - width: 7px; - height: 12px; - margin-left: 8px; - } - } - } } } } diff --git a/src/components/apartment/sameBrandItem.vue b/src/components/apartment/sameBrandItem.vue new file mode 100644 index 0000000..17768e0 --- /dev/null +++ b/src/components/apartment/sameBrandItem.vue @@ -0,0 +1,176 @@ + + + diff --git a/src/components/apartment/seachModule.vue b/src/components/apartment/seachModule.vue index d90a21a..a46db07 100644 --- a/src/components/apartment/seachModule.vue +++ b/src/components/apartment/seachModule.vue @@ -97,7 +97,7 @@
标签筛选
-
不限
+
不限
{{ item }}
diff --git a/src/components/public/apartment-item.vue b/src/components/public/apartment-item.vue index 1d30f99..dcff230 100644 --- a/src/components/public/apartment-item.vue +++ b/src/components/public/apartment-item.vue @@ -41,23 +41,23 @@
-
+
距离
{{ item.distance.alias }}
-
{{ item.distance.distance }}km
+
{{ calculateDistance(item.distance.distance) }}km
- - {{ item.distance.walking_duration }} + + {{ calculateDuration(item.distance.walking_duration) }}
- - {{ item.distance.transit_duration }} + + {{ calculateDuration(item.distance.transit_duration) }}
- - {{ item.distance.driving_duration }} + + {{ calculateDuration(item.distance.driving_duration) }}
@@ -98,7 +98,7 @@ diff --git a/src/views/housingView/apartment.vue b/src/views/housingView/apartment.vue index 6354e94..6db2be1 100644 --- a/src/views/housingView/apartment.vue +++ b/src/views/housingView/apartment.vue @@ -36,36 +36,36 @@