| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837 |
- <script setup lang="ts">
- import { ref, computed } from 'vue'
- import { onLoad, onPageScroll, onShow } from '@dcloudio/uni-app'
- import {
- getParkServiceOil,
- getParkServicePower,
- getParkServiceShopList,
- getParkServiceScenicList,
- getParkServiceFacility,
- getParkServiceNoticeList,
- getBannerApi
- } from '@/api/home'
- import { h5PhoneLoginApi } from '@/api/login'
- import { useListLoader } from '@/composables/useListLoader'
- import { useGlobal } from '@/composables/index'
- import { user } from '@/stores/modules/user'
- const { minioUrl, pathPre } = useGlobal()
- const userStore = user()
- const angle = ref(45)
- // 监听页面滚动
- onPageScroll((e) => {
- if (e.scrollTop > 80) {
- angle.value = 90
- } else {
- angle.value = 45
- }
- })
- // 轮播图数据
- const list = ref([`${minioUrl}/home_banner.png`])
- const tabs = ref([{ name: '加油' }, { name: '充电' }])
- const tabActive = ref(0)
- // 金刚区列表
- const navList = ref([
- { image: `${minioUrl}/icon_nav_01.png`, text: '我要加油', path: '/base/common/refuel', w: '53rpx', h: '53rpx' },
- { image: `${minioUrl}/icon_nav_02.png`, text: '我要充电', path: '/base/common/charge', w: '60rpx', h: '53rpx' },
- { image: `${minioUrl}/icon_nav_03.png`, text: '我要吃饭', path: '/base/shop/meal', w: '57rpx', h: '57rpx' },
- { image: `${minioUrl}/icon_nav_04.png`, text: '我要修车', path: '/base/common/repair', w: '60rpx', h: '56rpx' },
- { image: `${minioUrl}/icon_nav_05.png`, text: '投诉建议', path: '/base/suggest/index', w: '59rpx', h: '53rpx' },
- { image: `${minioUrl}/icon_nav_06.png`, text: '一键救援', path: '', w: '76rpx', h: '76rpx', type: 'popup' },
- { image: `${minioUrl}/icon_nav_07.png`, text: '司机之家', path: '/base/common/driversHome', w: '76rpx', h: '76rpx' },
- { image: `${minioUrl}/icon_nav_08.png`, text: '母婴室', path: '/base/common/nursingRoom', w: '76rpx', h: '76rpx' },
- { image: `${minioUrl}/icon_nav_09.png`, text: '失物招领', path: '', w: '76rpx', h: '76rpx', type: 'popup' },
- { image: `${minioUrl}/icon_nav_10.png`, text: '招商加盟', path: '/base/common/join', w: '76rpx', h: '76rpx' }
- ])
- const selectedValue = ref('')
- // 一键救援弹窗展示
- const isRescueShow = ref(false)
- // 失物招领弹窗展示
- const isLostFoundShow = ref(false)
- onLoad((options) => {
- const m = options?.m || ''
- if (m) {
- h5PhoneLoginApi(m).then((res: any) => {
- const token = res.data.token || ''
- if (token) {
- uni.setStorageSync('token', token)
- userStore.setToken(token)
- }
- })
- }
- // 页面加载时从本地缓存获取园区ID
- const cachedParkId = uni.getStorageSync('parkId')
- if (cachedParkId) {
- selectedValue.value = cachedParkId
- params.value.parkId = cachedParkId
- }
- })
- const init = () => {
- // 获取我要加油数据
- getOilList()
- // 获取我要充电数据
- getPowerList()
- // 获取精选商家数据
- getShopList()
- // 获取服务设施数据
- getFacilityList()
- // 获取出行提醒数据
- getNoticeList()
- // 获取banner数据
- // getBannerList()
- }
- // 处理园区选择变化
- const handleParkChange = () => {
- params.value.parkId = selectedValue.value
- oilInfo.value = {}
- listOli.value = []
- powerInfo.value = {}
- // 初始化数据
- init()
- // 重新加载列表数据
- handleSearch()
- }
- onShow(() => {
- // 初始化数据
- init()
- })
- // 获取banner数据
- const bannerList = ref<any>([])
- const getBannerList = async () => {
- const res = (await getBannerApi()) as any
- if (res.data) {
- bannerList.value = res.data.map((item: any) => item.imageInfo?.url)
- }
- }
- // 获取我要加油数据
- const oilInfo = ref<any>({})
- const listOli = ref<any>([])
- const getOilList = async () => {
- const res = (await getParkServiceOil(selectedValue.value)) as any
- if (res.data) {
- oilInfo.value = JSON.parse(res.data.content)
- const {
- oil92ActivityPrice,
- oil92OriginalPrice,
- oil95ActivityPrice,
- oil95OriginalPrice,
- oil89ActivityPrice,
- oil89OriginalPrice,
- dieselActivityPrice,
- dieselOriginalPrice
- } = oilInfo.value
- const _list = [
- { name: '92#', activityPrice: oil92ActivityPrice, originalPrice: oil92OriginalPrice },
- { name: '95#', activityPrice: oil95ActivityPrice, originalPrice: oil95OriginalPrice },
- { name: '89#', activityPrice: oil89ActivityPrice, originalPrice: oil89OriginalPrice },
- { name: '柴油#', activityPrice: dieselActivityPrice, originalPrice: dieselOriginalPrice }
- ]
- listOli.value = _list
- }
- }
- // 获取我要充电数据
- const powerInfo = ref<any>({})
- const getPowerList = async () => {
- const res = (await getParkServicePower(selectedValue.value)) as any
- if (res.data) {
- powerInfo.value = JSON.parse(res.data.content)
- }
- }
- // 获取精选商家数据
- const shopList = ref<any>([])
- const getShopList = async () => {
- const res = (await getParkServiceShopList({ parkId: selectedValue.value })) as any
- shopList.value = res.rows.slice(0, 5).map((item: any) => ({
- ...item,
- content: JSON.parse(item.content)
- }))
- }
- // 获取服务设施数据
- const facilityList = ref<any>([])
- const getFacilityList = async () => {
- const res = (await getParkServiceFacility({
- parkId: selectedValue.value
- })) as any
- facilityList.value = res.rows
- .slice(0, 6)
- .reverse()
- .map((item: any) => ({
- ...item,
- content: JSON.parse(item.content)
- }))
- }
- // 获取附近景区数据
- const scenicList = computed(() => {
- return listData.value.map((item: any) => ({
- ...item,
- content: JSON.parse(item.content)
- }))
- })
- // 获取出行提醒数据
- const noticeList = ref<any>([])
- const getNoticeList = async () => {
- const res = (await getParkServiceNoticeList({
- top: 1
- })) as any
- noticeList.value = res.rows.map((v: any) => v.title)
- }
- // 列表加载
- const { listData, upCallback, downCallback, handleSearch, mescrollInit, params } = useListLoader({
- apiFn: getParkServiceScenicList,
- initialParams: {
- parkId: selectedValue.value
- }
- })
- // 金刚区点击事件
- const navClick = (item: { path: string; type?: string; text?: string }) => {
- if (item.type === 'popup') {
- // 弹窗展示
- if (item.text === '一键救援') {
- isRescueShow.value = true
- } else if (item.text === '失物招领') {
- isLostFoundShow.value = true
- }
- return
- }
- uni.navigateTo({
- url: item.path
- })
- }
- // 出行提示点击事件
- const navigateToTips = () => {
- uni.navigateTo({
- url: '/base/travel/tips'
- })
- }
- // 精选商家点击事件
- const navigateToShop = () => {
- uni.navigateTo({
- url: '/base/shop/index'
- })
- }
- // 精选商家详情点击事件
- const navigateToShopDetail = (id: string) => {
- uni.navigateTo({
- url: '/base/shop/detailsShop?id=' + id
- })
- }
- // 景点点击事件
- const navigateToSpot = (id: string) => {
- uni.navigateTo({
- url: '/base/common/spot?id=' + id
- })
- }
- // 导航功能
- const goToNavigation = (longitude: string, latitude: string, name: string) => {
- uni.openLocation({
- latitude: Number(latitude),
- longitude: Number(longitude),
- name: name,
- success: () => {
- console.log('导航功能调用成功')
- }
- })
- }
- // 拨打电话
- const callPhone = (phone: string) => {
- uni.makePhoneCall({
- phoneNumber: phone
- })
- }
- </script>
- <template>
- <mescroll-body
- @init="mescrollInit"
- :down="{ use: false, minAngle: angle }"
- :bottombar="false"
- :up="{ bgColor: '#f6f7fb', textColor: '#999', empty: { use: false } }"
- @down="downCallback"
- @up="upCallback"
- >
- <view class="index-container">
- <!-- 头部背景 -->
- <view class="header-bg" :style="{ backgroundImage: 'url(' + minioUrl + '/index_bg.png)' }"></view>
- <!-- header -->
- <view class="index-header-wrapper">
- <image :src="minioUrl + '/logo.png'" mode="aspectFill" class="logo" />
- <view class="header-right-wrap">
- <view class="top-title-box">
- <HySelect v-model="selectedValue" @change="handleParkChange" />
- </view>
- <image class="star-img" :src="minioUrl + '/star.png'" mode="aspectFill" />
- <view class="bottom-box">
- <!-- 天气 -->
- <iframe
- scrolling="no"
- src="https://widget.tianqiapi.com/?style=tv&skin=cucumber&color=333"
- frameborder="0"
- width="130"
- height="25"
- allowtransparency="true"
- ></iframe>
- <!-- 营业状态 -->
- <view class="bottom-tag-item">正常营业</view>
- </view>
- </view>
- </view>
- <!-- 轮播图 -->
- <u-swiper :height="306" :list="list"></u-swiper>
- <!-- 金刚区 -->
- <view class="index-nav-wrapper">
- <view class="nav-item" v-for="(item, index) in navList" :key="index" @click="navClick(item)">
- <view class="nav-image">
- <image :src="item.image" mode="aspectFill" :style="{ width: item.w, height: item.h }" />
- </view>
- <view class="nav-item-text">{{ item.text }}</view>
- </view>
- </view>
- <!-- 出行提示 -->
- <view class="index-tips-wrapper" @click="navigateToTips">
- <image class="tips-img" :src="minioUrl + '/icon_chuxing.png'" mode="scaleToFill" />
- <view class="tips-line"></view>
- <u-notice-bar
- mode="vertical"
- style="width: 100%"
- :list="noticeList"
- :volume-icon="false"
- type="none"
- padding="10rpx"
- font-size="25"
- color="#333"
- ></u-notice-bar>
- </view>
- <!-- 加油充电 -->
- <view class="index-tabs-wrapper">
- <u-tabs
- v-model="tabActive"
- :list="tabs"
- active-color="#333"
- :font-size="31"
- :height="60"
- :gutter="20"
- :bar-style="{
- width: '30rpx',
- height: '6rpx',
- backgroundImage: 'linear-gradient(90deg, #0f91f8 0%, #32a9c8 68%, #54c197 100%), linear-gradient(#6c85fc, #6c85fc)',
- backgroundBlendMode: 'normal, normal',
- borderRadius: '2rpx'
- }"
- ></u-tabs>
- <template v-if="tabActive === 0">
- <view class="tab-station-wrap" v-if="listOli.length > 0">
- <HyStation v-for="(item, index) in listOli" :key="index" :item="item"></HyStation>
- </view>
- <view class="no-data-wrap" v-else>
- <u-empty />
- </view>
- </template>
- <template v-if="tabActive === 1">
- <view class="tab-station-wrap column" v-if="powerInfo?.fastChargeTotal > 0">
- <HyCharge
- title="快充"
- :freeNum="powerInfo?.fastChargeFree"
- :totalNum="powerInfo?.fastChargeTotal"
- :status="powerInfo?.fastChargeStatus"
- />
- <HyCharge
- title="慢充"
- :freeNum="powerInfo?.slowChargeFree"
- :totalNum="powerInfo?.slowChargeTotal"
- :status="powerInfo?.slowChargeStatus"
- />
- </view>
- <view class="no-data-wrap" v-else>
- <u-empty />
- </view>
- </template>
- </view>
- <!-- 服务设施 -->
- <HyCard title="服务设施" :marginBottom="24">
- <view class="index-service-wrapper" v-if="facilityList.length > 0">
- <HyService v-for="(item, index) in facilityList" :key="index" :item="item"></HyService>
- </view>
- <view class="no-data-wrap" v-else>
- <u-empty text="暂无服务设施数据" />
- </view>
- </HyCard>
- <!-- 人气优选商家 -->
- <HyCard title="人气优选商家" rightText="更多商家" isShowRight :marginBottom="24" @clickRight="navigateToShop">
- <view class="index-shop-wrapper" v-if="shopList.length > 0">
- <view class="shop-item" v-for="(item, index) in shopList" :key="index" @click="navigateToShopDetail(item.id)">
- <view class="img-wrap">
- <image :src="pathPre + item.content.image" mode="aspectFill" />
- </view>
- <view class="item-text u-line-1">{{ item.title }}</view>
- </view>
- </view>
- <view class="no-data-wrap" v-else>
- <u-empty text="暂无商家数据" />
- </view>
- </HyCard>
- <!-- 附近景点 -->
- <HyCard title="附近景点" isBg :bgImg="minioUrl + '/index_spot_bg.png'">
- <view class="index-spot-wrapper" v-if="scenicList.length > 0">
- <view class="spot-item" v-for="(item, index) in scenicList" :key="index" @click="navigateToSpot(item.id)">
- <view class="spot-img-wrap">
- <image :src="pathPre + item.content.image" mode="aspectFill" />
- </view>
- <view class="spot-right-wrap">
- <view class="right-header">
- <view class="title">{{ item.title }}</view>
- <view class="price">{{ item.content.isFree === 1 ? '免费' : item.content.price + '元' }}</view>
- </view>
- <view class="right-tag-box">
- <view class="s-tag-green" v-for="(tag, index) in item.content.tags" :key="index">{{ tag }}</view>
- </view>
- <view class="right-location-box">
- <view class="left">
- <image class="icon-address" :src="minioUrl + '/icon_address.png'" mode="aspectFill" />
- <view class="address-text-wrap"
- >距您<text>{{ item.content.distance }}</text
- >公里,驾车预计<text>{{ item.content.driveTime }}</text
- >分钟</view
- >
- </view>
- <view class="right-go-icon" @click.stop="goToNavigation(item.content.longitude, item.content.latitude, item.title)">
- <image :src="minioUrl + '/icon_go.png'" mode="aspectFill" />
- </view>
- </view>
- </view>
- </view>
- </view>
- <view class="no-data-wrap" v-else>
- <u-empty text="暂无景点数据" />
- </view>
- </HyCard>
- <!-- 一键救援 -->
- <HyPopup v-model="isRescueShow" width="700rpx" showClose>
- <view class="popup-content-wrapper">
- <view class="popup-content-item" @click="callPhone('96659')">
- <view class="p-item-left">
- <view class="left-title">车辆救援</view>
- <view class="left-sub-title">山东高速集团出行服务热线</view>
- </view>
- <view class="p-item-right">
- <view class="mobile">96659</view>
- <view class="icon-box">
- <u-icon name="phone-fill" color="#fff" size="24"></u-icon>
- </view>
- </view>
- </view>
- <view class="popup-content-item" @click="callPhone('12122')">
- <view class="p-item-left">
- <view class="left-title">事故报警</view>
- <view class="left-sub-title">山东高速交警报警热线</view>
- </view>
- <view class="p-item-right">
- <view class="mobile">12122</view>
- <view class="icon-box">
- <u-icon name="phone-fill" color="#fff" size="24"></u-icon>
- </view>
- </view>
- </view>
- </view>
- </HyPopup>
- <!-- 失物招领 -->
- <HyPopup v-model="isLostFoundShow" width="700rpx" showClose>
- <view class="popup-content-wrapper">
- <view class="popup-content-item column" @click="callPhone('0532-8889999')">
- <view class="column-title">失物招领</view>
- <view class="column-mobile">0532-8889999</view>
- <view class="icon-box">
- <u-icon name="phone-fill" color="#fff" size="24"></u-icon>
- </view>
- </view>
- </view>
- </HyPopup>
- </view>
- </mescroll-body>
- </template>
- <style lang="scss" scoped>
- .no-data-wrap {
- width: 100%;
- height: 400rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- box-sizing: border-box;
- }
- .popup-content-wrapper {
- height: 330rpx;
- background-color: #fff;
- border-radius: 14rpx;
- .popup-content-item {
- width: 100%;
- display: flex;
- align-items: center;
- justify-content: space-between;
- box-sizing: border-box;
- padding: 48rpx 48rpx 24rpx 48rpx;
- &.column {
- flex-direction: column;
- justify-content: center;
- .column-title {
- font-size: 28rpx;
- color: #607f2f;
- }
- .column-mobile {
- font-size: 42rpx;
- color: #333;
- font-weight: 600;
- margin: 40rpx 0;
- }
- .icon-box {
- width: 48rpx;
- height: 48rpx;
- background-color: #247d54;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 50%;
- margin-left: 16rpx;
- }
- }
- .p-item-left {
- display: flex;
- flex-direction: column;
- .left-title {
- font-size: 28rpx;
- color: #607f2f;
- }
- .left-sub-title {
- font-size: 24rpx;
- color: #999;
- margin-top: 8rpx;
- }
- }
- .p-item-right {
- display: flex;
- align-items: center;
- .mobile {
- font-size: 42rpx;
- color: #333;
- font-weight: 600;
- }
- .icon-box {
- width: 48rpx;
- height: 48rpx;
- background-color: #247d54;
- display: flex;
- align-items: center;
- justify-content: center;
- border-radius: 50%;
- margin-left: 16rpx;
- }
- }
- }
- }
- :deep(.mescroll-upwarp) {
- padding-top: 0;
- }
- .index-container {
- width: 100%;
- min-height: 100dvh;
- position: relative;
- box-sizing: border-box;
- padding: 24rpx;
- background-color: #f6f7fb;
- .header-bg {
- width: 100%;
- height: 494rpx;
- background-position: center center;
- background-repeat: no-repeat;
- background-size: 100% 494rpx;
- position: absolute;
- top: 0;
- left: 0;
- z-index: 1;
- }
- .index-header-wrapper {
- display: flex;
- align-items: center;
- box-sizing: border-box;
- padding-left: 33rpx;
- position: relative;
- z-index: 2;
- margin-bottom: 24rpx;
- .logo {
- width: 105rpx;
- height: 92rpx;
- }
- .header-right-wrap {
- display: flex;
- flex-direction: column;
- margin-left: 24rpx;
- .top-title-box {
- display: flex;
- align-items: center;
- .title-text {
- font-size: 30rpx;
- color: #3b3c3b;
- font-weight: 600;
- }
- image {
- width: 13rpx;
- height: 10rpx;
- margin-left: 8rpx;
- }
- }
- .star-img {
- width: 146rpx;
- height: 27rpx;
- }
- .bottom-box {
- display: flex;
- align-items: center;
- margin-top: 10rpx;
- .bottom-tag-item {
- font-size: 17rpx;
- color: #fff;
- box-sizing: border-box;
- padding: 0 12rpx;
- background-color: #3bb0b9;
- border-radius: 8rpx;
- line-height: 40rpx;
- margin-top: -15rpx;
- }
- }
- }
- }
- :deep(.u-swiper-wrap) {
- position: relative;
- z-index: 1;
- }
- .index-nav-wrapper {
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- justify-content: space-around;
- margin-top: 40rpx;
- .nav-item {
- display: flex;
- flex-direction: column;
- align-items: center;
- width: 20%;
- .nav-image {
- width: 76rpx;
- height: 76rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- margin-bottom: 14rpx;
- }
- &:nth-child(-n + 5) {
- margin-bottom: 50rpx;
- }
- }
- }
- .index-tips-wrapper {
- width: 100%;
- height: 84rpx;
- border-radius: 14rpx;
- background-color: #fff;
- margin: 24rpx 0;
- box-sizing: border-box;
- padding: 0 30rpx;
- display: flex;
- align-items: center;
- .tips-img {
- width: 53rpx;
- height: 48rpx;
- }
- .tips-line {
- width: 4rpx;
- height: 34rpx;
- background-color: #3866ae;
- margin: -1rpx 0 0 24rpx;
- }
- .tips-content {
- font-size: 25rpx;
- color: #333;
- font-weight: 500;
- line-height: 40rpx;
- }
- }
- .index-tabs-wrapper {
- width: 100%;
- background-color: #fff;
- border-radius: 14rpx;
- box-sizing: border-box;
- padding: 22rpx;
- margin-bottom: 24rpx;
- .tab-station-wrap {
- display: flex;
- align-items: center;
- justify-content: space-around;
- margin-top: 24rpx;
- &.column {
- flex-direction: column;
- }
- }
- }
- .index-service-wrapper {
- margin-top: 24rpx;
- display: flex;
- flex-wrap: wrap;
- justify-content: space-between;
- :deep(.service-item-wrapper) {
- margin-bottom: 20rpx;
- &:nth-child(5) {
- margin-bottom: 0;
- }
- &:nth-child(6) {
- margin-bottom: 0;
- }
- }
- }
- .index-shop-wrapper {
- margin-top: 26rpx;
- display: flex;
- align-items: center;
- // justify-content: space-between;
- .shop-item {
- display: flex;
- flex-direction: column;
- margin-right: 28rpx;
- &:last-child {
- margin-right: 0;
- }
- .img-wrap {
- width: 104rpx;
- height: 104rpx;
- border-radius: 8rpx;
- background-color: #f0f6ff;
- image {
- width: 104rpx;
- height: 104rpx;
- border-radius: 8rpx;
- }
- }
- .item-text {
- width: 100rpx;
- text-align: center;
- margin-top: 12rpx;
- font-size: 24rpx;
- }
- }
- }
- .index-spot-wrapper {
- margin-top: 24rpx;
- .spot-item {
- display: flex;
- align-items: center;
- margin-bottom: 40rpx;
- &:last-child {
- margin-bottom: 0;
- }
- .spot-img-wrap {
- width: 196rpx;
- height: 151rpx;
- background-color: #f6f7fb;
- border-radius: 8rpx;
- image {
- width: 196rpx;
- height: 151rpx;
- border-radius: 8rpx;
- }
- }
- .spot-right-wrap {
- width: 100%;
- flex: 1;
- margin-left: 28rpx;
- .right-header {
- display: flex;
- align-items: center;
- justify-content: space-between;
- .title {
- font-size: 28rpx;
- color: #333;
- font-weight: 600;
- }
- .price {
- font-size: 21rpx;
- color: #fc9b0d;
- }
- }
- .right-tag-box {
- display: flex;
- align-items: center;
- flex-wrap: wrap;
- margin-top: 6rpx;
- .s-tag-green {
- width: 125rpx;
- height: 32rpx;
- background-color: #e2f3e4;
- border-radius: 16rpx;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 21rpx;
- color: #239450;
- margin-right: 16rpx;
- margin-bottom: 10rpx;
- }
- }
- .right-location-box {
- margin-top: 8rpx;
- display: flex;
- align-items: center;
- justify-content: space-between;
- .left {
- display: flex;
- align-items: center;
- .icon-address {
- width: 18rpx;
- height: 22rpx;
- }
- .address-text-wrap {
- font-size: 21rpx;
- color: #c3c3c3;
- margin-left: 8rpx;
- text {
- color: #fc9904;
- }
- }
- }
- .right-go-icon {
- width: 40rpx;
- height: 40rpx;
- image {
- width: 40rpx;
- height: 40rpx;
- }
- }
- }
- }
- }
- }
- }
- </style>
|