修改公寓位置单位
This commit is contained in:
@@ -50,20 +50,20 @@
|
|||||||
<div class="figure flexflex" v-if="item.distance?.distance">
|
<div class="figure flexflex" v-if="item.distance?.distance">
|
||||||
距离
|
距离
|
||||||
<div class="school">{{ item.distance.alias }}</div>
|
<div class="school">{{ item.distance.alias }}</div>
|
||||||
<div class="mile">{{ item.distance.distance }}公里</div>
|
<div class="mile">{{ item.distance.distance }}km</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="vehicle-list flex1 flexflex">
|
<div class="vehicle-list flex1 flexflex">
|
||||||
<div class="vehicle-item flexacenter" v-if="item.distance?.walking_duration > 0">
|
<div class="vehicle-item flexacenter" v-if="item.distance?.walking_duration > 0">
|
||||||
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/walk-icon.png" />
|
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/walk-icon.png" />
|
||||||
{{ item.distance.walking_duration }}时长(分)
|
{{ calculateDuration(item.distance.walking_duration) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="vehicle-item flexacenter" v-if="item.distance?.transit_duration > 0">
|
<div class="vehicle-item flexacenter" v-if="item.distance?.transit_duration > 0">
|
||||||
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/taxi-icon.png" />
|
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/taxi-icon.png" />
|
||||||
{{ item.distance.transit_duration }}时长(分)
|
{{ calculateDuration(item.distance.transit_duration) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="vehicle-item flexacenter" v-if="item.distance?.driving_duration > 0">
|
<div class="vehicle-item flexacenter" v-if="item.distance?.driving_duration > 0">
|
||||||
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/subway-icon.png" />
|
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/subway-icon.png" />
|
||||||
{{ item.distance.driving_duration }}时长(分)
|
{{ calculateDuration(item.distance.driving_duration) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,88 +1,86 @@
|
|||||||
function setSeoTitle(title) {
|
function setSeoTitle(title) {
|
||||||
document.title = "港校租房-" + title
|
document.title = "港校租房-" + title;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 跳转 url
|
// 跳转 url
|
||||||
function redirectToExternalWebsite(url) {
|
function redirectToExternalWebsite(url) {
|
||||||
const link = document.createElement("a")
|
const link = document.createElement("a");
|
||||||
link.href = url
|
link.href = url;
|
||||||
link.target = "_blank"
|
link.target = "_blank";
|
||||||
link.click()
|
link.click();
|
||||||
}
|
}
|
||||||
|
|
||||||
// 跳转登录
|
// 跳转登录
|
||||||
function goTologin() {
|
function goTologin() {
|
||||||
let url = encodeURIComponent(location.href)
|
let url = encodeURIComponent(location.href);
|
||||||
redirectToExternalWebsite(`https://passport.gter.net/?referer=${url}`)
|
redirectToExternalWebsite(`https://passport.gter.net/?referer=${url}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 复制方法
|
// 复制方法
|
||||||
function copyToClipboard(text) {
|
function copyToClipboard(text) {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const textareaEle = document.createElement("textarea")
|
const textareaEle = document.createElement("textarea");
|
||||||
document.body.appendChild(textareaEle)
|
document.body.appendChild(textareaEle);
|
||||||
// 2. 将需要复制的文本传入输入框, 并调用 select 方法, 选中输入框中文本
|
// 2. 将需要复制的文本传入输入框, 并调用 select 方法, 选中输入框中文本
|
||||||
textareaEle.value = text
|
textareaEle.value = text;
|
||||||
textareaEle.select()
|
textareaEle.select();
|
||||||
textareaEle.readOnly = "readOnly"
|
textareaEle.readOnly = "readOnly";
|
||||||
// 3. 调用复制选中文本的方法
|
// 3. 调用复制选中文本的方法
|
||||||
document.execCommand("copy")
|
document.execCommand("copy");
|
||||||
// 4. 销毁输入框
|
// 4. 销毁输入框
|
||||||
document.body.removeChild(textareaEle)
|
document.body.removeChild(textareaEle);
|
||||||
resolve()
|
resolve();
|
||||||
// navigator.clipboard.writeText(text).then(() => {
|
// navigator.clipboard.writeText(text).then(() => {
|
||||||
// resolve()
|
// resolve()
|
||||||
// }).catch((err) => {
|
// }).catch((err) => {
|
||||||
// reject()
|
// reject()
|
||||||
// });
|
// });
|
||||||
})
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// 转换 秒数
|
// 转换 秒数
|
||||||
function secondsToHoursMinutes(seconds, type) {
|
function secondsToHoursMinutes(seconds, type) {
|
||||||
// 计算小时数
|
// 计算小时数
|
||||||
const hours = Math.floor(seconds / 3600)
|
const hours = Math.floor(seconds / 3600);
|
||||||
// 计算剩余的秒数
|
// 计算剩余的秒数
|
||||||
const remainingSecondsAfterHours = seconds % 3600
|
const remainingSecondsAfterHours = seconds % 3600;
|
||||||
// 计算分钟数
|
// 计算分钟数
|
||||||
const minutes = Math.floor(remainingSecondsAfterHours / 60)
|
const minutes = Math.floor(remainingSecondsAfterHours / 60);
|
||||||
// 计算剩余的秒数
|
// 计算剩余的秒数
|
||||||
const remainingSeconds = remainingSecondsAfterHours % 60
|
const remainingSeconds = remainingSecondsAfterHours % 60;
|
||||||
|
|
||||||
let text = ""
|
let text = "";
|
||||||
if (type == "chinese") {
|
if (type == "chinese") {
|
||||||
if (hours != 0) text += hours + "小时"
|
if (hours != 0) text += hours + "小时";
|
||||||
if (minutes != 0) text += minutes + "分钟"
|
if (minutes != 0) text += minutes + "分钟";
|
||||||
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + "秒"
|
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + "秒";
|
||||||
} else {
|
} else {
|
||||||
if (hours != 0) text += hours + "h"
|
if (hours != 0) text += hours + "h";
|
||||||
if (minutes != 0) text += minutes + "min"
|
if (minutes != 0) text += minutes + "min";
|
||||||
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + "s"
|
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + "s";
|
||||||
}
|
}
|
||||||
return text
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 转换 米数
|
// 转换 米数
|
||||||
function metersToKilometers(input, type) {
|
function metersToKilometers(input, type) {
|
||||||
let text = ""
|
let text = "";
|
||||||
if (input >= 1000) text = (input / 1000).toFixed(1) + (type == "chinese" ? "公里" : "km")
|
if (input >= 1000) text = (input / 1000).toFixed(1) + (type == "chinese" ? "公里" : "km");
|
||||||
else text = input + (type == "chinese" ? "米" : "m")
|
else text = input + (type == "chinese" ? "米" : "m");
|
||||||
return text
|
return text;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 计算路程时间
|
// 计算路程时间
|
||||||
const calculateDuration = seconds => {
|
const calculateDuration = (minutes) => {
|
||||||
if (seconds < 60) return `${seconds}s`;
|
if (minutes < 60) return `${minutes}min`;
|
||||||
const minutes = seconds / 60;
|
|
||||||
if (minutes < 60) return `${Math.floor(minutes)}min`;
|
|
||||||
else {
|
else {
|
||||||
const hours = minutes / 60;
|
const hours = minutes / 60;
|
||||||
return `${hours.toFixed(1).replace(/\.0$/, '')}h`;
|
return `${hours.toFixed(2).replace(/\.0$/, "")}h`;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// 计算路程公里数
|
// 计算路程公里数
|
||||||
const calculateDistance = value => (value / 1000).toFixed(1);
|
const calculateDistance = (value) => (value / 1000).toFixed(1);
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
calculateDistance,
|
calculateDistance,
|
||||||
@@ -93,4 +91,4 @@ module.exports = {
|
|||||||
copyToClipboard,
|
copyToClipboard,
|
||||||
secondsToHoursMinutes,
|
secondsToHoursMinutes,
|
||||||
metersToKilometers,
|
metersToKilometers,
|
||||||
}
|
};
|
||||||
|
|||||||
@@ -95,7 +95,7 @@
|
|||||||
<div class="figure flexacenter" v-if="distancePitch?.alias">
|
<div class="figure flexacenter" v-if="distancePitch?.alias">
|
||||||
距离
|
距离
|
||||||
<div class="school">{{ distancePitch.alias }}</div>
|
<div class="school">{{ distancePitch.alias }}</div>
|
||||||
{{ distancePitch.distance }}公里
|
{{ distancePitch.distance }}km
|
||||||
<div class="btn" @click="openSelectSchool">[切换院校]</div>
|
<div class="btn" @click="openSelectSchool">[切换院校]</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -108,17 +108,17 @@
|
|||||||
{{ item }}
|
{{ item }}
|
||||||
</div> -->
|
</div> -->
|
||||||
|
|
||||||
<div class="item flexcenter" v-if="distancePitch.walking_duration > 0">
|
<div class="item flexcenter" v-if="distancePitch?.walking_duration > 0">
|
||||||
<img class="icon" src="@/assets/img/apartmentDetail/walk-icon.png" />
|
<img class="icon" src="@/assets/img/apartmentDetail/walk-icon.png" />
|
||||||
{{ distancePitch.walking_duration }}时长(分)
|
{{ calculateDuration(distancePitch.walking_duration) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="item flexcenter" v-if="distancePitch.transit_duration > 0">
|
<div class="item flexcenter" v-if="distancePitch?.transit_duration > 0">
|
||||||
<img class="icon" src="@/assets/img/apartmentDetail/subway-icon.png" />
|
<img class="icon" src="@/assets/img/apartmentDetail/subway-icon.png" />
|
||||||
{{ distancePitch.transit_duration }}时长(分)
|
{{ calculateDuration(distancePitch.transit_duration) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="item flexcenter" v-if="distancePitch.driving_duration > 0">
|
<div class="item flexcenter" v-if="distancePitch?.driving_duration > 0">
|
||||||
<img class="icon" src="@/assets/img/apartmentDetail/taxi-icon.png" />
|
<img class="icon" src="@/assets/img/apartmentDetail/taxi-icon.png" />
|
||||||
{{ distancePitch.driving_duration }}时长(分)
|
{{ calculateDuration(distancePitch.driving_duration) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -193,7 +193,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="explain two-line-text">{{ spotObj.content }}</div>
|
<div class="explain two-line-text">{{ spotObj.content }}</div>
|
||||||
</div>
|
</div>
|
||||||
<img class="inspect-img" :src="spotObj.sources[0]?.thumbnail" />
|
<img v-if="spotObj.sources[0]?.thumbnail" class="inspect-img" :src="spotObj.sources[0]?.thumbnail" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -613,24 +613,24 @@
|
|||||||
<img class="select-img" src="@/assets/img/apartmentDetail/u1834.png" />
|
<img class="select-img" src="@/assets/img/apartmentDetail/u1834.png" />
|
||||||
</div>
|
</div>
|
||||||
<div class="select-info flex1">
|
<div class="select-info flex1">
|
||||||
<div class="select-name">{{ item.name }}</div>
|
<div class="select-name" v-if="item.name">{{ item.name }}</div>
|
||||||
<div class="distance flexacenter">
|
<div class="distance flexacenter">
|
||||||
距离
|
距离
|
||||||
<div class="abbreviation">{{ item.alias }}</div>
|
<div class="abbreviation">{{ item.alias }}</div>
|
||||||
{{ item.distance }}公里
|
{{ item.distance }}km
|
||||||
</div>
|
</div>
|
||||||
<div class="vehicle flexflex flex1">
|
<div class="vehicle flexflex flex1">
|
||||||
<div class="item flexcenter" v-if="item.walking_duration > 0">
|
<div class="item flexcenter" v-if="item.walking_duration > 0">
|
||||||
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/walk-icon.png" />
|
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/walk-icon.png" />
|
||||||
{{ item.walking_duration }}时长(分)
|
{{ calculateDuration(item.walking_duration) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="item flexcenter" v-if="item.transit_duration > 0">
|
<div class="item flexcenter" v-if="item.transit_duration > 0">
|
||||||
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/subway-icon.png" />
|
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/subway-icon.png" />
|
||||||
{{ item.transit_duration }}时长(分)
|
{{ calculateDuration(item.transit_duration) }}
|
||||||
</div>
|
</div>
|
||||||
<div class="item flexcenter" v-if="item.driving_duration > 0">
|
<div class="item flexcenter" v-if="item.driving_duration > 0">
|
||||||
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/taxi-icon.png" />
|
<img class="vehicle-icon" src="@/assets/img/apartmentDetail/taxi-icon.png" />
|
||||||
{{ item.driving_duration }}时长(分)
|
{{ calculateDuration(item.driving_duration) }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -948,7 +948,7 @@ const init = () => {
|
|||||||
getDetailsHeight();
|
getDetailsHeight();
|
||||||
getLikeList();
|
getLikeList();
|
||||||
getMapDistance();
|
getMapDistance();
|
||||||
getComment();
|
if (info.value.fieldtrips == 1) getComment();
|
||||||
});
|
});
|
||||||
|
|
||||||
if (data.withsameapartments > 0) dualBrandData();
|
if (data.withsameapartments > 0) dualBrandData();
|
||||||
@@ -968,7 +968,8 @@ const getDetailsHeight = () => {
|
|||||||
|
|
||||||
// 切换 详情 显示
|
// 切换 详情 显示
|
||||||
const openDetails = () => {
|
const openDetails = () => {
|
||||||
isHideDetails.value = !isHideDetails.value;
|
isHideDetails.value = false;
|
||||||
|
|
||||||
let target = messageEle.value;
|
let target = messageEle.value;
|
||||||
let header = target.querySelector(".details-header");
|
let header = target.querySelector(".details-header");
|
||||||
let box = target.querySelector(".text");
|
let box = target.querySelector(".text");
|
||||||
@@ -1455,7 +1456,7 @@ const getMapDistance = () => {
|
|||||||
// obj,
|
// obj,
|
||||||
// };
|
// };
|
||||||
// arr.push(target);
|
// arr.push(target);
|
||||||
if (element.sid == sid) pitch = element
|
if (element.sid == sid) pitch = element;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (pitch == null) pitch = distance[0];
|
if (pitch == null) pitch = distance[0];
|
||||||
@@ -1471,7 +1472,7 @@ const openSelectSchool = () => {
|
|||||||
isSelectSchool.value = true;
|
isSelectSchool.value = true;
|
||||||
|
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
return
|
return;
|
||||||
const item = selectSchoolRef.value.querySelector(`.item${distancePitch.value.sid}`);
|
const item = selectSchoolRef.value.querySelector(`.item${distancePitch.value.sid}`);
|
||||||
if (!item) return;
|
if (!item) return;
|
||||||
selectSchoolRef.value.scrollTo({ top: item.offsetTop - 20, behavior: "smooth" });
|
selectSchoolRef.value.scrollTo({ top: item.offsetTop - 20, behavior: "smooth" });
|
||||||
@@ -2032,6 +2033,7 @@ const cutRemarkType = (value) => (remarkTypeid.value = value);
|
|||||||
|
|
||||||
.select-list {
|
.select-list {
|
||||||
max-height: 500px;
|
max-height: 500px;
|
||||||
|
min-height: 300px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
position: relative;
|
position: relative;
|
||||||
.select-item {
|
.select-item {
|
||||||
@@ -2047,7 +2049,7 @@ const cutRemarkType = (value) => (remarkTypeid.value = value);
|
|||||||
}
|
}
|
||||||
|
|
||||||
&:last-of-type {
|
&:last-of-type {
|
||||||
border-radius: 0 0 16px 16px;
|
// border-radius: 0 0 16px 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.select-icon {
|
.select-icon {
|
||||||
@@ -2071,12 +2073,13 @@ const cutRemarkType = (value) => (remarkTypeid.value = value);
|
|||||||
font-style: normal;
|
font-style: normal;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
|
margin-bottom: 7px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.distance {
|
.distance {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #555555;
|
color: #555555;
|
||||||
margin-top: 7px;
|
// margin-top: 7px;
|
||||||
padding-bottom: 7px;
|
padding-bottom: 7px;
|
||||||
|
|
||||||
.abbreviation {
|
.abbreviation {
|
||||||
|
|||||||
Reference in New Issue
Block a user