公寓详情进入学校距离
This commit is contained in:
parent
63c96b34c9
commit
ab68eb1dae
1
.vscode/extensions.json
vendored
1
.vscode/extensions.json
vendored
@ -1,5 +1,4 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"zhengjiaqi.px-to-rpx"
|
||||
]
|
||||
}
|
4
.vscode/settings.json
vendored
4
.vscode/settings.json
vendored
@ -4,7 +4,5 @@
|
||||
"*.tpl": "html",
|
||||
"*.vue": "vue",
|
||||
"*.wxml": "html"
|
||||
},
|
||||
"px-to-rpx.baseWidth": 500,
|
||||
"px-to-rpx.autoRemovePrefixZero": true
|
||||
}
|
||||
}
|
0
common/common.wxss
Normal file
0
common/common.wxss
Normal file
@ -614,7 +614,7 @@
|
||||
|
||||
<!-- v4 品牌公寓列表 的 item -->
|
||||
<template name="apartment-item">
|
||||
<view class="apartment-item apartment-list" bindtap="publicJumps" data-url="/pages/irentDetail/irentDetail?uniqid={{ item.uniqid }}">
|
||||
<view class="apartment-item apartment-list" bindtap="publicJumps" data-url="/pages/irentDetail/irentDetail?uniqid={{ item.uniqid }}{{ schoolSidObj[school] ? '&school=' + schoolSidObj[school] : '' }}">
|
||||
<view class="apartment-top flexflex">
|
||||
<view class="apartment-top-collect flexcenter" catch:tap="bindCollect" data-index="{{ index }}">
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
"header-nav": "../../template/headerNav/index",
|
||||
"go-login": "../../template/goLogin/goLogin",
|
||||
"report": "../../template/report/report",
|
||||
"head-swiper": "../../template/headSwiper/headSwiper"
|
||||
"head-swiper": "../../template/headSwiper/headSwiper",
|
||||
"nearby-school": "/template/nearbySchool/nearbySchool"
|
||||
}
|
||||
}
|
@ -83,6 +83,7 @@
|
||||
</view>
|
||||
</map>
|
||||
</view>
|
||||
<nearby-school uniqid="{{ uniqid }}" options="{{ options }}" istype="{{ 2 }}"></nearby-school>
|
||||
</view>
|
||||
|
||||
<view class="apartment-block" wx:if="{{ traffic }}">
|
||||
|
@ -58,6 +58,7 @@ Page({
|
||||
schoolList: [],
|
||||
school: '',
|
||||
schoolObj: {},
|
||||
schoolSidObj: {},
|
||||
irenCouponReceive: null,
|
||||
irentCouponBig: false,
|
||||
hideCoupon: false,
|
||||
@ -331,12 +332,15 @@ Page({
|
||||
|
||||
|
||||
let schoolObj = {}
|
||||
let schoolSidObj = {}
|
||||
data.data.school.forEach(item => {
|
||||
schoolObj[item.id] = item.name
|
||||
schoolSidObj[item.id] = item.sid
|
||||
})
|
||||
|
||||
that.setData({
|
||||
schoolObj,
|
||||
schoolSidObj,
|
||||
schoolList: data.data.school,
|
||||
brands: that.data.brands,
|
||||
roomtype: that.data.roomtype,
|
||||
|
@ -39,7 +39,7 @@
|
||||
</view>
|
||||
|
||||
<template wx:if="{{ data.length == 0 && !loading }}" data="{{ hint: '暂无数据' }}" is="empty-icon"></template>
|
||||
<template wx:for="{{ data }}" wx:key="index" data="{{ item,index }}" is="apartment-item"></template>
|
||||
<template wx:for="{{ data }}" wx:key="index" data="{{ item, index, schoolSidObj, school }}" is="apartment-item"></template>
|
||||
</view>
|
||||
|
||||
<!-- 疑问 -->
|
||||
|
@ -109,7 +109,6 @@ Page({
|
||||
annexSchoolList: [], // 附近院校数据
|
||||
academyPitchIndex: 0, // 附近学校距离选中院校 下标
|
||||
targetAcademyPitch: [], // 附近学校距离选中院校 数据
|
||||
|
||||
specialSchoolDistance: null, // 特殊的 用户带有school参数 则需要特殊显示 学校距离
|
||||
|
||||
isShowVideo: true, // 是否显示 视频
|
||||
@ -200,7 +199,6 @@ Page({
|
||||
title: '加载中',
|
||||
})
|
||||
this.get_content();
|
||||
this.distanceSchool();
|
||||
}
|
||||
},
|
||||
get_config() {
|
||||
@ -219,7 +217,6 @@ Page({
|
||||
this.headHeight = headHeight
|
||||
|
||||
this.get_content();
|
||||
this.distanceSchool();
|
||||
} else {
|
||||
timer = setTimeout(() => {
|
||||
this.get_config()
|
||||
@ -1195,117 +1192,4 @@ Page({
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
// 获取 距离学校距离
|
||||
distanceSchool() {
|
||||
miucms.request(`${app.globalData.baseURL}/tenement/v2/api/details/distance`, {
|
||||
uniqid: this.data.uniqid,
|
||||
}).then(res => {
|
||||
// console.log("res", res);
|
||||
if (res.code != 200) return
|
||||
let data = res.data
|
||||
let specialSchoolDistance = null
|
||||
let academyPitchIndex = 0
|
||||
const school = this.data.options['school'] || ''
|
||||
let annexSchoolOmit = []
|
||||
data.forEach((element, index) => {
|
||||
// if (element.alias.length > 2) element.alias = element.alias.slice(0, 3) + '...'
|
||||
|
||||
element['distanceText'] = this.metersToKilometers(element.distance)
|
||||
element.list.forEach((ele, ii) => {
|
||||
ele['durationText'] = this.secondsToHoursMinutes(ele.duration, 'chinese')
|
||||
ele['durationText2'] = this.secondsToHoursMinutes(ele.duration)
|
||||
ele['distanceText'] = this.metersToKilometers(ele.distance)
|
||||
if (Object.prototype.toString.call(ele.publictransport) === '[object Object]') {
|
||||
ele.publictransport['durationText'] = this.secondsToHoursMinutes(ele?.publictransport?.duration || 0, 'chinese')
|
||||
ele.publictransport['durationText2'] = this.secondsToHoursMinutes(ele?.publictransport?.duration || 0)
|
||||
const segments = ele.publictransport['segments']
|
||||
if (Array.isArray(segments)) {
|
||||
segments.forEach(e => {
|
||||
// console.log("e", e);durationText
|
||||
e['via_num'] = 1 + Math.floor(e.via_num)
|
||||
e['durationText'] = this.secondsToHoursMinutes(e.duration)
|
||||
e['distanceText'] = this.metersToKilometers(e.distance, 'chinese')
|
||||
})
|
||||
}
|
||||
} else ele.publictransport = null
|
||||
|
||||
|
||||
if (ii == 0) {
|
||||
const obj = element.list[0] || {}
|
||||
let toolText = "步行"
|
||||
if (Object.prototype.toString.call(obj.publictransport) === '[object Object]') toolText = "公交地铁"
|
||||
element['distanceText'] = obj['distanceText']
|
||||
element['durationText'] = obj.publictransport?.durationText2 || obj['durationText2']
|
||||
element['toolText'] = toolText
|
||||
}
|
||||
})
|
||||
|
||||
if (school == element.id) {
|
||||
academyPitchIndex = index
|
||||
specialSchoolDistance = element
|
||||
} else annexSchoolOmit.push(element)
|
||||
console.log("element", element);
|
||||
})
|
||||
|
||||
if (specialSchoolDistance) annexSchoolOmit = annexSchoolOmit.slice(0, 5)
|
||||
else annexSchoolOmit = annexSchoolOmit.slice(0, 4)
|
||||
|
||||
this.setData({
|
||||
annexSchoolList: data,
|
||||
targetAcademyPitch: data[academyPitchIndex],
|
||||
annexSchoolOmit,
|
||||
specialSchoolDistance,
|
||||
academyPitchIndex,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 切换附近学校弹窗
|
||||
cutNearbySchools() {
|
||||
this.setData({
|
||||
academyState: true,
|
||||
})
|
||||
},
|
||||
|
||||
// 选择附近学校距离的学校下标
|
||||
selectAcademyIndex(e) {
|
||||
const academyPitchIndex = e.currentTarget.dataset.index || 0
|
||||
const annexSchoolList = this.data.annexSchoolList
|
||||
this.setData({
|
||||
academyPitchIndex,
|
||||
targetAcademyPitch: annexSchoolList[academyPitchIndex],
|
||||
})
|
||||
},
|
||||
|
||||
// 转换 秒数
|
||||
secondsToHoursMinutes(seconds, type) {
|
||||
// 计算小时数
|
||||
const hours = Math.floor(seconds / 3600);
|
||||
// 计算剩余的秒数
|
||||
const remainingSecondsAfterHours = seconds % 3600;
|
||||
// 计算分钟数
|
||||
const minutes = Math.floor(remainingSecondsAfterHours / 60);
|
||||
// 计算剩余的秒数
|
||||
const remainingSeconds = remainingSecondsAfterHours % 60;
|
||||
|
||||
let text = ""
|
||||
if (type == 'chinese') {
|
||||
if (hours != 0) text += hours + '小时'
|
||||
if (minutes != 0) text += minutes + '分钟'
|
||||
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + '秒'
|
||||
} else {
|
||||
if (hours != 0) text += hours + 'h'
|
||||
if (minutes != 0) text += minutes + 'min'
|
||||
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + 's'
|
||||
}
|
||||
return text
|
||||
},
|
||||
// 转换 米数
|
||||
metersToKilometers(input, type) {
|
||||
let text = ""
|
||||
if (input >= 1000) text = (input / 1000).toFixed(1) + (type == 'chinese' ? '公里' : 'km')
|
||||
else text = input + (type == 'chinese' ? '米' : 'm');
|
||||
return text;
|
||||
},
|
||||
})
|
@ -7,6 +7,7 @@
|
||||
"go-login": "../../template/goLogin/goLogin",
|
||||
"ads": "./ads/ads",
|
||||
"banner-ad": "../../template/bannerAD/bannerAD",
|
||||
"common-list": "/template/commonList/commonList"
|
||||
"common-list": "/template/commonList/commonList",
|
||||
"nearby-school": "/template/nearbySchool/nearbySchool"
|
||||
}
|
||||
}
|
@ -2,9 +2,9 @@
|
||||
<import src="../../wxParse/wxParse.wxml" />
|
||||
<wxs module="m">
|
||||
module.exports = {
|
||||
isArray: function (arr) {
|
||||
return arr.constructor == 'Array' ? true : false
|
||||
}
|
||||
isArray: function (arr) {
|
||||
return arr.constructor == 'Array' ? true : false
|
||||
}
|
||||
}
|
||||
</wxs>
|
||||
<view class="container" wx:if="{{ !loding }}">
|
||||
@ -30,7 +30,8 @@
|
||||
<view class="housing-info-right flexflex">
|
||||
<view class="housing-info-name flexacenter">
|
||||
{{ info.author }}
|
||||
<image wx:if="{{ isintermediary == 1 }}" class="housing-info-identity-icon" src="/img/certifying-agent.png"></image>
|
||||
<image wx:if="{{ isintermediary == 1 }}" class="housing-info-identity-icon"
|
||||
src="/img/certifying-agent.png"></image>
|
||||
<view wx:else class="housing-info-identity">{{ info.intermediary_text }}</view>
|
||||
</view>
|
||||
<view class="housing-info-update flexacenter">{{ info.updatetimeText }}更新
|
||||
@ -46,11 +47,14 @@
|
||||
|
||||
<view class="housing-information certification resource-beg">
|
||||
<view class="HResource-box HResource-box1">
|
||||
<view class="advanced-markup flexacenter {{ isintermediary == 1 ? 'advanced-intermediary' : '' }}" wx:if="{{ info.verified == 1 || isintermediary == 1 }}">
|
||||
<view class="advanced-markup flexacenter {{ isintermediary == 1 ? 'advanced-intermediary' : '' }}"
|
||||
wx:if="{{ info.verified == 1 || isintermediary == 1 }}">
|
||||
<view class="advanced-markup-left flexacenter ">
|
||||
<image class="advanced-markup-icon" mode="widthFix" src="/img/certified-listings-icon.png"></image>
|
||||
<image class="advanced-markup-identifying" mode="widthFix" src="/img/certified-listings.png"></image>
|
||||
<image class="advanced-markup-icon advanced-intermediary-icon" mode="widthFix" src="/img/certified-intermediary.png"></image>
|
||||
<image class="advanced-markup-identifying" mode="widthFix" src="/img/certified-listings.png">
|
||||
</image>
|
||||
<image class="advanced-markup-icon advanced-intermediary-icon" mode="widthFix"
|
||||
src="/img/certified-intermediary.png"></image>
|
||||
<view class="advanced-intermediary-name">认证中介</view>
|
||||
</view>
|
||||
|
||||
@ -78,14 +82,17 @@
|
||||
<!-- 租房类型、合租整租 房间 -->
|
||||
<template is="HResource-header-item" data="{{ name: info.gptype,value: info.type }}"></template>
|
||||
<!-- 租期 -->
|
||||
<template is="HResource-header-item" data="{{ name: '租期', value: info.rentalduration != 0 ? info.rentalduration: '不限' }}"></template>
|
||||
<template is="HResource-header-item"
|
||||
data="{{ name: '租期', value: info.rentalduration != 0 ? info.rentalduration: '不限' }}"></template>
|
||||
<!-- 起租日期 -->
|
||||
<template is="HResource-header-item" data="{{ name: '起租日期',value: info.leasetime || '随时' }}"></template>
|
||||
<template is="HResource-header-item"
|
||||
data="{{ name: '起租日期',value: info.leasetime || '随时' }}"></template>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 图片和视频 -->
|
||||
<view class="media-box" wx:if="{{ (info.video && info.video.length != 0) || (info.picturegroup && info.picturegroup.length != 0) }}">
|
||||
<view class="media-box"
|
||||
wx:if="{{ (info.video && info.video.length != 0) || (info.picturegroup && info.picturegroup.length != 0) }}">
|
||||
<view class="housing-information-media-top flexacenter">
|
||||
<block wx:if="{{ info.video && info.video.length != 0 }}">
|
||||
<image class="housing-information-media-icon1" src="/img/u1737.png" mode="widthFix"></image>
|
||||
@ -93,23 +100,27 @@
|
||||
</block>
|
||||
<block wx:if="{{ info.picturegroup && info.picturegroup.length != 0 }}">
|
||||
<image class="housing-information-media-icon" src="/img/u1738.png" mode="widthFix"></image>
|
||||
<view class="housing-information-media-quantity flexcenter">{{ info.picturegroup.length }}</view>
|
||||
<view class="housing-information-media-quantity flexcenter">{{ info.picturegroup.length }}
|
||||
</view>
|
||||
</block>
|
||||
</view>
|
||||
<view class="media-content">
|
||||
<scroll-view class="scroll-view_H" scroll-x="true" style="width: 100%">
|
||||
<block wx:if="{{ info.video && info.video.length>0 }}">
|
||||
<view class="media-item media-video" wx:for="{{ info.video }}" wx:key="index" bindtap="show_video" data-src="{{ item.url }}">
|
||||
<view class="media-item media-video" wx:for="{{ info.video }}" wx:key="index"
|
||||
bindtap="show_video" data-src="{{ item.url }}">
|
||||
<image class="media-video-bj" src="{{ item.image }}"></image>
|
||||
<view class="media-video-play">
|
||||
<image class="media-video-play-icon" mode="widthFix" src="/img/videoplay.png"></image>
|
||||
<image class="media-video-play-icon" mode="widthFix" src="/img/videoplay.png">
|
||||
</image>
|
||||
<view class="size">{{ item.size }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</block>
|
||||
<block wx:if="{{ info.images && info.images.length>0 }}">
|
||||
<view class="media-item" wx:for="{{ info.picturegroup }}" wx:key="index">
|
||||
<image mode="heightFix" src="{{ item.thumbnail }}" bindtap="preview_img" lazy-load="true" data-index="{{ index }}"></image>
|
||||
<image mode="heightFix" src="{{ item.thumbnail }}" bindtap="preview_img"
|
||||
lazy-load="true" data-index="{{ index }}"></image>
|
||||
</view>
|
||||
</block>
|
||||
</scroll-view>
|
||||
@ -122,9 +133,12 @@
|
||||
<image class="HResource-item-head-icon" src="/img/ask-for.png" mode="widthFix"></image>
|
||||
基本{{ info['intermediary'] == 6 ? '要求' : '信息' }}
|
||||
</view>
|
||||
<view class="HResource-item-list {{ info['intermediary'] == 6 ? 'basic-list-aLine' : 'basic-list-twoLine' }}">
|
||||
<view
|
||||
class="HResource-item-list {{ info['intermediary'] == 6 ? 'basic-list-aLine' : 'basic-list-twoLine' }}">
|
||||
<block wx:for="{{ basicRequirementsObj }}" wx:key="index">
|
||||
<view class="basic-item-Line flexacenter {{ index == basicRequirementsObj.length - 1 ? 'flex1' : '' }}" wx:if="{{ item.value }}">
|
||||
<view
|
||||
class="basic-item-Line flexacenter {{ index == basicRequirementsObj.length - 1 ? 'flex1' : '' }}"
|
||||
wx:if="{{ item.value }}">
|
||||
<view class="basic-Line-key">{{ item.name }}</view>
|
||||
<view class="basic-Line-value flex1 flexacenter" wx:if="{{ m.isArray(item.value) }}">
|
||||
<block wx:for="{{ item.value }}" wx:for-item="it" wx:for-index="ind" wx:key="ind">
|
||||
@ -161,10 +175,13 @@
|
||||
{{ info.locationList[0].head + ' > ' + info.locationList[0].end }}
|
||||
</view>
|
||||
<!-- 地图 -->
|
||||
<block wx:if="{{ info.cityid==1 && info.point && info.point.length==2 && info.point[0]>0 && info.point[1]>0 }}">
|
||||
<block
|
||||
wx:if="{{ info.cityid==1 && info.point && info.point.length==2 && info.point[0]>0 && info.point[1]>0 }}">
|
||||
<view class="location">
|
||||
<map class="map" latitude='{{ info.point[0] }}' longitude='{{ info.point[1] }}' markers="{{ markers }}"></map>
|
||||
<view class="location-bj" catchtouchmove="locationmove" bindtap='to_map' data-longitude="{{ info.point[1] || '' }}" data-latitude="{{ info.point[0] || '' }}">
|
||||
<map class="map" latitude='{{ info.point[0] }}' longitude='{{ info.point[1] }}'
|
||||
markers="{{ markers }}"></map>
|
||||
<view class="location-bj" catchtouchmove="locationmove" bindtap='to_map'
|
||||
data-longitude="{{ info.point[1] || '' }}" data-latitude="{{ info.point[0] || '' }}">
|
||||
<view class="location-site" wx:if="{{ info.address }}">
|
||||
<image class="tracingPoint" mode="widthFix" src="/img/u1704.png"></image>
|
||||
<view class="location-name">{{ info.address }}</view>
|
||||
@ -172,51 +189,15 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- 附近学校 -->
|
||||
<view class="school {{ specialSchoolDistance ? 'special' : '' }}" bindtap="cutNearbySchools" wx:if="{{ annexSchoolOmit.length != 0 && options['school'] }}">
|
||||
<view class="school-item {{ specialSchoolDistance.durationText ? 'durationText' : '' }}" wx:if="{{ specialSchoolDistance }}">
|
||||
<text class="school-name">{{ specialSchoolDistance.alias }}</text>
|
||||
<text class="school-distance">{{ specialSchoolDistance.distanceText }}</text>
|
||||
<block wx:if="{{ specialSchoolDistance.durationText }}">
|
||||
<text class="long-string">|</text>
|
||||
<text class="school-name" style="font-size: 21rpx;">{{ specialSchoolDistance.toolText }}</text>
|
||||
<text class="school-distance">{{ specialSchoolDistance.durationText }}</text>
|
||||
</block>
|
||||
</view>
|
||||
<view class="school-item" wx:for="{{ annexSchoolOmit }}" wx:key="index">
|
||||
<text class="school-name">{{ item.alias }}</text>
|
||||
<text class="school-distance">{{ item.distanceText }}</text>
|
||||
</view>
|
||||
<!-- 更多 -->
|
||||
<view class="school-item more">
|
||||
<text class="school-name">更多</text>
|
||||
<image class="more-icon" mode="widthFix" src="/img/u1908.svg"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="school-new flexacenter" wx:if="{{ annexSchoolOmit.length != 0 && !options['school'] }}" bindtap="cutNearbySchools">
|
||||
<view class="school-new-list flex1">
|
||||
<view class="school-new-item flexcenter" wx:for="{{ annexSchoolOmit }}" wx:key="indexS">
|
||||
{{ item.alias }}
|
||||
<text class="school-new-text">{{ item.distanceText }}</text>
|
||||
<image wx:if="{{ item.toolText == '公交地铁' }}" class="school-new-icon" mode="widthFix" src="/img/subway-icon.png"></image>
|
||||
<image wx:else class="school-new-icon" mode="widthFix" src="/img/walk-icon.png"></image>
|
||||
<text class="school-new-text">{{ item.durationText }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="school-new-more flexcenter">
|
||||
更多<image class="school-new-more-icon" src="/img/u1908.svg"></image>
|
||||
</view>
|
||||
|
||||
</view>
|
||||
<nearby-school uniqid="{{ uniqid }}" options="{{ options }}" istype="{{ 1 }}"></nearby-school>
|
||||
</block>
|
||||
</view>
|
||||
|
||||
<!-- 求租描述 -->
|
||||
<view class="HResource-item" wx:if="{{ info.introduction }}">
|
||||
<view class="HResource-item-head flexacenter">
|
||||
<image class="HResource-item-head-icon" src="/img/description-rent.png" mode="widthFix"></image>{{ info.intermediary == 6 ? '求租描述' : '更多介绍' }}
|
||||
<image class="HResource-item-head-icon" src="/img/description-rent.png" mode="widthFix"></image>
|
||||
{{ info.intermediary == 6 ? '求租描述' : '更多介绍' }}
|
||||
</view>
|
||||
<view class="HResource-item-list rent-seeking-description">
|
||||
<template is="wxParse" data="{{ wxParseData:info.introduction.nodes }}" />
|
||||
@ -234,7 +215,8 @@
|
||||
<template is="footer1" data="{{ info,isfav,bottomLift,bottomUnitState }}"></template>
|
||||
|
||||
<!-- 联系方式弹窗 -->
|
||||
<view class="root-portal" style="display: flex;align-items: flex-end;" bindtap="negation" data-key="contactInformationState" wx:if="{{ contactInformationState }}" catchtouchmove="locationmove">
|
||||
<view class="root-portal" style="display: flex;align-items: flex-end;" bindtap="negation"
|
||||
data-key="contactInformationState" wx:if="{{ contactInformationState }}" catchtouchmove="locationmove">
|
||||
<!-- <template is="root-portal" data="{{ info }}"></template> -->
|
||||
<template is="new-contact-information" data="{{ info,contactValue }}"></template>
|
||||
</view>
|
||||
@ -250,14 +232,20 @@
|
||||
<image class="housing-contact-icon" mode="widthFix" src="/img/certifying-agent.png"></image>
|
||||
</view>
|
||||
<view class="housing-contact-detail">
|
||||
<view wx:if="{{ contacts.businesscard }}" class="contact-business-card flexcenter" bindtap="showBusinessCard">
|
||||
<image class="contact-business-card-icon" mode="widthFix" src="/img/business-card-icon.png"></image>
|
||||
<view wx:if="{{ contacts.businesscard }}" class="contact-business-card flexcenter"
|
||||
bindtap="showBusinessCard">
|
||||
<image class="contact-business-card-icon" mode="widthFix" src="/img/business-card-icon.png">
|
||||
</image>
|
||||
名片
|
||||
</view>
|
||||
<view wx:if="{{ contacts.proxynumber }}" class="housing-contact-item">代理人牌照号:{{ contacts.proxynumber }}</view>
|
||||
<view wx:if="{{ contacts.companyname }}" class="housing-contact-item">所属公司:{{ contacts.companyname }}</view>
|
||||
<view wx:if="{{ contacts.companyaddress }}" class="housing-contact-item">公司地址:{{ contacts.companyaddress }}</view>
|
||||
<view wx:if="{{ contacts.companylicensenumber }}" class="housing-contact-item">公司牌照号:{{ contacts.companylicensenumber }}</view>
|
||||
<view wx:if="{{ contacts.proxynumber }}" class="housing-contact-item">
|
||||
代理人牌照号:{{ contacts.proxynumber }}</view>
|
||||
<view wx:if="{{ contacts.companyname }}" class="housing-contact-item">
|
||||
所属公司:{{ contacts.companyname }}</view>
|
||||
<view wx:if="{{ contacts.companyaddress }}" class="housing-contact-item">
|
||||
公司地址:{{ contacts.companyaddress }}</view>
|
||||
<view wx:if="{{ contacts.companylicensenumber }}" class="housing-contact-item">
|
||||
公司牌照号:{{ contacts.companylicensenumber }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -265,7 +253,8 @@
|
||||
|
||||
<!-- 其他认证房源 -->
|
||||
<view class="other-information else-box" wx:if="{{ attestationElseResource.length != 0 }}">
|
||||
<view class="other-information-name flexacenter">发布者的其他{{ info['intermediary'] == 1 ? '' : '认证' }}房源<view class="else-quantity">({{ attestationElseResource.length }})</view>
|
||||
<view class="other-information-name flexacenter">发布者的其他{{ info['intermediary'] == 1 ? '' : '认证' }}房源<view
|
||||
class="else-quantity">({{ attestationElseResource.length }})</view>
|
||||
</view>
|
||||
<block wx:for="{{ attestationElseResource }}">
|
||||
<common-list item="{{ item }}"></common-list>
|
||||
@ -280,14 +269,17 @@
|
||||
<view id="pinterest-list-left" class="pinterest-list-left flex1">
|
||||
<block wx:for="{{ listDataLeft }}" wx:key="index">
|
||||
<template wx:if="{{item.type == 'adv'}}" is="adv" data="{{ item }}"></template>
|
||||
<template wx:elif="{{item.type == 'apartment'}}" is="apartmentApartment" data="{{ item,bgColorObj }}"></template>
|
||||
<template wx:elif="{{item.type == 'apartment'}}" is="apartmentApartment"
|
||||
data="{{ item,bgColorObj }}"></template>
|
||||
<template wx:else is="general" data="{{ item,bgColorObj }}"></template>
|
||||
</block>
|
||||
</view>
|
||||
<view id="pinterest-list-right" class="pinterest-list-right flex1" style="display:flex;flex-direction:column;align-items: flex-end;">
|
||||
<view id="pinterest-list-right" class="pinterest-list-right flex1"
|
||||
style="display:flex;flex-direction:column;align-items: flex-end;">
|
||||
<block wx:for="{{ listDataRight }}" wx:key="index">
|
||||
<template wx:if="{{item.type == 'adv'}}" is="adv" data="{{ item }}"></template>
|
||||
<template wx:elif="{{item.type == 'apartment'}}" is="apartmentApartment" data="{{ item,bgColorObj }}"></template>
|
||||
<template wx:elif="{{item.type == 'apartment'}}" is="apartmentApartment"
|
||||
data="{{ item,bgColorObj }}"></template>
|
||||
<template wx:else is="general" data="{{ item,bgColorObj }}"></template>
|
||||
</block>
|
||||
</view>
|
||||
@ -313,94 +305,6 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 房源距离院校弹窗 -->
|
||||
<view class="root-portal" wx:if="{{ academyState }}">
|
||||
<view class="root-portal-bj" bindtap="negation" data-key="academyState"></view>
|
||||
<view class="academy-pop">
|
||||
<!-- 关闭 -->
|
||||
<image class="pop-close" bindtap="negation" data-key="academyState" src="/img/u1849.svg"></image>
|
||||
<view class="academy-headline flexcenter">
|
||||
房源<image class="academy-headline-icon" src="https://app.gter.net/image/miniApp/HKRenting/arrows-green.svg" mode="widthFix"></image>院校
|
||||
</view>
|
||||
<view class="academy-box flexflex">
|
||||
<view class="academy-left">
|
||||
<scroll-view class="scroll-view" scroll-y style="height: 100%;max-height: 70vh;">
|
||||
<view class="school-item flexcenter {{ index == academyPitchIndex ? 'pitch' : '' }}" wx:for="{{ annexSchoolList }}" wx:key="index" bind:tap="selectAcademyIndex" data-index="{{ index }}">{{ item.alias }}</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="academy-right flex1">
|
||||
<scroll-view class="scroll-view" scroll-y style="height: 100%;">
|
||||
<view class="academy-right-header flexacenter">
|
||||
<view class="school-icon-box flexcenter">
|
||||
<image class="school-icon" mode="widthFix" src="/img/u1834.png"></image>
|
||||
</view>
|
||||
{{ targetAcademyPitch.school }}
|
||||
</view>
|
||||
<view class="academy-school-hint">本数据来自高德地图,仅供参考。</view>
|
||||
<view class="academy-school-item" wx:for="{{ targetAcademyPitch.list }}" wx:key="index">
|
||||
<view class="academy-school-item-header flexacenter">
|
||||
<view class="academy-school-item-left flexacenter">
|
||||
<view class="academy-school-item-name">{{ item.title }}</view>
|
||||
<view class="academy-school-item-number">{{ item.distanceText || '1km' }}</view>
|
||||
</view>
|
||||
<view class="academy-school-item-right flexacenter">
|
||||
<image wx:if="{{ item.publictransport }}" class="academy-school-item-icon" src="/img/subway-icon.png" mode="widthFix"></image>
|
||||
<image wx:else class="academy-school-item-icon" src="/img/walk-icon.png" mode="widthFix"></image>
|
||||
<view class="academy-school-item-time">{{ item.publictransport['durationText'] || item.durationText || '1分钟'}}</view>
|
||||
</view>
|
||||
<image class="arrow-green" mode="widthFix" src="/img/arrow-green.svg"></image>
|
||||
</view>
|
||||
<view class="academy-school-item-journey" wx:if="{{ item.publictransport }}">
|
||||
<view class="journey-item flexacenter" wx:for="{{ item.publictransport.segments }}">
|
||||
<view class="circle"></view>
|
||||
<!-- 步行 骑行 -->
|
||||
<view wx:if="{{ item.type == 'walking' }}" class="journey-value flex1">步行{{ item.distanceText }}</view>
|
||||
<!-- 地铁 -->
|
||||
<view wx:elif="{{ item.type == 'bus' && item.bustype == '地铁线路' }}" class="journey-value flex1 subway flexacenter">
|
||||
<view class="subway-name flexcenter">{{ item.name }}</view>
|
||||
<view class="flex1" style="white-space:nowrap;">{{ item.via_num }}站·{{ item.durationText }}</view>
|
||||
</view>
|
||||
<!-- 公交 -->
|
||||
<view wx:elif="{{ item.type == 'bus' && item.bustype == '普通公交线路' }}" class="journey-value flex1 bus flexacenter">
|
||||
<view class="bus-name flexcenter">{{ item.name }}</view>
|
||||
<view class="flex1" style="white-space:nowrap;">{{ item.via_num }}站·{{ item.durationText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<!-- <scroll-view scroll-y style="height: 100%;">
|
||||
<view class="academy-item">
|
||||
<view class="academy-title">
|
||||
<view class="academy-icon-box">
|
||||
<image class="academy-icon" mode="widthFix" src="/img/u1827.png"></image>
|
||||
</view>
|
||||
<view class="academy-place">
|
||||
{{ info.address }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="school-list"></view>
|
||||
</view>
|
||||
<view class="academy-item" wx:for="{{ info.pointData }}" wx:key="index">
|
||||
<view class="academy-title">
|
||||
<view class="academy-icon-box">
|
||||
<image class="academy-icon" mode="widthFix" src="/img/u1834.png"></image>
|
||||
</view>
|
||||
<view class="academy-place">{{ item.name }}</view>
|
||||
</view>
|
||||
<view class="school-list">
|
||||
<view class="school-item" wx:for="{{ item.point }}" wx:for-item="it" wx:for-index="i" wx:key="index">
|
||||
<view class="school-name">{{ it.title }}</view>
|
||||
<view class="school-distance">{{ it.distance }} 公里</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view> -->
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 认证房东的 联系方式模板 -->
|
||||
<template name="certificationContact">
|
||||
<view class="contactInformation-item">
|
||||
@ -475,13 +379,19 @@
|
||||
<template name="disclaimer">
|
||||
<view class="disclaimer">
|
||||
<view class="disclaimer-title">免责声明</view>
|
||||
<view class="disclaimer-item" bindtap="publicCopy" data-value="{{ info.id }}"><text>房源ID:{{ info.id }}</text>(点击可复制)</view>
|
||||
<view class="disclaimer-item" bindtap="publicCopy" data-value="{{ info.id }}">
|
||||
<text>房源ID:{{ info.id }}</text>(点击可复制)
|
||||
</view>
|
||||
<view class="disclaimer-item">发布者对房源信息的真实性、合法性等负责,平台不负责甄别和审核具体内容真实性和有效性等,请务必仔细核实相关信息,谨防上当受骗。</view>
|
||||
<view class="disclaimer-item">如房源信息中有内容侵犯了您的合法权益,可点击屏幕右侧的举报或联系寄托方同学<view bindtap="publicCopy" data-value="gternet2">(微信号<text>gternet2</text>,点击可复制)</view>,我们会及时处理。谢谢!</view>
|
||||
<view class="disclaimer-item">公寓/酒店/中介房源推广合作请联系:<view bindtap="publicCopy" data-value="ad@gter.net"><text>ad@gter.net</text>(点击可复制)</view>
|
||||
<view class="disclaimer-item">如房源信息中有内容侵犯了您的合法权益,可点击屏幕右侧的举报或联系寄托方同学<view bindtap="publicCopy"
|
||||
data-value="gternet2">(微信号<text>gternet2</text>,点击可复制)</view>,我们会及时处理。谢谢!</view>
|
||||
<view class="disclaimer-item">公寓/酒店/中介房源推广合作请联系:<view bindtap="publicCopy" data-value="ad@gter.net">
|
||||
<text>ad@gter.net</text>(点击可复制)
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<image wx:if="{{ wechat.service }}" show-menu-by-longpress mode="widthFix" class="service" src="{{ wechat.service }}"></image>
|
||||
<image wx:if="{{ wechat.service }}" show-menu-by-longpress mode="widthFix" class="service"
|
||||
src="{{ wechat.service }}"></image>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
@ -516,7 +426,8 @@
|
||||
<view>备注:寄托租房</view>
|
||||
</view>
|
||||
<view class="contactInformation-right">
|
||||
<image class="contactInformation-icon" show-menu-by-longpress="true" src="{{ info.wechatdata.url }}"></image>
|
||||
<image class="contactInformation-icon" show-menu-by-longpress="true"
|
||||
src="{{ info.wechatdata.url }}"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -524,17 +435,20 @@
|
||||
|
||||
<!-- 微信号 -->
|
||||
<block wx:if="{{ info.wechat }}">
|
||||
<template is="certificationContact" data="{{ name: '微信号' ,value:info.wechat,num: 'wechat' }}"></template>
|
||||
<template is="certificationContact"
|
||||
data="{{ name: '微信号' ,value:info.wechat,num: 'wechat' }}"></template>
|
||||
</block>
|
||||
|
||||
<!-- WhatsApp -->
|
||||
<block wx:if="{{ info.whatsapp }}">
|
||||
<template is="certificationContact" data="{{ name: 'WhatsApp' ,value:info.whatsapp,num: 'whatsapp' }}"></template>
|
||||
<template is="certificationContact"
|
||||
data="{{ name: 'WhatsApp' ,value:info.whatsapp,num: 'whatsapp' }}"></template>
|
||||
</block>
|
||||
|
||||
<!-- 电话号码 -->
|
||||
<block wx:if="{{ info.tel }}">
|
||||
<template is="certificationContact" data="{{ name: '电话号码' ,value:info.tel,num: 'tel',dial: true }}"></template>
|
||||
<template is="certificationContact"
|
||||
data="{{ name: '电话号码' ,value:info.tel,num: 'tel',dial: true }}"></template>
|
||||
</block>
|
||||
</view>
|
||||
</view>
|
||||
@ -549,17 +463,20 @@
|
||||
<view class="new-contact-information-title">{{ item.name }}</view>
|
||||
<block wx:if="{{ item.key == 'wechatdata' }}">
|
||||
<view class="new-contact-wechart-box flexcenter">
|
||||
<image class="new-contact-wechart-icon" show-menu-by-longpress mode="widthFix" src="{{ item.value['url'] }}"></image>
|
||||
<image class="new-contact-wechart-icon" show-menu-by-longpress mode="widthFix"
|
||||
src="{{ item.value['url'] }}"></image>
|
||||
</view>
|
||||
<view class="new-contact-wechart-text">长按二维码添加好友,备注:寄托租房</view>
|
||||
</block>
|
||||
<block wx:else>
|
||||
<view class="new-contact-information-number">{{ item.value }}</view>
|
||||
<view class="new-contact-information-btn flexcenter">
|
||||
<view class="new-contact-information-btn-item flexcenter" wx:if="{{ item.key == 'tel' }}" bindtap="call_us">
|
||||
<view class="new-contact-information-btn-item flexcenter" wx:if="{{ item.key == 'tel' }}"
|
||||
bindtap="call_us">
|
||||
<image class="new-contact-information-btn-icon phone" src="/img/phone-icon.png"></image>拨打
|
||||
</view>
|
||||
<view class="new-contact-information-btn-item flexcenter" bindtap="publicCopy" data-value="{{ item.value }}">
|
||||
<view class="new-contact-information-btn-item flexcenter" bindtap="publicCopy"
|
||||
data-value="{{ item.value }}">
|
||||
<image class="new-contact-information-btn-icon" src="/img/copy-icon.png"></image>复制
|
||||
</view>
|
||||
</view>
|
||||
|
@ -401,44 +401,6 @@ map .clickmap {
|
||||
font-size: 26rpx;
|
||||
}
|
||||
|
||||
|
||||
.school-list .li {
|
||||
padding: 10rpx 36rpx 10rpx 58rpx;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.school-list .li .school {
|
||||
display: inline-flex;
|
||||
flex-direction: column;
|
||||
|
||||
}
|
||||
|
||||
.school-list .li .name {
|
||||
color: #666;
|
||||
font-size: 28rpx;
|
||||
font-weight: 400;
|
||||
margin-bottom: 8rpx;
|
||||
}
|
||||
|
||||
.school-list .li .gate {
|
||||
font-size: 26rpx;
|
||||
color: #999;
|
||||
word-break: break-word;
|
||||
}
|
||||
|
||||
.school-list .point {
|
||||
margin-top: 14rpx;
|
||||
display: inline-flex;
|
||||
flex: 0 0 10rpx;
|
||||
width: 10rpx;
|
||||
height: 10rpx;
|
||||
background: #333;
|
||||
border-radius: 50%;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.traffic .around-school-img {
|
||||
width: 32rpx;
|
||||
height: 32rpx;
|
||||
@ -564,7 +526,6 @@ map .clickmap {
|
||||
|
||||
.around-school-alert .school .icon,
|
||||
.school-list .li .school .icon {
|
||||
/* position: absolute; */
|
||||
left: -50rpx;
|
||||
top: 8rpx;
|
||||
width: 25rpx;
|
||||
@ -592,7 +553,6 @@ map .clickmap {
|
||||
}
|
||||
|
||||
.ad-contact {
|
||||
/* padding: 0 30rpx 40rpx; */
|
||||
padding: 0 30rpx 64rpx;
|
||||
color: #999;
|
||||
font-size: 24rpx;
|
||||
@ -1043,87 +1003,6 @@ map .clickmap {
|
||||
max-width: 540rpx;
|
||||
}
|
||||
|
||||
.certification .school {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.certification .school .school-item {
|
||||
width: 160rpx;
|
||||
height: 54rpx;
|
||||
line-height: 54rpx;
|
||||
border-radius: 15rpx;
|
||||
border: 2rpx solid #e6e6e6;
|
||||
margin: 0 16rpx 15rpx 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item:first-of-type {
|
||||
background: -webkit-linear-gradient(170.909723079178deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: -moz-linear-gradient(-80.9097230791777deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: linear-gradient(-80.9097230791777deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
font-size: 21rpx;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item.durationText:first-of-type {
|
||||
width: 337.5rpx;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item:first-of-type .school-name {
|
||||
color: #fff;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item:first-of-type .school-distance {
|
||||
color: #fff;
|
||||
font-size: 21rpx;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item:first-of-type .long-string {
|
||||
color: #fff;
|
||||
font-size: 21rpx;
|
||||
margin: 0 10rpx;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item:nth-child(3),
|
||||
.certification .school.special .school-item:nth-child(7) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.certification .school .school-item:nth-of-type(4n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.certification .school.special .school-item:nth-of-type(4n) {
|
||||
margin-right: 16rpx;
|
||||
}
|
||||
|
||||
.certification .school .school-name {
|
||||
font-size: 24rpx;
|
||||
color: #333;
|
||||
margin-right: 6rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 3em;
|
||||
}
|
||||
|
||||
.certification .school .school-distance {
|
||||
/* color: #62b1ff; */
|
||||
color: #8162FF;
|
||||
font-size: 21rpx;
|
||||
}
|
||||
|
||||
.certification .school .more-icon {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
|
||||
.certification .information-box,
|
||||
.certification .otherDescription-box {
|
||||
padding: 0 30rpx;
|
||||
@ -1302,8 +1181,7 @@ map .clickmap {
|
||||
padding: 30rpx 30rpx 0;
|
||||
}
|
||||
|
||||
.certification .contactInformation-pop,
|
||||
.academy-pop {
|
||||
.certification .contactInformation-pop {
|
||||
width: 750rpx;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
@ -1313,8 +1191,7 @@ map .clickmap {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.certification .contactInformation-headline,
|
||||
.academy-headline {
|
||||
.certification .contactInformation-headline {
|
||||
font-size: 36rpx;
|
||||
font-weight: 650;
|
||||
color: #000;
|
||||
@ -1323,17 +1200,6 @@ map .clickmap {
|
||||
border-bottom: 1rpx solid #ebebeb;
|
||||
}
|
||||
|
||||
.academy-headline .academy-headline-icon {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
margin: 0 30rpx;
|
||||
}
|
||||
|
||||
.certification .contactInformation-box,
|
||||
.academy-box {
|
||||
/* margin-top: 45rpx; */
|
||||
}
|
||||
|
||||
.certification .contactInformation-box .contactInformation-item {
|
||||
margin: 0 30rpx;
|
||||
background-color: #fff;
|
||||
@ -1424,92 +1290,6 @@ map .clickmap {
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
|
||||
.academy-pop {
|
||||
background-color: #fff;
|
||||
width: 100vw;
|
||||
max-height: 85vh;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
.academy-box {
|
||||
/* display: flex;s */
|
||||
/* flex-direction: column; */
|
||||
/* height: 70vh; */
|
||||
/* overflow-y: scroll; */
|
||||
}
|
||||
|
||||
.academy-box .academy-item {
|
||||
margin-left: 57rpx;
|
||||
border-left: 2rpx dotted #e7e7e7;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-item:last-child {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.academy-box .academy-item .academy-title {
|
||||
font-weight: bold;
|
||||
font-size: 27rpx;
|
||||
color: #333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 6rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-icon-box {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
line-height: 54rpx;
|
||||
background-color: #ffcc17;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: -27rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-item:not(:first-child) .academy-icon-box {
|
||||
background-color: rgba(98, 177, 255, 1);
|
||||
}
|
||||
|
||||
.academy-box .academy-icon {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-title .academy-place {
|
||||
margin-left: 24rpx;
|
||||
}
|
||||
|
||||
.academy-box .school-list {
|
||||
padding-left: 54rpx;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.academy-box .school-list .school-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 54rpx;
|
||||
background-color: rgba(242, 242, 242, 0.69803922);
|
||||
border-radius: 51rpx;
|
||||
padding: 0 14rpx;
|
||||
margin-right: 15rpx;
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.academy-box .school-item .school-name {
|
||||
font-size: 24rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.academy-box .school-item .school-distance {
|
||||
font-size: 21rpx;
|
||||
color: #62b1ff;
|
||||
margin-left: 14rpx;
|
||||
}
|
||||
|
||||
.certification .user-info {
|
||||
margin-bottom: 36rpx;
|
||||
}
|
||||
@ -2130,14 +1910,6 @@ map .clickmap {
|
||||
font-size: 30rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-icon-box {
|
||||
background-color: #ffcc17;
|
||||
}
|
||||
|
||||
.academy-box .academy-item:not(:first-child) .academy-icon-box {
|
||||
background-color: #50e3c2;
|
||||
}
|
||||
|
||||
.housing-information .location-box {
|
||||
padding-bottom: 0;
|
||||
}
|
||||
@ -2321,278 +2093,9 @@ map .clickmap {
|
||||
height: 36rpx;
|
||||
}
|
||||
|
||||
|
||||
.service {
|
||||
width: calc(100vw - 60rpx);
|
||||
height: 300rpx;
|
||||
margin: 10rpx auto 0;
|
||||
border-radius: 10rpx;
|
||||
}
|
||||
|
||||
.academy-left {
|
||||
width: 105rpx;
|
||||
border-right: 1rpx solid #ebebeb;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
}
|
||||
|
||||
.academy-left .school-item {
|
||||
width: 100%;
|
||||
height: 105rpx;
|
||||
font-size: 24rpx;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.academy-box {
|
||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||
}
|
||||
|
||||
.academy-box .school-item.pitch {
|
||||
color: #fff;
|
||||
background: -webkit-linear-gradient(135deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: -moz-linear-gradient(-45deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: linear-gradient(-45deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
}
|
||||
|
||||
.academy-box .academy-right {
|
||||
padding: 45rpx 30rpx 50rpx 46.5rpx;
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
max-height: 69vh;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .scroll-view {
|
||||
/* padding-bottom: 100rpx; */
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-right-header {
|
||||
color: #000;
|
||||
font-size: 30rpx;
|
||||
font-weight: 650;
|
||||
/* margin-bottom: 46rpx; */
|
||||
margin-bottom: 30rpx;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
}
|
||||
|
||||
|
||||
.academy-box .academy-right .academy-right-header .school-icon-box {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #fddf6d;
|
||||
margin-right: 15rpx;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.academy-box .academy-right .academy-right-header .school-icon-box .school-icon {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 45rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-header {
|
||||
font-size: 27rpx;
|
||||
width: 570rpx;
|
||||
height: 103.5rpx;
|
||||
justify-content: space-between;
|
||||
padding-left: 33rpx;
|
||||
padding-right: 30rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-header .arrow-green {
|
||||
width: 10.5rpx;
|
||||
height: 18rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-name {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-number {
|
||||
color: rgb(51, 51, 51);
|
||||
margin-left: 6rpx;
|
||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-time {
|
||||
color: #000;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-journey {
|
||||
border-top: 1rpx solid #ebebeb;
|
||||
padding-top: 33rpx;
|
||||
padding-left: 33rpx;
|
||||
padding-bottom: 39rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
.journey-item {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.journey-item:not(:last-of-type) {
|
||||
margin-bottom: 39rpx;
|
||||
}
|
||||
|
||||
.academy-school-item-journey::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 39.25rpx;
|
||||
width: 1rpx;
|
||||
height: 100%;
|
||||
display: block;
|
||||
background-image: linear-gradient(to bottom, #aaaaaa 50%, transparent 50%);
|
||||
background-size: 1px 4px;
|
||||
/* 控制虚线的宽度和间距 */
|
||||
}
|
||||
|
||||
.journey-item:first-of-type::after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -33rpx;
|
||||
left: 0;
|
||||
width: 13.5rpx;
|
||||
height: calc(50% + 33rpx);
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
/* z-index: 2; */
|
||||
}
|
||||
|
||||
.journey-item:last-of-type::after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -39rpx;
|
||||
left: 0;
|
||||
width: 13.5rpx;
|
||||
height: calc(50% + 39rpx);
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
/* z-index: 2; */
|
||||
}
|
||||
|
||||
.journey-item .circle {
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #f6f6f6;
|
||||
border: 1rpx solid #797979;
|
||||
box-sizing: border-box;
|
||||
margin-right: 30rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.journey-item .journey-value {
|
||||
color: #333;
|
||||
font-size: 22.5rpx;
|
||||
padding-right: 30rpx;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.subway {
|
||||
font-size: 22.5rpx;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.subway .subway-name {
|
||||
padding: 5rpx 9.5rpx;
|
||||
background-color: rgba(51, 51, 51, 1);
|
||||
border-radius: 15rpx;
|
||||
color: #fff;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.bus {
|
||||
font-size: 22.5rpx;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.bus .bus-name {
|
||||
padding: 5rpx 9.5rpx;
|
||||
background-color: rgba(80, 227, 194, 0);
|
||||
box-sizing: border-box;
|
||||
border: 1rpx solid rgba(51, 51, 51, 1);
|
||||
border-radius: 15rpx;
|
||||
margin-right: 15rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.academy-school-hint {
|
||||
color: #a09e9e;
|
||||
font-size: 22.5rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.school-new {
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item {
|
||||
width: 270rpx;
|
||||
height: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 15rpx;
|
||||
box-shadow: 15rpx;
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
display: inline-flex;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item:not(:nth-last-child(-n+2)) {
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item:not(:nth-child(even)) {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item .school-new-text {
|
||||
color: #8162FF;
|
||||
font-size: 21rpx;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item .school-new-icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-more {
|
||||
width: 117rpx;
|
||||
height: 123rpx;
|
||||
background-color: #f6f6f6;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 15rpx;
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.school-new .school-new-more .school-new-more-icon {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-left: 9rpx;
|
||||
}
|
160
template/nearbySchool/nearbySchool.js
Normal file
160
template/nearbySchool/nearbySchool.js
Normal file
@ -0,0 +1,160 @@
|
||||
// template/nearbySchool/nearbySchool.js
|
||||
const app = getApp()
|
||||
var miucms = require('../../utils/miucms.js');
|
||||
|
||||
Component({
|
||||
|
||||
/**
|
||||
* 组件的属性列表
|
||||
*/
|
||||
properties: {
|
||||
uniqid: {
|
||||
type: String,
|
||||
observer(res) {
|
||||
this.distanceSchool()
|
||||
}
|
||||
},
|
||||
options: {
|
||||
type: Object,
|
||||
observer(res) {
|
||||
console.log("res,options", res);
|
||||
}
|
||||
},
|
||||
istype: Number,
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的初始数据
|
||||
*/
|
||||
data: {
|
||||
annexSchoolOmit: [], // 附近院校 前面 7个 或者 6个的
|
||||
annexSchoolList: [], // 附近院校数据
|
||||
academyPitchIndex: 0, // 附近学校距离选中院校 下标
|
||||
targetAcademyPitch: [], // 附近学校距离选中院校 数据
|
||||
specialSchoolDistance: null, // 特殊的 用户带有school参数 则需要特殊显示 学校距离
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 组件的方法列表
|
||||
*/
|
||||
methods: {
|
||||
// 获取 距离学校距离
|
||||
distanceSchool() {
|
||||
miucms.request(`${app.globalData.baseURL}/tenement/v2/api/details/distance`, {
|
||||
uniqid: this.data.uniqid,
|
||||
istype: this.data.istype,
|
||||
}).then(res => {
|
||||
if (res.code != 200) return
|
||||
let data = res.data
|
||||
let specialSchoolDistance = null
|
||||
let academyPitchIndex = 0
|
||||
const school = this.data.options['school'] || ''
|
||||
let annexSchoolOmit = []
|
||||
data.forEach((element, index) => {
|
||||
element['distanceText'] = this.metersToKilometers(element.distance)
|
||||
element.list.forEach((ele, ii) => {
|
||||
ele['durationText'] = this.secondsToHoursMinutes(ele.duration, 'chinese')
|
||||
ele['durationText2'] = this.secondsToHoursMinutes(ele.duration)
|
||||
ele['distanceText'] = this.metersToKilometers(ele.distance)
|
||||
if (Object.prototype.toString.call(ele.publictransport) === '[object Object]') {
|
||||
ele.publictransport['durationText'] = this.secondsToHoursMinutes(ele?.publictransport?.duration || 0, 'chinese')
|
||||
ele.publictransport['durationText2'] = this.secondsToHoursMinutes(ele?.publictransport?.duration || 0)
|
||||
const segments = ele.publictransport['segments']
|
||||
if (Array.isArray(segments)) {
|
||||
segments.forEach(e => {
|
||||
// console.log("e", e);durationText
|
||||
e['via_num'] = 1 + Math.floor(e.via_num)
|
||||
e['durationText'] = this.secondsToHoursMinutes(e.duration)
|
||||
e['distanceText'] = this.metersToKilometers(e.distance, 'chinese')
|
||||
})
|
||||
}
|
||||
} else ele.publictransport = null
|
||||
|
||||
|
||||
if (ii == 0) {
|
||||
const obj = element.list[0] || {}
|
||||
let toolText = "步行"
|
||||
if (Object.prototype.toString.call(obj.publictransport) === '[object Object]') toolText = "公交地铁"
|
||||
element['distanceText'] = obj['distanceText']
|
||||
element['durationText'] = obj.publictransport?.durationText2 || obj['durationText2']
|
||||
element['toolText'] = toolText
|
||||
}
|
||||
})
|
||||
|
||||
if (school == element.id) {
|
||||
academyPitchIndex = index
|
||||
specialSchoolDistance = element
|
||||
} else annexSchoolOmit.push(element)
|
||||
})
|
||||
|
||||
if (specialSchoolDistance) annexSchoolOmit = annexSchoolOmit.slice(0, 5)
|
||||
else annexSchoolOmit = annexSchoolOmit.slice(0, 4)
|
||||
|
||||
this.setData({
|
||||
annexSchoolList: data,
|
||||
targetAcademyPitch: data[academyPitchIndex],
|
||||
annexSchoolOmit,
|
||||
specialSchoolDistance,
|
||||
academyPitchIndex,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
// 切换附近学校弹窗
|
||||
cutNearbySchools() {
|
||||
this.setData({
|
||||
academyState: true,
|
||||
})
|
||||
},
|
||||
|
||||
// 选择附近学校距离的学校下标
|
||||
selectAcademyIndex(e) {
|
||||
const academyPitchIndex = e.currentTarget.dataset.index || 0
|
||||
const annexSchoolList = this.data.annexSchoolList
|
||||
this.setData({
|
||||
academyPitchIndex,
|
||||
targetAcademyPitch: annexSchoolList[academyPitchIndex],
|
||||
})
|
||||
},
|
||||
|
||||
// 转换 秒数
|
||||
secondsToHoursMinutes(seconds, type) {
|
||||
// 计算小时数
|
||||
const hours = Math.floor(seconds / 3600);
|
||||
// 计算剩余的秒数
|
||||
const remainingSecondsAfterHours = seconds % 3600;
|
||||
// 计算分钟数
|
||||
const minutes = Math.floor(remainingSecondsAfterHours / 60);
|
||||
// 计算剩余的秒数
|
||||
const remainingSeconds = remainingSecondsAfterHours % 60;
|
||||
|
||||
let text = ""
|
||||
if (type == 'chinese') {
|
||||
if (hours != 0) text += hours + '小时'
|
||||
if (minutes != 0) text += minutes + '分钟'
|
||||
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + '秒'
|
||||
} else {
|
||||
if (hours != 0) text += hours + 'h'
|
||||
if (minutes != 0) text += minutes + 'min'
|
||||
if (remainingSeconds != 0 && minutes == 0) text += remainingSeconds + 's'
|
||||
}
|
||||
return text
|
||||
},
|
||||
// 转换 米数
|
||||
metersToKilometers(input, type) {
|
||||
let text = ""
|
||||
if (input >= 1000) text = (input / 1000).toFixed(1) + (type == 'chinese' ? '公里' : 'km')
|
||||
else text = input + (type == 'chinese' ? '米' : 'm');
|
||||
return text;
|
||||
},
|
||||
|
||||
// 专门取反的函数
|
||||
negation(e) {
|
||||
let key = e.currentTarget.dataset.key
|
||||
this.setData({
|
||||
[key]: !this.data[key]
|
||||
})
|
||||
},
|
||||
}
|
||||
})
|
4
template/nearbySchool/nearbySchool.json
Normal file
4
template/nearbySchool/nearbySchool.json
Normal file
@ -0,0 +1,4 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {}
|
||||
}
|
113
template/nearbySchool/nearbySchool.wxml
Normal file
113
template/nearbySchool/nearbySchool.wxml
Normal file
@ -0,0 +1,113 @@
|
||||
<!--template/nearbySchool/nearbySchool.wxml-->
|
||||
<!-- 附近学校 -->
|
||||
<view class="school {{ specialSchoolDistance ? 'special' : '' }} {{ istype == 2 ? 'apartment' : '' }}" bindtap="cutNearbySchools"
|
||||
wx:if="{{ annexSchoolOmit.length != 0 && options['school'] }}">
|
||||
<view class="school-item {{ specialSchoolDistance.durationText ? 'durationText' : '' }}"
|
||||
wx:if="{{ specialSchoolDistance }}">
|
||||
<text class="school-name">{{ specialSchoolDistance.alias }}</text>
|
||||
<text class="school-distance">{{ specialSchoolDistance.distanceText }}</text>
|
||||
<block wx:if="{{ specialSchoolDistance.durationText }}">
|
||||
<text class="long-string">|</text>
|
||||
<text class="school-name" style="font-size: 21rpx;">{{ specialSchoolDistance.toolText }}</text>
|
||||
<text class="school-distance">{{ specialSchoolDistance.durationText }}</text>
|
||||
</block>
|
||||
</view>
|
||||
<view class="school-item" wx:for="{{ annexSchoolOmit }}" wx:key="index">
|
||||
<text class="school-name">{{ item.alias }}</text>
|
||||
<text class="school-distance">{{ item.distanceText }}</text>
|
||||
</view>
|
||||
<view class="school-item more">
|
||||
<text class="school-name">更多</text>
|
||||
<image class="more-icon" mode="widthFix" src="/img/u1908.svg"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="school-new flexacenter {{ istype == 2 ? 'apartment' : '' }}" wx:if="{{ annexSchoolOmit.length != 0 && !options['school'] }}"
|
||||
bindtap="cutNearbySchools">
|
||||
<view class="school-new-list flex1">
|
||||
<view class="school-new-item flexcenter" wx:for="{{ annexSchoolOmit }}" wx:key="indexS">
|
||||
{{ item.alias }}
|
||||
<text class="school-new-text">{{ item.distanceText }}</text>
|
||||
<image wx:if="{{ item.toolText == '公交地铁' }}" class="school-new-icon" mode="widthFix"
|
||||
src="/img/subway-icon.png"></image>
|
||||
<image wx:else class="school-new-icon" mode="widthFix" src="/img/walk-icon.png"></image>
|
||||
<text class="school-new-text">{{ item.durationText }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<view class="school-new-more flexcenter">
|
||||
更多<image class="school-new-more-icon" src="/img/u1908.svg"></image>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 房源距离院校弹窗 -->
|
||||
<view class="root-portal" wx:if="{{ academyState }}">
|
||||
<view class="root-portal-bj" bindtap="negation" data-key="academyState"></view>
|
||||
<view class="academy-pop">
|
||||
<!-- 关闭 -->
|
||||
<image class="pop-close" bindtap="negation" data-key="academyState" src="/img/u1849.svg"></image>
|
||||
<view class="academy-headline flexcenter">
|
||||
房源<image class="academy-headline-icon" src="https://app.gter.net/image/miniApp/HKRenting/arrows-green.svg"
|
||||
mode="widthFix"></image>院校
|
||||
</view>
|
||||
<view class="academy-box flexflex">
|
||||
<view class="academy-left">
|
||||
<scroll-view class="scroll-view" scroll-y style="height: 100%;max-height: 70vh;">
|
||||
<view class="school-item flexcenter {{ index == academyPitchIndex ? 'pitch' : '' }}"
|
||||
wx:for="{{ annexSchoolList }}" wx:key="index" bind:tap="selectAcademyIndex"
|
||||
data-index="{{ index }}">{{ item.alias }}</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
<view class="academy-right flex1">
|
||||
<scroll-view class="scroll-view" scroll-y style="height: 100%;">
|
||||
<view class="academy-right-header flexacenter">
|
||||
<view class="school-icon-box flexcenter">
|
||||
<image class="school-icon" mode="widthFix" src="/img/u1834.png"></image>
|
||||
</view>
|
||||
{{ targetAcademyPitch.school }}
|
||||
</view>
|
||||
<view class="academy-school-hint">本数据来自高德地图,仅供参考。</view>
|
||||
<view class="academy-school-item" wx:for="{{ targetAcademyPitch.list }}" wx:key="index">
|
||||
<view class="academy-school-item-header flexacenter">
|
||||
<view class="academy-school-item-left flexacenter">
|
||||
<view class="academy-school-item-name">{{ item.title }}</view>
|
||||
<view class="academy-school-item-number">{{ item.distanceText || '1km' }}</view>
|
||||
</view>
|
||||
<view class="academy-school-item-right flexacenter">
|
||||
<image wx:if="{{ item.publictransport }}" class="academy-school-item-icon"
|
||||
src="/img/subway-icon.png" mode="widthFix"></image>
|
||||
<image wx:else class="academy-school-item-icon" src="/img/walk-icon.png"
|
||||
mode="widthFix"></image>
|
||||
<view class="academy-school-item-time">
|
||||
{{ item.publictransport['durationText'] || item.durationText || '1分钟'}}</view>
|
||||
</view>
|
||||
<image class="arrow-green" mode="widthFix" src="/img/arrow-green.svg"></image>
|
||||
</view>
|
||||
<view class="academy-school-item-journey" wx:if="{{ item.publictransport }}">
|
||||
<view class="journey-item flexacenter" wx:for="{{ item.publictransport.segments }}">
|
||||
<view class="circle"></view>
|
||||
<!-- 步行 骑行 -->
|
||||
<view wx:if="{{ item.type == 'walking' }}" class="journey-value flex1">
|
||||
步行{{ item.distanceText }}</view>
|
||||
<!-- 地铁 -->
|
||||
<view wx:elif="{{ item.type == 'bus' && item.bustype == '地铁线路' }}"
|
||||
class="journey-value flex1 subway flexacenter">
|
||||
<view class="subway-name flexcenter">{{ item.name }}</view>
|
||||
<view class="flex1" style="white-space:nowrap;">
|
||||
{{ item.via_num }}站·{{ item.durationText }}</view>
|
||||
</view>
|
||||
<!-- 公交 -->
|
||||
<view wx:elif="{{ item.type == 'bus' && item.bustype == '普通公交线路' }}"
|
||||
class="journey-value flex1 bus flexacenter">
|
||||
<view class="bus-name flexcenter">{{ item.name }}</view>
|
||||
<view class="flex1" style="white-space:nowrap;">
|
||||
{{ item.via_num }}站·{{ item.durationText }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</scroll-view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
473
template/nearbySchool/nearbySchool.wxss
Normal file
473
template/nearbySchool/nearbySchool.wxss
Normal file
@ -0,0 +1,473 @@
|
||||
/* template/nearbySchool/nearbySchool.wxss */
|
||||
@import '/css/common.wxss';
|
||||
|
||||
.school {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.school .school-item {
|
||||
width: 160rpx;
|
||||
height: 54rpx;
|
||||
line-height: 54rpx;
|
||||
border-radius: 15rpx;
|
||||
border: 2rpx solid #e6e6e6;
|
||||
margin: 0 16rpx 15rpx 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.school.special .school-item:first-of-type {
|
||||
background: -webkit-linear-gradient(170.909723079178deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: -moz-linear-gradient(-80.9097230791777deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: linear-gradient(-80.9097230791777deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
font-size: 21rpx;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.school.special .school-item.durationText:first-of-type {
|
||||
width: 337.5rpx;
|
||||
}
|
||||
|
||||
.school.special .school-item:first-of-type .school-name {
|
||||
color: #fff;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
.school.special .school-item:first-of-type .school-distance {
|
||||
color: #fff;
|
||||
font-size: 21rpx;
|
||||
}
|
||||
|
||||
.school.special .school-item:first-of-type .long-string {
|
||||
color: #fff;
|
||||
font-size: 21rpx;
|
||||
margin: 0 10rpx;
|
||||
}
|
||||
|
||||
.school.special .school-item:nth-child(3),
|
||||
.school.special .school-item:nth-child(7) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.school .school-item:nth-of-type(4n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.school.special .school-item:nth-of-type(4n) {
|
||||
margin-right: 16rpx;
|
||||
}
|
||||
|
||||
.school .school-name {
|
||||
font-size: 24rpx;
|
||||
color: #333;
|
||||
margin-right: 6rpx;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
max-width: 3em;
|
||||
}
|
||||
|
||||
.school .school-distance {
|
||||
color: #8162FF;
|
||||
font-size: 21rpx;
|
||||
}
|
||||
|
||||
.school .more-icon {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
}
|
||||
|
||||
.school-new {
|
||||
margin-top: 30rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item {
|
||||
width: 270rpx;
|
||||
height: 54rpx;
|
||||
background-color: #f6f6f6;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 15rpx;
|
||||
box-shadow: 15rpx;
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
display: inline-flex;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item:not(:nth-last-child(-n+2)) {
|
||||
margin-bottom: 15rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item:not(:nth-child(even)) {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item .school-new-text {
|
||||
color: #8162FF;
|
||||
font-size: 21rpx;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-list .school-new-item .school-new-icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-left: 12rpx;
|
||||
}
|
||||
|
||||
.school-new .school-new-more {
|
||||
width: 117rpx;
|
||||
height: 123rpx;
|
||||
background-color: #f6f6f6;
|
||||
border: 1rpx solid #ebebeb;
|
||||
border-radius: 15rpx;
|
||||
font-size: 24rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.school-new .school-new-more .school-new-more-icon {
|
||||
width: 24rpx;
|
||||
height: 24rpx;
|
||||
margin-left: 9rpx;
|
||||
}
|
||||
|
||||
.root-portal {
|
||||
background-color: rgba(0, 0, 0, 0.69803922);
|
||||
width: 750rpx;
|
||||
height: 100vh;
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
z-index: 30007;
|
||||
}
|
||||
|
||||
.root-portal-bj {
|
||||
width: 750rpx;
|
||||
height: 100vh;
|
||||
display: block;
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
.academy-pop {
|
||||
bottom: 0;
|
||||
border-radius: 45rpx 45rpx 0 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-color: #fff;
|
||||
width: 100vw;
|
||||
max-height: 85vh;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
.pop-close {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
align-self: flex-end;
|
||||
padding: 30rpx 30rpx 0;
|
||||
}
|
||||
|
||||
.academy-headline {
|
||||
font-size: 36rpx;
|
||||
font-weight: 650;
|
||||
color: #000;
|
||||
text-align: center;
|
||||
padding-bottom: 60rpx;
|
||||
border-bottom: 1rpx solid #ebebeb;
|
||||
}
|
||||
|
||||
.academy-headline .academy-headline-icon {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
margin: 0 30rpx;
|
||||
}
|
||||
|
||||
|
||||
.academy-box .academy-item {
|
||||
margin-left: 57rpx;
|
||||
border-left: 2rpx dotted #e7e7e7;
|
||||
padding-bottom: 60rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-item:last-child {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.academy-box .academy-item .academy-title {
|
||||
font-weight: bold;
|
||||
font-size: 27rpx;
|
||||
color: #333;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 6rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-icon-box {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
line-height: 54rpx;
|
||||
background-color: #ffcc17;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-left: -27rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-item:not(:first-child) .academy-icon-box {
|
||||
background-color: rgba(98, 177, 255, 1);
|
||||
}
|
||||
|
||||
.academy-box .academy-icon {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-title .academy-place {
|
||||
margin-left: 24rpx;
|
||||
}
|
||||
|
||||
.academy-box .school-item .school-name {
|
||||
font-size: 24rpx;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.academy-box .school-item .school-distance {
|
||||
font-size: 21rpx;
|
||||
color: #62b1ff;
|
||||
margin-left: 14rpx;
|
||||
}
|
||||
|
||||
.academy-left {
|
||||
width: 105rpx;
|
||||
border-right: 1rpx solid #ebebeb;
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
}
|
||||
|
||||
.academy-left .school-item {
|
||||
width: 100%;
|
||||
height: 105rpx;
|
||||
font-size: 24rpx;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.academy-box {
|
||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||
}
|
||||
|
||||
.academy-box .school-item.pitch {
|
||||
color: #fff;
|
||||
background: -webkit-linear-gradient(135deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: -moz-linear-gradient(-45deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
background: linear-gradient(-45deg, rgba(162, 151, 252, 1) 0%, rgba(128, 128, 255, 1) 100%);
|
||||
}
|
||||
|
||||
.academy-box .academy-right {
|
||||
padding: 45rpx 30rpx 50rpx 46.5rpx;
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
max-height: 69vh;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-right-header {
|
||||
color: #000;
|
||||
font-size: 30rpx;
|
||||
font-weight: 650;
|
||||
margin-bottom: 30rpx;
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-right-header .school-icon-box {
|
||||
width: 54rpx;
|
||||
height: 54rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #fddf6d;
|
||||
margin-right: 15rpx;
|
||||
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-right-header .school-icon-box .school-icon {
|
||||
width: 36rpx;
|
||||
height: 36rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item {
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
border-radius: 18rpx;
|
||||
margin-bottom: 45rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-header {
|
||||
font-size: 27rpx;
|
||||
width: 570rpx;
|
||||
height: 103.5rpx;
|
||||
justify-content: space-between;
|
||||
padding-left: 33rpx;
|
||||
padding-right: 30rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-header .arrow-green {
|
||||
width: 10.5rpx;
|
||||
height: 18rpx;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-name {
|
||||
font-family: 'PingFangSC-Semibold', 'PingFang SC Semibold', 'PingFang SC', sans-serif;
|
||||
font-weight: 650;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-number {
|
||||
color: rgb(51, 51, 51);
|
||||
margin-left: 6rpx;
|
||||
font-family: 'PingFangSC-Regular', 'PingFang SC', sans-serif;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-icon {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-time {
|
||||
color: #000;
|
||||
font-weight: 650;
|
||||
font-size: 27rpx;
|
||||
}
|
||||
|
||||
.academy-box .academy-right .academy-school-item-journey {
|
||||
border-top: 1rpx solid #ebebeb;
|
||||
padding-top: 33rpx;
|
||||
padding-left: 33rpx;
|
||||
padding-bottom: 39rpx;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
||||
.journey-item {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.journey-item:not(:last-of-type) {
|
||||
margin-bottom: 39rpx;
|
||||
}
|
||||
|
||||
.academy-school-item-journey::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 39.25rpx;
|
||||
width: 1rpx;
|
||||
height: 100%;
|
||||
display: block;
|
||||
background-image: linear-gradient(to bottom, #aaaaaa 50%, transparent 50%);
|
||||
background-size: 1px 4px;
|
||||
}
|
||||
|
||||
.journey-item:first-of-type::after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
top: -33rpx;
|
||||
left: 0;
|
||||
width: 13.5rpx;
|
||||
height: calc(50% + 33rpx);
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
}
|
||||
|
||||
.journey-item:last-of-type::after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
bottom: -39rpx;
|
||||
left: 0;
|
||||
width: 13.5rpx;
|
||||
height: calc(50% + 39rpx);
|
||||
background-color: rgba(246, 246, 246, 1);
|
||||
}
|
||||
|
||||
.journey-item .circle {
|
||||
width: 14rpx;
|
||||
height: 14rpx;
|
||||
border-radius: 50%;
|
||||
background-color: #f6f6f6;
|
||||
border: 1rpx solid #797979;
|
||||
box-sizing: border-box;
|
||||
margin-right: 30rpx;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.journey-item .journey-value {
|
||||
color: #333;
|
||||
font-size: 22.5rpx;
|
||||
padding-right: 30rpx;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.subway {
|
||||
font-size: 22.5rpx;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.subway .subway-name {
|
||||
padding: 5rpx 9.5rpx;
|
||||
background-color: rgba(51, 51, 51, 1);
|
||||
border-radius: 15rpx;
|
||||
color: #fff;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.bus {
|
||||
font-size: 22.5rpx;
|
||||
color: #AAAAAA;
|
||||
}
|
||||
|
||||
.journey-item .journey-value.bus .bus-name {
|
||||
padding: 5rpx 9.5rpx;
|
||||
background-color: rgba(80, 227, 194, 0);
|
||||
box-sizing: border-box;
|
||||
border: 1rpx solid rgba(51, 51, 51, 1);
|
||||
border-radius: 15rpx;
|
||||
margin-right: 15rpx;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
.academy-school-hint {
|
||||
color: #a09e9e;
|
||||
font-size: 22.5rpx;
|
||||
margin-bottom: 30rpx;
|
||||
}
|
||||
|
||||
.apartment.school {
|
||||
margin-left: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.apartment.school .school-item {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.apartment.school-new {
|
||||
margin-left: 30rpx;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
|
||||
.apartment.school-new .school-new-more {
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.apartment.school-new .school-new-list .school-new-item {
|
||||
background-color: #fff;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user