This commit is contained in:
ylj20011123 2025-04-23 18:05:24 +08:00
commit c4b7b3c501
2 changed files with 85 additions and 203 deletions

1
.gitignore vendored
View File

@ -4,6 +4,7 @@ unpackage/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
unpackage
# Editor directories and files
.idea

View File

@ -1,27 +1,18 @@
<template>
<view
class="main"
:style="{
<view class="main" :style="{
backgroundImage:
pageType === 'spring'
? `url(https://eshangtech.com/minTestImg/springPageBg.png)`
: `url(https://eshangtech.com/minTestImg/pageBg.png)`,
}">
<view class="topBox" :style="{
height: menu.bottom + 14 + 'px',
backgroundImage:
pageType === 'spring'
? `url(https://eshangtech.com/minTestImg/springPageBg.png)`
: `url(https://eshangtech.com/minTestImg/pageBg.png)`,
}"
>
<view
class="topBox"
:style="{
height: menu.bottom + 14 + 'px',
backgroundImage:
pageType === 'spring'
? `url(https://eshangtech.com/minTestImg/springPageBg.png)`
: `url(https://eshangtech.com/minTestImg/pageBg.png)`,
}"
>
<view
class="topContent"
:style="{ paddingTop: menu.top + 'px', height: menu.height + 'px' }"
>
}">
<view class="topContent" :style="{ paddingTop: menu.top + 'px', height: menu.height + 'px' }">
<view class="topLeft">
<image class="YDIcon" src="/static/images/home/yunnanLogo.svg" />
</view>
@ -32,32 +23,15 @@
</view>
</view>
<scroll-view
class="content"
scroll-y
:scroll-into-view="scrollView"
scroll-with-animation
:style="{
paddingTop: menu.bottom + 22 + 'px',
height: `calc(100vh - 50px - ${safeHeight}px )`,
}"
@scroll="handlePageScroll"
>
<scroll-view class="content" scroll-y :scroll-into-view="scrollView" scroll-with-animation :style="{
paddingTop: menu.bottom + 22 + 'px',
height: `calc(100vh - 50px - ${safeHeight}px )`,
}" @scroll="handlePageScroll">
<!-- 轮播框 -->
<view class="navList" id="navItem">
<swiper
class="swiper"
circular
:indicator-dots="true"
:autoplay="true"
indicator-color="rgba(255,255,255,0.6)"
indicator-active-color="#ffffff"
>
<swiper-item
v-for="(item, index) in swiperList"
:key="index"
@click="handleShowPreview(item)"
>
<swiper class="swiper" circular :indicator-dots="true" :autoplay="true" indicator-color="rgba(255,255,255,0.6)"
indicator-active-color="#ffffff">
<swiper-item v-for="(item, index) in swiperList" :key="index" @click="handleShowPreview(item)">
<view class="swiper-item uni-bg-red">
<image class="img" :src="item" />
</view>
@ -67,26 +41,14 @@
<!-- 功能列表模块 -->
<view class="funItemList">
<view
class="funItem"
v-for="(item, index) in funList.slice(0, 9)"
:key="index"
:style="{
marginBottom: index < 5 ? '32rpx' : '',
}"
@click="handleFunClick(item)"
>
<image
class="funItemIcon"
:src="pageType === 'spring' ? item.springSrc : item.src"
/>
<view class="funItem" v-for="(item, index) in funList.slice(0, 9)" :key="index" :style="{
marginBottom: index < 5 ? '32rpx' : '',
}" @click="handleFunClick(item)">
<image class="funItemIcon" :src="pageType === 'spring' ? item.springSrc : item.src" />
<text class="funItemText">{{ item.label }}</text>
</view>
<view class="funItem" @click="handleGoAllFun">
<image
class="funItemIcon"
:src="pageType === 'spring' ? allFun.springSrc : allFun.src"
/>
<image class="funItemIcon" :src="pageType === 'spring' ? allFun.springSrc : allFun.src" />
<text class="funItemText">{{ allFun.label }}</text>
</view>
</view>
@ -95,18 +57,10 @@
<view class="serviceDetail" @click="handleGoDetail">
<view class="detailTop">
<view class="detailImg">
<image
v-if="
serviceDetail.ImageLits && serviceDetail.ImageLits.length > 0
"
class="img"
:src="serviceDetail.ImageLits[0]"
/>
<image
class="img"
v-else
src="/static/images/home/defaultIcon.png"
/>
<image v-if="
serviceDetail.ImageLits && serviceDetail.ImageLits.length > 0
" class="img" :src="serviceDetail.ImageLits[0]" />
<image class="img" v-else src="/static/images/home/defaultIcon.png" />
</view>
<view class="detailRight">
<view class="detailTop">
@ -119,96 +73,66 @@
</view>
<view class="detailBottom">
<span class="distance"
>{{ serviceDetail.SERVERPART_DISTANCE || "-" }}km</span
>
<span class="distance">{{ serviceDetail.SERVERPART_DISTANCE || "-" }}km</span>
<span class="addressText">{{
serviceDetail.SERVERPART_ADDRESS || "-"
}}</span>
</view>
</view>
<image
@click.stop="handleGoMap"
class="navigation"
src="/static/images/home/navigationIcon.svg"
/>
<image @click.stop="handleGoMap" class="navigation" src="/static/images/home/navigationIcon.svg" />
</view>
<view class="detailBottom">
<view class="detailBottomItem">
<!-- serviceDetail.sumDetail.haveREFUELINGGUN -->
<image
class="detailIcon"
:src="
true
? '/static/images/home/serviceGasoline.svg'
: '/static/images/home/noServiceGasoline.svg'
"
/>
<image class="detailIcon" :src="true
? '/static/images/home/serviceGasoline.svg'
: '/static/images/home/noServiceGasoline.svg'
" />
<!-- /static/images/home/noServiceGasoline.svg -->
<span class="detailText">加油站</span>
</view>
<view class="detailBottomItem">
<image
class="detailIcon"
:src="
serviceDetail.HASCHARGE
? '/static/images/home/serviceCharge.svg'
: '/static/images/home/noServiceCharge.svg'
"
/>
<image class="detailIcon" :src="serviceDetail.HASCHARGE
? '/static/images/home/serviceCharge.svg'
: '/static/images/home/noServiceCharge.svg'
" />
<!-- /static/images/home/noServiceCharge.svg -->
<span class="detailText">充电桩</span>
</view>
<view class="detailBottomItem">
<!-- serviceDetail.sumDetail.havePARKING -->
<image
class="detailIcon"
:src="
true
? '/static/images/home/carStop.svg'
: '/static/images/home/noCarStop.svg'
"
/>
<image class="detailIcon" :src="true
? '/static/images/home/carStop.svg'
: '/static/images/home/noCarStop.svg'
" />
<!-- /static/images/home/noCarStop.svg -->
<span class="detailText">停车场</span>
</view>
<view class="detailBottomItem">
<!-- serviceDetail.sumDetail.haveWC -->
<image
class="detailIcon"
:src="
true
? '/static/images/home/toilet.svg'
: '/static/images/home/noToilet.svg'
"
/>
<image class="detailIcon" :src="true
? '/static/images/home/toilet.svg'
: '/static/images/home/noToilet.svg'
" />
<!-- src="/static/images/home/noToilet.svg" -->
<span class="detailText">卫生间</span>
</view>
<view class="detailBottomItem">
<!-- serviceDetail.HASMOTHER -->
<image
class="detailIcon"
:src="
true
? ' /static/images/home/badyHome.svg'
: '/static/images/home/noBadyHome.svg'
"
/>
<image class="detailIcon" :src="true
? ' /static/images/home/badyHome.svg'
: '/static/images/home/noBadyHome.svg'
" />
<!-- src="/static/images/home/noBadyHome.svg" -->
<span class="detailText">母婴室</span>
</view>
<view class="detailBottomItem">
<image
class="detailIcon"
:src="
serviceDetail.HASPILOTLOUNGE
? '/static/images/home/serviceDriverHome.svg'
: '/static/images/home/noServiceDriverHome.svg'
"
/>
<image class="detailIcon" :src="serviceDetail.HASPILOTLOUNGE
? '/static/images/home/serviceDriverHome.svg'
: '/static/images/home/noServiceDriverHome.svg'
" />
<!-- src="/static/images/home/noServiceDriverHome.svg" -->
<span class="detailText">司机之家</span>
</view>
@ -223,12 +147,8 @@
<view class="rightGrid">
<text class="other"></text>
<text class="have">{{ chargingObj.use || "0" }}</text>
<text class="all" v-if="chargingObj.have > 0"
>/{{ chargingObj.have || "0" }}</text
>
<text class="all" v-else
>/{{ serviceDetail.sumDetail.STATEGRIDCHARGE || "0" }}</text
>
<text class="all" v-if="chargingObj.have > 0">/{{ chargingObj.have || "0" }}</text>
<text class="all" v-else>/{{ serviceDetail.sumDetail.STATEGRIDCHARGE || "0" }}</text>
</view>
</view>
</view>
@ -237,10 +157,7 @@
<view class="roadStatus" @click="handleGoHighWay">
<view class="roadTop">
<view class="roadTopLeft">
<image
class="roadIcon"
src="/static/images/home/broadcastIcon.svg"
/>
<image class="roadIcon" src="/static/images/home/broadcastIcon.svg" />
<text class="roadTitle">高速路况播报</text>
<!-- <text class="roadTitle">女神节团购活动</text> -->
</view>
@ -250,20 +167,13 @@
</view>
<div class="messageListBox">
<div
:class="
roadStatusList.length > 2
? 'messageList scrolling'
: 'messageList'
"
>
<div :class="roadStatusList.length > 2
? 'messageList scrolling'
: 'messageList'
">
<!-- 为了实现无缝滚动克隆一份列表 -->
<view v-if="roadStatusList && roadStatusList.length > 1">
<div
class="messageItem"
v-for="(item, index) in roadStatusList.concat(roadStatusList)"
:key="index"
>
<div class="messageItem" v-for="(item, index) in roadStatusList.concat(roadStatusList)" :key="index">
<div class="icon"></div>
<div class="contentMessage">
<!-- {{ item.NOTICEINFO_TITLE || "-" }} -->
@ -273,11 +183,7 @@
</view>
<view v-if="roadStatusList && roadStatusList.length === 1">
<div
class="messageItem"
v-for="(item, index) in roadStatusList"
:key="index"
>
<div class="messageItem" v-for="(item, index) in roadStatusList" :key="index">
<div class="icon"></div>
<div class="contentMessage">
<!-- {{ item.NOTICEINFO_TITLE || "-" }} -->
@ -293,10 +199,7 @@
<view class="shoppingMall">
<view class="mallTop" @click="handleGoShop">
<view class="mallTopLeft">
<image
class="mallIcon"
src="/static/images/home/broadcastIcon.svg"
/>
<image class="mallIcon" src="/static/images/home/broadcastIcon.svg" />
<!-- <text class="roadTitle">驿购商城</text> -->
<text class="roadTitle">彩云驿商城</text>
</view>
@ -313,19 +216,11 @@
<text class="normal">单品</text>
</view>
<view class="topOther">超多优惠等你来</view>
<image
class="mallBg"
src="/static/images/home/leftShopBg.png"
/>
<image class="mallBg" src="/static/images/home/leftShopBg.png" />
</view>
<view class="advertisementItemBottom">
<image
class="advertisementImg"
v-for="(item, index) in specialOffersList"
:key="index"
:src="item.IMAGE_PATH"
@click.stop="handleGoShopDetail(item)"
/>
<image class="advertisementImg" v-for="(item, index) in specialOffersList" :key="index"
:src="item.IMAGE_PATH" @click.stop="handleGoShopDetail(item)" />
<!-- <image class="advertisementImg" /> -->
</view>
</view>
@ -336,36 +231,20 @@
<text class="normal">商品</text>
</view>
<view class="topOther">超多优惠等你来</view>
<image
class="mallBg"
src="/static/images/home/rightShopBg.png"
/>
<image class="mallBg" src="/static/images/home/rightShopBg.png" />
</view>
<view class="advertisementItemBottom">
<image
class="advertisementImg"
v-for="(item, index) in productsList"
:key="index"
:src="item.IMAGE_PATH"
@click.stop="handleGoShopDetail(item)"
/>
<image class="advertisementImg" v-for="(item, index) in productsList" :key="index"
:src="item.IMAGE_PATH" @click.stop="handleGoShopDetail(item)" />
<!-- <image class="advertisementImg" /> -->
</view>
</view>
</view>
</view>
<view class="mallList">
<view
class="mallItem"
v-for="(item, index) in shoppingMall"
:key="index"
@click="handleGoShopDetail(item)"
>
<view class="mallItem" v-for="(item, index) in shoppingMall" :key="index" @click="handleGoShopDetail(item)">
<view class="mallTop">
<image
class="mallImg"
:src="item.IMAGE_PATH ? item.IMAGE_PATH : ''"
/>
<image class="mallImg" :src="item.IMAGE_PATH ? item.IMAGE_PATH : ''" />
</view>
<view class="mallBottom">
<text class="priceTop">
@ -379,29 +258,23 @@
item.RETsmallNumber || "00"
}}</view
> -->
<view
style="
<view style="
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
"
>
">
<view class="priceBox">
<view class="leftPrice">
<span class="unit">¥</span>
<!-- <span class="price">{{
item.COMMODITY_MEMBERPRICE || ""
}}</span> -->
<span class="price"
>{{ item.bigNumber || "" }}.{{
item.smallNumber || "00"
}}</span
>
<span class="price">{{ item.bigNumber || "" }}.{{
item.smallNumber || "00"
}}</span>
</view>
<view class="shopState" v-if="!(item.COMMODITY_STOCK > 0)"
>已售罄</view
>
<view class="shopState" v-if="!(item.COMMODITY_STOCK > 0)">已售罄</view>
<!-- <view class="rightPrice"> -->
<!-- <image
class="mallIcon"
@ -1191,6 +1064,8 @@ export default {
sign_type: "RSA2",
};
let signText = `app_id=${req.app_id}&biz_content=${req.biz_content}&charset=UTF-8&pid=${req.app_id}&service=trawe.eats.etc&utc_timestamp=${req.utc_timestamp}&version=1.0`;
console.log("handleGetHighwayHeadlines", req);
console.log("signText", signText);
//
const sign = await new Promise((resolve, reject) => {
@ -2093,6 +1968,7 @@ export default {
height: 100%;
}
}
.shopState {
font-size: 24rpx;
color: #fff;
@ -2125,6 +2001,7 @@ export default {
box-sizing: border-box;
padding: 300rpx 120rpx 160rpx;
}
.ETCPopup {
width: 80vw;
height: 120px;
@ -2135,6 +2012,7 @@ export default {
display: flex;
align-items: center;
justify-content: space-between;
.ETCItem {
width: calc(50% - 32rpx);
// background: #e7f8ee;
@ -2144,12 +2022,14 @@ export default {
flex-direction: column;
align-items: center;
justify-content: center;
// box-sizing: border-box;
.itemImg {
width: 80rpx;
height: 80rpx;
margin-bottom: 24rpx;
}
.itemText {
font-family: "PingFangSC";
font-weight: 400;
@ -2174,6 +2054,7 @@ export default {
align-items: center;
justify-content: center;
z-index: 999;
.backIcon {
width: 20px;
height: 20px;