zhengkaixin преди 1 година
родител
ревизия
d5ee4944b7
променени са 3 файла, в които са добавени 753 реда и са изтрити 759 реда
  1. 669 712
      pagesFinance/accountType8/chagingrecord/index.vue
  2. 19 12
      pagesFinance/statistics/index.vue
  3. 65 35
      pagesFinance/user/index.vue

+ 669 - 712
pagesFinance/accountType8/chagingrecord/index.vue

@@ -1,715 +1,672 @@
-<template>
-	<view>
-		<ujp-navbar :is-back="!accountTopics">
-			<view class="navbar">
-				<view class="navbar-tit"  >企业充电明细</view>
+<template>
+	<view>
+		<ujp-navbar :is-back="!accountTopics" title="企业充电明细">
+
+			<view class="navbar" @click="downloadCk()">
+
+				<view class="navbar-screen"><span>导出</span>
+					<u-icon name="download" color="#b0b8c8" size="32"></u-icon>
+				</view>
+			</view>
+		</ujp-navbar>
+
+		<u-calendar v-model="popupShow" mode="range" @change="changedate4"></u-calendar>
+
+
+
+		<view class="detailed" v-show="current==0">
+
+			<view class="detailsline detailsline ">
+
+
+
+				<view class="details-row-where" @click="popupShow = true">
+					{{showTime(startTime)}}-{{showTime(endTime)}}
+					<u-icon name="arrow-drop-down-fill" custom-prefix="custom-icon" v-show="!popupShow"
+						size="36"></u-icon>
+					<u-icon name="arrow-drop-up-fill" custom-prefix="custom-icon" v-show="popupShow" size="36"></u-icon>
+
+
+				</view>
+			</view>
+
+			<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" :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"
+					@click="gotoUrl('pagesFinance/accountType8/chagingrecord/details?id='+item.id)"
+					style="padding-top: 20rpx;">
+					<p style="   text-align: end;">
+						<u-icon name="clock"></u-icon>
+
+
+						{{item.endTime?item.endTime.slice(11):''}}
+					</p>
+					<p v-if="item.phone">电话:{{item.phone}}</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}}元</h2>
+
+					</view>
+
+				</view>
+				<view class="detailed-item" style="padding-bottom: 20rpx;">
+					<view class="detailed-item-name" 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.carNumber}}</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="4" v-if="accountTopics" ref="tabbarMain"></Tabbar>
+	</view>
+</template>
+
+<script>
+	import Tabbar from '@/components/TabbarFinance.vue'
+	import * as API from '@/apis/accountType8.js'
+	import {
+		beforeTimeStamp,
+		currentTimeStamp,
+		parseUnixTime,daysDistance
+	} from '@/utils'
+
+	export default {
+		data() {
+			return {
+				info: {},
+				showdate: false,
+				startTime: "",
+				colorList: ["#00B962", "#1677FF", "#eb372a"],
+				endTime: "",
+				selecttype: "",
+				selectstationId: "",
+				selectdeviceNo: "",
+				title: "",
+				showMonthlyCard: false,
+				form: {
+
+				},
+				// 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: '保密'
+					}
+				],
+			}
+		},
+		computed: {
+			accountTopics() {
+				if (this.info && this.info.accountTopics == 2) {
+					return true
+				} else {
+					return false
+				}
+			},
+		},
+		components: {
+			Tabbar
+
+		},
+		onReachBottom() {
+
+			this.myLoadmore();
+
+		},
+		onShow() {
+			if (this.$refs.tabbarMain) {
+				this.$refs.tabbarMain.setcount(0);
+			}
+		},
+
+		onReady() {
+			//daysDistance
+			var now1 = parseUnixTime(beforeTimeStamp(0), '{y}-{m}-1')
+			this.endTime = parseUnixTime(beforeTimeStamp(0), '{y}-{m}-{d}')
+			if(daysDistance(now1,this.endTime )>15){
+				this.startTime = now1
 				
-				<view v-if="false" class="navbar-screen" v-show="current==0" @click="popupShow = true"><span>筛选</span>
-				<u-icon name="filter-2-fill" custom-prefix="custom-icon" color="#b0b8c8" size="32"></u-icon>
-				</view>
+			}else{
+				this.startTime = parseUnixTime(beforeTimeStamp(30), '{y}-{m}-{d}')
 				
-			</view>
-		</ujp-navbar>
-		<u-popup v-model="popupShow" mode="top" 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="range" @change="changedate"></u-calendar>
-							
-							<u-input :value="startTime?startTime+'至'+endTime:'选择时间筛选'" :type="type" :border="border" @click="showdate = true" />
-						<!-- 	
-							<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="{
-								active:selecttype==''
-							}" @click="selecttype=''"
-							class="screen-entry ">全部</view>
-							<view 
-							:class="{
-								active:selecttype=='0'
-							}" @click="selecttype='0'"
-							
-							class="screen-entry type1">自行车充电</view>
-							<view 
-							:class="{
-								active:selecttype=='2'
-							}" @click="selecttype='2'"
-							class="screen-entry type3">交流慢充</view>
-							<view 
-							:class="{
-								active:selecttype=='1'
-							}" @click="selecttype='1'"
-							class="screen-entry type2">直流快充</view>
-						</view>
-					</view>
-					<view class="screen-item">
-						<view class="screen-head">站点</view>
-						<view class="screen-main">
-							<view class="screen-entry  "
-							:class="{
-								active:selectstationId==''
-							}"
-							 @click="selectstationId=''"
-							>全部</view>
-							<view 
-							v-for="(item,i) in stationList" :key="i"
-							:class="{
-								active:selectstationId==item.id
-							}"
-							 @click="selectstationId=item.id,selectdeviceNo=''"
-							class="screen-entry" >{{item.name}}</view>
-						
-						</view>
-					</view>
-					<view 
-					
-					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 v-if="showMonthlyCard">
-			<u-tabs
-			 :bar-width="100" 
-			:list="tabList" :is-scroll="false" :current="current" @change="change" inactive-color="#acb2af"
-				active-color="#101010"></u-tabs>
-		</view>
-	
-			
-		<view class="detailed" v-show="current==0" >
-				<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/accountType8/chagingrecord/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>
-					<p v-if="item.phone">电话:{{item.phone}}</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}}元</h2>
-						
-					</view>
-					
-				</view>
-				<view class="detailed-item" style="padding-bottom: 20rpx;">
-					<view class="detailed-item-name" 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.carNumber}}</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>
-		<!-- 包月卡 -->
-		<view class="detailed" 
-		style="    padding-bottom: 20px;"
-		v-show="current==1">
-		
-		<view style="text-align: center;margin-top: 100px" v-if="!list2.length">
-			<img src="@/assets/img/blankpage.png">
-			<view>查询为空</view>
-		</view>
-		
-			<view class="detailed-list2"  v-for="(item ,index) in list2" 
-			@click="gotoUrl('pagesFinance/detailed/monthlyCardDetails?id='+item.id)"
-			
-			:key="index" >
-		
-				<view class="detailed-time"   v-if="item.show" >
-					<p>{{item.showtime}}</p>
-		
-					<p v-if="showMap2">共收{{showMap2.get(item.showtime).num}}笔,{{showMap2.get(item.showtime).amount.toFixed(2)}}元</p>
-		
-				</view>
-				<view class="detailed-item-sp">
-					<view class="detailed-item-name" style="
-								    width: 60%;
-							">
-						<h2 class="showName">{{item.monthlyRentName}}</h2>
-						<p>{{item.payTime?item.payTime.slice(11):''}}</p>
-					</view>
-					<view class="detailed-item-name" style="
-								min-width: 65px;
-								width: 40%;
-								font-size: 16px;
-								text-align: right;
-							">
-							<h2>{{item.payFee.toFixed(2)}}<span style="font-size: 12px;">元</span></h2>
-						
-					</view>
-					<!-- <view class="sign">
-						<img src="../../assets/img/tixian.png" alt="">
-					</view> -->
-				</view> 
-				
-				 
-				
-			</view>
-			
-			<u-divider v-if="list2.length&&list2.length == recordsTotal2" color="#B6BDC3" style="margin-top:20px;" bg-color="#f7f7f7">已经到底了</u-divider>
-			
-		</view>
-		
-		<Tabbar :current="4" 
-		v-if="accountTopics"
-		ref="tabbarMain"></Tabbar>
- 	</view>
-</template>
-
-<script>
-	import Tabbar from '@/components/TabbarFinance.vue'
-	import * as API from '@/apis/accountType8.js'
-	// import {
-	// 	beforeTimeStamp,
-	// 	currentTimeStamp,
-	// 	parseUnixTime
-	// } from '@/utils'
-	
-	export default {
-		data() {
-			return {
-				info:{},
-				showdate: false,
-				startTime: "",
-				colorList:["#00B962","#1677FF","#eb372a"],
-				endTime: "",
-				selecttype:"",
-				selectstationId:"",
-				selectdeviceNo:"",
-				title:"",
-				showMonthlyCard:false,
-				form:{
-					
-				},
-				// 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: '保密'
-					}
-				],
-			}
-		},
-		computed:{
-			accountTopics(){
-				if(this.info&&this.info.accountTopics==2){
-					return true
-				}else{
-					return false
-				}
-			},
-		},
-		components: {
-			Tabbar
-		
-		},
-		onReachBottom() {
-			
-				this.myLoadmore();
-			
-		},
-		onShow() {
-			if(this.$refs.tabbarMain){
-				this.$refs.tabbarMain.setcount(0);
-			}
-		},
-		onLoad() {
-			
-		},
-		onReady() {
-			
-			this.getList()
-	
-		
-			
-		},
-		onLoad(){
-			this.info = this.carhelp.getPersonInfo()
-			
-		},
-		methods: {
-			change(index) {
-				this.current = index;
-			},
-			changedate(e) {
-				this.startTime = e.startDate
-				this.endTime = e.endDate
-				
-			},
-			resetBtn(){
-				this.startTime=""
-				this.endTime=""
-				this.selecttype=""
-				this.selectstationId=""
-				this.selectdeviceNo=""
-				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(){
-				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.incomeList(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
-					})
-				})
-			},
-			getList2() {
-				
-				
-			},
-			
-			myLoadmore() {
-					if(this.current==0){
-						if (this.list.length < this.recordsTotal) {
-							this.pageIndex += 1;
-							this.getList()
-						}
-						
-					}else{
-						if (this.list2.length < this.recordsTotal2) {
-							this.pageIndex2 += 1;
-							//this.getList2()
-						}
-					}
-				
-				
-			},
-			// 点击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{
-			h4{
-				font-weight: normal;
-			}
-			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;
-			}
-			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>
+			
+			this.getList()
+
+
+
+		},
+		onLoad(op) {
+			this.info = this.carhelp.getPersonInfo()
+			this.form.entAccountId = op.id
+		},
+		methods: {
+			downloadCk() {
+				this.getList(1);
+			},
+			changedate4(e) {
+				this.startTime = e.startDate
+				this.endTime = e.endDate
+				this.pageIndex = 1
+				this.list = []
+				this.getList()
+
+			},
+			showTime(name) {
+				if (!name) {
+					return ''
+				}
+				return name.replace('-', '.').replace('-', '.');
+			},
+
+
+
+			getList(bl) {
+
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+
+				this.form.pageIndex = this.pageIndex
+
+				this.form.startDate = this.startTime
+				this.form.endDate = this.endTime
+
+				if (bl) {
+						this.form.pageIndex = 1
+					this.form.exportFlag = 1
+					this.form.pageSize = 9999
+				} else {
+						this.form.pageIndex = this.pageIndex
+					this.form.pageSize = 20
+					this.form.exportFlag = 0
+				}
+
+				API.incomeList(this.form).then((res) => {
+					if (bl) {
+						window.location.href = res.data.exportUrl
+
+					} else {
+
+
+						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
+					})
+				})
+			},
+
+
+			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 {
+			h4 {
+				font-weight: normal;
+			}
+
+			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;
+			}
+
+			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;
+
+	}
+
+	.navbar {
+		justify-content: flex-end;
+		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;
+		}
+	}
+
+	.detailsline {
+		border-top: 1px solid #ededed;
+		//	padding: 0px 16px;
+	}
+
+	.detailsline,
+	.detailsline—bottom {
+		//justify-content: center;
+
+		.details-row-where {
+			font-size: 36rpx;
+			background: #fff;
+			text-align: center;
+			padding: 3px;
+		}
+
+		.details-row {
+			width: 50%;
+			display: flex;
+			justify-content: space-between;
+			flex-direction: column;
+			padding-left: 16rpx;
+			margin-bottom: 20rpx;
+
+			.span1 {
+				color: rgba(136, 136, 136, 100);
+				font-size: 28rpx;
+				width: 100%;
+			}
+
+			.span2 {
+				font-size: 36rpx;
+				width: 100%;
+				color: #101010;
+
+				span {
+					font-size: 24rpx;
+				}
+			}
+		}
+	}
+</style>

