소스 검색

调整 6月8日需求

zhengkaixin 2 년 전
부모
커밋
e31f8dc8be

+ 6 - 6
.env.dev.js

@@ -1,10 +1,10 @@
 const UNI_APP = {  
 	ProjectName :"51充电联盟",
-	BASE_URL: 'https://51team.xiaoxinda.com/charging-station-server/',
-	//BASE_URL: 'https://charging.xiaoxinda.com/charging-station-test/',
+	//BASE_URL: 'https://51team.xiaoxinda.com/charging-station-server/',
+	BASE_URL: 'https://charging.xiaoxinda.com/charging-station-test/',
 	//BASE_URL: 'http://192.168.77.162:8081/charging-station/' ,
 	//PARK_URL: 'http://192.168.11.120:8082/charging-parking/' ,
-	PARK_URL: 'https://51team.xiaoxinda.com/charging-parking/' ,
+	//PARK_URL: 'https://51team.xiaoxinda.com/charging-parking/' ,
 	NODE_ENV :"dev",
 	SIMPLE_RUN:true,// 无视权限控制跳转页面   , 用于样式人员快速访问各种功能 ,快速测试等
 
@@ -12,12 +12,12 @@ const UNI_APP = {
 	//openId:"zkxtest",//zkx
 	
 	openId:"oK9Wr54VbEh3xvWYmD_zT5NbH4AY",//zkx
-	openId:"oK9Wr59rru-i3bm7dtTtxnkR-i4s",//杨所
+	//openId:"oK9Wr59rru-i3bm7dtTtxnkR-i4s",//杨所
 	//openId:"oK9Wr56vX9nP_B56_Pyigg5n5Ce8",//
 	//openId:"oK9Wr5_2USr1yP4MRew9KbJA0-ng",//老板
 	
-	//openId:"oK9Wr58zNwDernF0TL6o3mdUxk2A",
-	//		openId:"oK9Wr5xRUoP9EygZqBec0xkJMVTs",
+	//openId:"oK9Wr5wkU3OwWhQ7mRrLZ5MDZNHo",
+		//	openId:"oK9Wr5xRUoP9EygZqBec0xkJMVTs",
 	//openId:"oK9Wr55J1J1eL6BqI2tW749NTxNU",//zq
 	//小鹏管家appid
 	//VUE_APP_WXAPPID:"wx7e70eb62a8459869",

+ 6 - 0
assets/img/riFill-vip-crown-2-fill.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="72" height="72" style="border-color: rgba(187,187,187,1);border-width: 0px;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M3.733 6.933l5.6 3.733 5.581-7.813c0.245-0.34 0.639-0.559 1.085-0.559s0.841 0.219 1.083 0.555l0.003 0.004 5.581 7.813 5.6-3.733c0.208-0.14 0.463-0.223 0.739-0.223 0.736 0 1.333 0.597 1.333 1.333 0 0.055-0.003 0.11-0.010 0.163l0.001-0.006-2.191 18.623c-0.081 0.666-0.643 1.177-1.324 1.177h-21.629c-0.681-0-1.243-0.511-1.323-1.171l-0.001-0.006-2.191-18.624c-0.006-0.047-0.009-0.1-0.009-0.155 0-0.736 0.597-1.333 1.333-1.333 0.275 0 0.531 0.083 0.743 0.226l-0.005-0.003zM16 20c1.473 0 2.667-1.194 2.667-2.667s-1.194-2.667-2.667-2.667v0c-1.473 0-2.667 1.194-2.667 2.667s1.194 2.667 2.667 2.667v0z" fill="rgba(0,145.095,67.065,1)"></path>
+    </g>
+  </svg>

+ 6 - 0
assets/img/riLine-vip-crown-2-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="72" height="72" style="border-color: rgba(187,187,187,1);border-width: 0px;border-style: solid" filter="none">
+    
+    <g>
+    <path d="M4.656 10.753l1.715 14.58h19.259l1.715-14.58-5.347 3.564-5.997-8.396-5.997 8.396-5.347-3.564zM3.735 6.933l5.599 3.733 5.581-7.813c0.245-0.34 0.639-0.559 1.085-0.559s0.841 0.219 1.083 0.555l0.003 0.004 5.581 7.813 5.6-3.733c0.208-0.14 0.463-0.223 0.739-0.223 0.736 0 1.333 0.597 1.333 1.333 0 0.055-0.003 0.11-0.010 0.163l0.001-0.006-2.191 18.623c-0.081 0.666-0.643 1.177-1.324 1.177h-21.629c-0.681-0-1.243-0.511-1.323-1.171l-0.001-0.006-2.191-18.624c-0.006-0.047-0.009-0.1-0.009-0.155 0-0.736 0.597-1.333 1.333-1.333 0.275 0 0.531 0.083 0.743 0.226l-0.005-0.003zM16 20c-1.473 0-2.667-1.194-2.667-2.667s1.194-2.667 2.667-2.667v0c1.473 0 2.667 1.194 2.667 2.667s-1.194 2.667-2.667 2.667v0z" fill="rgba(168.04500000000002,175.95,172.89000000000001,1)"></path>
+    </g>
+  </svg>

+ 14 - 1
components/Tabbar.vue

@@ -1,13 +1,16 @@
 <template >
 	<view>
 		<u-tabbar v-model="myCurrent" :list="tabbarList" 
+		inactive-color="#A8B0AD"
 		:before-switch="beforeSwitch" active-color="#009143" :height="elderStatus ? '110rpx' : '100rpx'" :icon-size="elderStatus ? '56rpx' : '40rpx'"></u-tabbar>
 		
 	</view>
 </template>
 
 <script>
- 	
+	var img1=require('@/assets/img/riLine-vip-crown-2-line.svg')
+	var img2=require('@/assets/img/riFill-vip-crown-2-fill.svg')
+ 
  	export default {
 		name:"tabbarJob",
 		props:{
@@ -23,11 +26,21 @@
 				 		iconPath: "home-3-line",
 				 		selectedIconPath: "home-3-fill",
 				 		text: '主页 ',
+						
 				 		count: 0,
 				 		isDot: true,
 				 		customIcon: true,
 						pagePath2:"/pages/index/index",
 				 	},
+					{
+						iconPath: img1,
+						selectedIconPath: img2,
+					
+						text: '会员',
+						midButton: true,
+						//customIcon: true,
+						pagePath2:"/pages/monthlyCardActivity/monthlyCardBuy",
+					},
 				 	{
 				 		iconPath: "road-map-line",
 				 		selectedIconPath: "road-map-fill",

+ 2 - 2
components/u-navbar/u-navbar.vue

@@ -14,7 +14,7 @@
 					    class="u-title u-line-1"
 					    :style="{
 							color: titleColor,
-							fontSize: titleSize + 'rpx',
+							fontSize: titleSize + 'px',
 							fontWeight: titleBold ? 'bold' : 'normal'
 						}">
 						{{ title }}
@@ -156,7 +156,7 @@
 			// 标题的字体大小
 			titleSize: {
 				type: [String, Number],
-				default: 32
+				default: 16
 			},
 			isBack: {
 				type: [Boolean, String],

+ 1 - 1
main.js

@@ -139,7 +139,7 @@ Vue.mixin({
  				style1 ="line-height: 20px;color: rgb(96, 98, 102);  font-size: 16px;    overflow: unset;"
 			
 				style2 ="color: rgb(96, 98, 102); font-size: 16px; font-weight: normal;"
-				styleg(g,style1,style2,list_u_title)
+				//styleg(g,style1,style2,list_u_title)
 				styleg(g,style1,style2,u_cell_title)
 				style1 ="line-height: 20px;color: rgb(16, 16, 16);  font-size: 16px;    overflow: unset;"
 							

+ 12 - 0
pages/index/all.vue

@@ -449,6 +449,18 @@
 			margin-right: 16rpx;
 			margin-bottom: 8rpx;
 		}
+		.sign-4{
+			line-height: 40rpx;
+			border-radius: 8rpx;
+			background-color: rgba(255, 255, 255, 100);
+			color: #00B962  ;
+			font-size: 24rpx;
+			text-align: center;
+			border: 1px solid #00B962 ;
+			padding: 0 8rpx;
+			margin-right: 16rpx;
+			margin-bottom: 8rpx;
+		}
 	}
 	.price-free{
 		display: flex;

+ 17 - 1
pages/index/index.vue

@@ -355,10 +355,14 @@
 				<view class="sign" v-else>
 					<template v-if="personInfo&&personInfo.userType!=1">
 					<!-- 	 -->
+					
 						<view class="sign-1" v-if="stationData.giveDiscount&&stationData.discountRatio&&stationData.discountRatio!=100">会员服务费{{discountRatio10(stationData.discountRatio)}}折</view>
 						<view class="sign-3" v-if="stationData.category=='超充'">160kW超充站</view>
+						<view class="sign-4" v-if="stationData.id=='3c554cea-f522-4281-b582-d761510ed91e'||stationData.id=='3865b3a3-13fd-461a-8145-ee9711df35a2'">夜间超低价</view>
 						
-						<view class="sign-2" v-if="stationData.tagList.length != 0" v-for="(tagName,tagIndex) in stationData.tagList" :key="tagIndex">{{tagName}}</view>
+						<view class="sign-2" v-if="stationData.tagList.length != 0" v-for="(tagName,tagIndex) in stationData.tagList"
+						 
+						 :key="tagIndex">{{tagName}}</view>
 					</template>
 				</view>
 				<view class="price-free oldTextClass">
@@ -1877,6 +1881,18 @@
 			margin-right: 16rpx;
 			margin-bottom: 8rpx;
 		}
+		.sign-4{
+			line-height: 40rpx;
+			border-radius: 8rpx;
+			background-color: rgba(255, 255, 255, 100);
+			color: #00B962  ;
+			font-size: 24rpx;
+			text-align: center;
+			border: 1px solid #00B962 ;
+			padding: 0 8rpx;
+			margin-right: 16rpx;
+			margin-bottom: 8rpx;
+		}
 	}
 	.price-free{
 		display: flex;

+ 649 - 146
pages/monthlyCardActivity/monthlyCardBuy.vue

@@ -1,6 +1,12 @@
 <template>
 	<view>
-		<ujp-navbar title="选购充电月卡"></ujp-navbar>
+		<ujp-navbar title="服务费包月会员"  :background="{background: '#424a5d'}" 
+			title-color="#ffffff"	
+		  :is-back="false">
+			<view class="iconfont service" @click="openModal">
+				&#xe60d;
+			</view>
+		</ujp-navbar>
 		<!-- 提示 -->
 		<!-- <template>
 			<u-alert-tips type="warning" :title="title" :description="description" :show-icon="true"></u-alert-tips>
@@ -15,35 +21,60 @@
 			<view class="carNone" v-if="isReady&&cardList.length == 0">
 				<img src="static/img/暂无数据-缺省页.png" alt="">
 				<p class="" style="color: #bfdfd5;font-size: 18px;" >暂无月卡上架</p>
-			</view>
-			<view 
-			v-for="(item,i) in cardList" :key="i" 
-			@click="checkboxChange(item.monthlyRentCard)"
-			:style="'background-image: url('+item.monthlyRentCard.image+') ;'"
-			class="card-1" >
-				<view class="tag" v-if="item.monthlyRentCard.isVip">{{item.monthlyRentCard.platformText}}车主</view>
-				<view class="tag" v-else-if="item.monthlyRentCard.remark">{{item.monthlyRentCard.remark}}</view>
-				<view class="price">
+			</view>
+			<view class="user-card" v-if="ispay" >
+				<view class="head-img">
+					<img  style="border-radius: 50px;"
+					v-if="userInfo.headImg" :src="userInfo.headImg" alt="">
+					<img v-else src="../../assets/img/headPortrait.png" alt="">
 					
-					<view class="current-price" >
-						{{item.monthlyRentCard.price}}<text>元/月</text>
+				</view>
+				<view class="user-name">
+					<view class="name">
+						{{userInfo.realName?userInfo.realName:userInfo.nickName}}
 					</view>
-					
-					<view class="original-cost" v-if="item.monthlyRentCard.isVip||item.monthlyRentCard.discount">
-						原价 {{item.monthlyRentCard.oldPrice}}元/月
+					<view class="sign">
+						
+						 {{userCard&&ispay?userCard.endTime.substring(0,10):''}}到期
 					</view>
-					<p v-if="item.monthlyRentCard.buyNum">已有{{item.monthlyRentCard.buyNum}}人次购买</p>
-					
-					
-				</view>
-				<view class="radio-box">
-				
-					<u-checkbox-group  >
-						<u-checkbox @change="checkboxChange(item.monthlyRentCard)" v-model="item.monthlyRentCard.checked" active-color="#000000" shape="circle" size="48"></u-checkbox>
-					</u-checkbox-group>
-				</view>
-
+				</view>
 			</view>
+			
+			<scroll-view class="scroll-view_H" scroll-x="true" 
+			:scrollWithAnimation="true" 
+			@scroll="scroll"  :scrollLeft="scrollLeftSet">
+					<view class="scroll-view-item_H" v-if="!ispay" v-for="(item,i) in cardList" :key="i" >
+						<view
+						
+						@click="checkboxChange(item.monthlyRentCard)"
+						:style="'background-image: url('+item.monthlyRentCard.image+') ;'"
+						:class="'cardtab card-'+i " >
+							<view class="tag" v-if="item.monthlyRentCard.isVip">{{item.monthlyRentCard.platformText}}车主</view>
+							<view class="tag" v-else-if="item.monthlyRentCard.remark">{{item.monthlyRentCard.remark}}</view>
+							<view class="price">
+								
+								<view class="current-price" >
+									<b>{{item.monthlyRentCard.price}}</b><text>元/月</text>
+									<!--  -->
+									
+								<p v-if="item.monthlyRentCard.buyNum">已有{{item.monthlyRentCard.buyNum}}人次购买</p>
+								
+								</view>
+								
+								<!-- <view class="original-cost" v-if="item.monthlyRentCard.isVip||item.monthlyRentCard.discount">
+									原价 {{item.monthlyRentCard.oldPrice}}元/月
+								</view> -->
+								
+								
+								
+							</view>
+							
+						
+						</view>	
+					</view>
+							
+			</scroll-view>
+			
 			
 			
 
@@ -79,57 +110,20 @@
 		</u-modal>
 		<img id="qrcode" style="display: none;">
 		
-		<!-- 按钮 -->
-		<view class="button">
-			
-			<button class="btn "  v-if="userInfo.userType=='1'" >游客无法购买月卡
-			</button>
-			<button class="btn "  v-else-if="!isReady" >加载中
-			</button>
-			 <button class="btn " v-else-if="ispay" > {{userCard&&ispay?userCard.endTime:''}}到期
-			</button>
-			<button class="btn "  v-else-if="!endCardBool" >已下架
-			</button>
-			<button class="btn "  v-else-if="!show2" @click="gotoGz">关注公众号
-			</button>
-			<button class="btn "   v-else-if="!infoSet" @click="gotoUrl('pages/user/dataSet')" >完善个人信息
-			</button>
-			
-			<button class="btn "   v-else-if="!cardList.length" @click="putShelf" >已下架
-			</button>
-			<button class="btn " @click="show = true" v-else-if="detail.isVip">
-				
-				<text style="font-size: 14px;">¥</text>
-			 
-				<span  >{{detail.price}}</span> 
-				
-				<text   class="price">{{detail.oldPrice}}</text> 开通充电月卡
+		
+		<!-- 须知 -->
+		<view class="notice">
 			
-				<view class="position">
-					<view id="talkbubble">{{detail.platformText}}车主</view>
-				</view>
-			</button>
- 			<button class="btn " @click="show = true"  v-else>
-				
-				<text style="font-size: 14px;">¥</text>
+			<view class="title">
+				可享一个月充电服务费<span style="color:#ec4f27">全免</span>
+			</view>
+			<view class="line">
+				<view v-show="detail.type==1">· 仅限<b>非运营车</b>车主或<b>新用户</b>购买和使用</view>
+				<view>· 在指定充电站充电时,此单服务费<b>全免</b></view>
+				<view>· 不可抵扣电费、停车费、占位费</view>
+			</view>
 			
-				<span  >{{detail.price}}</span> 
-				
-				<text v-if="detail.discount"  class="price">{{detail.oldPrice}}</text> 开通充电月卡
-
-				<view class="position" v-if="detail.remark2">
-					<view id="talkbubble">{{detail.remark2}}</view>
-				</view>
-			</button>
-
-
-
-			<view class="hint">
-				开通表示阅读并同意<span  @click="gotoUrl('pages/article/details?code=FWFZKXY')" style="text-decoration:underline">《服务费折扣协议》</span>
-			</view>
-		</view>
-		<!-- 须知 -->
-		<view class="notice">
+			
 			<u-divider fontSize="36" border-color="#bbc039" color="#101010">购卡须知</u-divider>
 			<view class="text">
 				<view class="num">
@@ -164,25 +158,161 @@
 				</view>
 			</view>
 			
-			<view class="slogan-4"
-			 v-if="cardId||ispay"
+			<!-- <view
 			 @click="gotoUrl('pages/monthlyCardActivity/monthlyCardList?cardId='+(ispay?userCard.rentCardId:cardId))">
 								适用<br/>
 								站点
 
-			</view>
+			</view> -->
+			
+			
+			
+		</view>
+		<view class="notice2">
+			<view class="titleHead">适用充电站点</view>
+			
+			<!-- 附近站点 -->
+			<view class="station" v-for="(stationData,i) in pageListGetObj.list" :key="i"
+				
+				@click="gotoUrl('pages/searchPile/stationAndPile/stationDetails?id=' + stationData.id)">
+				<view class="head">
+					<view class="title oldTextjp" oldstyle="font-size: 20px;">
+						{{stationData.name}}
+					</view>
+					<view class="distance " >
+						<!-- <text class="iconfont" style="color:#666666">&#xe615;</text>{{stationData.distance!=null&&stationData.distance>0.1 ? stationData.distance.toFixed(1)+'公里':'小于100米'}} -->
+					</view>
+				</view>	
+				<view class="sign" v-if="stationData.stationType==50">
+					{{stationData.address}}
+				</view>
+				<view class="sign" v-else>
+					<template v-if="userInfo&&userInfo.userType!=1">
+					<!-- 	 -->
+						<view class="sign-1" v-if="stationData.giveDiscount&&stationData.discountRatio&&stationData.discountRatio!=100">会员服务费{{discountRatio10(stationData.discountRatio)}}折</view>
+						<view class="sign-3" v-if="stationData.category=='超充'">160kW超充站</view>
+						<view class="sign-4" v-if="stationData.id=='3c554cea-f522-4281-b582-d761510ed91e'||stationData.id=='3865b3a3-13fd-461a-8145-ee9711df35a2'">夜间超低价</view>
+						
+						<view class="sign-2" v-if="stationData.tagList.length != 0" v-for="(tagName,tagIndex) in stationData.tagList" :key="tagIndex">{{tagName}}</view>
+					</template>
+				</view>
+				<view class="price-free oldTextClass">
+					<view class="price">
+						<view class="price-1">
+							<text class="num">
+							{{!stationData.giveDiscount ? (stationData.electricityPrice+stationData.servicePrice).toFixed(2)
+								: (stationData.electricityPrice+stationData.discountServicePrice).toFixed(2)}}</text>
+							<text class="unit " oldstyle="font-size: 48rpx;">元/度</text>
+						</view>
+						<view class="price-2 " oldstyle="font-size: 48rpx;" v-if="stationData.giveDiscount">
+							<text class="num">{{(stationData.electricityPrice+stationData.servicePrice).toFixed(2)}}</text>
+							<text class="unit ">元/度</text>
+						</view>
+					</view>	
+					
+						<view class="free"  >
+							
+						<view class="fast" v-if="stationData.fastNum">
+							<view class="fast-font">
+								快
+							</view>
+							<view class="num">
+								{{stationData.fastAvailableNum}}/{{stationData.fastNum}}
+							</view>
+						</view>
+						<view class="slow oldTextjp2" 
+						oldstyle="margin-left: 1px;"
+						v-if="stationData.slowNum">
+							<view class="slow-font">
+								慢
+							</view>
+							<view class="num">
+								{{stationData.slowAvailableNum}}/{{stationData.slowNum}}
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="bottom" @click="getPageList(true)" v-if="pageListGetObj.recordsTotal!=pageListGetObj.list.length"   >
+				<view class="bot">
+					<view class="bot-line"></view>
+					<view class="bot-text " style="color: #00B962;text-align: center;margin-top: 10px" >点击查看更多(共{{pageListGetObj.recordsTotal}}站点)</view>
+					<view class="bot-line"></view>
+				</view>
+			</view>
+			<view class="bottom"  v-else  >
+				<view class="bot">
+					<view class="bot-line"></view>
+					<view class="bot-text " style="color: #00B962;text-align: center;margin-top: 10px;" >已经到底了</view>
+					<view class="bot-line"></view>
+				</view>
+			</view>
 		</view>
+		<!-- 按钮 -->
+		<view class="button" v-if="!ispay" >
+			
+			<button class="btn "  v-if="userInfo.userType=='1'" >游客无法购买月卡
+			</button>
+			<button class="btn "  v-else-if="!isReady" >加载中
+			</button>
+			 <button class="btn " v-else-if="ispay" > {{userCard&&ispay?userCard.endTime:''}}到期
+			</button>
+			<button class="btn "  v-else-if="!endCardBool" >已下架
+			</button>
+			<button class="btn "  v-else-if="!show2" @click="gotoGz">关注公众号
+			</button>
+			<button class="btn "   v-else-if="!infoSet" @click="gotoUrl('pages/user/dataSet')" >完善个人信息
+			</button>
+			
+			<button class="btn "   v-else-if="!cardList.length" @click="putShelf" >已下架
+			</button>
+			<button class="btn " @click="show = true" v-else-if="detail.isVip">
+				
+				<text style="font-size: 14px;">¥</text>
+			 
+				<span  >{{detail.price}}</span> 
+				
+				<text   class="price">{{detail.oldPrice}}</text>开通充电月卡 
+			
+				<view class="position">
+					<view id="talkbubble">{{detail.platformText}}车主</view>
+				</view>
+			</button>
+			<button class="btn " @click="show = true"  v-else>
+				
+				<text style="font-size: 14px;"></text>
+			
+				<span  style="margin-right: 8px;">{{detail.price}}元</span> 
+				
+				<text v-if="detail.discount"  class="price">{{detail.oldPrice}}</text> 开通服务费包月会员
+		
+				<view class="position" v-if="detail.remark2">
+					<view id="talkbubble">{{detail.remark2}}</view>
+				</view>
+			</button>
+		
+		
+		
+			<view class="hint">
+				开通表示阅读并同意<span  @click="gotoUrl('pages/article/details?code=FWFZKXY')" style="text-decoration:underline;color: #C07C38;">《服务费折扣协议》</span>
+			</view>
+		</view>
+		<u-modal v-model="show3" @confirm="confirmPhone" confirm-text="拨打电话" confirm-color="#606266"
+			:show-cancel-button="true" ref="uModal" :asyncClose="true" title="客服电话" :content="consumerPhone"
+			:content-style="{fontSize: '24px',color: '#101010'}"></u-modal>
+		<Tabbar :current="1"  ref="tabbarMain" :elderStatus="elderStatus"></Tabbar>
 		
 	</view>
 </template>
 
 <script>
 	import * as API_weixin from '@/apis/weixin.js'
+	import * as API_site from '@/apis/site.js';
 
 	import * as Pay from '@/apis/weixin.js'
 	import * as API from '@/apis/card.js'
 	import * as loginApi from '@/apis/login.js'
-
+import Tabbar from '@/components/Tabbar.vue';
 	import QRCode from 'qrcodejs2'
 	import {
 		newDate,
@@ -191,7 +321,10 @@
 	import {
 		wxPayJs
 	} from '@/utils/wxpay'
-	export default {
+	export default {
+		components:{
+			Tabbar
+		},
 		data() {
 			return {
 				description: '盟主能量包本期限时优惠活动将于9月16日结束。',
@@ -199,7 +332,8 @@
 				cardId: '',
 				qrCodeImg: "",
 				showModel: false,
-				cardList: [],
+				cardList: [],
+				pageList:[],
 				projectName: "",
 				list: [{
 					text: '微信',
@@ -211,14 +345,19 @@
 				submitForm: {},
 				ykgz: '',
 				detail: {},
-				ispay: false,
+				ispay: false,
+				show3: false,
 				show2: false,
 				show1: false,
 				infoSet: false,
 				infoSet1: false,
 				userCard: null,
 				isReady:false,
-				userInfo:{}
+				userInfo:{},
+				elderStatus:false,
+				consumerPhone:"",
+				scrollLeftSet:0,
+				scrollLeftOldSet:0,
 
 			}
 		},
@@ -226,18 +365,46 @@
 			this.projectName = process.car.ProjectName;
 
 		},
-		onReady() {
+		onReady() {
+			var consumerPhone = this.carhelp.getConfig().consumerPhone
+			// img="https://yktwechat.xiaoxinda.com/config/xxd2021.jpg"		
+			if (consumerPhone) {
+				this.consumerPhone = consumerPhone
+			}
+			
 			this.ykgz = this.carhelp.getConfig().ykgz
 			//this.checkSubscribe()
 
 		},
-		onShow() {
+		onShow() {
+			if(this.carhelp.get("getElderModeClass") == "长辈模式") {
+				this.elderStatus = true;
+			} else {
+				this.elderStatus = false;
+			}
+			if(this.$refs.tabbarMain){
+				this.$refs.tabbarMain.setcount(1);
+			}
+			
 			this.checkSubscribe();
 			
 			// this.getCardList();
 			// this.show2 = true;
 		},
 		computed: {
+			pageListGetObj(){
+				var cardId=this.cardId
+				if(this.ispay){
+					cardId=this.userCard.rentCardId;
+				}
+				var   i =this.pageList.findIndex(item=>{
+					return item.monthlyRentCardId==cardId
+				})
+				if(i==-1) 
+					return {}
+				else
+					return this.pageList[i]
+			},
 			
 			endCardBool() {
 				if (!this.cardList.length) {
@@ -257,6 +424,34 @@
 			}
 		},
 		methods: {
+			scroll: function(e) {
+				
+				var scrollWidth=e.detail.scrollWidth
+				if(this.scrollLeftOldSet>e.detail.scrollLeft){
+					//右移动
+					this.scrollLeftSet=0;
+					this.checkboxChange(this.cardList[0].monthlyRentCard)
+				}else{
+					//左移动
+					this.scrollLeftSet=scrollWidth*0.8
+					if(this.cardList.length>1){
+						this.checkboxChange(this.cardList[1].monthlyRentCard)
+					}
+				}
+				
+			
+				//this.old.scrollTop = e.detail.scrollTop
+				this.scrollLeftOldSet=e.detail.scrollLeft
+			},
+			confirmPhone() {
+				this.show = false;
+				uni.makePhoneCall({
+					phoneNumber: this.consumerPhone //仅为示例
+				});
+			},
+			openModal() {
+				this.show3 = true;
+			},
 			checkboxChange(monthlyRentCard) {
 			
 				this.detail=monthlyRentCard;
@@ -270,7 +465,7 @@
 						obj.checked=false
 					}
 				}
-				
+				this.getPageList(false);
 			},
 			gotoGz() {
 				this.carhelp.setGzDate()
@@ -348,7 +543,20 @@
 					if (this.cardList.length) {
 						this.detail = this.cardList[0].monthlyRentCard
 						this.cardId = this.detail.id;
-						this.cardList[0].monthlyRentCard.checked=true
+						this.cardList[0].monthlyRentCard.checked=true
+						if(this.pageList.length==0){
+							this.pageList=this.cardList.map(item=>{
+								return {
+									recordsTotal:-1,
+									monthlyRentCardId:item.monthlyRentCard.id,
+									list:[],
+									pageIndex: 1,
+								}
+							})
+							this.getPageList(false);
+						}
+						
+						//this.pageList.map(item)
 					}
 					this.getUserInfo()
 					this.isReady=true;
@@ -359,6 +567,61 @@
 						title: error
 					})
 				})
+			},
+			getPageList(bl){
+				
+				var cardId=this.cardId
+				if(this.ispay){
+					cardId=this.userCard.rentCardId;
+				}
+				var   i =this.pageList.findIndex(item=>{
+					return item.monthlyRentCardId==cardId
+				})
+				var data={
+					monthlyRentCardId:cardId,
+					online:0,
+					pageSize:6,
+				}
+				if (this.carhelp.getPersonInfo()) {
+						data.openId=this.carhelp.getOpenId()
+				}
+				
+				if(i>-1){
+					if(bl){
+						this.pageList[i].pageIndex+=1;
+					}else{
+						if(this.pageList[i].recordsTotal==-1){
+							
+						}else{
+							return
+						}
+					}
+					data.pageIndex=this.pageList[i].pageIndex
+				}else{
+					return
+				}
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				
+				var list=this.pageList[i].list;
+				API_site.getChargingStationData(data).then((response) => {
+					console.log(response)
+					list = [
+						...list,
+						...response.data.data
+					];
+					this.pageList[i].recordsTotal = response.data.recordsTotal;
+					this.pageList[i].list=list;
+					
+					uni.hideLoading()
+				}).catch(error => {
+					uni.showToast({
+						title: error
+					})
+				})
 			},
 			getUserInfo() {
 				uni.showLoading({
@@ -534,7 +797,36 @@
 	}
 </script>
 
-<style lang="scss" scoped>
+<style lang="scss" scoped>
+	
+	.scroll-Y {
+			height: 300rpx;
+		}
+		.scroll-view_H {
+			white-space: nowrap;
+			width: 100%;
+		}
+		.scroll-view-item {
+			height: 300rpx;
+			line-height: 300rpx;
+			text-align: center;
+			font-size: 36rpx;
+		}
+		.scroll-view-item_H {
+			display: inline-block;
+			width: 85%;
+			//height: 300rpx;
+			line-height: 300rpx;
+			text-align: center;
+			font-size: 36rpx;
+		}
+		
+	.service {
+		font-size: 24px;
+		color: #fff;
+		position: absolute;
+		right: 16px;
+	}
 	/deep/.u-alert-desc {
 		color: #ff7300;
 	}
@@ -542,8 +834,8 @@
 	// 卡片
 	.main {
 		background-color: #404A5E;
-		padding: 40rpx 40rpx 30px 40rpx;
-
+		padding: 40rpx 0 0 0;
+		z-index: 80;
 		.tag {
 			position: absolute;
 			background-color: rgba(255, 61, 0, 100);
@@ -552,43 +844,44 @@
 			text-align: center;
 			line-height: 20px;
 			padding: 0 6px;
-			left: 284rpx;
-			top: 44rpx;
-
+			left: 496rpx;
+			top: 0rpx;
+			border-radius: 0 12px 0 12px;
 
 		}
 
-		@media screen and (max-width:320px) {
-			.tag {
-				padding: 0 4rpx;
-			}
+		// @media screen and (max-width:320px) {
+		// 	.tag {
+		// 		padding: 0 4rpx;
+		// 	}
 
-			.price {
-				position: absolute;
-				top: 24rpx !important;
-				right: 32rpx !important;
-			}
+		// 	.price {
+		// 		position: absolute;
+		// 		top: 24rpx !important;
+		// 		right: 32rpx !important;
+		// 	}
 
-			.current-price {
-				font-size: 36rpx;
-			}
-		}
+		// 	.current-price {
+		// 		font-size: 36rpx;
+		// 	}
+		// }
 
 		.price {
-			top: 24rpx;
-			right: 32rpx;
+			top: -90rpx;
+			right: 76rpx;
 			position: absolute;
 			p{
 				text-align: right;
 				color: rgba(0, 0, 0, 0.5);
 				font-size: 12px;
-				
+				 position: relative;
+				 top: -250rpx;
 				
 			}
 		}
 
 		.current-price {
-			font-size: 64rpx;
+			font-size: 48rpx;
 			color: #101010;
 			text-align: right;
 
@@ -610,16 +903,21 @@
 
 		}
 
-       .card-1{
-			margin-top: 32rpx;
+       
+		.card-0 {
+		
 		}
-
-
-		.card-1 {
+		.card-0 {
+			background-position-x: 40rpx;
+		}
+		.cardtab {
+			margin-top: 32rpx;
 			position: relative;
-			background-size: cover;
-			height: 300rpx;
-
+			background-size: 90% 100%;
+			 background-repeat: no-repeat;
+			height: 200rpx;
+			
+			
 			/deep/.u-checkbox__icon-wrap {
 				
 				background-color: #607d8b;
@@ -634,34 +932,20 @@
 			}
 		}
 
-		.card-2 {
-			position: relative;
-			background: url(@/assets/img/card_operate.png) no-repeat;
-			background-size: cover;
-			height: 300rpx;
-			margin-top: 32rpx;
-
-			/deep/.u-checkbox__icon-wrap {
-				background-color: #B29467;
-			}
-
-			.radio-box {
-				margin-top: 78rpx;
-				float: right;
-				margin-right: -30rpx;
-				
-
-			}
-		}
+		
 		
 	}
 
 	// 按钮
-	.button {
-		margin-top: -20rpx;
+	.button {
+		position: fixed;
+		margin-top: -20rpx;
+		    width: 100%;
+		
+		bottom: 40px;
 		border-radius: 16px 16px 0px 0px;
 		background-color: rgba(255, 255, 255, 100);
-		padding: 20px 20px 16px 20px;
+		padding: 20px 20px 24px 20px;
 
 		uni-button:after {
 			border: none;
@@ -669,10 +953,10 @@
 
 		.btn {
 			border: none !important;
-			background: linear-gradient(#E1D0A5, #E4BE84);
+			background: linear-gradient(#D8A05B , #C07C38);
 			box-shadow: 0px 2px 6px 0px rgba(207, 175, 118, 40);
 			border-radius: 50px;
-			color: #101010;
+			color: #FFF;
 			font-size: 18px !important;
 			line-height: 44px;
 			height: 44px;
@@ -727,12 +1011,36 @@
 			border-left: 5px solid transparent;
 		}
 	}
-
+	.notice2 {
+		padding: 0 0 120px 0;
+		.titleHead{
+			color: #101010 ;
+			font-size: 40rpx;
+			text-align: center;
+			margin-bottom: 10px;
+		}
+	}
 	// 须知
-	.notice {
+	.notice {
+		    top: -15px;
+		    border-radius: 15px 15px 0 0;
+		    position: relative;
+		.title{
+			color: rgba(51, 51, 51, 1);
+			font-size: 40rpx;
+			text-align: center;
+			margin-bottom: 10px;
+		}
+		.line{
+			margin-bottom: 10px;
+			color:#666666;
+			b{
+				color:#333;
+			}
+		}
 		background-color: #fff;
-		margin-top: 12px;
-		padding: 20px 20px 72px 30px;
+		
+		padding: 20px 20px 20px 30px;
 
 		/deep/.u-divider {
 			margin-bottom: 16px !important;
@@ -782,5 +1090,200 @@
 				        color: #fff;
 				        border-radius: 25px;
 
+	}
+	
+	.station,.location,.state1{
+		box-shadow: 0px 4rpx 12rpx 0px #008c4a33;
+	}
+	// 附近站点改版
+	.station{
+		
+		width: 91.4%;
+		border-radius: 8px;
+		padding: 12px 12px 12px 11px;
+		background-color: #fff;
+		margin: 8px auto 0;
+		.head{
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			.title{
+				color: rgba(16, 16, 16, 100);
+				font-size: 32rpx;
+				font-weight: 550;
+				width: 440rpx;
+			text-overflow:ellipsis;
+			overflow:hidden;
+			white-space:nowrap;
+			}
+			.distance{
+				width: 180rpx;
+				color: rgba(102, 102, 102, 100);
+				font-size: 32rpx;
+				text-align: end;
+				.iconfont{
+					font-size: 24rpx;
+					margin-right: 4rpx;
+				}
+			}
+		}
+		.sign{
+			display: flex;
+			flex-wrap: wrap;
+			margin-top: 16rpx;
+			.sign-1{
+				line-height: 40rpx;
+				border-radius: 8rpx;
+				background-color: rgba(255, 255, 255, 100);
+				color: rgba(255, 139, 0, 100);
+				font-size: 24rpx;
+				text-align: center;
+				border: 1px solid rgba(255, 139, 0, 100);
+				padding: 0 8rpx;
+				margin-right:16rpx;
+				margin-bottom: 8rpx;
+			}
+			.sign-2{
+				line-height: 40rpx;
+				border-radius: 8rpx;
+				background-color: rgba(255, 255, 255, 100);
+				color: rgba(153, 153, 153, 100);
+				font-size: 24rpx;
+				text-align: center;
+				border: 1px solid rgba(204, 204, 204, 100);
+				padding: 0 8rpx;
+				margin-right: 16rpx;
+				margin-bottom: 8rpx;
+			}
+			.sign-3{
+				line-height: 40rpx;
+				border-radius: 8rpx;
+				background-color: rgba(255, 255, 255, 100);
+				color: #8161FF ;
+				font-size: 24rpx;
+				text-align: center;
+				border: 1px solid  #8161FF;
+				padding: 0 8rpx;
+				margin-right: 16rpx;
+				margin-bottom: 8rpx;
+			}
+			.sign-4{
+				line-height: 40rpx;
+				border-radius: 8rpx;
+				background-color: rgba(255, 255, 255, 100);
+				color: #00B962  ;
+				font-size: 24rpx;
+				text-align: center;
+				border: 1px solid #00B962 ;
+				padding: 0 8rpx;
+				margin-right: 16rpx;
+				margin-bottom: 8rpx;
+			}
+		}
+		.price-free{
+			display: flex;
+			justify-content: space-between;
+			margin-top: 8rpx;
+			.price{
+				display: flex;
+			    align-items: baseline;
+			}
+			.price-1{
+				.num{
+					color: rgba(255, 98, 0, 100);
+					font-size: 44rpx;
+				}
+				.unit{
+					font-size: 12px;
+					color: rgba(153, 153, 153, 100);
+				}
+			}
+			.price-2{
+				font-size: 24rpx;
+				color: rgba(153, 153, 153, 100);
+				margin-left: 8rpx;
+				text-decoration: line-through;
+			}
+		}
+	
+		.free{
+			display: flex;
+		    align-items: center;
+			.slow,.fast{
+				display: flex;
+				.sp-font{
+					width: 40rpx;
+					height: 40rpx;
+					line-height: 40rpx;
+					border-radius: 4px;
+					background-color: #7a68f6;
+					color: #fff;
+					font-size: 28rpx;
+					text-align: center;
+					margin-right: 2rpx;
+				}
+				.fast-font{
+					width: 40rpx;
+					height: 40rpx;
+					line-height: 40rpx;
+					border-radius: 8rpx;
+					background-color: rgba(186, 240, 215, 100);
+					color: rgba(0, 130, 69, 100);
+					font-size: 28rpx;
+					text-align: center;
+					margin-right: 8rpx;
+				}
+				.slow-font{
+					width: 40rpx;
+					height: 40rpx;
+					line-height: 40rpx;
+					border-radius: 8rpx;
+					background-color: rgba(226, 226, 226, 100);
+					color: rgba(128, 128, 128, 100);
+					font-size: 28rpx;
+					text-align: center;
+					margin-right: 8rpx;
+				}
+				.num{
+					font-size: 32rpx;color: rgba(0, 145, 67, 100);
+					line-height: 40rpx;
+				}
+			}
+			.slow{
+				margin-left: 24rpx;
+			}
+		}
+	}
+	
+	.user-card{
+	   padding: 19px 0 39px 20px;
+		margin: 21px 20px 0 20px;
+		background:url(@/assets/img/companyVIP.png) no-repeat right,linear-gradient(to right,#C6D4ED,#DCE6F0) no-repeat;
+		box-shadow: 0px 0px 16px 0px rgba(14, 39, 84, 28);
+		border: 2px solid rgba(236, 239, 245, 100);
+		border-radius: 16px;
+		display: flex;
+		.head-img{
+			width: 48px;
+			height: 48px;
+			img{
+				width: 100%;
+			}
+		}
+		.user-name{
+			margin-left: 12px;
+			.name{
+				line-height: 24px;
+				color: rgba(33, 41, 48, 100);
+				font-size: 24px;
+				font-weight: 550;
+			}
+			.sign{
+				color: rgba(76, 89, 111, 100);
+				font-size: 16px;
+				line-height: 16px;
+				margin-top: 8px;
+			}
+		}
 	}
 </style>

+ 594 - 471
pages/record/details.vue

@@ -1,476 +1,599 @@
-<template>
-	<view class="time-head">
-		<ujp-navbar title="充电详情"></ujp-navbar>
-		<view class="details-time">
-			<view class="time">
-				<view class="time1">
-					<view class="time11">{{getday(chargeDetail.startTime?chargeDetail.startTime:chargeDetail.createTime)}}</view>
-					<view class="time12">{{geth(chargeDetail.startTime?chargeDetail.startTime:chargeDetail.createTime)}}</view>
+<template>
+	<view class="time-head">
+		<ujp-navbar title="充电详情">
+			<view slot="right" style="margin-right: 10px;" @click="openModalBl=true">
+
+				<view class="iconfont qr-code">
+					&#xe60d;
+				</view>
+			</view>
+		</ujp-navbar>
+		<u-modal v-model="openModalBl" @confirm="confirmPhoneBl" confirm-text="拨打电话" confirm-color="#606266"
+			:show-cancel-button="true" ref="uModal" :asyncClose="true" title="客服电话" :content="consumerPhone"
+			:content-style="{fontSize: '24px',color: '#101010'}"></u-modal>
+
+		<view class="details-time">
+			<view class="time">
+				<view class="time1">
+					<view class="time11">
+						{{getday(chargeDetail.startTime?chargeDetail.startTime:chargeDetail.createTime)}}</view>
+					<view class="time12">{{geth(chargeDetail.startTime?chargeDetail.startTime:chargeDetail.createTime)}}
+					</view>
+				</view>
+
+				<view class="time2">
+					<view class="time21">起</view>
+					<view class="time22"></view>
+					<view class="time21">止</view>
+				</view>
+				<view class="time1">
+					<view class="time11">{{getday(chargeDetail.endTime)}}</view>
+					<view class="time12">{{geth(chargeDetail.endTime)}}</view>
+				</view>
+			</view>
+			<view class="oldTextjp18px">
+				<view class="details-row">
+					<p>充电时长</p>
+					<span>{{chargeDetail.chargingMinute != null ? getPercent(chargeDetail.chargingMinute) : '0秒'}}</span>
+				</view>
+				<view class="details-row">
+					<p>充电度数</p>
+					<span>{{chargeDetail.electricQuantity != null ? chargeDetail.electricQuantity/10000 : '0.000'}}度</span>
+				</view>
+			</view>
+		</view>
+		<view class="details" style="padding: 20rpx;" v-show="electricRecordListBl">
+			<view id="pieEcharts" style="min-height:240px;">
+
+			</view>
+			<view style="color:#9e9e9e;margin-top: 4px;">注:充电时间每5分钟获取一次数据</view>
+		</view>
+		<view class="details">
+			<view class="details-title">
+				<h4 class="oldTextjp20px" oldstyle="font-size: 20px;">费用信息</h4>
+			</view>
+			<view class="oldTextjp18px" oldstyle="font-size: 18px;">
+				<view class="details-row">
+					<p>订单总额</p><span>{{chargeDetail.dueFee != null ? chargeDetail.dueFee.toFixed(2) : '0.00'}}元</span>
+				</view>
+
+
+				<view class="details-row">
+					<p>电费</p>
+					<span>{{chargeDetail.totalElecMoney != null ? chargeDetail.totalElecMoney.toFixed(2) : '0.00'}}元</span>
+				</view>
+
+				<view class="details-row">
+					<p>服务费</p>
+					<span>{{chargeDetail.totalServiceMoney != null ? chargeDetail.totalServiceMoney.toFixed(2) : '0.00'}}元</span>
+				</view>
+
+				<view class="details-row"
+					v-if="chargeDetail.serviceDiscountRatio&&chargeDetail.serviceDiscountRatio!=100">
+					<p>折前服务费</p>
+					<span>{{(chargeDetail.dueServiceMoney?chargeDetail.dueServiceMoney:0).toFixed(2)}}元</span>
+				</view>
+
+				<view class="details-row"
+					v-if="chargeDetail.serviceDiscountRatio&&chargeDetail.serviceDiscountRatio!=100">
+					<p>服务费折扣</p><span style="color:#ef7041">{{discountRatio10(chargeDetail.serviceDiscountRatio)}}折</span>
+				</view>
+
+
+				<view class="details-row">
+					<p>优惠券抵扣</p><span style="color:#ef7041">{{userCouponObj? userCouponObj.useText : '未使用'}}</span>
+				</view>
+				
+
+				<view class="details-row" v-if="chargeDetail.userCardId">
+					<p>会员活动</p><span style="color:#ef7041">充电月卡</span>
 				</view>
-				
-				<view class="time2">
-					<view class="time21">起</view>
-					<view class="time22"></view>
-					<view class="time21">止</view>
-				</view>
-				<view class="time1">
-					<view class="time11">{{getday(chargeDetail.endTime)}}</view>
-					<view class="time12">{{geth(chargeDetail.endTime)}}</view>
-				</view>
-			</view>
-			<view  class="oldTextjp18px" >
-				<view class="details-row"><p>充电时长</p><span>{{chargeDetail.chargingMinute != null ? getPercent(chargeDetail.chargingMinute) : '0秒'}}</span></view>
-				<view class="details-row"><p>充电度数</p><span>{{chargeDetail.electricQuantity != null ? chargeDetail.electricQuantity/10000 : '0.000'}}度</span></view>
-			</view>
-		</view>
-		<view class="details" style="padding: 20rpx;"  v-show="electricRecordListBl">
-			<view id="pieEcharts" style="min-height:240px;">
-			
-			</view>
-			<view style="color:#9e9e9e;margin-top: 4px;">注:充电时间每5分钟获取一次数据</view>
-		</view>
-		<view class="details">
-			<view class="details-title">
-				<h4 class="oldTextjp20px" oldstyle="font-size: 20px;">费用信息</h4>
-			</view>
-			<view class="oldTextjp18px" oldstyle="font-size: 18px;">
-				<view class="details-row"><p>订单总额</p><span>{{chargeDetail.actualFee != null ? chargeDetail.actualFee.toFixed(2) : '0.00'}}元</span></view>
-				
-				
-				<view class="details-row"><p>电费</p><span>{{chargeDetail.totalElecMoney != null ? chargeDetail.totalElecMoney.toFixed(2) : '0.00'}}元</span></view>
- 			
-				<view class="details-row" ><p>服务费</p><span>{{chargeDetail.totalServiceMoney != null ? chargeDetail.totalServiceMoney.toFixed(2) : '0.00'}}元</span></view>
-				<view class="details-row" v-if="chargeDetail.serviceDiscountRatio&&chargeDetail.serviceDiscountRatio!=100" ><p>折前服务费</p><span>{{(chargeDetail.dueServiceMoney?chargeDetail.dueServiceMoney:0).toFixed(2)}}元</span></view>
-								
-								<view class="details-row" v-if="chargeDetail.serviceDiscountRatio&&chargeDetail.serviceDiscountRatio!=100" ><p>服务费折扣</p><span>{{discountRatio10(chargeDetail.serviceDiscountRatio)}}折</span></view>
-								
-				<!-- 				<view class="details-row" v-if="chargeDetail.discountAmount" ><p>服务费</p><span>{{chargeDetail.totalServiceMoney != null ? (chargeDetail.totalServiceMoney*100-chargeDetail.discountAmount*100)/100 : '0.00'}}元({{chargeDetail.totalServiceMoney}}-{{chargeDetail.discountAmount}})</span></view>
-				 -->				
-								<view class="details-row"><p>优惠券抵扣</p><span style="color:red">{{userCouponObj? userCouponObj.useText : '未使用'}}</span></view>
-								<view class="details-row" v-if="chargeDetail.discountAmount" ><p>实际减免</p><span >-{{chargeDetail.discountAmount.toFixed(2)}}元</span></view>
-							
-							<view class="details-row" v-if="chargeDetail.userCardId"><p>会员活动</p><span >充电月卡</span></view>
-		<!-- 		
-				<view class="details-row"><p>开始时间</p><span>{{chargeDetail.startTime}}</span></view>
-				<view class="details-row"><p>结束时间</p><span>{{chargeDetail.endTime}}</span></view>
-				
-		 -->	</view>
-		</view>
-		<view class="details">
-			<view class="details-title">
-				<h4 class="oldTextjp20px" >更多信息</h4>
-			</view>
-			<view class="oldTextjp18px" >
-				<view class="details-row"><p>结束原因</p><span>{{chargeDetail.remark}}</span></view>
-				<view class="details-row"><p>订单状态</p><span>{{chargeDetail.statusText}}</span></view>
-				<view class="details-row" v-if="false"><p>更新时间</p><span>{{chargeDetail.updateTime}}</span></view>
-				<view class="details-row" ><p>充电站点</p><span>{{chargeDetail.stationName}}</span></view>
-				<view class="details-row"><p>充电桩编号</p><span>{{chargeDetail.deviceName}}</span></view>
-				<view class="details-row"><p>充电车辆</p><span>{{chargeDetail.carNumber}}</span></view>
-				
-			</view>
-		</view>
-		<view class="" style="padding: 0px 20px;">
-			<u-button class="detailsBtn-btn oldTextjp18px" oldstyle="font-size: 16px;" type="success" shape="circle"  @click="toHome">返回主页</u-button>
-		</view>
-	</view>
-</template>
-
-<script>
-	import * as API from '@/apis/index.js'
-	import * as echarts from "echarts";
-	export default {
-		data() {
-			return {
-				id: '',
-				myChart:null,
-				electricRecordList:[],
-				chargeDetail: {},
-				userCouponObj:{},
-				electricRecordListBl:true,
-				elderStatus: false,
-			}
-		},
-		onLoad(op) {
-			if(op.id) {
-				this.id = op.id;
-				this.getchargingDetail();
-			}
-			
-			if(this.carhelp.get("getElderModeClass") == "长辈模式") {
-				this.elderStatus = true;
-			} else {
-				this.elderStatus = false;
-			}
-		},
-		methods: {
-			getday(time){
-				if(time){
-					return time.substring(5,10).replace('-','月')+'日'
-				}else
-				return''
-			},
-			geth(time){
-				if(time){
-					
-					return time.substring(11,16)
-				}else
-				return''
-			},
-			getPercent(estimateMinute) {
-				var value="";
-				 
-				var ms =estimateMinute
-				if (ms > 0) {
-					var Hour = parseInt(Math.floor(ms / 60 ));
-					var Fen = parseInt(Math.floor(ms % 60 ));	
-				//	value = Hour + "小时"  + Fen+"分钟"
-					if(Hour){
-						value += Hour + "小时" 
-					}
-						
-					if(Fen){
-						value += Fen+"分钟"
-					}
-				}else{
-					value="0分钟"
-				}
-			
-				return value;
-			},
-			toHome() {
-				uni.navigateTo({
-					url: '/pages/index/index'
-				})
-			},
-			getPie(data){
-				
-				if (!this.myChart) {
-					this.myChart = echarts.init(document.getElementById('pieEcharts'));
-					// this.myChart.on("dataZoom", (res) => {
-					// 	showkey = "";
-					// 	this.headitemby = "";
-					// });
-				}
-				var timeList=[]
-				var seriesList1=[]
-				var seriesList2=[]
-				var seriesList3=[]
-				//var sz2 = ['soc', 'power', 'ampere', 'voltage','temperature'];
-				console.log(data)
-				var dataInterval=[0,10,20,30,40,50,60,70,80,90,100]
-				for(var i in data){
-					var item=data[i]
-					timeList.push(this.geth(item.recordTime));
-					seriesList1.push(item.soc?item.soc:'')
-					seriesList2.push(item.power?(item.power/1000).toFixed(1):'')
-					//seriesList3.push(item.temperature?item.temperature:0)
-					seriesList3.push(item.temperature?item.temperature:'')
-				}
-				
-				var spaceNum=5
-				let maxA = Math.max(...seriesList2); // 最大值A
-				 let maxint = Math.ceil(maxA / spaceNum); //最大平均值(向上取整)= 最大值A / 间隔数
-				 let maxB = maxint * spaceNum; // 最大值B = 最大平均值 * 间隔数  (注:最大值B>最大值A)
-				  var max= Math.max(maxB, 10); // 为了防止maxB数据为0时,Y轴不显示,给个默认最大值10
-				var interval=max/spaceNum;
-				 
-
-				
-				const colors = ['#ea9832', '#429fc8', '#b13331'];
-				 
-				var option = {
-				  color: colors,
-				  tooltip: {
-					formatter: (value) => {
-						console.log(value)
-						var name = value[0].axisValue;
-						var style = "float: right;margin-left: 3px;"
-						var text1 = ""
-						var ulist=['%','kW','℃','','','']
-						for (var i in value) {
-							var u = ulist[i];
-							if(value[i].data==''){
-								continue
-							}
-							text1 += "<p>" + value[i].marker + value[i].seriesName + '<span style="' + style +
-								'">' + value[i].data + u + '</span></p>';
-						}
-						return `<p>${name}</p>` + text1
-					},
-					 trigger: 'axis',
-				  },
-				  grid: {
-					
-				   
-				    left: '8%',
-				    right: '10%',
-				    bottom: '10%',
-				  //  containLabel: true
-				  },
-				 
-				  legend: {
-				    data: ['SOC', '功率', '温度']
-				  },
-				  xAxis: [
-				    {
-				      type: 'category',
-				      axisTick: {
-				        alignWithLabel: true
-				      },
-				
-					  splitNumber: 2,
-				      // prettier-ignore
-				      data:timeList
-				    }
-				  ],
-				  yAxis: [
-				    {
-				      type: 'value',
-					
-				      name: '℃/SOC',
-							//data: [0,10,20,30,40,50,60,70,80,90,100],
-						max:100,
-						min:0,
-						minInterval:10,
-				      position: 'right',
-				      alignTicks: true,
-				      axisLine: {
-				        show: true,
-				        lineStyle: {
-				          color: colors[0]
-				        }
-				      },
-				      axisLabel: {
-						  
-						   formatter: '{value}'
-				        
-				      }
-				    },
-				    {
-						
-				      type: 'value',
-				      name: 'kW',
-				      position: 'left',
-				      alignTicks: true,
-						interval:interval,
-						max:max,
-						min:0,
-				      axisLine: {
-				        show: true,
-				        lineStyle: {
-				          color: colors[1]
-				        }
-				      },
-				      axisLabel: {
-				        formatter: '{value}'
-				      }
-				    }
-					
-				  ],
-				  series: [
-				    {
-				      name: 'SOC',
-				      type: 'line',
-					  symbolSize:3,
-				      data: seriesList1
-				    },
-				    {
-				      name: '功率',
-				      type: 'line',
-					   symbolSize:3,
-				      yAxisIndex: 1,
-				      data: seriesList2
-				    },
-				    {
-				      name: '温度',
-				      type: 'line',
-					   symbolSize:3,
-				      yAxisIndex: 0,
-				      data: seriesList3
-				    }
-				  ]
-				};
-				console.log(option)
-				
-				this.myChart.setOption(option);
-				
-			},
-			getchargingDetail() {
-				uni.showLoading({
-					title: "加载中",
-					mask: true,
-				})		
-				API.chargingDetail(this.id).then((res) => {
-					uni.hideLoading();
-					
-					this.chargeDetail = res.data.chargingRecord;
-					this.userCouponObj = res.data.userCoupon;
-					this.electricRecordList=res.data.electricRecordList
+				
+				<view class="details-row" v-if="chargeDetail.discountAmount">
+					<p>实际减免</p><span style="color:#ef7041">-{{chargeDetail.discountAmount.toFixed(2)}}元</span>
+				</view>
+				<view class="details-row">
+					<p>实付款</p>
+					<span style="color:#ef7041;font-size: 20px;" ><b>{{chargeDetail.actualFee != null ? chargeDetail.actualFee.toFixed(2) : '0.00'}}元</b></span>
+				</view>
+
+				<view style=" border-top: dashed  1px #777;    margin-top: 10px;">
+					<view class="details-row"><p>开始时间</p><span style="color:#777777">{{chargeDetail.startTime}}</span></view>
+					<view class="details-row"><p>结束时间</p><span  style="color:#777777">{{chargeDetail.endTime}}</span></view>
 					
-					if(res.data.electricRecordList&&res.data.electricRecordList.length){
-						
-						this.getPie(res.data.electricRecordList);
-						
-					}else{
-						this.electricRecordListBl=false
-					}
-					
-				}).catch(error => {
-					uni.showToast({
-						title: error,
-						icon: "none"
-					})
-				})
-			}
-		}
-	}
-</script>
-<style>
-	page{
-		background-color: #F7F7F7;
-	}
-</style>
-<style lang="scss" scoped>
-	.time-head{
-		background: linear-gradient(
-		180deg, rgba(0,185,98,1) 0%,rgba(246,248,248,1) 240px);
-		padding-bottom: 20px;
-	}
-	.details-time{
-		background: linear-gradient(180deg, #b7ebcf 0%,rgba(255,255,255,1) 33%);
-		.time{
-			display: flex;
-			justify-content: space-between;
-			  border-bottom: 1px solid  #E8E8E8;
-			  padding-bottom: 20rpx;
-			  .time1{
-				  .time11{
-					  font-size: 28rpx;
-					 margin-bottom: 4rpx;
-				  }
-				  .time12{
-				  		  font-size: 48rpx;
-						  color: #101010;
-						  font-weight: bold;
-						  text-align: center;
-				  }
-			  }
-			.time2{
-				color: #B8B8B8;
-				align-items: center;
-				display: flex;
-				justify-content: space-between;
-				.time21{
-					 border: 1px solid #B8B8B8;
-					     border-radius: 100rpx;
-					line-height: 46rpx;
-					height: 48rpx;
-					    width: 48rpx;
-					    text-align: center;
-				}
-				.time22{
-					width:200rpx;
-					border-top: 1px solid #CFCFCF ;
-					
-				}
-			}
-		}
-	}
-	
-	.oldTextClassF{
-		.oldTextjp18px{
-			font-size: 36rpx !important;
-		}
-		.oldTextjp20px{
-			font-size: 40rpx !important;
-		}
+				</view>		
+				
+		
+			</view>
+		</view>
+		<view class="details" style="margin-bottom: 60px;">
+			<view class="details-title">
+				<h4 class="oldTextjp20px">更多信息</h4>
+			</view>
+			<view class="oldTextjp18px">
+				<view class="details-row">
+					<p>结束原因</p><span>{{chargeDetail.remark}}</span>
+				</view>
+				<view class="details-row">
+					<p>订单状态</p><span>{{chargeDetail.statusText}}</span>
+				</view>
+				<view class="details-row" v-if="false">
+					<p>更新时间</p><span>{{chargeDetail.updateTime}}</span>
+				</view>
+				<view class="details-row">
+					<p>充电站点</p><span>{{chargeDetail.stationName}}</span>
+				</view>
+				<view class="details-row">
+					<p>充电桩编号</p><span>{{chargeDetail.deviceName}}</span>
+				</view>
+				<view class="details-row">
+					<p>充电车辆</p><span>{{chargeDetail.carNumber}}</span>
+				</view>
+
+			</view>
+		</view>
+		<view class="buttonClass" >
+			<u-button  size="medium" class="detailsBtn-btn  " :customStyle="customStyle" type="info" shape="circle"
+				@click="openModalBl=true">
+				<view class="iconfont ">
+					&#xe60d;
+				</view>
+				联系客服</u-button>
+			<u-button class="detailsBtn-btn " size="medium"  type="success" shape="circle"
+				@click="gotoUrl('pages/user/message')">填写反馈意见</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/index.js'
+	import * as echarts from "echarts";
+	export default {
+		data() {
+			return {
+				id: '',
+				myChart: null,
+				electricRecordList: [],
+				chargeDetail: {},
+				userCouponObj: {},
+				electricRecordListBl: true,
+				elderStatus: false,
+				consumerPhone: "",
+				openModalBl: false,
+				customStyle:{
+					color: '#00B962'
+				}
+			}
+		},
+		onLoad(op) {
+			if (op.id) {
+				this.id = op.id;
+				this.getchargingDetail();
+			}
+
+			if (this.carhelp.get("getElderModeClass") == "长辈模式") {
+				this.elderStatus = true;
+			} else {
+				this.elderStatus = false;
+			}
+
+			var consumerPhone = this.carhelp.getConfig().consumerPhone
+			// img="https://yktwechat.xiaoxinda.com/config/xxd2021.jpg"		
+			if (consumerPhone) {
+				this.consumerPhone = consumerPhone
+			}
+		},
+		methods: {
+			confirmPhoneBl() {
+				this.openModalBl = false;
+				uni.makePhoneCall({
+					phoneNumber: this.consumerPhone //仅为示例
+				});
+
+			},
+			getday(time) {
+				if (time) {
+					return time.substring(5, 10).replace('-', '月') + '日'
+				} else
+					return ''
+			},
+			geth(time) {
+				if (time) {
+
+					return time.substring(11, 16)
+				} else
+					return ''
+			},
+			getPercent(estimateMinute) {
+				var value = "";
+
+				var ms = estimateMinute
+				if (ms > 0) {
+					var Hour = parseInt(Math.floor(ms / 60));
+					var Fen = parseInt(Math.floor(ms % 60));
+					//	value = Hour + "小时"  + Fen+"分钟"
+					if (Hour) {
+						value += Hour + "小时"
+					}
+
+					if (Fen) {
+						value += Fen + "分钟"
+					}
+				} else {
+					value = "0分钟"
+				}
+
+				return value;
+			},
+			toHome() {
+				uni.navigateTo({
+					url: '/pages/index/index'
+				})
+			},
+			getPie(data) {
+
+				if (!this.myChart) {
+					this.myChart = echarts.init(document.getElementById('pieEcharts'));
+					// this.myChart.on("dataZoom", (res) => {
+					// 	showkey = "";
+					// 	this.headitemby = "";
+					// });
+				}
+				var timeList = []
+				var seriesList1 = []
+				var seriesList2 = []
+				var seriesList3 = []
+				//var sz2 = ['soc', 'power', 'ampere', 'voltage','temperature'];
+				console.log(data)
+				var dataInterval = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
+				for (var i in data) {
+					var item = data[i]
+					timeList.push(this.geth(item.recordTime));
+					seriesList1.push(item.soc ? item.soc : '')
+					seriesList2.push(item.power ? (item.power / 1000).toFixed(1) : '')
+					//seriesList3.push(item.temperature?item.temperature:0)
+					seriesList3.push(item.temperature ? item.temperature : '')
+				}
+
+				var spaceNum = 5
+				let maxA = Math.max(...seriesList2); // 最大值A
+				let maxint = Math.ceil(maxA / spaceNum); //最大平均值(向上取整)= 最大值A / 间隔数
+				let maxB = maxint * spaceNum; // 最大值B = 最大平均值 * 间隔数  (注:最大值B>最大值A)
+				var max = Math.max(maxB, 10); // 为了防止maxB数据为0时,Y轴不显示,给个默认最大值10
+				var interval = max / spaceNum;
+
+
+
+				const colors = ['#ea9832', '#429fc8', '#b13331'];
+
+				var option = {
+					color: colors,
+					tooltip: {
+						formatter: (value) => {
+							console.log(value)
+							var name = value[0].axisValue;
+							var style = "float: right;margin-left: 3px;"
+							var text1 = ""
+							var ulist = ['%', 'kW', '℃', '', '', '']
+							for (var i in value) {
+								var u = ulist[i];
+								if (value[i].data == '') {
+									continue
+								}
+								text1 += "<p>" + value[i].marker + value[i].seriesName + '<span style="' + style +
+									'">' + value[i].data + u + '</span></p>';
+							}
+							return `<p>${name}</p>` + text1
+						},
+						trigger: 'axis',
+					},
+					grid: {
+
+
+						left: '8%',
+						right: '10%',
+						bottom: '10%',
+						//  containLabel: true
+					},
+
+					legend: {
+						data: ['SOC', '功率', '温度']
+					},
+					xAxis: [{
+						type: 'category',
+						axisTick: {
+							alignWithLabel: true
+						},
+
+						splitNumber: 2,
+						// prettier-ignore
+						data: timeList
+					}],
+					yAxis: [{
+							type: 'value',
+
+							name: '℃/SOC',
+							//data: [0,10,20,30,40,50,60,70,80,90,100],
+							max: 100,
+							min: 0,
+							minInterval: 10,
+							position: 'right',
+							alignTicks: true,
+							axisLine: {
+								show: true,
+								lineStyle: {
+									color: colors[0]
+								}
+							},
+							axisLabel: {
+
+								formatter: '{value}'
+
+							}
+						},
+						{
+
+							type: 'value',
+							name: 'kW',
+							position: 'left',
+							alignTicks: true,
+							interval: interval,
+							max: max,
+							min: 0,
+							axisLine: {
+								show: true,
+								lineStyle: {
+									color: colors[1]
+								}
+							},
+							axisLabel: {
+								formatter: '{value}'
+							}
+						}
+
+					],
+					series: [{
+							name: 'SOC',
+							type: 'line',
+							symbolSize: 3,
+							data: seriesList1
+						},
+						{
+							name: '功率',
+							type: 'line',
+							symbolSize: 3,
+							yAxisIndex: 1,
+							data: seriesList2
+						},
+						{
+							name: '温度',
+							type: 'line',
+							symbolSize: 3,
+							yAxisIndex: 0,
+							data: seriesList3
+						}
+					]
+				};
+				console.log(option)
+
+				this.myChart.setOption(option);
+
+			},
+			getchargingDetail() {
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API.chargingDetail(this.id).then((res) => {
+					uni.hideLoading();
+
+					this.chargeDetail = res.data.chargingRecord;
+					this.userCouponObj = res.data.userCoupon;
+					this.electricRecordList = res.data.electricRecordList
+
+					if (res.data.electricRecordList && res.data.electricRecordList.length) {
+
+						this.getPie(res.data.electricRecordList);
+
+					} else {
+						this.electricRecordListBl = false
+					}
+
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			}
+		}
+	}
+</script>
+<style>
+	page {
+		background-color: #F7F7F7;
+	}
+</style>
+<style lang="scss" scoped>
+	.time-head {
+		background: linear-gradient(180deg, rgba(0, 185, 98, 1) 0%, rgba(246, 248, 248, 1) 240px);
+		padding-bottom: 20px;
+	}
+
+	.details-time {
+		background: linear-gradient(180deg, #b7ebcf 0%, rgba(255, 255, 255, 1) 33%);
+
+		.time {
+			display: flex;
+			justify-content: space-between;
+			border-bottom: 1px solid #E8E8E8;
+			padding-bottom: 20rpx;
+
+			.time1 {
+				.time11 {
+					font-size: 28rpx;
+					margin-bottom: 4rpx;
+				}
+
+				.time12 {
+					font-size: 48rpx;
+					color: #101010;
+					font-weight: bold;
+					text-align: center;
+				}
+			}
+
+			.time2 {
+				color: #B8B8B8;
+				align-items: center;
+				display: flex;
+				justify-content: space-between;
+
+				.time21 {
+					border: 1px solid #B8B8B8;
+					border-radius: 100rpx;
+					line-height: 46rpx;
+					height: 48rpx;
+					width: 48rpx;
+					text-align: center;
+				}
+
+				.time22 {
+					width: 200rpx;
+					border-top: 1px solid #CFCFCF;
+
+				}
+			}
+		}
+	}
+
+	.oldTextClassF {
+		.oldTextjp18px {
+			font-size: 36rpx !important;
+		}
+
+		.oldTextjp20px {
+			font-size: 40rpx !important;
+		}
+	}
+
+	.detailsBtn {
+		margin: 16px;
+		
+		.detailsBtn-btn {
+			border-color: #00B962 !important;
+			border-radius: 8px !important;
+			background: none !important;
+			color: #00B962 !important;
+		}
+	}
+
+	.details-title {
+		margin-bottom: 16px;
+
+		h4 {
+			font-weight: bold;
+			font-size: 16px;
+			position: relative;
+			padding-left: 10px;
+
+			&::after {
+				content: '';
+				position: absolute;
+				height: 12px;
+				width: 4px;
+				background-color: #27B148;
+				left: 0;
+				top: 5px;
+			}
+		}
+	}
+
+	.details-row {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		margin-top: 10px;
+
+		p {
+			color: #333;
+			width: 180rpx;
+			min-width: 80px;
+		}
+
+		span {
+			color: #101010;
+			font-weight: bold;
+		}
+	}
+
+	.details,
+	.details-time {
+		margin: 32rpx;
+		padding: 40rpx;
+		background-color: #fff;
+		border-radius: 8px;
+		box-shadow: 0px 2px 6px 0px #00b96226;
+		border: 1px solid rgba(255, 255, 255, 1);
+
+		.details-head {
+			display: flex;
+			align-items: center;
+			justify-content: center;
+
+			h4 {
+				font-size: 18px;
+				font-weight: normal;
+				margin-left: 4px;
+			}
+		}
+
+		.details-price {
+			margin-top: 28px;
+			display: flex;
+			align-items: flex-end;
+			justify-content: center;
+
+			h3 {
+				font-size: 36px;
+				color: #FF6200;
+				line-height: 36px;
+				margin: 0 4px;
+				font-weight: normal;
+			}
+
+			span {
+				font-size: 20px;
+				color: #FF6200;
+			}
+		}
+
+		.details-main {
+			text-align: center;
+			margin-bottom: 20px;
+
+			p {
+				color: #777;
+				margin-top: 4px;
+			}
+		}
+	}
+
+	.qr-code {
+		font-size: 24px;
+		color: #666666;
+		// position: absolute;
+		right: 16px;
 	}
-	
-	.detailsBtn{
-		margin: 16px;
+	.buttonClass{
+		    text-align: center;
+			position: fixed;
+			bottom: 0px;
+			    width: 100%;
+				    background: #fff;
+				    padding: 10px 0;
 		.detailsBtn-btn{
-			border-color:#00B962!important;
-			border-radius: 8px!important;
-			background: none!important;
-			color:#00B962!important;
-		}
-	}
-	.details-title{
-		margin-bottom: 16px;
-		h4{
-			font-weight: bold;
-			font-size: 16px;
-			position: relative;
-			padding-left:10px;
-			&::after{
-				content: '';
-				position: absolute;
-				height: 12px;
-				width: 4px;
-				background-color: #27B148;
-				left: 0;
-				top:5px;
-			}
-		}
-	}
-	.details-row{
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-		margin-top: 10px;
-		
-		p{
-			color:#333;
-			width: 180rpx;
-			min-width: 80px;
-		}
-		span{
-			color:#101010;
-			font-weight: bold;
-		}
-	}
-	.details,.details-time{
-		margin: 32rpx;
-		padding: 40rpx;
-		background-color: #fff;
-		border-radius: 8px;
-	box-shadow: 0px 2px 6px 0px #00b96226;
-	border: 1px solid rgba(255, 255, 255, 1);
-	.details-head{
-			display: flex;
-			align-items: center;
-			justify-content: center;
-			h4{
-				font-size: 18px;
-				font-weight: normal;
-				margin-left: 4px;
-			}
+					margin:0 16px;
 		}
-		.details-price{
-			margin-top: 28px;
-			display: flex;
-			align-items: flex-end;
-			justify-content: center;
-			h3{
-				font-size: 36px;
-				color:#FF6200;
-				line-height: 36px;
-				margin: 0  4px;
-				font-weight: normal;
-			}
-			span{
-				font-size: 20px;
-				color:#FF6200;
-			}
-		}
-		.details-main{
-			text-align: center;
-			margin-bottom: 20px;
-			p{
-				color:#777;
-				margin-top: 4px;
-			}
-		}
-	}
-</style>
+	}
+</style>

+ 13 - 0
pages/search/search.vue

@@ -34,6 +34,7 @@
 			<view class="sign" v-if="item.stationType!=50&&personInfo&&personInfo.userType!=1">
 				<view class="sign-1" v-if="item.giveDiscount&&item.discountRatio&&item.discountRatio!=100">会员服务费{{discountRatio10(item.discountRatio)}}折</view>
 				<view class="sign-3" v-if="item.category=='超充'">160kW超充站</view>
+				<view class="sign-4" v-if="item.id=='3c554cea-f522-4281-b582-d761510ed91e'||item.id=='3865b3a3-13fd-461a-8145-ee9711df35a2'">夜间超低价</view>
 				
 				<view class="sign-2" v-if="item.tagList.length != 0" v-for="(tagName,tagIndex) in item.tagList" :key="tagIndex">{{tagName}}</view>
 			
@@ -692,6 +693,18 @@ font-weight: 600;
 			margin-right: 16rpx;
 			margin-bottom: 8rpx;
 		}
+		.sign-4{
+			line-height: 40rpx;
+			border-radius: 8rpx;
+			background-color: rgba(255, 255, 255, 100);
+			color: #00B962  ;
+			font-size: 24rpx;
+			text-align: center;
+			border: 1px solid #00B962 ;
+			padding: 0 8rpx;
+			margin-right: 16rpx;
+			margin-bottom: 8rpx;
+		}
 	}
 	
 		.park-text2 {

+ 5 - 5
pages/searchPile/searchPile.vue

@@ -208,7 +208,7 @@
 				
 				</view>
 				 
-				 <u-divider margin-top="20" bg-color="#F2F4F4" v-if="stationslist.length <0" >已经到底了</u-divider>
+				 <u-divider margin-top="20" bg-color="#F2F4F4" v-if="stationslist.length == recordsTotal" >已经到底了</u-divider>
 				 
 				
 				
@@ -301,7 +301,7 @@
 		</view>
 		 
 		
-		<Tabbar :current="1"  ref="tabbarMain" :elderStatus="elderStatus"></Tabbar> 
+		<Tabbar :current="2"  ref="tabbarMain" :elderStatus="elderStatus"></Tabbar> 
 	</view>
 </template>
 
@@ -337,7 +337,7 @@ export default {
 				"font-size":'32rpx',
 			
 			},
-			recordsTotal:0,
+			recordsTotal:-1,
 			nav_height:88,
 			elderMode:false,
 			showCity:false,
@@ -494,7 +494,7 @@ export default {
 	},
 	onShow() {
 		if(this.$refs.tabbarMain){
-			this.$refs.tabbarMain.setcount(1);
+			this.$refs.tabbarMain.setcount(2);
 		}
 		
 //		//('onShow')
@@ -831,7 +831,7 @@ export default {
 			if(pos == null)
 				return ;			
 //			//('getChargingStationData'+JSON.stringify(pos))
-			let data1 = { pageIndex:1,pageSize:40};
+			let data1 = { pageIndex:1,pageSize:999};
 			if(this.info.obc_type[this.preference.obc_type_index].text.indexOf('直流快充')>=0)
 				data1.type = "1";
 			else if(this.info.obc_type[this.preference.obc_type_index].text.indexOf('交流慢充')>=0)

+ 34 - 7
pages/searchPile/stationAndPile/stationDetails.vue

@@ -1,10 +1,16 @@
 <template>
 	<view style="padding-bottom: 28px;">
 		<ujp-navbar title="站点详情">
-			<view slot="right" style="margin-right: 10px;" @click="getScanCode">
+		<!-- 	<view @click="getScanCode">
 				<view class="iconfont qr-code">
 					&#xe61a;
 				</view>
+			</view> -->
+			<view slot="right" style="margin-right: 10px;"  @click="openModalBl=true">
+				
+				<view class="iconfont qr-code">
+					&#xe60d;
+				</view>
 			</view>
 		</ujp-navbar>
 
@@ -483,7 +489,10 @@
 					对您作出停用预约充电功能1天的处罚。
 					您可于<span style="color: #00b962;">2022年6月20日09时45分</span>后使用此功能。
 				</view>
-			</u-modal>
+			</u-modal>
+			<u-modal v-model="openModalBl" @confirm="confirmPhoneBl" confirm-text="拨打电话" confirm-color="#606266"
+				:show-cancel-button="true" ref="uModal" :asyncClose="true" title="客服电话" :content="consumerPhone"
+				:content-style="{fontSize: '24px',color: '#101010'}"></u-modal>
 
 		</view>
 
@@ -502,7 +511,9 @@
 	export default {
 
 		data() {
-			return {
+			return {
+				
+				openModalBl:false,
 				showNt: false,
 				showNtStep: 0,
 				showNtValue: 30,
@@ -564,7 +575,8 @@
 					setIntervalBool: true,
 					priceList: [],
 					platform: '',
-					personInfo: {},
+					personInfo: {},
+					consumerPhone:"",
 					devices: {
 						idleNum: 1,
 						total: 6,
@@ -587,7 +599,9 @@
 
 			//			document.getElementsByTagName('body')[0].style.setProperty('--mode',1)
 
-
+			if(op.jg=='1'){
+				this.current=1;
+			}
 			if (op != null) {
 
 				if (op.id != null && op.id != undefined) {
@@ -625,7 +639,14 @@
 
 			}
 		},
-		onReady() {
+		onReady() {
+			
+			var consumerPhone = this.carhelp.getConfig().consumerPhone
+			// img="https://yktwechat.xiaoxinda.com/config/xxd2021.jpg"		
+			if (consumerPhone) {
+				this.consumerPhone = consumerPhone
+			}
+			
 			this.elderMode = this.carhelp.get('getElderModeClass') == '长辈模式';
 
 			if (this.elderMode)
@@ -703,7 +724,13 @@
 			}
 		},
 		methods: {
-
+			confirmPhoneBl() {
+				this.openModalBl=false;
+				uni.makePhoneCall({
+					phoneNumber: this.consumerPhone //仅为示例
+				});
+			
+			},
 			confirmPhone() {
 
 				if (this.stationDetail.station && this.stationDetail.station.contactPhone) {

+ 4 - 1
pages/user/company-vip.vue

@@ -6,7 +6,10 @@
 			
 			<view class="user-card">
 				<view class="head-img">
-					<img src="../../assets/img/headPortrait.png" alt="">
+					<img v-if="info.headImg" style="border-radius: 50px;"
+					:src="info.headImg" alt="">
+					<img v-else src="../../assets/img/headPortrait.png" alt="">
+					
 				</view>
 				<view class="user-name">
 					<view class="name">

+ 2 - 2
pages/user/index.vue

@@ -243,7 +243,7 @@
 				</view>
 			</view> -->
 		</view>
-		<Tabbar :current="2" ref="tabbarMain" :elderStatus="elderStatus"></Tabbar>
+		<Tabbar :current="3" ref="tabbarMain" :elderStatus="elderStatus"></Tabbar>
 	</view>
 </template>
 
@@ -299,7 +299,7 @@
 				//this.getCouponList();
 			}
 			if(this.$refs.tabbarMain){
-				this.$refs.tabbarMain.setcount(2);
+				this.$refs.tabbarMain.setcount(3);
 			}
 			
 			if(this.carhelp.get("getElderModeClass") == "长辈模式") {