1746 lines
39 KiB
Vue
1746 lines
39 KiB
Vue
<template>
|
||
<view class="page">
|
||
|
||
<u-navbar ref="navbar" title="租车" :border-bottom="false" :background="bgc" title-color='#000' title-size='36'
|
||
height='45'></u-navbar>
|
||
<view class="cont">
|
||
<u-mask :show="showchoose" :z-index='100' />
|
||
<view class="ips_box">
|
||
<view class="ipt">
|
||
<view class="left">
|
||
<view class="txt1">
|
||
{{addressInfo}}
|
||
</view>
|
||
<view class="txt">
|
||
|{{time}} 取车|
|
||
</view>
|
||
<view class="txt">
|
||
{{dataInfo.dictLabel}}
|
||
</view>
|
||
</view>
|
||
<view class="right" @click="showchoose=true">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uukFtL3r4DCAYPcUPsK0" mode=""></image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<!-- <view class="price_sele">
|
||
<view class="words">
|
||
宁德
|
||
<view class="iconfont icon-xiangxia1">
|
||
|
||
</view>
|
||
</view>
|
||
<view class="choose_cont" v-if="false">
|
||
<view class="tit">
|
||
还取方式
|
||
</view>
|
||
<view class="type_box">
|
||
<view class="type_li">
|
||
免费送取车
|
||
</view>
|
||
<view class="type_li act1">
|
||
免费送取车
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uBvr7JGCkY1jWLT0pzIc" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="tit" style="margin-top: 42rpx;">
|
||
送取车距离
|
||
</view>
|
||
<view class="type_box">
|
||
<view class="type_li">
|
||
免费送取车
|
||
</view>
|
||
<view class="type_li act1">
|
||
免费送取车
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uBvr7JGCkY1jWLT0pzIc" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="tit" style="margin-top: 42rpx;">
|
||
日均价
|
||
</view>
|
||
<view class="type_box">
|
||
<view class="type_li">
|
||
免费送取车
|
||
</view>
|
||
<view class="type_li act1">
|
||
免费送取车
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uBvr7JGCkY1jWLT0pzIc" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="btn_box">
|
||
<view class="btn1">
|
||
清除
|
||
</view>
|
||
<view class="btn2">
|
||
完成
|
||
</view>
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
-->
|
||
|
||
<view class="choose_card" v-if="showchoose">
|
||
|
||
<view class="area_li">
|
||
<view class="city" @click="showCity()">
|
||
<view class="txt">
|
||
取车城市
|
||
</view>
|
||
<view class="words" style="white-space: nowrap;">
|
||
{{cityList[0].cityName}}
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uJkuBFsHACP6tnUo5nYm" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="area" @click="getMapLocation()" style="white-space: nowrap;">
|
||
<view class="top">
|
||
<view class="txt">
|
||
取车地点
|
||
</view>
|
||
<view class="type">
|
||
距最近店铺 {{returnKm(shopList[0])}}
|
||
</view>
|
||
</view>
|
||
<view class="bot">
|
||
<view class="txt3">
|
||
{{addressInfo}}
|
||
</view>
|
||
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uJkuBFsHACP6tnUo5nYm" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="dingw" style="white-space: nowrap;" @click="getaddress()">
|
||
当前位置
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/unTHfCN5IgnVKDbadsFp" mode=""></image>
|
||
</view>
|
||
</view>
|
||
<view class="time_box">
|
||
<view class="time_li">
|
||
<view class="txt">
|
||
取车时间
|
||
</view>
|
||
<view class="words" @click="time1=true">
|
||
{{time}}
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uJkuBFsHACP6tnUo5nYm" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="time_li">
|
||
<view class="txt">
|
||
选择租车周期
|
||
</view>
|
||
<view class="words" @click="showdata=true">
|
||
{{dataInfo.dictLabel}}
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uJkuBFsHACP6tnUo5nYm" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="btn_li">
|
||
<view class="btns" @click="showchoose=false">
|
||
关闭
|
||
</view>
|
||
<view class="btn" @click="tosele()">
|
||
|
||
确定
|
||
</view>
|
||
</view>
|
||
|
||
|
||
</view>
|
||
|
||
|
||
<!-- <image class="kefu" src="https://lxnapi.ccttiot.com/bike/img/static/u8osHvZfHL7u3lbveVXx" mode=""></image> -->
|
||
<map class="map" id="map" ref="map" :scale="zoomSize" :latitude="latitude" :longitude="longitude"
|
||
@labeltap="handleMarkerTap" :show-location="true" :markers="markers" :polygons="polyline">
|
||
|
||
</map>
|
||
|
||
<view class="bot_cont">
|
||
<view class="fresh" @click="getshopList">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/u3HPoZMHrFlRW1vAwLDT" mode=""></image>
|
||
</view>
|
||
<view class="mini_store" v-if="shownormal==false">
|
||
<view class="store_li" v-for="(item,index) in shopList" :key="index">
|
||
<view class="store_top">
|
||
<view class="store_name">
|
||
{{item.name}}
|
||
</view>
|
||
<view class="img" @click="showKfs(item)">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/urOQKI1de3VSckSrotNW" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="store_address">
|
||
<view class="iconfont icon-ditufuwu">
|
||
|
||
</view>{{returnKm(item)}} | {{item.simpleAddress}}
|
||
</view>
|
||
<view class="store_info">
|
||
<view class="infos">
|
||
<view class="info_li">
|
||
<view class="data">
|
||
<span>营业时间 |</span>{{item.businessTimeStart}} - {{item.businessTimeEnd}}
|
||
</view>
|
||
<view class="price">
|
||
日均¥<span>{{item.bottomPrice}}</span>起
|
||
</view>
|
||
</view>
|
||
<view class="info_li">
|
||
<view class="type">
|
||
免费送取车
|
||
</view>
|
||
<view class="num">
|
||
{{item.rentalCar}}辆车可租
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="img" @click="shownm(item)">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uagLIpV6ZNz0RCTEXKRB" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="line"></view>
|
||
<view class="car_li">
|
||
<view class="car" @click="toStore(item)">
|
||
<view class="imgs">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/ugqn6cdklXtHgERyLHMq"
|
||
mode=""></image>
|
||
</view>
|
||
<view class="infos">
|
||
<view class="info_top">
|
||
{{item.models[0].description}}
|
||
</view>
|
||
<view class="price">
|
||
日租 ¥{{item.models[0].price}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="lines"></view>
|
||
<view class="car" v-if="item.models[1]" style="padding-left: 20rpx;">
|
||
<view class="imgs">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/ugqn6cdklXtHgERyLHMq"
|
||
mode=""></image>
|
||
</view>
|
||
<view class="infos">
|
||
<view class="info_top">
|
||
{{item.models[1].description}}
|
||
</view>
|
||
<view class="price">
|
||
日租¥{{item.models[1].price}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="normal_store" v-if="shownormal">
|
||
<view class="store_info">
|
||
<view class="top_info">
|
||
<view class="name">
|
||
{{choseStore.name}}
|
||
</view>
|
||
<view class="img" @click="showKfs(choseStore)">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/urOQKI1de3VSckSrotNW" mode="">
|
||
</image>
|
||
</view>
|
||
</view>
|
||
<view class="address">
|
||
<view class="iconfont icon-ditufuwu">
|
||
|
||
</view> {{returnKm(choseStore)}} | {{choseStore.simpleAddress}}
|
||
</view>
|
||
<view class="time">
|
||
<span>营业时间 | </span> {{choseStore.businessTimeStart}} - {{choseStore.businessTimeEnd}}
|
||
</view>
|
||
<view class="types_box">
|
||
<view class="type">
|
||
免费送取车
|
||
</view>
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/u7K3sepD0uVaDNdIlCuq" mode=""
|
||
@click="shownormal=false"></image>
|
||
</view>
|
||
|
||
</view>
|
||
<view class="card_box">
|
||
<view class="card" v-for="(item,index) in choseStore.models" :key="index">
|
||
<image :src="item.picture" mode="">
|
||
</image>
|
||
<view class="infos">
|
||
<view class="name">
|
||
{{item.model}}
|
||
</view>
|
||
<view class="cartool">
|
||
手机开关锁 | 定位防盗
|
||
</view>
|
||
<view class="car_type_li">
|
||
<view class="type" v-for="(items,indexs) in item.accessorys" :key="indexs">
|
||
{{items.name}}
|
||
</view>
|
||
</view>
|
||
<view class="price_box">
|
||
<view class="left">
|
||
剩余<span> {{item.rentalCar ? item.rentalCar : 0}} </span>辆
|
||
</view>
|
||
<view class="right">
|
||
日租¥ <span>{{item.price}}</span>
|
||
<view class="btn" @click="toOrdder(choseStore,item)" :style="{ background: item.rentalCar < 1 ? '#ccc' : ''}">
|
||
立即租
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
</view>
|
||
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<u-picker mode="time" v-model="time1" :params="params" @confirm="confirm1" start-year="2024"
|
||
:default-time="pickertime" start="2024"></u-picker>
|
||
<view class="choosedata" v-if="showdata">
|
||
<view class="tit">
|
||
请选择租车周期
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uLzTHCbE6TTRPYj6rv8X" mode=""
|
||
@click="closeData()"></image>
|
||
</view>
|
||
<view class="li" v-for="(item,index) in dataList" :key="index" :class="index == dataIndex? 'act':''"
|
||
@click="chooseData(item,index)">
|
||
{{item.dictLabel}}
|
||
</view>
|
||
|
||
</view>
|
||
<u-mask :show="showkf" :z-index='100' />
|
||
<view class="kfbox" v-if="showkf">
|
||
<view class="tit">
|
||
请选择您要联系的客服
|
||
</view>
|
||
<view class="words">
|
||
我们根据选择为您提供服务
|
||
</view>
|
||
<view class="phone_box" @click="callPhone(AgentInfo.servicePhone)">
|
||
<view class="img">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/uwiRmed6Kz4OUJh00HBD" mode=""></image>
|
||
</view>
|
||
<view class="info">
|
||
<view class="name">
|
||
官方客服
|
||
</view>
|
||
<view class="phone">
|
||
{{AgentInfo.servicePhone}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<view class="phone_box" @click="callPhone(choosePhone.serverPhone)">
|
||
<view class="img">
|
||
<image src="https://lxnapi.ccttiot.com/bike/img/static/unsZOLTPuYrpQKF8MpFt" mode=""></image>
|
||
</view>
|
||
<view class="info">
|
||
<view class="name">
|
||
门店客服
|
||
</view>
|
||
<view class="phone">
|
||
{{choosePhone.serverPhone}}
|
||
</view>
|
||
</view>
|
||
</view>
|
||
<image class="close" src="https://lxnapi.ccttiot.com/bike/img/static/ulwJylk0JSmOdmU3FnnG" mode=""
|
||
@click="showkf=false"></image>
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
export default {
|
||
data() {
|
||
return {
|
||
bgc: {
|
||
backgroundColor: '#fff'
|
||
},
|
||
sn: '',
|
||
showchoose: false,
|
||
CouponLists: [],
|
||
hight: 0,
|
||
latitude: null,
|
||
longitude: null,
|
||
isMap: false,
|
||
zoomSize: 15,
|
||
markers: [],
|
||
polyline: [],
|
||
polygons: [],
|
||
showchoose: false,
|
||
CouponLists: [],
|
||
hight: 0,
|
||
showkf: false,
|
||
cityList: [],
|
||
dataList: [],
|
||
gps: {},
|
||
cityInfo: {},
|
||
cityIndex: -1,
|
||
addressInfo: '',
|
||
time1: false,
|
||
params: {
|
||
year: false,
|
||
month: true,
|
||
day: true,
|
||
hour: false,
|
||
minute: false,
|
||
second: false
|
||
},
|
||
startTime: '',
|
||
pickertime: '',
|
||
time: '',
|
||
showdata: false,
|
||
dataIndex: 0,
|
||
dataInfo: {},
|
||
shopList: [],
|
||
|
||
choosePhone: {},
|
||
shownormal: false,
|
||
choseStore: {},
|
||
AgentInfo: {},
|
||
chosenMarkerId: null,
|
||
|
||
}
|
||
},
|
||
onShow() {
|
||
this.$nextTick(() => {
|
||
const query = uni.createSelectorQuery().in(this);
|
||
query.select('.ips_box').boundingClientRect(data => {
|
||
|
||
this.hight = data.height + 45
|
||
console.log(' height:', this.hight);
|
||
}).exec();
|
||
|
||
|
||
});
|
||
|
||
},
|
||
onLoad(e) {
|
||
let that = this
|
||
uni.getLocation({
|
||
type: 'gcj02',
|
||
success: function(lb) {
|
||
|
||
that.gps.latitude = lb.latitude;
|
||
that.gps.longitude = lb.longitude;
|
||
that.getCity()
|
||
|
||
that.getaddress()
|
||
that.getshopList()
|
||
},
|
||
fail: function(error) {
|
||
uni.showToast({
|
||
title: '未获取到定位信息,请点击设置勾选允许位置信息,即可使用全部功能',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
// that.getmarks()
|
||
// 在这里处理获取位置信息失败的情况
|
||
}
|
||
|
||
})
|
||
// 获取当前日期,并设置startDate和pickertime
|
||
const now = new Date();
|
||
const month = now.getMonth() + 1; // 月份从0开始,因此加1
|
||
const day = now.getDate();
|
||
|
||
// 格式化为 MM-DD 的字符串
|
||
this.startDate = `${month < 10 ? '0' : ''}${month}-${day < 10 ? '0' : ''}${day}`;
|
||
this.time = `${month < 10 ? '0' : ''}${month}月${day < 10 ? '0' : ''}${day}日`;
|
||
// 初始化pickertime为当天的默认日期
|
||
this.pickertime = this.startDate;
|
||
|
||
this.$nextTick(() => {
|
||
const query = uni.createSelectorQuery().in(this);
|
||
query.select('.ips_box').boundingClientRect(data => {
|
||
|
||
this.hight = data.height + 45
|
||
console.log('ips_box height:', this.hight);
|
||
}).exec();
|
||
});
|
||
console.log(e);
|
||
if(e){
|
||
this.dataIndex=e.index
|
||
// this.dataInfo=
|
||
}
|
||
this.getcityList()
|
||
this.getdata()
|
||
},
|
||
methods: {
|
||
toOrdder(item,items){
|
||
console.log(items,'toOrdder');
|
||
|
||
if(items.rentalCar>0){
|
||
console.log(items,'toOrdder');
|
||
uni.navigateTo({
|
||
url:'/page_user/ordder?storeId='+item.storeId+'&modelId='+items.modelId
|
||
})
|
||
}else{
|
||
uni.showToast({
|
||
title: '改车型已没货,请查看其他车型',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
},
|
||
toStore(item){
|
||
console.log(item,'itemitemitem');
|
||
uni.navigateTo({
|
||
url:'/page_user/carStore?storeId='+item.storeId
|
||
})
|
||
},
|
||
getMapLocation() {
|
||
uni.chooseLocation({
|
||
success: (res) => {
|
||
console.log(res);
|
||
this.addressInfo=res.name
|
||
// this.getRegionFn(res);
|
||
},
|
||
fail: () => {
|
||
// 如果用uni.chooseLocation没有获取到地理位置,则需要获取当前的授权信息,判断是否有地理授权信息
|
||
uni.getSetting({
|
||
success: (res) => {
|
||
console.log(res);
|
||
var status = res.authSetting;
|
||
if (!status['scope.userLocation']) {
|
||
// 如果授权信息中没有地理位置的授权,则需要弹窗提示用户需要授权地理信息
|
||
uni.showModal({
|
||
title: "是否授权当前位置",
|
||
content: "需要获取您的地理位置,请确认授权,否则地图功能将无法使用",
|
||
success: (tip) => {
|
||
if (tip.confirm) {
|
||
// 如果用户同意授权地理信息,则打开授权设置页面,判断用户的操作
|
||
uni.openSetting({
|
||
success: (data) => {
|
||
// 如果用户授权了地理信息在,则提示授权成功
|
||
if (data
|
||
.authSetting[
|
||
'scope.userLocation'
|
||
] === true
|
||
) {
|
||
uni.showToast({
|
||
title: "授权成功",
|
||
icon: "success",
|
||
duration: 1000
|
||
})
|
||
// 授权成功后,然后再次chooseLocation获取信息
|
||
uni.chooseLocation({
|
||
success: (
|
||
res
|
||
) => {
|
||
console
|
||
.log(
|
||
"详细地址",
|
||
res
|
||
);
|
||
// this.getRegionFn(res);
|
||
}
|
||
})
|
||
} else {
|
||
uni.showToast({
|
||
title: "授权失败",
|
||
icon: "none",
|
||
duration: 1000
|
||
})
|
||
}
|
||
}
|
||
})
|
||
}
|
||
}
|
||
})
|
||
}
|
||
},
|
||
fail: (res) => {
|
||
uni.showToast({
|
||
title: "调用授权窗口失败",
|
||
icon: "none",
|
||
duration: 1000
|
||
})
|
||
}
|
||
})
|
||
}
|
||
});
|
||
},
|
||
handleMarkerTap(event) {
|
||
console.log('点击了');
|
||
// 获取被点击的标记 id
|
||
const markerId = event.detail.markerId;
|
||
|
||
// 查找对应的标记信息
|
||
const clickedMarker = this.markers.find(marker => marker.id === markerId);
|
||
|
||
if (clickedMarker) {
|
||
console.log('Clicked Marker:', clickedMarker);
|
||
this.shownormal = true;
|
||
|
||
// 根据 clickedMarker.id 查找 this.shopList 中对应的 storeId
|
||
const matchedStore = this.shopList.find(store => store.storeId === clickedMarker.id);
|
||
|
||
// 如果找到了匹配的 storeId,则将值赋给 this.choseStore
|
||
if (matchedStore) {
|
||
this.choseStore = matchedStore; // 或者你想要的具体字段,如 matchedStore.someField
|
||
} else {
|
||
console.log('未找到匹配的商店');
|
||
}
|
||
|
||
// 更新标记样式
|
||
this.markers = this.markers.map(marker => {
|
||
// 恢复之前高亮的标记颜色
|
||
if (this.chosenMarkerId !== null && marker.id === this.chosenMarkerId) {
|
||
return {
|
||
...marker,
|
||
label: {
|
||
...marker.label,
|
||
bgColor: '#4297F3', // 恢复默认背景色
|
||
color: '#FFFFFF', // 恢复默认文字颜色
|
||
borderColor: '#FFFFFF', // 恢复默认边框颜色
|
||
}
|
||
};
|
||
}
|
||
|
||
// 更新当前点击的标记
|
||
if (marker.id === markerId) {
|
||
return {
|
||
...marker,
|
||
label: {
|
||
...marker.label,
|
||
bgColor: '#FFFFFF', // 点击后的背景色
|
||
color: '#4297F3', // 点击后的文字颜色
|
||
borderColor: '#4297F3', // 点击后的边框颜色
|
||
}
|
||
};
|
||
}
|
||
|
||
return marker; // 不改变其他标记
|
||
});
|
||
|
||
// 更新当前高亮的标记 ID
|
||
this.chosenMarkerId = markerId; // 记录当前点击的标记 ID
|
||
|
||
// 刷新视图
|
||
this.$forceUpdate();
|
||
}
|
||
},
|
||
shownm(item) {
|
||
this.shownormal = true
|
||
this.choseStore = item
|
||
},
|
||
showKfs(item) {
|
||
console.log('点击了');
|
||
this.choosePhone = item
|
||
this.showkf = true
|
||
|
||
},
|
||
returnKm(item) {
|
||
let distance = item.distance
|
||
if (distance < 1000) {
|
||
return `${distance.toFixed(0)}m`; // 小于1000米,保留整数并拼接'm'
|
||
} else {
|
||
return `${(distance / 1000).toFixed(1)}km`; // 大于等于1000米,转换为千米并保留两位小数
|
||
}
|
||
},
|
||
getAgent() {
|
||
let data = {
|
||
// phoneLon:this.gps.latitude,
|
||
cityId: this.cityInfo.cityId,
|
||
|
||
}
|
||
this.$u.get(`/app/getAgentByCityId?`, data).then((res) => {
|
||
if (res.code == 200) {
|
||
this.AgentInfo = res.data
|
||
this.latitude = Number(this.AgentInfo.latitude);
|
||
this.longitude = Number(this.AgentInfo.longitude);
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
});
|
||
},
|
||
getshopList() {
|
||
let that=this
|
||
uni.getLocation({
|
||
type: 'gcj02',
|
||
success: function(lb) {
|
||
|
||
|
||
let data = {
|
||
// phoneLon:this.gps.latitude,
|
||
phoneLon: lb.longitude,
|
||
// phoneLat:this.gps.longitude,
|
||
phoneLat: lb.latitude,
|
||
isFreeCar: true
|
||
}
|
||
that.$u.post(`app/getStoreListByLocation`, data).then((res) => {
|
||
if (res.code == 200) {
|
||
that.shopList = res.data;
|
||
that.shopList.forEach(item => {
|
||
that.markers.push({
|
||
id: parseFloat(item.storeId),
|
||
latitude: parseFloat(item.lat),
|
||
longitude: parseFloat(item.lng),
|
||
width: 5,
|
||
height: 5,
|
||
iconPath: 'https://lxnapi.ccttiot.com/bike/img/static/uzNZFrhZypy1CdYMHlhi',
|
||
label: {
|
||
content: '¥69 起', // 修改为你想要显示的文字内容
|
||
color: '#fff', // 文字颜色
|
||
fontSize: 12, // 文字大小
|
||
borderRadius: 16, // 圆角
|
||
bgColor: '#4297F3', // 背景颜色
|
||
padding: 2, // 内边距
|
||
borderWidth: 2, // 边框宽度
|
||
borderColor: '#FFFFFF', // 边框颜色
|
||
display: 'ALWAYS', // 一直显示
|
||
},
|
||
});
|
||
})
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
});
|
||
},
|
||
fail: function(error) {
|
||
uni.showToast({
|
||
title: '未获取到定位信息,请点击设置勾选允许位置信息,即可使用全部功能',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
// that.getmarks()
|
||
// 在这里处理获取位置信息失败的情况
|
||
}
|
||
|
||
})
|
||
|
||
|
||
},
|
||
chooseData(item, index) {
|
||
this.dataInfo = item
|
||
this.dataIndex = index
|
||
this.showdata=false
|
||
},
|
||
closeData() {
|
||
this.showdata = false
|
||
},
|
||
confirm1(selectedDate) {
|
||
// 将用户选择的日期和当前日期进行比较
|
||
|
||
// 从回调中获取选择的月份和日期
|
||
const selectedMonth = parseInt(selectedDate.month, 10);
|
||
const selectedDay = parseInt(selectedDate.day, 10);
|
||
|
||
// 获取当前日期
|
||
const now = new Date();
|
||
const currentMonth = now.getMonth() + 1;
|
||
const currentDay = now.getDate();
|
||
|
||
// 比较选择的日期和当前日期
|
||
if (selectedMonth < currentMonth || (selectedMonth === currentMonth && selectedDay < currentDay)) {
|
||
// 如果选择的日期比当前日期早,则重置为pickertime
|
||
const now = new Date();
|
||
const month = now.getMonth() + 1; // 月份从0开始,因此加1
|
||
const day = now.getDate();
|
||
|
||
// 格式化为 MM-DD 的字符串
|
||
|
||
this.time = `${month < 10 ? '0' : ''}${month}月${day < 10 ? '0' : ''}${day}日`;
|
||
uni.showToast({
|
||
title: '选择的日期不能小于当前日期',
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
} else {
|
||
// 否则,设置为用户选择的日期
|
||
this.time = `${selectedDate.month}月${selectedDate.day}日`;
|
||
}
|
||
},
|
||
|
||
getaddress() {
|
||
this.$u.get(`app/getAddress?lon=` + this.gps.longitude + '&lat=' + this.gps.latitude).then((res) => {
|
||
if (res.code == 200) {
|
||
this.addressInfo = res.data;
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
});
|
||
},
|
||
getCity() {
|
||
this.$u.get(`app/getCity?lon=` + this.gps.longitude + '&lat=' + this.gps.latitude).then((res) => {
|
||
if (res.code == 200) {
|
||
this.cityInfo = res.data;
|
||
this.getAgent()
|
||
// 假设 cityList 是一个包含城市信息的数组,并且 cityInfo 中有一个唯一标识字段,例如 cityName 或 cityId
|
||
const index = this.cityList.findIndex(city => city.cityName === this.cityInfo.cityName);
|
||
|
||
if (index !== -1) {
|
||
this.cityIndex = index
|
||
console.log('City found at index:', index);
|
||
// 可以在这里对找到的索引进行其他处理
|
||
} else {
|
||
console.log('City not found in the list');
|
||
}
|
||
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
});
|
||
},
|
||
showCity() {
|
||
|
||
},
|
||
getdata() {
|
||
|
||
this.$u.get("/app/getDictData?dictType=rl_rental_period").then((res) => {
|
||
if (res.code == 200) {
|
||
this.dataList = res.data
|
||
if(this.dataIndex==0){
|
||
this.dataInfo = this.dataList[0]
|
||
}else{
|
||
this.dataInfo= this.dataList[this.dataIndex]
|
||
}
|
||
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
|
||
}
|
||
});
|
||
},
|
||
getcityList() {
|
||
|
||
this.$u.get("app/city/list").then((res) => {
|
||
if (res.code == 200) {
|
||
this.cityList = res.data
|
||
} else {
|
||
uni.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
|
||
}
|
||
});
|
||
},
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
page {
|
||
background-color: #F7F7F7;
|
||
}
|
||
|
||
.page {
|
||
width: 100%;
|
||
position: relative;
|
||
|
||
.kfbox {
|
||
padding: 48rpx 30rpx;
|
||
position: fixed;
|
||
left: 82rpx;
|
||
top: 410rpx;
|
||
width: 590rpx;
|
||
// height: 282rpx;
|
||
background: #FFFFFF;
|
||
border-radius: 30rpx 30rpx 30rpx 30rpx;
|
||
z-index: 110;
|
||
display: flex;
|
||
justify-content: center;
|
||
flex-wrap: wrap;
|
||
|
||
.close {
|
||
position: relative;
|
||
bottom: -124rpx;
|
||
width: 60rpx;
|
||
height: 60rpx;
|
||
}
|
||
|
||
.phone_box {
|
||
margin-top: 32rpx;
|
||
width: 528rpx;
|
||
height: 144rpx;
|
||
background: #FFFFFF;
|
||
box-shadow: 0rpx 4rpx 22rpx 0rpx rgba(0, 0, 0, 0.1);
|
||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
|
||
.img {
|
||
width: 86rpx;
|
||
height: 86rpx;
|
||
|
||
image {
|
||
width: 86rpx;
|
||
height: 86rpx;
|
||
}
|
||
}
|
||
|
||
.info {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
margin-left: 34rpx;
|
||
|
||
.name {
|
||
width: 100%;
|
||
font-weight: 600;
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.phone {
|
||
width: 100%;
|
||
font-weight: 400;
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
}
|
||
}
|
||
|
||
.tit {
|
||
font-weight: 600;
|
||
font-size: 40rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.words {
|
||
margin-bottom: 42rpx;
|
||
margin-top: 16rpx;
|
||
font-weight: 400;
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
}
|
||
|
||
.choosedata {
|
||
padding: 46rpx 37rpx;
|
||
position: fixed;
|
||
bottom: 0;
|
||
width: 750rpx;
|
||
// height: 757rpx;
|
||
background: #FFFFFF;
|
||
border-radius: 20rpx 20rpx 0 0;
|
||
z-index: 101;
|
||
|
||
.tit {
|
||
margin-bottom: 54rpx;
|
||
position: relative;
|
||
width: 100%;
|
||
text-align: center;
|
||
font-weight: 600;
|
||
font-size: 40rpx;
|
||
color: #3D3D3D;
|
||
|
||
image {
|
||
position: absolute;
|
||
right: 36rpx;
|
||
width: 52rpx;
|
||
height: 52rpx;
|
||
}
|
||
}
|
||
|
||
|
||
|
||
.li {
|
||
margin-bottom: 24rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 676rpx;
|
||
height: 88rpx;
|
||
background: #F7F7F7;
|
||
border-radius: 14rpx 14rpx 14rpx 14rpx;
|
||
border: 2rpx solid #fff;
|
||
font-weight: 600;
|
||
font-size: 36rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.act {
|
||
|
||
background: #DCEDFF;
|
||
|
||
border: 2rpx solid #4297F3;
|
||
}
|
||
}
|
||
|
||
|
||
.bot_cont {
|
||
position: fixed;
|
||
bottom: 0;
|
||
width: 100%;
|
||
|
||
.fresh {
|
||
margin-left: 22rpx;
|
||
width: 66rpx;
|
||
height: 66rpx;
|
||
}
|
||
|
||
.normal_store {
|
||
width: 100%;
|
||
background: #fff;
|
||
|
||
.card_box {
|
||
.card {
|
||
padding: 28rpx 36rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
border-bottom: 1rpx solid #808080;
|
||
|
||
image {
|
||
width: 172rpx;
|
||
height: 132rpx;
|
||
}
|
||
|
||
.infos {
|
||
width: 100%;
|
||
margin-left: 30rpx;
|
||
|
||
.name {
|
||
font-weight: 600;
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.cartool {
|
||
margin-top: 16rpx;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.car_type_li {
|
||
margin-top: 16rpx;
|
||
display: flex;
|
||
|
||
.type {
|
||
margin-right: 12rpx;
|
||
padding: 4rpx 10rpx;
|
||
background: #DCEDFF;
|
||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #4297F3;
|
||
}
|
||
|
||
}
|
||
|
||
.price_box {
|
||
width: 100%;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
|
||
.left {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #FF1C1C;
|
||
|
||
span {
|
||
font-size: 48rpx;
|
||
}
|
||
}
|
||
|
||
.right {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
margin-left: auto;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #FF1C1C;
|
||
|
||
span {
|
||
font-size: 48rpx;
|
||
}
|
||
|
||
.btn {
|
||
margin-left: 28rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 138rpx;
|
||
height: 50rpx;
|
||
background: #F14C4C;
|
||
border-radius: 31rpx 31rpx 31rpx 31rpx;
|
||
font-weight: 500;
|
||
font-size: 24rpx;
|
||
color: #FFFFFF;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.store_info {
|
||
display: flex;
|
||
flex-wrap: wrap;
|
||
width: 100%;
|
||
padding: 30rpx 28rpx;
|
||
box-shadow: 0rpx 8rpx 20rpx 0rpx rgba(0, 0, 0, 0.1);
|
||
|
||
.top_info {
|
||
width: 100%;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
|
||
.name {
|
||
font-weight: 600;
|
||
font-size: 36rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.img {
|
||
width: 48rpx;
|
||
height: 48rpx;
|
||
}
|
||
}
|
||
|
||
.address {
|
||
margin-top: 12rpx;
|
||
width: 100%;
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: nowrap;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
|
||
}
|
||
|
||
.time {
|
||
width: 100%;
|
||
margin-top: 8rpx;
|
||
font-weight: 500;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
|
||
span {
|
||
font-weight: 600;
|
||
}
|
||
}
|
||
|
||
.types_box {
|
||
width: 100%;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
|
||
.type {
|
||
margin-top: 18rpx;
|
||
padding: 4rpx 10rpx;
|
||
background: #DCEDFF;
|
||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #4297F3;
|
||
}
|
||
|
||
image {
|
||
width: 48rpx;
|
||
height: 48rpx;
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
.mini_store::-webkit-scrollbar {
|
||
display: none;
|
||
}
|
||
|
||
.mini_store {
|
||
// width: 100%; // 确保 mini_store 宽度为100%占满可用空间
|
||
margin-left: 22rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
margin-bottom: 28rpx;
|
||
overflow-x: auto; // 添加水平滚动条
|
||
// margin-bottom: 200rpx;
|
||
white-space: nowrap; // 确保子元素不换行
|
||
|
||
.store_li {
|
||
padding: 24rpx;
|
||
display: inline-block; // 确保元素水平排列
|
||
min-width: 670rpx; // 使用 min-width 保证滑动效果
|
||
height: 340rpx;
|
||
background: #ffffff;
|
||
// box-shadow: 0rpx 2rpx 18rpx 0rpx rgba(0, 0, 0, 0.3);
|
||
border-radius: 22rpx;
|
||
flex-shrink: 0; // 防止元素缩小
|
||
margin-right: 10rpx; // 添加右侧间距
|
||
|
||
.car_li {
|
||
margin-top: 2rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
|
||
.car {
|
||
display: flex;
|
||
align-items: center;
|
||
flex-wrap: nowrap;
|
||
width: 49%;
|
||
|
||
.imgs {
|
||
width: 100rpx;
|
||
height: 76rpx;
|
||
}
|
||
|
||
.infos {
|
||
margin-left: 24rpx;
|
||
|
||
.info_top {
|
||
font-weight: 600;
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.price {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
}
|
||
}
|
||
|
||
.lines {
|
||
height: 94rpx;
|
||
width: 1rpx;
|
||
background: #D8D8D8;
|
||
}
|
||
}
|
||
|
||
.line {
|
||
margin-top: 22rpx;
|
||
width: 100%;
|
||
border: 1rpx solid #D8D8D8;
|
||
}
|
||
|
||
.store_info {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
|
||
.infos {
|
||
margin-top: 8rpx;
|
||
flex-grow: 1; // 让 .infos 占据剩余的宽度
|
||
|
||
.info_li {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
justify-content: space-between;
|
||
|
||
.data {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
|
||
span {
|
||
font-weight: 600;
|
||
}
|
||
}
|
||
|
||
.price {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #FF1C1C;
|
||
|
||
span {
|
||
font-size: 36rpx;
|
||
}
|
||
}
|
||
|
||
.type {
|
||
padding: 4rpx 8rpx;
|
||
background: #DCEDFF;
|
||
border-radius: 6rpx 6rpx 6rpx 6rpx;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #4297F3;
|
||
}
|
||
|
||
.num {
|
||
font-weight: 400;
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
}
|
||
}
|
||
|
||
.img {
|
||
margin-left: auto;
|
||
margin-left: 16rpx;
|
||
width: 48rpx;
|
||
height: 48rpx;
|
||
}
|
||
}
|
||
|
||
.store_top {
|
||
width: 100%;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
|
||
.store_name {
|
||
font-weight: 600;
|
||
font-size: 36rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.img {
|
||
width: 48rpx;
|
||
height: 48rpx;
|
||
}
|
||
|
||
}
|
||
|
||
.store_address {
|
||
margin-top: 12rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
|
||
.icon-ditufuwu {
|
||
|
||
margin-right: 6rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.map {
|
||
position: relative;
|
||
width: 750rpx;
|
||
height: 78vh;
|
||
|
||
|
||
}
|
||
|
||
.cont {
|
||
position: relative;
|
||
|
||
.price_sele {
|
||
position: relative;
|
||
|
||
width: 750rpx;
|
||
background: #FFFFFF;
|
||
|
||
.choose_cont {
|
||
|
||
position: absolute;
|
||
background: #fff;
|
||
width: 750rpx;
|
||
// height: 200rpx;
|
||
// left: -58rpx;
|
||
z-index: 100;
|
||
padding-bottom: 40rpx;
|
||
|
||
.tit {
|
||
margin: 0 58rpx;
|
||
font-weight: 400;
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.type_box {
|
||
margin: 0 58rpx;
|
||
display: flex;
|
||
margin-top: 16rpx;
|
||
|
||
.type_li {
|
||
position: relative;
|
||
margin-right: 10rpx;
|
||
padding: 8rpx 16rpx;
|
||
background: #F0F0F0;
|
||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #3D3D3D;
|
||
|
||
image {
|
||
position: absolute;
|
||
right: 0;
|
||
bottom: 0;
|
||
width: 28rpx;
|
||
height: 28rpx;
|
||
}
|
||
}
|
||
|
||
.act1 {
|
||
background: #DCEDFF;
|
||
color: #4297F3;
|
||
}
|
||
}
|
||
|
||
.btn_box {
|
||
position: absolute;
|
||
bottom: -140rpx;
|
||
margin-top: 50rpx;
|
||
width: 750rpx;
|
||
height: 140rpx;
|
||
background: #FFFFFF;
|
||
box-shadow: 0rpx -2rpx 22rpx 0rpx rgba(0, 0, 0, 0.1);
|
||
border-radius: 0 0 40rpx 40rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
|
||
.btn1 {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 240rpx;
|
||
height: 78rpx;
|
||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||
border: 2rpx solid #4297F3;
|
||
font-weight: 400;
|
||
font-size: 36rpx;
|
||
color: #4297F3;
|
||
}
|
||
|
||
.btn2 {
|
||
margin-left: 44rpx;
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 382rpx;
|
||
height: 78rpx;
|
||
background: #4297F3;
|
||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||
border: 2rpx solid #4297F3;
|
||
font-weight: 400;
|
||
font-size: 36rpx;
|
||
color: #FFFFFF;
|
||
}
|
||
}
|
||
}
|
||
|
||
.words {
|
||
padding: 18rpx 58rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
// margin-top: 6rpx;
|
||
font-weight: 600;
|
||
font-size: 28rpx;
|
||
color: #3D3D3D;
|
||
|
||
.icon-xiangxia1 {
|
||
margin-left: 4rpx;
|
||
margin-top: 4px;
|
||
font-size: 22rpx;
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
.ips_box {
|
||
padding: 22rpx 38rpx;
|
||
width: 750rpx;
|
||
background: #FFFFFF;
|
||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||
|
||
.ipt {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
padding: 20rpx 30rpx;
|
||
width: 100%;
|
||
background: #EFEFEF;
|
||
border-radius: 39rpx 39rpx 39rpx 39rpx;
|
||
|
||
.left {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
|
||
.txt {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #6F6F6F;
|
||
}
|
||
|
||
.txt1 {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #6F6F6F;
|
||
width: 252rpx;
|
||
/* 设置宽度 */
|
||
white-space: nowrap;
|
||
/* 禁止文本换行 */
|
||
overflow: hidden;
|
||
/* 超出部分隐藏 */
|
||
text-overflow: ellipsis;
|
||
/* 超出部分显示省略号 */
|
||
}
|
||
}
|
||
|
||
.right {
|
||
width: 32rpx;
|
||
height: 32rpx;
|
||
|
||
image {
|
||
width: 32rpx;
|
||
height: 32rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
|
||
|
||
|
||
.choose_card {
|
||
position: absolute;
|
||
top: 0;
|
||
padding-bottom: 28rpx;
|
||
|
||
|
||
width: 750rpx;
|
||
// height: 511rpx;
|
||
background: #FFFFFF;
|
||
border-radius: 0rpx 0rpx 20rpx 20rpx;
|
||
z-index: 100;
|
||
|
||
.check {
|
||
margin-bottom: 40rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
width: 676rpx;
|
||
height: 96rpx;
|
||
background-image: url('https://lxnapi.ccttiot.com/bike/img/static/u5r7QJyFfPruTi4VsXzV');
|
||
background-size: cover;
|
||
/* 背景图片等比缩放以覆盖整个容器 */
|
||
background-position: center;
|
||
|
||
.txt1 {
|
||
width: 50%;
|
||
text-align: center;
|
||
font-weight: 600;
|
||
font-size: 40rpx;
|
||
color: #3D3D3D;
|
||
}
|
||
|
||
.txt2 {
|
||
width: 50%;
|
||
text-align: center;
|
||
font-weight: 600;
|
||
font-size: 36rpx;
|
||
color: #808080;
|
||
}
|
||
}
|
||
|
||
.btn_li {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
justify-content: center;
|
||
margin-top: 20rpx;
|
||
|
||
.btns {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 238rpx;
|
||
height: 80rpx;
|
||
|
||
font-weight: 500;
|
||
font-size: 36rpx;
|
||
color: #6DB3FF;
|
||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||
border: 2rpx solid #6DB3FF;
|
||
}
|
||
|
||
.btn {
|
||
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 406rpx;
|
||
height: 80rpx;
|
||
background: #6DB3FF;
|
||
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||
//
|
||
margin-left: 14rpx;
|
||
font-weight: 500;
|
||
font-size: 36rpx;
|
||
color: #FFFFFF;
|
||
border: 2rpx solid #fff;
|
||
}
|
||
}
|
||
|
||
.time_box {
|
||
margin: 0 auto;
|
||
padding: 22rpx 24rpx 28rpx 24rpx;
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
width: 658rpx;
|
||
// height: 128rpx;
|
||
background: #EEEEEE;
|
||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||
|
||
.time_li {
|
||
width: 50%;
|
||
|
||
.txt {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #808080;
|
||
}
|
||
|
||
.words {
|
||
margin-top: 6rpx;
|
||
font-weight: 600;
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
|
||
image {
|
||
width: 40rpx;
|
||
height: 22rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
.area_li {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: flex-start;
|
||
padding: 20rpx 46rpx 28rpx 46rpx;
|
||
|
||
.dingw {
|
||
display: flex;
|
||
align-items: center;
|
||
margin-left: 30rpx;
|
||
margin-top: 46rpx;
|
||
font-weight: 400;
|
||
font-size: 28rpx;
|
||
color: #808080;
|
||
|
||
image {
|
||
margin-left: 8rpx;
|
||
width: 30rpx;
|
||
height: 30rpx;
|
||
}
|
||
}
|
||
|
||
.city {
|
||
|
||
.txt {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #808080;
|
||
}
|
||
|
||
.words {
|
||
margin-top: 6rpx;
|
||
font-weight: 600;
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
|
||
image {
|
||
width: 40rpx;
|
||
height: 22rpx;
|
||
}
|
||
}
|
||
}
|
||
|
||
.area {
|
||
margin-left: 20rpx;
|
||
|
||
.top {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
|
||
.txt {
|
||
font-weight: 400;
|
||
font-size: 24rpx;
|
||
color: #808080;
|
||
}
|
||
|
||
.type {
|
||
margin-left: 10rpx;
|
||
background: #FFE9D4;
|
||
border-radius: 4rpx 4rpx 4rpx 4rpx;
|
||
padding: 2rpx 6rpx;
|
||
font-weight: 400;
|
||
font-size: 22rpx;
|
||
color: #FF8C1E;
|
||
}
|
||
}
|
||
|
||
.bot {
|
||
display: flex;
|
||
flex-wrap: nowrap;
|
||
align-items: center;
|
||
margin-top: 6rpx;
|
||
|
||
.txt3 {
|
||
font-weight: 600;
|
||
font-size: 32rpx;
|
||
color: #3D3D3D;
|
||
width: 252rpx;
|
||
/* 设置宽度 */
|
||
white-space: nowrap;
|
||
/* 禁止文本换行 */
|
||
overflow: hidden;
|
||
/* 超出部分隐藏 */
|
||
text-overflow: ellipsis;
|
||
/* 超出部分显示省略号 */
|
||
}
|
||
|
||
image {
|
||
width: 40rpx;
|
||
height: 22rpx;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
}
|
||
|
||
|
||
}
|
||
|
||
}
|
||
</style> |