+ 19 - 12
pagesFinance/statistics/index.vue

@@ -3,13 +3,13 @@
         <view class="top-cover">
 			<view class="navbar-tit">
 			<text><img src="../../assets/img/titleIcon.svg" alt=""></text>
-			{{title}}</view>
+			{{title}}{{info.accountType==3?'':'运管中心'}}</view>
 			
 			<view class="income">
 				<!-- 今日收入 -->
 				<view class="today-income">
-					<view class="number">
-						10000.00<text><img src="../../assets/img/riLine-refresh-line.svg" alt=""></text>
+					<view class="number" @click="changesub(1)">
+						{{showTopobj.todayAmount}}<text><img src="../../assets/img/riLine-refresh-line.svg" alt=""></text>
 					</view>
 					<view class="text">
 						今日收入 (元)
@@ -19,7 +19,7 @@
 				<view class="else">
 					<view class="item">
 						<view class="item-number">
-							3000.00
+							{{showTopobj.todayProfit}}
 						</view>
 						<view class="item-text">
 							利润(元)
@@ -27,7 +27,7 @@
 					</view>
 					<view class="item">
 						<view class="item-number">
-							8000.00
+							{{showTopobj.todayEQAmount2?showTopobj.todayEQAmount2.toFixed(2):0}}
 						</view>
 						<view class="item-text">
 							今日电量 (度)
