|
|
@@ -18,23 +18,29 @@ onMounted(() => {
|
|
|
getStationInfoMapList()
|
|
|
})
|
|
|
const markersData = ref<any[]>([])
|
|
|
+const markerMapList = ref<any[]>([])
|
|
|
async function getStationInfoMapList() {
|
|
|
const res = await Apis.charge.stationInfoMapList({ data: { longitude: Location.value.longitude, latitude: Location.value.latitude } })
|
|
|
+ markerMapList.value = res.data
|
|
|
res.data.forEach((item: any) => {
|
|
|
markersData.value.push({
|
|
|
id: item.stationId,
|
|
|
latitude: item.latitude,
|
|
|
longitude: item.longitude,
|
|
|
- iconPath: '',
|
|
|
+ iconPath: `${StaticUrl}/marker-tag.png`,
|
|
|
width: 30,
|
|
|
- height: 30,
|
|
|
+ height: 34,
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
-const markerShow = ref(true)
|
|
|
+const markerShow = ref(false)
|
|
|
+const selectData = ref<any>({})
|
|
|
function openMarkerTap(item: any) {
|
|
|
- console.log(item, '点击标点')
|
|
|
- markerShow.value = true
|
|
|
+ const selected = markerMapList.value.find((station: any) => station.stationId === item.detail.markerId)
|
|
|
+ if (selected) {
|
|
|
+ selectData.value = selected
|
|
|
+ markerShow.value = true
|
|
|
+ }
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
@@ -53,7 +59,6 @@ function openMarkerTap(item: any) {
|
|
|
</view>
|
|
|
</template>
|
|
|
</wd-navbar>
|
|
|
- <!-- <view :style="{ paddingTop: `${(Number(statusBarHeight) || 44) + MenuButtonHeight + 12}px` }" /> -->
|
|
|
<view class="relative">
|
|
|
<view
|
|
|
class="absolute z-1 box-border px24rpx"
|
|
|
@@ -70,60 +75,95 @@ function openMarkerTap(item: any) {
|
|
|
:latitude="Location.latitude || 23.129163" :markers="markersData" @markertap.stop="openMarkerTap"
|
|
|
/>
|
|
|
</view>
|
|
|
- <view class="absolute top-900rpx px-24rpx">
|
|
|
- <view class="h-432rpx w-702rpx rounded-32rpx bg-#FFF p-24rpx">
|
|
|
- <view class="flex items-center justify-between">
|
|
|
- <view class="text-32rpx font-800">
|
|
|
- 贵阳花果园购物中心充电站
|
|
|
+ <transition name="slide-up">
|
|
|
+ <view v-if="markerShow" class="absolute top-960rpx px-24rpx">
|
|
|
+ <view class="h-432rpx w-660rpx rounded-32rpx bg-#FFF p-24rpx" @click="router.push({ name: 'charge-site-detail', params: { stationId: String(selectData.stationId) } })">
|
|
|
+ <view class="" @click.stop="markerShow = false">
|
|
|
+ <wd-icon name="close" size="16px" color="#9ED605" />
|
|
|
</view>
|
|
|
- <view
|
|
|
- class="ml-150rpx h-44rpx w-148rpx flex items-center border-2rpx border-#9ED605 rounded-34rpx border-solid line-height-[44rpx]"
|
|
|
- >
|
|
|
- <view class="w-44rpx rounded-[34rpx_0rpx_0rpx_34rpx] bg-#9ED605 text-center">
|
|
|
- <wd-icon name="location" size="16px" color="#FFF" />
|
|
|
+ <view class="flex items-center justify-between">
|
|
|
+ <view class="text-32rpx font-800">
|
|
|
+ {{ selectData.stationName }}
|
|
|
</view>
|
|
|
- <view class="text-24rpx text-#9ED605">
|
|
|
- 1.55km
|
|
|
+ <view
|
|
|
+ class="ml-150rpx h-44rpx w-148rpx flex items-center border-2rpx border-#9ED605 rounded-34rpx border-solid line-height-[44rpx]"
|
|
|
+ >
|
|
|
+ <view class="w-44rpx rounded-[34rpx_0rpx_0rpx_34rpx] bg-#9ED605 text-center">
|
|
|
+ <wd-icon name="location" size="16px" color="#FFF" />
|
|
|
+ </view>
|
|
|
+ <view class="text-24rpx text-#9ED605">
|
|
|
+ {{ selectData.distance }}km
|
|
|
+ </view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view class="mt-20rpx text-24rpx text-#AAA">
|
|
|
- 贵州省贵阳市观山湖区贵安新区群航新能源责任有限公司
|
|
|
- </view>
|
|
|
- <view class="flex items-center">
|
|
|
- <view class="h-120rpx w-204rpx rounded-8rpx bg-[linear-gradient(180deg,#45E67D_0%,rgba(218,249,229,0)_100%)] text-center">
|
|
|
- <view class="h-40rpx w-100rpx rounded-8rpx bg-[linear-gradient(180deg,#4FEF86_0%,#00AA3A_100%)]">
|
|
|
- 快充
|
|
|
- </view>
|
|
|
- <view>12/12</view>
|
|
|
+ <view class="mt-20rpx text-24rpx text-#AAA">
|
|
|
+ {{ selectData.address }}
|
|
|
</view>
|
|
|
- <view>
|
|
|
- <view>快充</view>
|
|
|
- <view>12/12</view>
|
|
|
+ <view class="mt-20rpx flex items-center justify-between">
|
|
|
+ <view class="h-120rpx w-204rpx flex flex-col items-center justify-center rounded-8rpx bg-[linear-gradient(180deg,#45E67D_0%,rgba(218,249,229,0)_100%)]">
|
|
|
+ <view class="mt-16rpx h-40rpx w-100rpx rounded-8rpx bg-[linear-gradient(180deg,#4FEF86_0%,#00AA3A_100%)] text-center text-24rpx text-#FFF font-bold line-height-[40rpx]">
|
|
|
+ 快充
|
|
|
+ </view>
|
|
|
+ <view class="mt-10rpx text-32rpx font-bold">
|
|
|
+ {{ selectData.fastCharging }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="h-120rpx w-204rpx flex flex-col items-center justify-center rounded-8rpx bg-[linear-gradient(180deg,#BED2FF_0%,rgba(62,82,128,0)_100%)]">
|
|
|
+ <view class="mt-16rpx h-40rpx w-100rpx rounded-8rpx bg-[linear-gradient(180deg,#8EB1FF_0%,#3071FF_100%)] text-center text-24rpx text-#FFF font-bold line-height-[40rpx]">
|
|
|
+ 慢充
|
|
|
+ </view>
|
|
|
+ <view class="mt-10rpx text-32rpx font-bold">
|
|
|
+ {{ selectData.slowCharging }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view>
|
|
|
- <view>快充</view>
|
|
|
- <view>12/12</view>
|
|
|
+ <view class="mt-20rpx h-72rpx w-654rpx flex items-center justify-between bg-#F6FAFF">
|
|
|
+ <view>
|
|
|
+ <text class="text-48rpx text-#FF6464 font-800">
|
|
|
+ {{ selectData.platformPrice }}
|
|
|
+ </text>
|
|
|
+ <text class="text-24rpx">
|
|
|
+ 元/度
|
|
|
+ </text>
|
|
|
+ </view>
|
|
|
+ <view class="28rpx">
|
|
|
+ {{ selectData.peakValue }}:{{ selectData.peakTime }}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <view>
|
|
|
- <text>1.0026</text>
|
|
|
- <text>元/度</text>
|
|
|
+ <view class="mt-20rpx flex items-center gap-16rpx">
|
|
|
+ <view class="h-30rpx w-30rpx rounded-4rpx bg-#5BE7FF text-center text-24rpx text-#FFF line-height-[30rpx]">
|
|
|
+ P
|
|
|
+ </view>
|
|
|
+ <view class="text-24rpx text-#AAA">
|
|
|
+ {{ selectData.tips }}
|
|
|
+ </view>
|
|
|
</view>
|
|
|
- <view>峰:10:00-13:00</view>
|
|
|
- </view>
|
|
|
- <view>
|
|
|
- <view>P</view>
|
|
|
- <view>充电减免2小时停车费,超出部分按每小时3元计算</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </transition>
|
|
|
</view>
|
|
|
<chargeFooter />
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
+.slide-up-enter-active, .slide-up-leave-active {
|
|
|
+ transition: transform 0.3s ease;
|
|
|
+}
|
|
|
+
|
|
|
+.slide-up-enter-from {
|
|
|
+ transform: translateY(100%);
|
|
|
+}
|
|
|
|
|
|
+.slide-up-enter-to {
|
|
|
+ transform: translateY(0%);
|
|
|
+}
|
|
|
+
|
|
|
+.slide-up-leave-from {
|
|
|
+ transform: translateY(0%);
|
|
|
+}
|
|
|
+
|
|
|
+.slide-up-leave-to {
|
|
|
+ transform: translateY(100%);
|
|
|
+}
|
|
|
</style>
|