Browse Source

停车优惠券

zhengkaixin 11 months ago
parent
commit
5b73cb85fa
6 changed files with 1128 additions and 1 deletions
  1. 3 0
      README.md
  2. 32 0
      apis/coupon.js
  3. 15 0
      apis/role.js
  4. 20 1
      pages.json
  5. 351 0
      pagesFinance/coupon/details.vue
  6. 707 0
      pagesFinance/coupon/index.vue

+ 3 - 0
README.md

@@ -1,3 +1,6 @@
+[](https://modao.cc/app/MnYc18uZravtcj6wq3wua#screen=sl2fu02jhnc888l)
+
+
 #   智能充电系统
 发行方式, uniapp  点击”发行“ -”自定义发行“   prod 正式环境| test 测试环境
 #### 账户类型(1-平台,2-企业,3-个人,4-物业,5-市场)

+ 32 - 0
apis/coupon.js

@@ -0,0 +1,32 @@
+import request from '../utils/request.js';
+
+import Qs from 'qs';
+
+
+export function couponList(data) {
+	var url='/mobile/chargingParkingCouponApi/couponList';
+	return request({
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+export function couponDetails(data) {
+	var url='/mobile/chargingParkingCouponApi/couponDetails';
+	return request({
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+export function stationList(data) {
+	var url='/mobile/chargingParkingCouponApi/stationList';
+	return request({
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+

+ 15 - 0
apis/role.js

@@ -46,6 +46,21 @@ var list = [{
 		only:true,
 		role:[2],
 	
+	},
+	{
+		current: 4,
+		iconPath: "bar-chart-box-fill",
+		selectedIconPath: "bar-chart-box-fill",
+		text: '优惠券记录',
+		show: false,
+		
+		customIcon: true,
+		pagePath2: "/pagesFinance/coupon/index",
+		
+		//权限
+		only:true,
+		role:[3],
+	
 	},
 	{
 		current: 3,

+ 20 - 1
pages.json

@@ -88,7 +88,26 @@
 
 				//"navigationStyle": "custom" // 隐藏系统导航栏
 			}
-		},
+		},
+		
+		{
+			"name": "优惠卷详情",
+			"path": "pagesFinance/coupon/details",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		{
+			"name": "优惠卷列表",
+			"path": "pagesFinance/coupon/index",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		
+		
 		{
 			"name": "分润详情",
 			"path": "pagesFinance/share/details",

+ 351 - 0
pagesFinance/coupon/details.vue

@@ -0,0 +1,351 @@
+<template>
+	<view>
+		<ujp-navbar >  充电详情</ujp-navbar>
+		<view class="details">
+			<view class="details-head">
+<!-- 				<u-icon name="charging-pile-fill" custom-prefix="custom-icon" color="#27B148" size="48"></u-icon>
+ -->			
+				
+				<h4>{{detail.record&&detail.record.flowNo?detail.record.flowNo:'无充电单号'}}</h4>
+				
+			</view>
+			<view class="details-main">
+				<view class="details-price">
+					<h3>{{detail.income?detail.income.toFixed(2):0}}</h3><span>元</span>
+				</view>
+				<p>本单金额</p>
+			</view>
+			<view class="details-row" v-if="detail.deviceType"   ><p>订单类型 </p><span>{{options0[detail.deviceType].label}}
+			</span></view>
+			
+			<view class="details-row"  v-if="detail.deviceType!='0'" ><p>电费 </p><span>{{detail.electricityAmount?detail.electricityAmount.toFixed(2):0}}元</span></view>
+		
+			
+ 			<view class="details-row" v-if="detail.deviceType!='0'" >
+ 				<p>服务费</p>
+   				
+				<span v-if="detail.record">{{detail.surplusAmount?detail.surplusAmount.toFixed(2):0}}元
+				
+<!-- 				<span v-if="couponObj&&couponObj.status=='1'">({{detail.surplusAmount}}-{{detail.record.discountAmount}})</span>
+ -->				
+ 				</span>
+ 			</view>
+ 			<view class="details-row" v-if="couponObj&&couponObj.status=='1'" >
+ 				<p>优惠券 </p>
+ 				<span>
+ 					{{couponObj.useText}}	
+ 				</span>
+ 			</view>
+			<view class="details-row" v-if="detail.record&&detail.record.discountAmount" >
+				<p>实际减免 </p>
+				<span>
+					-{{detail.record.discountAmount?detail.record.discountAmount.toFixed(2):0}}元	
+				</span>
+			</view>
+			<view class="details-row" v-if="detail.record&&detail.record.userCardId" >
+				<p>会员活动 </p>
+				<span>
+					折扣卡<span v-if="detail.monthlyRentCard">-{{detail.monthlyRentCard.name}}</span></span>
+					
+				
+			</view>
+			<view class="details-row"   ><p>订单来源 </p><span>{{detail.record?detail.record.platformText:''}}</span></view>
+			
+			<view class="details-row"  v-if="detail.payType" ><p>支付方式 </p><span>{{detail.payType==1?'先付后退':''}}{{detail.payType==2?'个人账户':''}}{{detail.payType==3?'企业账户':''}}</span></view>
+			<view class="details-row"  v-if="detail.payType==3" ><p>企业名称 </p><span>{{detail.entName}}</span></view>
+			
+			
+			
+			<view class="details-row"   ><p>用户类型 </p>
+			<span  v-html="chargeUserPhoneXDT(detail.chargeUserPhone,detail.userType)" > </span>
+			 </view>
+			
+ 		</view>
+		
+	
+	<view class="details">
+		<view class="details-title">
+			<h4>用电明细</h4>
+		</view>
+		
+		<view class="details-row" v-if="detail.record&&detail.record.endSoc" >
+			<p>充电SOC</p>
+			<span>{{detail.record&&detail.record.startSoc}}%>{{detail.record&&detail.record.endSoc}}%</span>
+		</view>
+		<view class="details-row" >
+			<p>总充电量</p>
+			<span>{{detail.electricQuantity?detail.electricQuantity/10000:0}}度
+			<span v-if="detail.lossCompensate" style="color: red;" >*</span>
+			</span>
+		</view>
+		<view class="details-row"><p>开始时间</p><span>{{detail.startTime?detail.startTime:detail.endTime}}</span></view>
+			<view class="details-row"><p>结束时间</p><span>{{detail.endTime}}</span></view>
+			<view class="details-row"><p>充电时长</p><span>{{getPercent(detail.chargingMinute)}}</span></view>
+		
+		<view class="details-row" v-if="detail.deviceType=='0'" >
+			<p>电费单价</p>
+			<span>{{detail.unitPrice?detail.unitPrice.toFixed(2):0}}元/小时</span>
+		</view>
+		
+				
+			<view v-for="(item,i) in chargeDetails" :key="i"  v-if="detail.deviceType!=0" >
+				<view class="details-row" style=" margin-top: 18px;" >
+					<p>区间充电量({{item.startTime}}-{{item.endTime}})</p>
+					
+					<span v-if="item.fixKwh&&item.kwh" >{{(item.kwh+item.fixKwh).toFixed(2) }}度</span>
+					<span v-else >{{item.kwh.toFixed(2) }}度</span>
+					
+				</view>
+				
+				
+				<view class="details-row" style="display: block;" >
+					<p>
+						<span style="    color: #37393c;">区间定价</span>
+						<span style="float: right; color: #333;font-weight: normal;" v-if="item.discountServicePrice||item.discountServicePrice==0" >{{((item.electricityPrice*100+item.discountServicePrice*100)/100).toFixed(2)}}元/度 <span style="text-decoration:line-through;margin-left: 3px;">{{((item.electricityPrice*100+item.servicePrice*100)/100).toFixed(2)}}元/度</span></span>
+						
+						<span style="float: right; color: #333;font-weight: normal;" v-else >{{((item.electricityPrice*100+item.servicePrice*100)/100).toFixed(2)}}元/度</span>
+						
+					</p>
+					<span class="details-row-sum" style="float:none" v-if="item.discountServicePrice||item.discountServicePrice==0"  >电费{{item.electricityPrice.toFixed(2)}}元/度|服务费{{item.discountServicePrice.toFixed(2)}}元/度(折前{{item.servicePrice.toFixed(2)}}元/度) </span>
+					
+						<span class="details-row-sum"  v-else >{{item.electricityPrice.toFixed(2)}}元/度(电费)+{{item.servicePrice.toFixed(2)}}元/度(服务费) </span>
+						
+				</view>
+			</view>
+	</view>
+		
+		
+		<view class="details" v-if="sprList&&sprList.length">
+			<view class="details-title">
+				<h4>分润明细</h4>
+			</view>
+			<view class="details-row" v-for="(item,i) in sprList" :key="i" v-if="item.disProportion">
+				<p>{{item.merchantAccountName}}({{(item.disProportion*100).toFixed(2)}}%)</p>
+				<span>{{showNumJP(item.shareProfitAmount)}}元</span>
+			</view>
+		
+		</view>
+		
+		
+		<view class="details">
+			<view class="details-title">
+				<h4>更多信息</h4>
+			</view>
+		
+			<view class="details-row"><p>来源站点</p><span>{{detail.stationName}}</span></view>
+			<view class="details-row"><p>来源充电桩</p><span>{{detail.deviceName}}</span></view>
+			<view class="details-row" ><p>桩号</p><span>{{detail.deviceNo}}</span></view>
+			<view class="details-row" v-if="detail.deviceType!='0'" ><p>枪号</p><span>{{detail.gunNo}}号充电枪</span></view>
+			<view class="details-row" v-if="detail.deviceType=='0'" ><p>通道号</p><span>{{detail.gunNo}}号</span></view>
+			
+			<view class="details-row"><p style="width: 80px;">结束原因</p><span>{{detail.record&&detail.record.remark?detail.record.remark:'无'}}</span></view>
+			
+			
+		</view>
+		
+		<view class="details">
+			<view class="details-title">
+				<h4>充电用户</h4>
+			</view>
+		
+			<view class="details-row"><p>用户昵称</p><span>{{detail.chargeUserName?detail.chargeUserName:'未命名'}}</span></view>
+			<view class="details-row"><p>手机号码</p><span>{{detail.chargeUserPhone}}</span></view>
+ 			<view class="details-row" v-if="detail.deviceType!='0'" ><p>车牌号</p><span>{{detail.record&&detail.record.carNumber?detail.record.carNumber:'未绑定'}}</span></view>
+ 			
+			
+		</view>
+		
+		
+		
+		<view class="detailsBtn">
+			<u-button class="detailsBtn-btn" @click="back" type="primary" plain>返回</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/finance.js'
+	
+	export default {
+		data() {
+			return {
+				chargeDetails:[],
+				id:'',
+				sprList:[
+					
+				],
+				detail:{
+					
+				},
+				options0: [
+				
+					{
+						label: '自行车充电',
+						value: 0,
+					},
+					{
+						label: '直流快充',
+						value: 1,
+					},
+					{
+						label: '交流慢充',
+						value: 2,
+					}
+					
+				],
+				title:"",
+				 couponObj:null,
+			}
+		},
+		onLoad(op){
+			
+			 		
+			
+			this.id=op.id;
+			this.getInfo()
+		},
+		methods: {
+			getPercent(estimateMinute) {
+				var value="";
+				 
+				var ms =estimateMinute
+				if (ms > 0) {
+					var Hour = parseInt(Math.floor(ms / 60 ));
+					var Fen = parseInt(Math.floor(ms % 60 ));	
+				
+					if(Hour){
+						value += Hour + "小时" 
+					}
+						
+					if(Fen){
+						value += Fen+"分钟"
+					}
+				}else{
+					value="0分钟"
+				}
+			
+				return value;
+			},
+			back(){
+				uni.navigateBack({
+					
+				})
+			},
+			getInfo(){
+				uni.showLoading({
+					title:"加载中",mask:true,
+				})
+				API.incomeDetails({
+					recordId:this.id
+				}).then((res) => {
+					this.detail=res.data
+						 
+					//this.sprList=res.data.cdmList	
+					this.couponObj=res.data.userCoupon;
+					this.chargeDetails=JSON.parse(res.data.ChargeDetails)
+					this.sprList=res.data.detailList	
+					uni.hideLoading()
+					 console.log(this.detail)
+				}).catch(error => {
+						uni.showToast({
+							
+							title:error
+						})
+				})
+			}
+		}
+	}
+</script>
+<style>
+	page{
+		background-color: #F7F7F7;
+	}
+</style>
+<style lang="scss" scoped>
+	.detailsBtn{
+		margin: 16px;
+		.detailsBtn-btn{
+			border-color:#185AC6!important;
+			border-radius: 8px!important;
+			background: none!important;
+			color:#185AC6!important;
+		}
+	}
+	.details-title{
+		margin-bottom: 16px;
+		h4{
+			font-weight: normal;
+			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: 15px;
+		
+		p{
+			color: #37393c;
+			font-weight: bold;	
+		}
+	}
+	.details{
+		margin: 34rpx;
+		padding: 34rpx;
+		background-color: #fff;
+		border-radius: 8px;
+		.details-head{
+			text-align: center;
+			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:#27B148;
+				line-height: 36px;
+				margin: 0  4px;
+				font-weight: normal;
+			}
+			span{
+				font-size: 20px;
+				color:#27B148;
+			}
+		}
+		.details-main{
+			text-align: center;
+			margin-bottom: 20px;
+			p{
+				color:#777;
+				margin-top: 4px;
+			}
+		}
+	}
+	.details-row-sum{
+		float: right;
+		color: #888;
+		font-size: 24rpx;
+	
+	}
+</style>

+ 707 - 0
pagesFinance/coupon/index.vue

@@ -0,0 +1,707 @@
+<template>
+	<view>
+		<ujp-navbar :is-back="false">
+			<view class="navbar">
+				<view class="navbar-tit"  >优惠卷记录</view>
+				<view class="navbar-screen"  @click="popupShow = true"><span>筛选</span>
+				<u-icon name="filter-2-fill" custom-prefix="custom-icon" color="#b0b8c8" size="32"></u-icon>
+				</view>
+				
+			</view>
+		</ujp-navbar>
+		<u-popup v-model="popupShow" mode="bottom" height="80%" >
+			<view class="popup-screen">
+				<view class="screen">
+					<view class="screen-item">
+						<view class="screen-head">查询日期</view>
+						<view class="screen-main2">
+							
+							<u-calendar v-model="showdate" mode="date" @change="changedate"></u-calendar>
+							<view @click="showdate = true" style="
+							border: 1px solid;
+							padding: 5px;
+						" >{{startTime?startTime:'选择时间筛选'}}</view>
+							
+							
+						<!-- 	
+							<u-action-sheet :list="actionSheetList" v-model="show" @click="actionSheetCallback"></u-action-sheet>
+						 --></view>
+					</view>
+					
+					<view class="screen-item">
+						<view class="screen-head">站点</view>
+						<view class="screen-main">
+							<view class="screen-entry  "
+							:class="{
+								active:selectstationId==''&&selectstationNo==''
+							}"
+							 @click="selectstationId='',selectdeviceNo='',selectstationNo=''"
+							>全部</view>
+							<template v-for="(item,i) in stationList" >
+								 
+								<view class="screen-entry" 
+								:class="{
+									active:selectstationNo==item.stationNo.substring(0,1)
+								}"
+								 @click="selectstationId='',selectdeviceNo='',selectstationNo=item.stationNo.substring(0,1)"
+								 v-if="getStationNo(i)"  :key="i" >
+								
+								{{item.stationNo.substring(0,1)}}类</view>
+								
+							</template>
+							
+							
+							<template v-for="(item,i) in stationList" >
+								 
+								<view class="screen-head"
+								 style="width: 100%;"
+								 v-if="getStationNo(i)&&selectstationNo==item.stationNo.substring(0,1)"  :key="i" >
+								
+								<span style="color: red;">*</span>{{item.stationNo.substring(0,1)}}类</view>
+								<view
+								 :key="i"
+								 v-show="selectstationNo==item.stationNo.substring(0,1)"
+								:class="{
+									active:selectstationId==item.id
+								}"
+								 @click="selectstationId=item.id,selectdeviceNo=''"
+								class="screen-entry" >{{item.name}}</view>
+							</template>
+							
+						
+						</view>
+					</view>
+					<view  v-show="selectstationId"
+					
+					class="screen-item">
+						<view class="screen-head">桩号</view>
+						<view class="screen-main">
+							 
+							<view class="screen-entry  "
+							:class="{
+								active:selectdeviceNo==''
+							}"
+							 @click="selectdeviceNo=''"
+							>全部</view>
+							<view 
+							v-for="(item,i) in stationListSon" :key="i"
+							v-show="selectstationId?(selectstationId==item.stationId):true"
+							:class="{
+								active:selectdeviceNo==item.deviceNo
+							}"
+							
+							 @click="selectdeviceNo=item.deviceNo"
+							class="screen-entry" >{{item.name}}</view>
+						</view>
+					</view>
+				</view>
+				<view class="screen-foot">
+					<view class="screen-btn-l" @click="resetBtn" >重置</view>
+					<view class="screen-btn-r" @click="okbtn" >确定</view>
+				</view>
+			</view>
+		</u-popup>
+	 
+	
+			
+		<view class="detailed"  >
+				<view style="text-align: center;margin-top: 100px" v-if="!list.length">
+					<img src="@/assets/img/blankpage.png">
+					<view>查询为空</view>
+				</view>
+				
+				<view class="detailed-list" v-for="(item ,index) in list"
+				@click="gotoUrl('pagesFinance/detailed/details?id='+item.id)"
+				:key="index">
+				<view class="detailed-time" style="background-color:#f3f4f7"    v-if="item.show">
+					<p>{{item.showtime}}</p>
+					<p  v-if="showMap">共收{{showMap.get(item.showtime).num}}笔,{{showMap.get(item.showtime).amount.toFixed(2)}}元</p>
+				</view>
+				<view class="detailed-item" style="padding-top: 20rpx;">
+					<p style="   text-align: end;" >
+					<u-icon name="clock"></u-icon>
+
+					
+					{{item.endTime?item.endTime.slice(11):''}}</p>
+				</view>
+				<view class="detailed-item">
+					
+					<view class="detailed-item-name" style=" width: 70%;	">
+						<h2 class="showName">{{item.stationName}}/{{item.deviceName}}</h2>
+						
+					</view>
+					<view class="detailed-item-name"  style="
+						
+							    min-width: 60px;
+							    width: 30%;">
+						
+						<h2 style="   text-align: end;">{{item.actualFee?item.actualFee.toFixed(2):0}}元
+						<span v-if="item.lossCompensate" style="color: red;" >*</span>
+						</h2>
+						
+					</view>
+					
+				</view>
+				<view class="detailed-item" style="padding-bottom: 20rpx;">
+					<view class="detailed-item-name detailed-item-name-list" style="
+							    width: 100%;
+						">
+						<span
+						 
+						 :style="{
+							color:colorList[item.platform%3],
+							borderColor:colorList[item.platform%3],
+						}">{{item.platformText}}</span>
+						
+						<span
+						v-show="item.payType"
+							 
+						 :style="{
+							
+							marginLeft: '2px',
+						}">{{item.payTypeText}}</span>
+						
+						
+						<span  	 
+						 v-html="chargeUserPhoneXDT(item.phone,item.userType)" > </span>
+						 
+						 
+						<span  	
+						v-if="item.userCardId&&item.classify==1" style="color:#FF8B00 ;border-color:#FF8B00;">
+							月卡
+							</span>
+							<span 	 
+							 v-if="item.userCardId&&item.classify==2" style="color:#FF8B00 ;border-color:#FF8B00;">
+								6折卡
+								</span>
+					</view>
+				</view>
+				
+					
+				</view>
+			<u-divider v-if="list.length&&list.length == recordsTotal" color="#B6BDC3" style="margin-top:20px;" bg-color="#f7f7f7">已经到底了</u-divider>
+			
+			 
+		</view>
+		
+		
+		<Tabbar :current="1" ref="tabbarMain"></Tabbar>
+ 	</view>
+</template>
+
+<script>
+	import Tabbar from '@/components/TabbarFinance.vue'
+	import * as API from '@/apis/coupon.js'
+	// import {
+	// 	beforeTimeStamp,
+	// 	currentTimeStamp,
+	// 	parseUnixTime
+	// } from '@/utils'
+	
+	export default {
+		data() {
+			return {
+				showdate: false,
+				startTime: "",
+				colorList:["#00B962","#1677FF","#eb372a"],
+				endTime: "",
+				selecttype:"",
+				selectstationId:"",
+				selectstationNo:"",
+				selectdeviceNo:"",
+				title:"",
+				showMonthlyCard:false,
+				form:{
+					
+				},
+				stationNo:'',
+				// current: 0,
+				 tabList: [{
+				 	name: '充电订单'
+				 }, {
+				 	name: '折扣卡订单'
+				 }],
+				pageIndex: 1,
+				recordsTotal: 0,
+				list: [],
+				
+				pageIndex2: 1,
+				recordsTotal2: 0,
+				list2: [],
+				
+				popupShow: false,
+				tabbarList: [{
+						iconPath: "bar-chart-box-fill",
+						selectedIconPath: "bar-chart-box-fill",
+						text: '统计',
+						count: 0,
+						isDot: true,
+						customIcon: true,
+					},
+					{
+						iconPath: "article-fill",
+						selectedIconPath: "article-fill",
+						text: '明细',
+						midButton: true,
+						customIcon: true,
+					},
+					{
+						iconPath: "account-pin-box-fill",
+						selectedIconPath: "account-pin-box-fill",
+						text: '我的',
+						count: 0,
+						isDot: false,
+						customIcon: true,
+					},
+				],
+				showMap:null,
+				showMap2:null,
+				current: 0,
+				value: '',
+				type: 'select',
+				show: false,
+				border: true,
+				stationList:[],
+				stationListSon:[],
+				actionSheetList: [
+					{
+						text: '男'
+					},
+					{
+						text: '女'
+					},
+					{
+						text: '保密'
+					}
+				],
+			}
+		},
+		components: {
+			Tabbar
+		
+		},
+		onReachBottom() {
+			
+				this.myLoadmore();
+			
+		},
+		onShow() {
+			if(this.$refs.tabbarMain){
+				this.$refs.tabbarMain.setcount(1);
+			}
+		},
+		onLoad() {
+			
+		},
+		onReady() {
+			this.info = this.carhelp.getPersonInfo()
+		
+			this.getList()
+	
+			this.getStation()
+			
+		},
+		methods: {
+			getStationNo(i){
+				var no=this.stationList[i].stationNo
+				if(no){
+					if(i==0){
+						return true
+					}else{
+						var no2=this.stationList[i-1].stationNo
+						//console.log(no2,no)
+						if(no2){
+							return no2.substring(0,1)!=no.substring(0,1)
+						}else{
+							return false
+						}
+						
+					}
+				}else{
+					return false
+				}
+				
+			},
+			change(index) {
+				this.current = index;
+			},
+			changedate(e) {
+				//	this.queryDate = e.result
+				this.startTime = e.result
+				this.endTime = e.result
+				
+			},
+			resetBtn(){
+				this.startTime=""
+				this.endTime=""
+				this.selecttype=""
+				this.selectstationId=""
+				this.selectdeviceNo=""
+				this.selectstationNo=""
+				this.pageIndex = 1;
+				this.form = {
+					startDate:"",
+					endDate:"",
+					pageIndex: this.pageIndex,
+					type:this.selecttype,
+					stationId:this.selectstationId,
+					deviceNo:this.selectdeviceNo,
+				};
+				this.popupShow=false;
+				this.list = [];
+				this.getList()
+				
+			},
+			okbtn(){
+				if(this.selectstationNo&&this.selectstationId==''){
+					uni.showToast({
+						icon:"none",
+						title:"请选择站点"
+					})
+					return
+				}
+				this.popupShow=false;
+				this.pageIndex = 1;
+				
+				this.form = {
+					startDate:this.startTime,
+					endDate:this.endTime,
+					pageIndex: this.pageIndex,
+					type:this.selecttype,
+					stationId:this.selectstationId,
+					deviceNo:this.selectdeviceNo,
+				};
+				this.list = [];
+				this.getList()
+			},
+			getList() {
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				this.form.pageIndex=this.pageIndex
+				this.form.pageSize=20
+				
+				API.couponList(this.form).then((res) => {
+					
+					var showMap=new Map()
+					
+					
+					this.list = [
+						...this.list,
+						...res.data.data
+					];
+				
+					this.list.forEach(item=>{
+						if(item.endTime){
+							var ktime=item.endTime.split(" ")[0]
+							if(showMap.has(ktime)){
+								item.show=false;
+							
+								
+							}else{
+								var Amount=item.totalAmount 
+								var num=item.totalNum
+								showMap.set(ktime,{
+									amount:Amount,
+									num:num
+								})
+							
+								
+								item.show=true;
+								item.showtime=ktime;
+							}
+						}
+						
+					})
+					
+					this.showMap=showMap;
+					this.recordsTotal = res.data.recordsTotal
+					uni.hideLoading()
+					
+				}).catch(error => {
+					uni.showToast({
+					
+						title: error
+					})
+				})
+			},
+			
+			getStation(bl) {
+				
+				API.stationList().then((res) => {
+					var list= res.data.stationList
+					
+					var list2=list.sort(function(item1,item2){
+						
+						
+						return (item1.stationNo>item2.stationNo)?1:-1
+					})
+					for(var i in list2){
+						//console.log(list2[i].stationNo)
+					}
+					
+					this.stationList =list2
+					
+					this.stationListSon=res.data.deviceList	
+				}).catch(error => {
+					uni.showToast({
+					
+						title: error
+					})
+				})
+			},
+			myLoadmore() {
+					if (this.list.length < this.recordsTotal) {
+						this.pageIndex += 1;
+						this.getList()
+					}
+				
+				
+			},
+			// 点击actionSheet回调
+			actionSheetCallback(index) {
+				this.value = this.actionSheetList[index].text;
+			}
+		}
+	}
+</script>
+<style>
+	page{
+		background-color: #F7F7F7;
+	}
+</style>
+<style lang="scss" scoped>
+	.product_tip{
+		  position: absolute;
+		  top: 0;
+		  right: 0;
+		  width: 26px;
+		  height: 26px;
+		  text-align: right;
+		  p{
+		    font-size: 24rpx;
+		    color: #ffffff;
+		    transform: rotate(45deg);
+		    position: relative;
+		    top: 0rpx;
+		    right: 0rpx;
+		  }
+		  .product_tip_bg{
+		    width: 0;
+		    height: 0;
+		    border-bottom: 48rpx solid #FD662A;
+		    border-right: 48rpx solid transparent;
+		    border-left: 48rpx solid transparent;
+		    transform: rotate(45deg);
+		    position: absolute;
+		    top: -7rpx;
+		    right: -29rpx;
+		  }
+		}
+	.popup-screen{
+		padding: 20px;
+		position: relative;
+		.screen{
+			padding-bottom: 30px;
+		}
+		.screen-item{
+			margin-bottom: 20px;
+			.screen-head{
+				margin-bottom: 8px;
+				font-size: 16px;
+			}
+			.screen-main{
+				display: flex;
+				//    display: -webkit-box;
+				flex-wrap: wrap;
+			
+			}
+			.screen-entry{
+				width: 29%;
+				padding:6px 0;
+								display: flex;
+								align-items: center;
+								justify-content: center;
+
+
+				background-color: #F2F5FA ;
+				text-align: center;
+				margin-bottom: 10px;
+				border-radius: 3px;
+			
+				margin-right: 6px;
+
+			}
+			.screen-entry.active{
+				background-color: #185AC6;
+				color:#fff;
+			}
+		}
+		.screen-foot{
+			position: fixed;
+			left: 0;
+			right: 0;
+			bottom: 0;
+			display: flex;
+			height:50px;
+			border-top: 1px solid #ededed;
+			.screen-btn-l{
+				 background-color: #fff;
+				flex: 0.2;
+				text-align: center;
+				line-height: 50px;
+			}
+			.screen-btn-r{
+				flex: 0.8;
+				text-align: center;
+				line-height: 50px;
+				background-color: #185AC6;
+				color:#fff;
+			}
+		}
+	}
+	.navbar{
+		display: flex;
+		justify-content: space-between;
+		flex: 1;
+		padding: 0 15px;
+	}
+	.navbar-tit{
+		font-size: 20px;
+	}
+	.navbar-screen{
+		display: flex;
+		align-items: center;
+		span{
+			margin-right: 2px;
+			color:#999;
+		}
+	}
+	.detailed-time{
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		padding: 5px 10px;
+		font-size: 16px;
+		p{
+			color:#666;
+			
+		}
+	}
+	.detailed-list{
+		border-bottom: 1px solid #ededed;
+		
+		background-color: #fff;
+	}
+	.detailed-item-sp{
+		background-color: #fff;
+		display: flex;
+		justify-content: space-between;
+		padding: 10px 20px;
+		border-bottom: 1px solid #ededed;
+		position: relative;
+		.sign{
+			width: 32px;
+			height: 32px;
+			position: absolute;
+			top: 0;
+			right: 0;
+			img{
+				width: 100%;
+			}
+		}
+		
+		.detailed-item-name {
+			h4 {
+				font-weight: normal;
+			}
+		
+			p {
+				font-size: 15px;
+				margin-top: 4px;
+				color: #A2A9B5;
+			}
+		}
+		
+		.detailed-item-num {
+			display: flex;
+			align-items: center;
+		
+			h2 {
+				margin-right: 4px;
+			}
+		}
+	}
+	.detailed-item{
+		
+		background-color: #fff;
+		display: flex;
+		justify-content: space-between;
+		padding: 2px 15px;
+		
+		position: relative;
+		.sign{
+			width: 32px;
+			height: 32px;
+			position: absolute;
+			top: 0;
+			right: 0;
+			img{
+				width: 100%;
+			}
+		}
+		
+		.detailed-item-name-list{
+			span{
+				font-size: 24rpx;
+				border: 1px solid rgba(119, 119, 119, 1);
+				padding: 4rpx 12rpx;
+				border-radius: 3px;
+				color:rgba(119, 119, 119, 1);
+				margin-right: 12rpx;
+			}
+		}
+		.detailed-item-name{
+			h4{
+				font-weight: normal;
+			}
+			
+			p{
+				font-size: 15px;
+				margin-top: 4px;
+				color:#A2A9B5;
+				  
+			}
+		}
+		.detailed-item-num{
+			display: flex;
+			align-items: center;
+			h2{
+				margin-right: 4px;
+			}
+		}
+	}
+	.showName{
+		font-weight: unset;
+		    font-weight: unset;
+		    overflow: hidden;
+		    text-overflow: ellipsis;
+		    white-space: nowrap;
+			font-size: 16px;
+	}
+	
+	.u-tabs{
+		/deep/.uni-scroll-view-content {
+			width: 56.2% !important;
+			margin: auto;
+		}
+	}
+	
+	/deep/.u-tab-bar {
+		
+		background-color: #0076FF !important;
+		
+	 }
+</style>