@@ -35,7 +35,7 @@
 					</view>
 					<view class="item">
 						<view class="item-number">
-							10 / 2
+							{{showTopobj.discountCardBuyNum}} / {{showTopobj.monthCardBuyNum}}
 						</view>
 						<view class="item-text">
 							6折卡/月卡 (张)
@@ -662,7 +662,7 @@
 				startTime: '',
 				stepid: 0,
 				windowWidth:0,
-			 
+				showTopobj:{}
 
 			}
 		},
@@ -1116,8 +1116,13 @@
 				var getData = this.indexData3.graphMap;
 				for (var i in getData) {
 					var item = getData[i]
-					item.todayEQAmount2 = (item.todayEQAmount / 10000)
-				}
+					item.todayEQAmount2 = (item.todayEQAmount / 10000)
+					console.log(i)
+					if (this.type_head == 1) {
+						this.showTopobj=item;
+					}
+				}
+				console.log(this.showTopobj)
 				this.indexData3.graphMap = getData
 				//var unit = this.current ? '笔' : '元'
 				var colorName = "#333"
@@ -2074,7 +2079,8 @@
 		font-size: 20px;
 		line-height: 20px;
 		padding-left: 15px;
-		padding-top: 10px;
+		padding-top: 10px;
+		    font-weight: bold;
 		text{
 			margin-right: 8rpx;
 		}
@@ -2196,7 +2202,7 @@
 			   
 			   text-align: center;
 			   .number{
-				   
+				       font-weight: bold;
 				   font-size: 36px;
 				  
 				   text{
@@ -2213,7 +2219,8 @@
 			   justify-content: space-between;
 			   .item{
 				   text-align: center;
-				   .item-number{
+				   .item-number{
+					       font-weight: bold;
 					   font-size: 48rpx;
 					   margin-bottom: 8rpx;
 				   }

+ 65 - 35
pagesFinance/user/index.vue

@@ -64,6 +64,7 @@
 			</template>
 			<template v-for="(item,i ) in vipPlatformList" v-if="item.entAccountId">
 				<view class="userInfo-head" style="margin-top: 20rpx;"  :key="i+'a'" ><p>企业可充电金额
+				<span v-if="vipPlatformList1.length>1">[{{item.name}}]</span>
 				
 				</p></view>
 				<view class="userInfo-main"  :key="i+'b'">
@@ -160,8 +161,45 @@
 				</view>
 				
 			</view>
-			<template v-for="(item,i ) in vipPlatformList" v-if="item.entAccountId" >
+			
+			<view class="item" @click="gotoUrl('pagesFinance/user/help')"  v-if="false" >
+				<view class="item-icon">
+					<i data-v-137d5072="" class="ri-compass-3-line"></i>
+				</view>
+				<view class="item-name">
+					帮助中心
+				</view>
+				
+			</view>
+			<view class="item" @click="phone()" >
+				<view class="item-icon">
+					<i data-v-137d5072="" class="ri-customer-service-2-line"></i>
+				</view>
+				<view class="item-name">
+					联系客服
+				</view>
 				
+			</view>
+			<view class="item" @click="gotoUrl('pagesFinance/user/about')" v-if="false" >
+				<view class="item-icon">
+					<i data-v-137d5072="" class="ri-account-pin-box-line"></i>
+				</view>
+				<view class="item-name">
+					关于我们
+				</view>
+				
+			</view>
+			</view>
+			
+			
+			
+			
+		
+		<view class="function-menu2" >
+			<template v-for="(item,i ) in vipPlatformList" v-if="item.entAccountId" >
+				<view style="padding-top: 6px;font-size: 15px;" :key="'d'+i" >{{item.name}}</view>
+				<view  class="function-menu3"  :key="'c'+i" >
+					
 					<view class="item"  :key="'b'+i" 
 					
 					 @click="gotoUrl('pagesFinance/accountType8/personmanage/index?id='+item.id+'&pid='+item.entAccountId)" >
@@ -191,47 +229,15 @@
 						<view class="item-icon">
 							
 							<u-icon name="coupon" style="    margin-bottom: 4px;" size="24px"></u-icon>
-
+			
 						</view>
 						<view class="item-name">
 							企业充电记录
 						</view>
 						
 					</view>
-				
+					</view>
 			</template>
-			
-			
-			
-			<view class="item" @click="gotoUrl('pagesFinance/user/help')"  v-if="false" >
-				<view class="item-icon">
-					<i data-v-137d5072="" class="ri-compass-3-line"></i>
-				</view>
-				<view class="item-name">
-					帮助中心
-				</view>
-				
-			</view>
-			<view class="item" @click="phone()" >
-				<view class="item-icon">
-					<i data-v-137d5072="" class="ri-customer-service-2-line"></i>
-				</view>
-				<view class="item-name">
-					联系客服
-				</view>
-				
-			</view>
-			<view class="item" @click="gotoUrl('pagesFinance/user/about')" v-if="false" >
-				<view class="item-icon">
-					<i data-v-137d5072="" class="ri-account-pin-box-line"></i>
-				</view>
-				<view class="item-name">
-					关于我们
-				</view>
-				
-			</view>
-		
-			
 		</view>
 		
 		<button class="logout-btn" @click="logout">退出账号</button>
@@ -263,6 +269,8 @@
 				home:null,
 				current: 0,
 				vipPlatformList:[],
+				vipPlatformList1:[],
+				vipPlatformList2:[],
 				columnsindex:[0],
 				background:{
 					background: 'none'
@@ -465,6 +473,14 @@
 					this.home = res.data
 				if(res.data.vipPlatformList){
 					this.vipPlatformList=res.data.vipPlatformList
+					//this.vipPlatformList1
+					this.vipPlatformList.forEach(item=>{
+						if(item.entAccountId){
+							this.vipPlatformList1.push(item)
+						}else{
+							this.vipPlatformList2.push(item)
+						}
+					})
 				}
 					
 					uni.hideLoading()
@@ -637,6 +653,20 @@
 		display: flex;
 		flex-wrap: wrap;
 	}
+	//功能菜单
+	.function-menu2{
+		 background-color: #fff;
+		margin: 12px 16px;
+		
+		border-radius: 8px;
+		padding: 0 13px;
+	
+	}
+	.function-menu3{
+		display: flex;
+		flex-wrap: wrap;
+	
+	}
 	@media screen and (max-width: 375px) {
 	  		.item {
 	    		width: 33% !important;