Ver Fonte

企业账户

zhengkaixin há 2 anos atrás
pai
commit
c054c54db4

+ 68 - 0
apis/accountType8.js

@@ -0,0 +1,68 @@
+import request from '../utils/request.js';
+import requestWhite from '../utils/requestWhite.js';
+
+import Qs from 'qs';
+export function incomeDetails(data) {
+	var url='/mobile/entAccount/incomeDetails';
+	return request({
+		jp_identity:"merchantUser",// 分润接口
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+export function incomeList(data) {
+	var url='/mobile/entAccount/incomeList';
+	return request({
+		jp_identity:"merchantUser",// 分润接口
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+
+export function entCarList(data) {
+	var url='/mobile/entAccount/entCarList';
+	return request({
+	
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+
+export function entCarDetails(data) {
+	var url='/mobile/entAccount/entCarDetails';
+	return request({
+		
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+
+export function entCarSave(data) {
+	var url='/mobile/entAccount/entCarSave';
+	return request({
+		
+		method: 'post',
+		data: data,
+		url: url
+	})
+}
+
+
+
+export function entCarDelete(data) {
+	var url='/mobile/entAccount/entCarDelete';
+	return request({
+	
+		method: 'post',
+		data: data,
+		url: url
+	})
+}

+ 6 - 0
assets/img/riLine-bus-line.svg

@@ -0,0 +1,6 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="24" height="24" style="border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
+    
+    <g>
+    <path d="M22.667 26.667h-13.333v1.333c0 0.736-0.597 1.333-1.333 1.333v0h-1.333c-0.736 0-1.333-0.597-1.333-1.333v0-1.333h-1.333v-10.667h-1.333v-5.333h1.333v-4c0-1.473 1.194-2.667 2.667-2.667v0h18.667c1.473 0 2.667 1.194 2.667 2.667v0 4h1.333v5.333h-1.333v10.667h-1.333v1.333c0 0.736-0.597 1.333-1.333 1.333v0h-1.333c-0.736 0-1.333-0.597-1.333-1.333v0-1.333zM25.333 16v-9.333h-18.667v9.333h18.667zM25.333 18.667h-18.667v5.333h18.667v-5.333zM8 20h5.333v2.667h-5.333v-2.667zM18.667 20h5.333v2.667h-5.333v-2.667z" fill="rgba(119.08500000000001,119.08500000000001,119.08500000000001,1)"></path>
+    </g>
+  </svg>

+ 1 - 0
components/TabbarFinance.vue

@@ -20,6 +20,7 @@
 				activeColor:"#5098FF",
 				oldindex:this.current,
 				 myCurrent:this.current,
+				
 				 tabbarList: [{
 				 		iconPath: "bar-chart-box-fill",
 				 		selectedIconPath: "bar-chart-box-fill",

+ 83 - 0
components/TabbarFinance8.vue

@@ -0,0 +1,83 @@
+<template >
+	<view>
+		<u-tabbar v-model="myCurrent" :list="tabbarList" 
+		:before-switch="beforeSwitch"
+		 active-color="#1677ff"></u-tabbar>
+		
+	</view>
+</template>
+
+<script>
+ 	
+ 	export default {
+		name:"tabbarJob",
+		props:{
+			current: 0
+			
+		},
+		data() {
+			return {
+				activeColor:"#5098FF",
+				oldindex:this.current,
+				 myCurrent:this.current,
+				
+				 tabbarList: [{
+				 		iconPath: "bar-chart-box-fill",
+				 		selectedIconPath: "bar-chart-box-fill",
+				 		text: '充电记录',
+				 		count: 0,
+				 		isDot: true,
+				 		customIcon: true,
+						pagePath2:"/pagesFinance/accountType8/chagingrecord/index",
+						
+				 	},
+				 
+				
+				 	{
+				 		iconPath: "account-pin-box-fill",
+				 		selectedIconPath: "account-pin-box-fill",
+				 		text: '我的',
+				 		count: 0,
+				 		isDot: false,
+				 		customIcon: true,
+						pagePath2:"/pagesFinance/user/index",
+						
+				 	}
+				 ], 
+			};
+			
+		},methods:{
+			setcount(c){
+				this.myCurrent=c
+			},
+			beforeSwitch(index){
+			
+				
+				if(index==this.current){
+					return false
+				}
+				var url =this.tabbarList[index].pagePath2;
+				
+				uni.navigateTo({
+					url: url
+				})
+				if(index==1){
+					this.myCurrent=this.oldindex;
+					return false;
+				}else{
+					return true;
+				}
+				
+			},
+			
+		},mounted(){
+			
+		},destroyed(){
+		}
+		
+	}
+</script>
+
+<style>
+	 
+</style>

+ 52 - 1
pages.json

@@ -13,7 +13,58 @@
 
 				//"navigationStyle": "custom" // 隐藏系统导航栏
 			}
-		},
+		},
+		
+		{
+			"name": "充电明细",
+			"path": "pagesFinance/accountType8/chagingrecord/index",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		{
+			"name": "充电详情",
+			"path": "pagesFinance/accountType8/chagingrecord/details",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		
+		{
+			"name": "充电明细",
+			"path": "pagesFinance/accountType8/carmanage/index",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		{
+			"name": "充电详情",
+			"path": "pagesFinance/accountType8/carmanage/addinfo",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		{
+			"name": "充电明细",
+			"path": "pagesFinance/accountType8/personmanage/index",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		{
+			"name": "充电详情",
+			"path": "pagesFinance/accountType8/personmanage/addinfo",
+			"style": {
+		
+				//"navigationStyle": "custom" // 隐藏系统导航栏
+			}
+		},
+		
 		{
 			"name": "收益明细",
 			"path": "pagesFinance/detailed/index",

+ 254 - 0
pagesFinance/accountType8/carmanage/addinfo.vue

@@ -0,0 +1,254 @@
+<template>
+	<view>
+		<ujp-navbar :title="id!=0?'编辑':'新增'">
+			
+			<view slot="right"  @click="infodelete()"
+			v-if="id!=0"
+			style="margin-right: 20px;">
+				<span class="delete"  >删除</span>
+			</view>
+		</ujp-navbar>
+				<u-keyboard ref="uKeyboard" 
+				 @change="valChange" @backspace="backspace"
+				mode="car" v-model="show"></u-keyboard>
+
+		<view class="ower-infos">
+			
+			<view class="infos-item border-none">
+				<view class="title">
+					车牌号码<text class="asterisk">*</text>
+				</view>
+				<view class="content" @click="show=true">
+					
+					{{obj.carNum?obj.carNum:'请填写车牌号码'}}
+					
+				</view>
+				
+			</view>
+			<view class="infos-item">
+				<view class="title">
+					车辆品牌
+				</view>
+				<view class="content">
+					
+					<u-input  v-model="obj.brand" placeholder="请填写车辆品牌"  />
+					
+				</view>
+				
+			</view>
+			<view class="infos-item">
+				<view class="title">
+					限乘人数
+				</view>
+				<view class="content">
+					
+					<u-input  type="number" v-model="obj.capacity" placeholder="请填写限乘人数"  />
+				</view>
+				
+			</view>
+			
+			
+		</view>
+		
+		<u-button type="primary" @click="submit()">保存</u-button>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/accountType8.js'
+	import {
+		checkPhone
+	} from '@/utils'
+	export default {
+		data() {
+			return {
+				show:false,
+				value:'',
+					uuid:'',
+					id:"",
+					entAccountId:"",
+					obj:{
+						carNum:"",
+						entAccountId:0,
+						
+					
+						brand:"",
+						capacity:"",
+						
+						carId:"",
+					}
+			}
+		},
+		onReady() {
+			
+			if(this.id!=0){
+				
+				this.getInfo()
+			}
+		
+					
+		},
+		onLoad(op) {
+			this.entAccountId=op.p
+			this.id=op.id
+			this.uuid=op.uuid;
+			
+		},
+		methods: {
+			// 按键被点击(点击退格键不会触发此事件)
+						valChange(val) {
+							// 将每次按键的值拼接到value变量中,注意+=写法
+							this.value += val;
+							console.log(this.value);
+							this.obj.carNum=this.value
+						},
+						// 退格键被点击
+						backspace() {
+							// 删除value的最后一个字符
+							if(this.value.length) this.value = this.value.substr(0, this.value.length - 1);
+							console.log(this.value);
+							this.obj.carNum=this.value
+						},
+						
+			infodelete(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				this.obj.entAccountId=this.entAccountId
+				API.entCarDelete(this.obj).then((res) => {
+						uni.hideLoading()	
+					this.carhelp.set("addOwnerInformation",{
+						uuid:this.uuid,
+						selectObj:this.obj
+					})
+					uni.showModal({
+						showCancel:false,
+						title: '提示',
+						content: '操作成功',
+						success: function (res) {
+							
+							uni.navigateBack({
+								
+							})
+						}
+					});
+							
+				}).catch(error => {
+					uni.showToast({
+							
+						title: error
+					})
+				})
+			},
+			submit(){
+				
+				
+				if(!this.obj.carNum){
+					uni.showToast({				
+						title: "请填写车牌号码"
+					})
+					return  false
+				}
+ 						
+				
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				this.obj.entAccountId=this.entAccountId
+				API.entCarSave(this.obj).then((res) => {
+						uni.hideLoading()	
+					this.carhelp.set("addOwnerInformation",{
+						uuid:this.uuid,
+						selectObj:this.obj
+					})
+					uni.showModal({
+						showCancel:false,
+						title: '提示',
+						content: '操作成功',
+						success: function (res) {
+							
+							uni.navigateBack({
+								
+							})
+						}
+					});
+							
+				}).catch(error => {
+					uni.showToast({
+							
+						title: error
+					})
+				})
+			},
+			getInfo(){
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.entCarDetails({
+					entCarId:this.id,
+				
+				}).then((res) => {
+							
+					this.obj=res.data.entRegCar;
+					this.obj.carId=this.id
+					
+					uni.hideLoading()
+							
+				}).catch(error => {
+					uni.showToast({
+							
+						title: error
+					})
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #f3f4f7;
+	}
+	.ower-infos{
+		background-color: #fff;
+		padding-left: 16px;
+		.border-none{
+			border: none !important;
+		}
+		.infos-item{
+			padding: 14px 0;
+			display: flex;
+			border-bottom: 1px solid #BABABA ;
+			.title{
+				width: 30%;
+				font-size: 16px;
+				color: #7d7d7d;
+				.asterisk{
+					color: #EE3138;
+				}
+			}
+			.content{
+				color: rgba(172, 172, 172, 100);
+				font-size: 16px;
+			}
+		}
+	}
+	.u-btn{
+		background-color: rgba(0, 90, 217, 100);
+		margin: 16px;
+		height: 44px;
+		line-height: 44px;
+		font-size: 18px
+	}
+	.delete{
+		color: rgba(238, 49, 56, 100);
+		font-size: 16px;
+	}
+</style>

+ 200 - 0
pagesFinance/accountType8/carmanage/index.vue

@@ -0,0 +1,200 @@
+<template>
+	<view>
+		<ujp-navbar title="企业车辆管理">
+			<view slot="right" style="margin-right: 20px;">
+				<span 
+				@click="thisgotoUrl('pagesFinance/accountType8/carmanage/addinfo?p='+id+'&id=0')"
+				class="newly"  >新增</span>
+			</view>
+		</ujp-navbar>
+		<view class="main">
+			<view style="text-align: center;margin-top: 100px" v-if="!list.length">
+				<img src="@/assets/img/blankpage.png">
+				<view>查询为空</view>
+			</view>
+			<view class="userinfo"  v-for="(item ,index) in list" 
+			
+			
+			:key="item.id" >
+				<view class="infos">
+					<view class="name">
+						{{item.carNum?item.carNum:'未填写'}}
+					</view>
+					<view class="tel-plateNumber">
+						<view class="plateNumber" v-if="item.brand" >
+							<view class="">
+								<i class="ri-roadster-line"></i>
+							</view>
+							<view class="num">{{item.brand}}</view>
+						</view>
+						<view class="tel" v-if="item.capacity">
+							<view class="">
+								<i class="ri-smartphone-line"></i>
+							</view>
+							
+							<view class="num">{{item.capacity?'限乘'+item.capacity+'人':'未填写'}}</view>
+						</view>
+						
+						
+					</view>
+					
+				</view>
+				<view 
+				@click="thisgotoUrl('pagesFinance/accountType8/carmanage/addinfo?p='+id+'&id='+item.id)"
+				class="edit">
+					编辑
+				</view>
+				
+			</view>
+			
+			<u-divider v-if="list.length&&list.length == recordsTotal" color="#B6BDC3" style="margin-top:20px;" bg-color="#f7f7f7">已经到底了</u-divider>
+			
+			
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/accountType8.js'
+	
+	export default {
+		data() {
+			return {
+				id:"",
+				pageIndex: 1,
+				recordsTotal: 0,
+				list:[],
+				uuid:""
+			}
+		},
+		onReachBottom() {
+			if (this.list.length < this.recordsTotal) {
+				this.myLoadmore();
+			}
+		},
+		onReady() {
+			// this.get
+			// EventChannel.on("aaa", function(){
+			// 	console.Log("1111111111")
+			// })
+			this.getList()			
+		},
+		onLoad(op) {
+			this.id=op.id
+		},
+		onShow(){
+			var obj=this.carhelp.get("addOwnerInformation")
+			if(obj&&obj.uuid==this.uuid){
+				if(obj.selectObj.vipUserId){
+					
+				}
+				this.list=[];
+				this.pageIndex = 1;
+				this.getList()
+			}
+		},
+		methods: {
+			thisgotoUrl(url){
+				
+				this.uuid=new Date().getTime()
+				var curl=url+"&uuid="+this.uuid;
+				uni.navigateTo({
+					url:"/"+curl
+				})
+
+			},
+			getList() {
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				
+				
+				API.entCarList({
+					entAccountId:this.id,
+					pageIndex:this.pageIndex,
+					pageSize:20
+				}).then((res) => {
+			
+					this.list = [
+						...this.list,
+						...res.data.data
+					];
+					this.recordsTotal = res.data.recordsTotal
+					uni.hideLoading()
+			
+				}).catch(error => {
+					uni.showToast({
+			
+						title: error
+					})
+				})
+			},
+			myLoadmore() {
+			
+					this.pageIndex += 1;
+					this.getList()
+				},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #f3f4f7;
+	}
+	.newly{
+		font-size: 16px;
+		color: rgba(0, 90, 217, 100);
+	}
+
+  .main{
+	  padding: 14px 16px;
+	  .userinfo{
+		  color: rgba(255, 255, 255, 100);
+		  padding: 14px 0 14px 20px;
+		  background: linear-gradient(to right,#7E8EB2,#C4CEE8);
+		  display: flex;
+		  justify-content: space-between;
+		  border-radius: 8px;
+		  margin-bottom: 8px;
+		  .infos{
+			  
+			  .name{
+				  font-size: 20px;
+			  }
+			  .tel-plateNumber{
+				  margin-top: 4px;	
+				  line-height: 20px;
+				  display: flex;
+				  .plateNumber{
+					  margin-left: 20px;
+					  display: flex;
+				  }
+				  .tel{
+					  display: flex;
+				  }
+				  .num{
+					  margin-left: 4px;
+				  }
+				  .ri-smartphone-line,.ri-roadster-line{
+					  font-size: 16px;
+					  
+					  
+				  }
+			  }
+		  }
+		  .edit{
+			  margin: auto 0;
+			  width: 60px;
+			  border-radius: 50px 0px 0px 50px;
+			  background-color: #97A7C7 ;
+			  text-align: center;
+			  line-height: 28px;
+		  }
+	  }
+  }
+</style>

+ 345 - 0
pagesFinance/accountType8/chagingrecord/details.vue

@@ -0,0 +1,345 @@
+<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>
+			</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-if="detail.chargeUserPhone!='XDT41001000004'" >{{detail.userType==1?'游客':''}}{{detail.userType==2?'会员':''}} </span>
+			<span  v-if="detail.chargeUserPhone=='XDT41001000004'" >哪吒用户 </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.endSoc}}%</span>
+		</view>
+		<view class="details-row" >
+			<p>总充电量</p>
+			<span>{{detail.electricQuantity?detail.electricQuantity/10000:0}}度</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 >{{item.kwh }}度</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="false&&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>

+ 701 - 0
pagesFinance/accountType8/chagingrecord/index.vue

@@ -0,0 +1,701 @@
+<template>
+	<view>
+		<ujp-navbar :is-back="false">
+			<view class="navbar">
+				<view class="navbar-tit"  >充电明细</view>
+				
+				<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>
+				
+			</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>
+				</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.payType==1?'先付后退':''}}{{item.payType==2?'个人账户':''}}{{item.payType==3?'企业账户':''}}</span>
+						
+						<span  style="" v-if="item.phone!='XDT41001000004'" >{{item.userType==1?'游客':''}}{{item.userType==2?'会员':''}}</span>
+						<span  style="" v-if="item.phone=='XDT41001000004'" >哪吒用户</span>
+						
+						<span v-if="item.userCardId" style="color:#FF8B00 ;border-color:#FF8B00;">月卡订单</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="0" ref="tabbarMain"></Tabbar>
+ 	</view>
+</template>
+
+<script>
+	import Tabbar from '@/components/TabbarFinance8.vue'
+	import * as API from '@/apis/accountType8.js'
+	// import {
+	// 	beforeTimeStamp,
+	// 	currentTimeStamp,
+	// 	parseUnixTime
+	// } from '@/utils'
+	
+	export default {
+		data() {
+			return {
+				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: '保密'
+					}
+				],
+			}
+		},
+		components: {
+			Tabbar
+		
+		},
+		onReachBottom() {
+			
+				this.myLoadmore();
+			
+		},
+		onShow() {
+			if(this.$refs.tabbarMain){
+				this.$refs.tabbarMain.setcount(0);
+			}
+		},
+		onLoad() {
+			
+		},
+		onReady() {
+			this.info = this.carhelp.getPersonInfo()
+			
+			this.getList()
+	
+		
+			
+		},
+		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>

+ 286 - 0
pagesFinance/accountType8/personmanage/addinfo.vue

@@ -0,0 +1,286 @@
+<template>
+	<view>
+		<ujp-navbar :title="id!=0?'编辑':'新增'">
+			
+			<view slot="right"  @click="infodelete()"
+			v-if="id!=0"
+			style="margin-right: 20px;">
+				<span class="delete"  >删除</span>
+			</view>
+		</ujp-navbar>
+				<u-keyboard ref="uKeyboard" 
+				 @change="valChange" @backspace="backspace"
+				mode="car" v-model="show"></u-keyboard>
+
+		<view class="ower-infos">
+			
+			<view class="infos-item">
+				<view class="title">
+					员工类型<text class="asterisk">*</text>
+				</view>
+				<view class="content">
+					<u-radio-group v-model="obj.entAccountEnabled">
+					<u-radio name="1">
+						充电员工
+					</u-radio>
+					<u-radio name="0">
+						普通员工
+					</u-radio>
+		</u-radio-group>
+					
+				</view>
+				
+			</view>
+			<view class="infos-item">
+				<view class="title">
+					手机号码<text class="asterisk">*</text>
+				</view>
+				<view class="content">
+					
+					<u-input  v-model="obj.phone" placeholder="请填写手机号码"  />
+					
+				</view>
+				
+			</view>
+			<view class="infos-item">
+				<view class="title">
+					车主姓名<text class="asterisk">*</text>
+				</view>
+				<view class="content">
+					
+					<u-input  v-model="obj.userName" placeholder="请填写车主姓名"  />
+				</view>
+				
+			</view>
+			<view class="infos-item border-none">
+				<view class="title">
+					车牌号码<text class="asterisk">*</text>
+				</view>
+				<view class="content" @click="show=true">
+					
+					{{obj.carNum?obj.carNum:'请填写车牌号码'}}
+					
+				</view>
+				
+			</view>
+			
+		</view>
+		
+		<u-button type="primary" @click="submit()">保存</u-button>
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/finance.js'
+	import {
+		checkPhone
+	} from '@/utils'
+	export default {
+		data() {
+			return {
+				show:false,
+				value:'',
+					uuid:'',
+					id:"",
+					platform:"",
+					obj:{
+						platform:"",
+						userName:"",
+						phone:"",
+						carNum:"",
+						entAccountEnabled:0,
+						vipUserId:"",
+					}
+			}
+		},
+		onReady() {
+			
+			if(this.id!=0){
+				
+				this.getInfo()
+			}
+		
+					
+		},
+		onLoad(op) {
+			this.platform=op.p
+			this.id=op.id
+			this.uuid=op.uuid;
+			
+		},
+		methods: {
+			// 按键被点击(点击退格键不会触发此事件)
+						valChange(val) {
+							// 将每次按键的值拼接到value变量中,注意+=写法
+							this.value += val;
+							console.log(this.value);
+							this.obj.carNum=this.value
+						},
+						// 退格键被点击
+						backspace() {
+							// 删除value的最后一个字符
+							if(this.value.length) this.value = this.value.substr(0, this.value.length - 1);
+							console.log(this.value);
+							this.obj.carNum=this.value
+						},
+						
+			infodelete(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				this.obj.platform=this.platform
+				API.vipUserDelete(this.obj).then((res) => {
+						uni.hideLoading()	
+					this.carhelp.set("addOwnerInformation",{
+						uuid:this.uuid,
+						selectObj:this.obj
+					})
+					uni.showModal({
+						showCancel:false,
+						title: '提示',
+						content: '操作成功',
+						success: function (res) {
+							
+							uni.navigateBack({
+								
+							})
+						}
+					});
+							
+				}).catch(error => {
+					uni.showToast({
+							
+						title: error
+					})
+				})
+			},
+			submit(){
+				
+				if(!this.obj.phone){
+					uni.showToast({				
+						title: "请填写手机号码"
+					})
+					return  false
+				}
+			
+				if(!this.obj.userName){
+					uni.showToast({				
+						title: "请填写车主姓名"
+					})
+					return  false
+				}
+				if(!this.obj.carNum){
+					uni.showToast({				
+						title: "请填写车牌号码"
+					})
+					return  false
+				}
+				var checkPhoneResult = checkPhone(this.obj.phone);
+						
+				if (checkPhoneResult !== true) {
+					uni.showToast({
+						title: checkPhoneResult,
+					})
+					return;
+				}
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				this.obj.platform=this.platform
+				API.vipUserSave(this.obj).then((res) => {
+						uni.hideLoading()	
+					this.carhelp.set("addOwnerInformation",{
+						uuid:this.uuid,
+						selectObj:this.obj
+					})
+					uni.showModal({
+						showCancel:false,
+						title: '提示',
+						content: '操作成功',
+						success: function (res) {
+							
+							uni.navigateBack({
+								
+							})
+						}
+					});
+							
+				}).catch(error => {
+					uni.showToast({
+							
+						title: error
+					})
+				})
+			},
+			getInfo(){
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				API.vipUserDetails({
+					vipUserId:this.id,
+				
+				}).then((res) => {
+							
+					this.obj=res.data.vipUser;
+					this.obj.vipUserId=this.id
+					
+					uni.hideLoading()
+							
+				}).catch(error => {
+					uni.showToast({
+							
+						title: error
+					})
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #f3f4f7;
+	}
+	.ower-infos{
+		background-color: #fff;
+		padding-left: 16px;
+		.border-none{
+			border: none !important;
+		}
+		.infos-item{
+			padding: 14px 0;
+			display: flex;
+			border-bottom: 1px solid #BABABA ;
+			.title{
+				width: 30%;
+				font-size: 16px;
+				color: #7d7d7d;
+				.asterisk{
+					color: #EE3138;
+				}
+			}
+			.content{
+				color: rgba(172, 172, 172, 100);
+				font-size: 16px;
+			}
+		}
+	}
+	.u-btn{
+		background-color: rgba(0, 90, 217, 100);
+		margin: 16px;
+		height: 44px;
+		line-height: 44px;
+		font-size: 18px
+	}
+	.delete{
+		color: rgba(238, 49, 56, 100);
+		font-size: 16px;
+	}
+</style>

+ 200 - 0
pagesFinance/accountType8/personmanage/index.vue

@@ -0,0 +1,200 @@
+<template>
+	<view>
+		<ujp-navbar title="企业员工管理">
+			<view slot="right" style="margin-right: 20px;">
+				<span 
+				@click="thisgotoUrl('pagesFinance/accountType8/personmanage/addinfo?p='+id+'&id=0')"
+				class="newly"  >新增</span>
+			</view>
+		</ujp-navbar>
+		<view class="main">
+			<view style="text-align: center;margin-top: 100px" v-if="!list.length">
+				<img src="@/assets/img/blankpage.png">
+				<view>查询为空</view>
+			</view>
+			<view class="userinfo"  v-for="(item ,index) in list" 
+			
+			
+			:key="item.id" >
+				<view class="infos">
+					<view class="name">
+						{{item.userName?item.userName:'未填写'}}
+					</view>
+					<view class="tel-plateNumber">
+						<view class="plateNumber">
+							<view class="">
+								<i class="ri-roadster-line"></i>
+							</view>
+							<view class="num">{{item.entAccountEnabled?'充电员工':'普通员工'}}</view>
+						</view>
+						<view class="tel">
+							<view class="">
+								<i class="ri-smartphone-line"></i>
+							</view>
+							
+							<view class="num">{{item.phone?item.phone:'未填写'}}</view>
+						</view>
+						
+						
+					</view>
+					
+				</view>
+				<view 
+				@click="thisgotoUrl('pagesFinance/accountType8/personmanage/addinfo?p='+id+'&id='+item.id)"
+				class="edit">
+					编辑
+				</view>
+				
+			</view>
+			
+			<u-divider v-if="list.length&&list.length == recordsTotal" color="#B6BDC3" style="margin-top:20px;" bg-color="#f7f7f7">已经到底了</u-divider>
+			
+			
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	import * as API from '@/apis/finance.js'
+	
+	export default {
+		data() {
+			return {
+				id:"",
+				pageIndex: 1,
+				recordsTotal: 0,
+				list:[],
+				uuid:""
+			}
+		},
+		onReachBottom() {
+			if (this.list.length < this.recordsTotal) {
+				this.myLoadmore();
+			}
+		},
+		onReady() {
+			// this.get
+			// EventChannel.on("aaa", function(){
+			// 	console.Log("1111111111")
+			// })
+			this.getList()			
+		},
+		onLoad(op) {
+			this.id=op.id
+		},
+		onShow(){
+			var obj=this.carhelp.get("addOwnerInformation")
+			if(obj&&obj.uuid==this.uuid){
+				if(obj.selectObj.vipUserId){
+					
+				}
+				this.list=[];
+				this.pageIndex = 1;
+				this.getList()
+			}
+		},
+		methods: {
+			thisgotoUrl(url){
+				
+				this.uuid=new Date().getTime()
+				var curl=url+"&uuid="+this.uuid;
+				uni.navigateTo({
+					url:"/"+curl
+				})
+
+			},
+			getList() {
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				
+				
+				
+				API.vipUserLis({
+					platform:this.id,
+					pageIndex:this.pageIndex,
+					pageSize:20
+				}).then((res) => {
+			
+					this.list = [
+						...this.list,
+						...res.data.data
+					];
+					this.recordsTotal = res.data.recordsTotal
+					uni.hideLoading()
+			
+				}).catch(error => {
+					uni.showToast({
+			
+						title: error
+					})
+				})
+			},
+			myLoadmore() {
+			
+					this.pageIndex += 1;
+					this.getList()
+				},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	page{
+		background-color: #f3f4f7;
+	}
+	.newly{
+		font-size: 16px;
+		color: rgba(0, 90, 217, 100);
+	}
+
+  .main{
+	  padding: 14px 16px;
+	  .userinfo{
+		  color: rgba(255, 255, 255, 100);
+		  padding: 14px 0 14px 20px;
+		  background: linear-gradient(to right,#7E8EB2,#C4CEE8);
+		  display: flex;
+		  justify-content: space-between;
+		  border-radius: 8px;
+		  margin-bottom: 8px;
+		  .infos{
+			  
+			  .name{
+				  font-size: 20px;
+			  }
+			  .tel-plateNumber{
+				  margin-top: 4px;	
+				  line-height: 20px;
+				  display: flex;
+				  .plateNumber{
+					  margin-left: 20px;
+					  display: flex;
+				  }
+				  .tel{
+					  display: flex;
+				  }
+				  .num{
+					  margin-left: 4px;
+				  }
+				  .ri-smartphone-line,.ri-roadster-line{
+					  font-size: 16px;
+					  
+					  
+				  }
+			  }
+		  }
+		  .edit{
+			  margin: auto 0;
+			  width: 60px;
+			  border-radius: 50px 0px 0px 50px;
+			  background-color: #97A7C7 ;
+			  text-align: center;
+			  line-height: 28px;
+		  }
+	  }
+  }
+</style>

+ 1 - 1
pagesFinance/detailed/index.vue

@@ -330,7 +330,7 @@
 			
 		},
 		onReady() {
-			this.info = this.carhelp.getPersonInfo("merchantUser")
+			this.info = this.carhelp.getPersonInfo()
 			if(this.info &&this.info.showMonthlyCard){
 				this.showMonthlyCard=this.info.showMonthlyCard;
 						this.getList2()

+ 14 - 6
pagesFinance/login/index.vue

@@ -188,13 +188,21 @@
 			},
 			loginset(response){
 				var token = response ? response.data.token : '';
-				this.carhelp.setToken(token,"merchantUser");
-				this.carhelp.setPersonInfo(response.data.user,"merchantUser");
-				this.carhelp.setPersonInfoPlus(response.data, "merchantUser")
+				this.carhelp.setToken(token);
+				this.carhelp.setPersonInfo(response.data.user);
+				this.carhelp.setPersonInfoPlus(response.data)
 				//this.gotoUrl("pages/user/index")
-				uni.redirectTo({
-					url: '/pagesFinance/statistics/index'
-				})
+				if(response.data.user.accountType=="8"){
+					//企业车辆管理
+					uni.redirectTo({
+						url: '/pagesFinance/accountType8/chagingrecord/index'
+					})
+				}else{
+					uni.redirectTo({
+						url: '/pagesFinance/statistics/index'
+					})
+				}
+				
 			},
 			query(){
 				uni.showLoading({

+ 415 - 415
pagesFinance/statistics/index.vue

@@ -101,13 +101,13 @@
 				<h4>充电枪运行情况</h4>
 			</view>
 			<view class="details detailstablepile" style="padding: 12px  0 12px 12px ;">
-				<p>
-					<svg   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
-					    
-					    <g>
-					    <path fill="rgba(23.97,90.015,197.88,1)" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
-					    </g>
-					  </svg>
+				<p>
+					<svg   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
+					    
+					    <g>
+					    <path fill="rgba(23.97,90.015,197.88,1)" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
+					    </g>
+					  </svg>
 <!-- 					<img style="    vertical-align: bottom;" src="@/assets/img/riFill-charging-pile-fill.svg"></img>
  -->					快(超)充枪<span>共</span>
 					<span
@@ -143,14 +143,14 @@
 					</view>
 				</view>
 
-				<p style="margin-top: 16rpx;color:#00B962">
-					<svg   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
-					    
-					    <g>
-					    <path fill="#00B962" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
-					    </g>
-					  </svg>
-					
+				<p style="margin-top: 16rpx;color:#00B962">
+					<svg   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
+					    
+					    <g>
+					    <path fill="#00B962" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
+					    </g>
+					  </svg>
+					
 					慢充枪<span>共</span>
 					<span
 						style="color:#000">{{indexData4.slowGunFaultNum+indexData4.slowGunFreeNum+indexData4.slowGunWorkNum}}</span>
@@ -184,102 +184,102 @@
 					</view>
 				</view>
 			</view>
-		</view>
-		
-		<view class="statisticsChart chargingpile" v-if="indexData4">
-			<view class="statisticsChart-head" style="margin-top: 20rpx;">
-				<h4>电单车充电桩运行情况</h4>
-			</view>
-			<view class="details detailstablepile" style="padding: 12px  0 12px 12px ;">
-				<p  style="color:#1677FF">
-					<svg   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
-					    
-					    <g>
-					    <path fill="#1677FF" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
-					    </g>
-					  </svg>
-					电单车充电桩<span>共</span>
-					<span
-						style="color:#000">{{indexData4.singleCarOnlineNum+indexData4.singleCarNotOnlineNum}}</span>
-					<span>台</span>
-				</p>
-		
-				<view class="detailsline">
-		
-					<view class="details-row details-row-1" @click="indexDate5Ck(1,1)">
-		
-						<view class="span1"><span class="bot bot1"></span>正常<span
-								class="bot1span">{{indexData4.singleCarOnlineNum}}</span>台
-							<u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#b0b8c8" size="28" />
-						</view>
-		
-					</view>
-					
-					<view class="details-row details-row-1" @click="indexDate5Ck(0,99)">
-		
-						<view class="span1"><span class="bot bot3"></span>故障<span
-								class="bot3span">{{indexData4.singleCarNotOnlineNum}}</span>台
-							<u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#b0b8c8" size="28" />
-						</view>
-		
-					</view>
-				</view>
-		
-			</view>
-		</view>
-		
-		<u-popup v-model="popupShow6" mode="bottom" border-radius="30"	>
-		
-			<view class="indexData5content">
-				<view class="contentTitle">
-					电单车充电桩{{indexData5Obj.type?'正常':'故障'}}明细
-				</view>
-				<scroll-view scroll-y="true" style="height: 520rpx;">
-					
-						<u-collapse style="padding-bottom: 30rpx;" >
-							<u-collapse-item v-for="(item,index) in indexData5List" class="contentItem" v-show="item.deviceNum" :key="index" >
-							<svg slot="title"   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
-								<g>
-								<path fill="#1677FF" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
-								</g>
-							  </svg>
-							<view  slot="title" class="span1" >
-								
-								{{item.stationName}}
-								
-							</view>
-							<view  slot="title"  >
-								
-								<span class="span2 color777">
-									共<span  class="color333" >{{item.deviceNum}}</span>台
-								</span>
-								<span  class="span3 color777"> 
-									通道数<span  class="color333" >{{item.channelNum}}</span>
-								</span>
-							</view>
-							<view style="padding-bottom: 30rpx;">
-								<view class="contentBody" v-for="(gun,i) in item.device" :key="i">
-									
-										<view class="body1">{{gun.deviceName}}</view>
-										<view class="body2" v-if="indexData5Obj.type">
-											<view class="body2-0">在用<span class="body2-1">{{gun.useNum}}</span> </view>
-											<view  class="body2-2">| 空闲 {{gun.freeNum}}</view>
-										</view>
-										<view class="body3" v-else >故障</view>
-									
-								</view>
-							</view>
-						</u-collapse-item>
-					</u-collapse>
-					
-				</scroll-view>
-				<view class="confrim-btn">
-					<u-button  shape="square"  type="primary"
-					 
-					 @click="popupShow6 = false;">关闭</u-button>
-				</view>
-			</view>
-		
+		</view>
+		
+		<view class="statisticsChart chargingpile" v-if="indexData4">
+			<view class="statisticsChart-head" style="margin-top: 20rpx;">
+				<h4>电单车充电桩运行情况</h4>
+			</view>
+			<view class="details detailstablepile" style="padding: 12px  0 12px 12px ;">
+				<p  style="color:#1677FF">
+					<svg   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
+					    
+					    <g>
+					    <path fill="#1677FF" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
+					    </g>
+					  </svg>
+					电单车充电桩<span>共</span>
+					<span
+						style="color:#000">{{indexData4.singleCarOnlineNum+indexData4.singleCarNotOnlineNum}}</span>
+					<span>台</span>
+				</p>
+		
+				<view class="detailsline">
+		
+					<view class="details-row details-row-1" @click="indexDate5Ck(1,1)">
+		
+						<view class="span1"><span class="bot bot1"></span>正常<span
+								class="bot1span">{{indexData4.singleCarOnlineNum}}</span>台
+							<u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#b0b8c8" size="28" />
+						</view>
+		
+					</view>
+					
+					<view class="details-row details-row-1" @click="indexDate5Ck(0,99)">
+		
+						<view class="span1"><span class="bot bot3"></span>故障<span
+								class="bot3span">{{indexData4.singleCarNotOnlineNum}}</span>台
+							<u-icon name="arrow-right-s-line" custom-prefix="custom-icon" color="#b0b8c8" size="28" />
+						</view>
+		
+					</view>
+				</view>
+		
+			</view>
+		</view>
+		
+		<u-popup v-model="popupShow6" mode="bottom" border-radius="30"	>
+		
+			<view class="indexData5content">
+				<view class="contentTitle">
+					电单车充电桩{{indexData5Obj.type?'正常':'故障'}}明细
+				</view>
+				<scroll-view scroll-y="true" style="height: 520rpx;">
+					
+						<u-collapse style="padding-bottom: 30rpx;" >
+							<u-collapse-item v-for="(item,index) in indexData5List" class="contentItem" v-show="item.deviceNum" :key="index" >
+							<svg slot="title"   xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32" width="20" height="20" style=" vertical-align: bottom;border-color: rgba(0,0,0,0);border-width: bpx;border-style: undefined" filter="none">
+								<g>
+								<path fill="#1677FF" d="M4 25.333v-20c0-0.736 0.597-1.333 1.333-1.333v0h12c0.736 0 1.333 0.597 1.333 1.333v0 10.667h2.667c1.473 0 2.667 1.194 2.667 2.667v0 5.333c0 0.736 0.597 1.333 1.333 1.333s1.333-0.597 1.333-1.333v0-9.333h-2.667c-0.736 0-1.333-0.597-1.333-1.333v0-4.781l-2.209-2.209 1.885-1.885 6.6 6.6c0.241 0.241 0.391 0.574 0.391 0.941 0 0 0 0.001 0 0.001v-0 12c0 2.209-1.791 4-4 4s-4-1.791-4-4v0-5.333h-2.667v6.667h1.333v2.667h-17.333v-2.667h1.333zM12 14.667v-5.333l-5.333 8h4v5.333l5.333-8h-4z" ></path>
+								</g>
+							  </svg>
+							<view  slot="title" class="span1" >
+								
+								{{item.stationName}}
+								
+							</view>
+							<view  slot="title"  >
+								
+								<span class="span2 color777">
+									共<span  class="color333" >{{item.deviceNum}}</span>台
+								</span>
+								<span  class="span3 color777"> 
+									通道数<span  class="color333" >{{item.channelNum}}</span>
+								</span>
+							</view>
+							<view style="padding-bottom: 30rpx;">
+								<view class="contentBody" v-for="(gun,i) in item.device" :key="i">
+									
+										<view class="body1">{{gun.deviceName}}</view>
+										<view class="body2" v-if="indexData5Obj.type">
+											<view class="body2-0">在用<span class="body2-1">{{gun.useNum}}</span> </view>
+											<view  class="body2-2">| 空闲 {{gun.freeNum}}</view>
+										</view>
+										<view class="body3" v-else >故障</view>
+									
+								</view>
+							</view>
+						</u-collapse-item>
+					</u-collapse>
+					
+				</scroll-view>
+				<view class="confrim-btn">
+					<u-button  shape="square"  type="primary"
+					 
+					 @click="popupShow6 = false;">关闭</u-button>
+				</view>
+			</view>
+		
 		</u-popup>
 		<u-popup v-model="popupShow5" mode="bottom" border-radius="30"	>
 
@@ -290,29 +290,29 @@
 				<scroll-view scroll-y="true" style="height: 520rpx;">
 					<view style="padding-bottom: 30rpx;">
 						<view class="contentItem" v-for="(item,index) in indexData4List" v-show="item.queryNum" :key="index" >
-							
-								
-							<span class="span1">
-								<img  v-show="indexData4Obj.type==1&&item.category!='超充'"
-								src="@/assets/img/riFill-charging-pile-fill.svg">
-								<img  v-show="indexData4Obj.type==1&&item.category=='超充'"
-								src="@/assets/img/riFill-charging-pile-fill3.svg">
-								<img  v-show="indexData4Obj.type==2"
-								src="@/assets/img/riFill-charging-pile-fill2.svg">
-							</img>
-							{{item.stationName}}</span>
-							<span class="span2 color777">
-								共<span class="color333" >{{item.gunNum}}</span>支
-							</span>
-							<span  class="span3 color333"> 
-								{{indexData4Obj.text}}<span  class="color777" :class="indexData4Obj.value" >{{item.queryNum}}</span>支
+							
+								
+							<span class="span1">
+								<img  v-show="indexData4Obj.type==1&&item.category!='超充'"
+								src="@/assets/img/riFill-charging-pile-fill.svg">
+								<img  v-show="indexData4Obj.type==1&&item.category=='超充'"
+								src="@/assets/img/riFill-charging-pile-fill3.svg">
+								<img  v-show="indexData4Obj.type==2"
+								src="@/assets/img/riFill-charging-pile-fill2.svg">
+							</img>
+							{{item.stationName}}</span>
+							<span class="span2 color777">
+								共<span class="color333" >{{item.gunNum}}</span>支
+							</span>
+							<span  class="span3 color333"> 
+								{{indexData4Obj.text}}<span  class="color777" :class="indexData4Obj.value" >{{item.queryNum}}</span>支
 							</span>
 						</view>
 					</view>
 				</scroll-view>
 				<view class="confrim-btn">
-					<u-button  shape="square"  type="primary"
-					 
+					<u-button  shape="square"  type="primary"
+					 
 					 @click="popupShow5 = false;">关闭</u-button>
 				</view>
 			</view>
@@ -546,10 +546,10 @@
 					hour: false,
 					minute: false,
 					second: false
-				},
-				indexData4List:[],
-				indexData4Obj:{},
-				indexData5List:[],
+				},
+				indexData4List:[],
+				indexData4Obj:{},
+				indexData5List:[],
 				indexData5Obj:{},
 				headitemby: "",
 				isinit: true,
@@ -561,7 +561,7 @@
 				popupShow2: false,
 				popupShow: false,
 				popupShow4: false,
-				popupShow5: false,
+				popupShow5: false,
 				popupShow6: false,
 				nowTime: 0,
 				selectstationId2: "",
@@ -644,22 +644,22 @@
 		onShow() {
 			if (this.$refs.tabbarMain) {
 				this.$refs.tabbarMain.setcount(0);
-			}
-			API.homeChargingGunStatus().then((res) => {
-			
-				this.indexData4 = res.data;
-			
-			}).catch(error => {
-				uni.showToast({
-			
-					title: error
-				})
+			}
+			API.homeChargingGunStatus().then((res) => {
+			
+				this.indexData4 = res.data;
+			
+			}).catch(error => {
+				uni.showToast({
+			
+					title: error
+				})
 			})
 		},
 		onLoad() {
 
 
-			this.info = this.carhelp.getPersonInfo("merchantUser")
+			this.info = this.carhelp.getPersonInfo()
 			this.title = this.info.merchantAccountName
 		},
 		components: {
@@ -693,111 +693,111 @@
 			},
 
 		},
-		methods: {
-			
-			indexDate5Ck(t,status) {
-				
-				//单车充电
-				
-				API.homeChargingGunStatus().then((res) => {
-				
-					this.indexData4 = res.data;
-				
-				}).catch(error => {
-					uni.showToast({
-				
-						title: error
-					})
-				})
-				this.indexData5Obj.type=t
-				
-				API.homeChargingSingleCarStatusDetail({
-				
-					status:status
-				}).then((res) => {
-					
-					this.popupShow6=true;
-					
-					this.indexData5List = res.data.stationList;
-					
-					for(var i in this.indexData5List){
-						var item=this.indexData5List[i];
-						if(item.deviceNum){
-							this.popupShow6 = true
-							break
-						}
-						this.popupShow6 = false;
-					}
-					if(!this.popupShow6 ){
-						uni.showToast({			
-							title:"电单车充电桩"+(t?"正常":"故障")+"0支"
-						})
-					}
-				}).catch(error => {
-					uni.showToast({
-				
-						title: error
-					})
-				})
-				
+		methods: {
+			
+			indexDate5Ck(t,status) {
+				
+				//单车充电
+				
+				API.homeChargingGunStatus().then((res) => {
+				
+					this.indexData4 = res.data;
+				
+				}).catch(error => {
+					uni.showToast({
+				
+						title: error
+					})
+				})
+				this.indexData5Obj.type=t
+				
+				API.homeChargingSingleCarStatusDetail({
+				
+					status:status
+				}).then((res) => {
+					
+					this.popupShow6=true;
+					
+					this.indexData5List = res.data.stationList;
+					
+					for(var i in this.indexData5List){
+						var item=this.indexData5List[i];
+						if(item.deviceNum){
+							this.popupShow6 = true
+							break
+						}
+						this.popupShow6 = false;
+					}
+					if(!this.popupShow6 ){
+						uni.showToast({			
+							title:"电单车充电桩"+(t?"正常":"故障")+"0支"
+						})
+					}
+				}).catch(error => {
+					uni.showToast({
+				
+						title: error
+					})
+				})
+				
 			},
-			indexDate4Ck(c, t) {
-				//汽车充电
-				API.homeChargingGunStatus().then((res) => {
-				
-					this.indexData4 = res.data;
-				
-				}).catch(error => {
-					uni.showToast({
-				
-						title: error
-					})
-				})
-				
-				this.indexData4Obj.type=c
-				if(c==1){
-					this.indexData4Obj.typeName="快(超)充"
-				}
-				if(c==2){
-					this.indexData4Obj.typeName="慢充"
-				}
-				if(t==1){
-					this.indexData4Obj.text="在用"
-					this.indexData4Obj.value="bot1span"
-				}
-				if(t==0){
-					this.indexData4Obj.text="空闲"
-					this.indexData4Obj.value="bot2span"
-				}
-				if(t==99){
-					this.indexData4Obj.text="故障"
-					this.indexData4Obj.value="bot3span"
-				}
-				API.homeChargingGunStatusDetail({
-					type:c,
-					status:t
-				}).then((res) => {
-					
-					this.indexData4List = res.data.stationList;
-					
-					for(var i in this.indexData4List){
-						var item=this.indexData4List[i];
-						if(item.queryNum){
-							this.popupShow5 = true
-							break
-						}
-						this.popupShow5 = false;
-					}
-					if(!this.popupShow5 ){
-						uni.showToast({			
-							title:this.indexData4Obj.typeName+"枪"+ this.indexData4Obj.text+"0支"
-						})
-					}
-				}).catch(error => {
-					uni.showToast({
-				
-						title: error
-					})
+			indexDate4Ck(c, t) {
+				//汽车充电
+				API.homeChargingGunStatus().then((res) => {
+				
+					this.indexData4 = res.data;
+				
+				}).catch(error => {
+					uni.showToast({
+				
+						title: error
+					})
+				})
+				
+				this.indexData4Obj.type=c
+				if(c==1){
+					this.indexData4Obj.typeName="快(超)充"
+				}
+				if(c==2){
+					this.indexData4Obj.typeName="慢充"
+				}
+				if(t==1){
+					this.indexData4Obj.text="在用"
+					this.indexData4Obj.value="bot1span"
+				}
+				if(t==0){
+					this.indexData4Obj.text="空闲"
+					this.indexData4Obj.value="bot2span"
+				}
+				if(t==99){
+					this.indexData4Obj.text="故障"
+					this.indexData4Obj.value="bot3span"
+				}
+				API.homeChargingGunStatusDetail({
+					type:c,
+					status:t
+				}).then((res) => {
+					
+					this.indexData4List = res.data.stationList;
+					
+					for(var i in this.indexData4List){
+						var item=this.indexData4List[i];
+						if(item.queryNum){
+							this.popupShow5 = true
+							break
+						}
+						this.popupShow5 = false;
+					}
+					if(!this.popupShow5 ){
+						uni.showToast({			
+							title:this.indexData4Obj.typeName+"枪"+ this.indexData4Obj.text+"0支"
+						})
+					}
+				}).catch(error => {
+					uni.showToast({
+				
+						title: error
+					})
 				})
 				
 			},
@@ -1380,174 +1380,174 @@
 	}
 </style>
 
-<style lang="scss" scoped>
-	.indexData5content {
-		padding: 40rpx 20rpx;
-		
-		.contentTitle{
-			color:#333333;
-			font-size: 40rpx;
-			text-align: center;
-			font-weight: bold;
-			margin-bottom: 8px;
-		}
-		.contentBody{
-			color: #777777 ;
-			font-size: 28rpx;
-			display: flex;
-			justify-content: space-between;
-			flex-direction: row;
-			padding: 0 16rpx;
-			margin-bottom: 16rpx;
-			.body1{
-				color:#333333;
-				margin-left: 20rpx;
-			}
-			.body2{
-				display: flex;
-				 .body2-0{
-					 width: 110rpx;
-				 }
-				.body2-1{
-					padding: 0 8rpx;
-					color: #00B962;
-					
-				}
-				.body2-2{
-					width: 120rpx;
-				}
-			}
-			.body3{
-				padding: 0 8rpx;
-				color:#FF3D00 ;
-			}
-		}
-		.contentItem{
-			border-bottom: 1px solid #ededed;
-			
-			// margin: 16rpx;
-			// padding:12rpx;
-			img,svg{
-				vertical-align: bottom;
-				height: 44rpx;
-				//margin-right: 8rpx;
-			}
-			.span1{
-				
-				text-align: left;
-				font-weight: bold;
-				font-size: 36rpx;
-				width: 310rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-			}
-			.color777{
-					color: #777777;
-			}
-			.color333{
-					color: #333333;
-			}
-			.span2{
-				 
-				border-right: 1px solid #ededed;
-			
-				width: 120rpx;
-				padding: 0 8rpx;
-				span{
-					padding: 0 8rpx;
-				}
-			}
-			.span3{
-				padding: 0 0 0 12rpx;
-				span{
-					padding: 0 8rpx;
-				}
-				width: 154rpx;
-				
-				.bot1span {
-					color: #00B962;
-				}
-				
-				.bot2span {
-					color: #AAAAAA;
-				}
-				
-				.bot3span {
-					color: #FF3D00;
-				}
-			}
-			
-		}
-	}
+<style lang="scss" scoped>
+	.indexData5content {
+		padding: 40rpx 20rpx;
+		
+		.contentTitle{
+			color:#333333;
+			font-size: 40rpx;
+			text-align: center;
+			font-weight: bold;
+			margin-bottom: 8px;
+		}
+		.contentBody{
+			color: #777777 ;
+			font-size: 28rpx;
+			display: flex;
+			justify-content: space-between;
+			flex-direction: row;
+			padding: 0 16rpx;
+			margin-bottom: 16rpx;
+			.body1{
+				color:#333333;
+				margin-left: 20rpx;
+			}
+			.body2{
+				display: flex;
+				 .body2-0{
+					 width: 110rpx;
+				 }
+				.body2-1{
+					padding: 0 8rpx;
+					color: #00B962;
+					
+				}
+				.body2-2{
+					width: 120rpx;
+				}
+			}
+			.body3{
+				padding: 0 8rpx;
+				color:#FF3D00 ;
+			}
+		}
+		.contentItem{
+			border-bottom: 1px solid #ededed;
+			
+			// margin: 16rpx;
+			// padding:12rpx;
+			img,svg{
+				vertical-align: bottom;
+				height: 44rpx;
+				//margin-right: 8rpx;
+			}
+			.span1{
+				
+				text-align: left;
+				font-weight: bold;
+				font-size: 36rpx;
+				width: 310rpx;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+			}
+			.color777{
+					color: #777777;
+			}
+			.color333{
+					color: #333333;
+			}
+			.span2{
+				 
+				border-right: 1px solid #ededed;
+			
+				width: 120rpx;
+				padding: 0 8rpx;
+				span{
+					padding: 0 8rpx;
+				}
+			}
+			.span3{
+				padding: 0 0 0 12rpx;
+				span{
+					padding: 0 8rpx;
+				}
+				width: 154rpx;
+				
+				.bot1span {
+					color: #00B962;
+				}
+				
+				.bot2span {
+					color: #AAAAAA;
+				}
+				
+				.bot3span {
+					color: #FF3D00;
+				}
+			}
+			
+		}
+	}
 	
 	.indexData4content {
 		padding: 40rpx 20rpx;
-		
-		.contentTitle{
-			color:#333333;
-			font-size: 40rpx;
-			text-align: center;
-			font-weight: bold;
-			margin-bottom: 8px;
-			
-		}
-		.contentItem{
-			border-bottom: 1px solid #ededed;
-			display: flex;
-			justify-content: space-between;
-			flex-direction: row;
-			margin: 16rpx;
-			padding:12rpx;
-			.span1{
-				img{
-					vertical-align: bottom;
-					height: 44rpx;
-					margin-right: 8rpx;
-				}
-				font-weight: bold;
-				font-size: 36rpx;
-				width: 400rpx;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				white-space: nowrap;
-			}
-			.color777{
-					color: #777777;
-			}
-			.color333{
-					color: #333333;
-			}
-			.span2{
-				 
-				border-right: 1px solid #ededed;
-			
-				width: 120rpx;
-				padding: 0 16rpx;
-				span{
-					padding: 0 8rpx;
-				}
-			}
-			.span3{
-				padding: 0 0 0 16rpx;
-				span{
-					padding: 0 8rpx;
-				}
-				width: 154rpx;
-				color: #333;
-				.bot1span {
-					color: #00B962;
-				}
-				
-				.bot2span {
-					color: #AAAAAA;
-				}
-				
-				.bot3span {
-					color: #FF3D00;
-				}
-			}
-			
+		
+		.contentTitle{
+			color:#333333;
+			font-size: 40rpx;
+			text-align: center;
+			font-weight: bold;
+			margin-bottom: 8px;
+			
+		}
+		.contentItem{
+			border-bottom: 1px solid #ededed;
+			display: flex;
+			justify-content: space-between;
+			flex-direction: row;
+			margin: 16rpx;
+			padding:12rpx;
+			.span1{
+				img{
+					vertical-align: bottom;
+					height: 44rpx;
+					margin-right: 8rpx;
+				}
+				font-weight: bold;
+				font-size: 36rpx;
+				width: 400rpx;
+				overflow: hidden;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+			}
+			.color777{
+					color: #777777;
+			}
+			.color333{
+					color: #333333;
+			}
+			.span2{
+				 
+				border-right: 1px solid #ededed;
+			
+				width: 120rpx;
+				padding: 0 16rpx;
+				span{
+					padding: 0 8rpx;
+				}
+			}
+			.span3{
+				padding: 0 0 0 16rpx;
+				span{
+					padding: 0 8rpx;
+				}
+				width: 154rpx;
+				color: #333;
+				.bot1span {
+					color: #00B962;
+				}
+				
+				.bot2span {
+					color: #AAAAAA;
+				}
+				
+				.bot3span {
+					color: #FF3D00;
+				}
+			}
+			
 		}
 	}
 
@@ -2012,4 +2012,4 @@
 			border-radius: 8px;
 		}
 	}
-</style>
+</style>

+ 180 - 101
pagesFinance/user/index.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view class="navbar-tit" v-if="false&&isswitch" @click="isswitchshow=true" >切换账号</view>
+		
 		<u-picker mode="selector" v-model="isswitchshow" :range="columns" range-key="label" :default-selector="columnsindex" @confirm="switchBtn" ></u-picker>
 		<view class="userHead" :style="isswitch?'padding-top:40px':''" >
 			
@@ -25,22 +25,69 @@
 				</view>
 			</view>
 		</view>
-		<view class="userData" v-if="false" >
-			<view class="userData-item">
-				<view class="userData-data">{{home.deviceNumbers}}台</view>
-				<view class="userData-foot" @click="gotoUrl('pagesFinance/user/stationsList')" >我的设备<span style="color: #307af6; margin-left: 5px;">查看</span></view>
-			</view>
-			<u-line color="#d9e0ec" length="60" direction="col" margin="10px"/>
-			<view class="userData-item">
-				<view class="userData-name">银行账户</view>
+		
+		<view class="userInfo function-menu "  style="padding-top:20rpx ;padding-bottom:60rpx ;margin-bottom:120rpx ;" v-if="home&&accountType8" >
+			
+			<template v-for="(item,i ) in vipPlatformList" >
 				
-				<view class="userData-foot" v-if="!home.bank"  >未绑定</view>
+				<view class=" userInfo-main2" :key="i" >
+					<h2 v-if="vipPlatformList.length>1">
+					
+						{{item.entAccountName}}
+					 </h2>
+					<h3>
+						 企业余额:{{showNumJP(item.entAccountBalance)}}元 
+					</h3>
+					<!-- <view class="userInfo-btn" >帐户提现</view> -->
+				</view>
+				
+				
+			
+				<view class="item"  :key="'b'+i" 
+				
+				 @click="gotoUrl('pagesFinance/accountType8/personmanage/index?id='+item.id)" >
+					<view class="item-icon">
+						<i class="ri-folder-user-line"></i>
+					</view>
+					<view class="item-name">
+						员工管理
+					</view>
+					
+				</view>
+				<view class="item"  :key="'a'+i"
+				
+				 @click="gotoUrl('pagesFinance/accountType8/carmanage/index?id='+item.entAccountId)" >
+					<view class="item-icon">
+						<img src="../../assets/img/riLine-bus-line.svg" alt="">
+					</view>
+					<view class="item-name">
+						车辆管理
+					</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 class="userData-foot" v-if="home.bank"  @click="showModel"  >提现账户<span style="color: #307af6; margin-left: 5px;">查看</span></view>
 			</view>
+		
 		</view>
 		
-		<view class="userInfo" v-if="home">
+		<view class="userInfo" v-if="home&&accountType">
 			<view class="userInfo-head"><p>可提现金额<span v-if="info.accountType==3">(T+4)</span></p></view>
 			<view class="userInfo-main">
 				<h2>{{showNumJP(home.accountBalance)}}元 
@@ -73,51 +120,51 @@
 			</view>
 		</view>
 		<!-- 功能菜单 -->
-		<view class="function-menu">
-			
-			<view class="item"  @click="gotoUrl('pagesFinance/user/stationsList')"  >
-			
-				
-				<view class="item-icon">
-					<img src="../../assets/img/riLine-user-settings-line.svg" alt="">
-				</view>
-				<view class="item-name">
-					
-					
-					我的充电桩
-						
-				</view>
-				<view class="position" v-if="home&&home.deviceNumbers" >
-					<view id="talkbubble" :style="home.deviceNumbers>=100?'padding: 2px 16rpx;':''" >{{home.deviceNumbers}}桩{{home.gunNumbers?home.gunNumbers+'枪':''}}</view>
-				</view>
-			
-			</view>
+		<view class="function-menu" v-if="accountType">
+			
+			<view class="item"  @click="gotoUrl('pagesFinance/user/stationsList')"  >
+			
+				
+				<view class="item-icon">
+					<img src="../../assets/img/riLine-user-settings-line.svg" alt="">
+				</view>
+				<view class="item-name">
+					
+					
+					我的充电桩
+						
+				</view>
+				<view class="position" v-if="home&&home.deviceNumbers" >
+					<view id="talkbubble" :style="home.deviceNumbers>=100?'padding: 2px 16rpx;':''" >{{home.deviceNumbers}}桩{{home.gunNumbers?home.gunNumbers+'枪':''}}</view>
+				</view>
+			
+			</view>
 			<view class="item"  v-if="false"
-			@click="gotoUrl('pagesFinance/user/activatedChargingPile')"   >
-				<view class="item-icon">
-					<img src="../../assets/img/riLine-link.svg" alt="">
-				</view>
-				<view class="item-name">
-					激活充电桩
-				</view>
-			</view>
-			<view class="item"  v-if="info.accountType==2"  @click="gotoUrl('pagesFinance/user/withdrawal/businessList')">
-				<view class="item-icon">
-					<img src="../../assets/img/riLine-file-list-3-line.svg" alt="">
-				</view>
-				<view class="item-name">
-					收益核算
-				</view>		
+			@click="gotoUrl('pagesFinance/user/activatedChargingPile')"   >
+				<view class="item-icon">
+					<img src="../../assets/img/riLine-link.svg" alt="">
+				</view>
+				<view class="item-name">
+					激活充电桩
+				</view>
+			</view>
+			<view class="item"  v-if="info.accountType==2"  @click="gotoUrl('pagesFinance/user/withdrawal/businessList')">
+				<view class="item-icon">
+					<img src="../../assets/img/riLine-file-list-3-line.svg" alt="">
+				</view>
+				<view class="item-name">
+					收益核算
+				</view>		
 			</view>
 		
-			
-			<view class="item"  v-if="info.accountType==3"  @click="gotoUrl('pagesFinance/user/withdrawal/cashoutList')">
-				<view class="item-icon"> <!--个人 -->
-					<i data-v-7e5aa06e="" class="ri-todo-line"></i>
-				</view>
-				<view class="item-name">
-					提现记录
-				</view>		
+			
+			<view class="item"  v-if="info.accountType==3"  @click="gotoUrl('pagesFinance/user/withdrawal/cashoutList')">
+				<view class="item-icon"> <!--个人 -->
+					<i data-v-7e5aa06e="" class="ri-todo-line"></i>
+				</view>
+				<view class="item-name">
+					提现记录
+				</view>		
 			</view>
 			<view class="item" v-else @click="gotoUrl('pagesFinance/user/withdrawal/withdrawRecord')">
 				<view class="item-icon">
@@ -199,13 +246,16 @@
 		<button class="logout-btn" @click="logout">退出账号</button>
 		
 	
+		<Tabbar8 :current="1" v-if="info.accountType==8" ref="tabbarMain" ></Tabbar8>
 		
-			<Tabbar :current="3"  ref="tabbarMain"></Tabbar>
+		<Tabbar :current="3" v-else ref="tabbarMain" ></Tabbar>
  	</view>
 </template>
 
 <script>
 	import Tabbar from '@/components/TabbarFinance.vue'
+	import Tabbar8 from '@/components/TabbarFinance8.vue'
+	
 	import * as API from '@/apis/finance.js'
 	import {
 		substrMb
@@ -214,7 +264,7 @@
 	export default {
 		data() {
 			return {
-				columns:[],
+				columns:[],
 				isWithdrawal:false,
 				isswitchshow:false,
 				isswitch:false,
@@ -231,13 +281,27 @@
 			}
 		},
 		components: {
-			Tabbar
-		
+			Tabbar,Tabbar8
+		},
+		computed:{
+			accountType(){
+				if(this.accountType8){
+					return false
+				}
+					
+				return true
+			},
+			accountType8(){
+				if(this.info&&this.info.accountType==8){
+					return true
+				}else
+					return false
+			}
 		},
 		onLoad() {
-			this.info=this.carhelp.getPersonInfo("merchantUser")
-			if(process.env.NODE_ENV === "development"){
-				this.isWithdrawal=true
+			this.info=this.carhelp.getPersonInfo()
+			if(process.env.NODE_ENV === "development"){
+				this.isWithdrawal=true
 			}
 			
 		},
@@ -247,7 +311,11 @@
 		},
 		onShow() {
 			if(this.$refs.tabbarMain){
-				this.$refs.tabbarMain.setcount(3);
+				var i=3
+				if(this.accountType8){
+					i=1
+				}
+				this.$refs.tabbarMain.setcount(i);
 			}
 			this.query()
 			this.getHomePage()
@@ -286,9 +354,9 @@
 				}).then((response) => {
 					//this.loginset(response)
 					var token = response ? response.data.token : '';
-					this.carhelp.setToken(token,"merchantUser");
-					this.carhelp.setPersonInfo(response.data.user,"merchantUser");
-					this.carhelp.setPersonInfoPlus(response.data, "merchantUser")
+					this.carhelp.setToken(token);
+					this.carhelp.setPersonInfo(response.data.user);
+					this.carhelp.setPersonInfoPlus(response.data)
 					this.info=response.data.user
 					this.isswitch=response.data.haveOtherUser;
 					if(this.isswitch){
@@ -362,10 +430,10 @@
 				};
 				 
 				API.logout(data).then((res) => {
-					this.carhelp.setToken("","merchantUser");
+					this.carhelp.setToken("");
 					this.carhelp.set("merchantUser_token_tdate","")
-					this.carhelp.setPersonInfo("","merchantUser");
-					this.carhelp.setPersonInfoPlus("" ,"merchantUser" )
+					this.carhelp.setPersonInfo("");
+					this.carhelp.setPersonInfoPlus(""  )
 					
 					uni.reLaunch({
 						url:"/pagesFinance/login/index?phone="+this.info.phone
@@ -465,6 +533,17 @@
 		p{
 			color:#637AA2;
 		}
+		.userInfo-main2{
+			width: 100%;
+		
+			margin-top: 4px;
+			align-items: center;
+			h2{
+				flex: 1;
+				font-size: 44rpx;
+			
+			}
+		}
 		.userInfo-main{
 			display: flex;
 			justify-content: space-between;
@@ -595,38 +674,38 @@
 		color: rgba(238, 49, 56, 100);
 		font-size: 16px;
 		line-height: 40px;
-	}
-	
-	.position {
-		position: relative;
-		top: -75px;
-		//left: 24%;
-		height: 0px;
-		z-index: 999;
-	}
-	
-	#talkbubble {
-		position: absolute;
-		top: 0;
-		left: 0;
-		padding: 1px 20rpx;
-		
-		line-height: 40rpx;
-		font-size: 24rpx;
-		color: #fff;
-		background: red;
-		position: relative;
-		border-radius: 10px;
-		text-align: center;
-	}
-	
-	#talkbubble:before {
-		content: "";
-		position: absolute;
-		top: 100%;
-		right: 20%;
-		border-top: 5px solid red;
-		border-right: 5px solid transparent;
-		border-left: 5px solid transparent;
+	}
+	
+	.position {
+		position: relative;
+		top: -75px;
+		//left: 24%;
+		height: 0px;
+		z-index: 999;
+	}
+	
+	#talkbubble {
+		position: absolute;
+		top: 0;
+		left: 0;
+		padding: 1px 20rpx;
+		
+		line-height: 40rpx;
+		font-size: 24rpx;
+		color: #fff;
+		background: red;
+		position: relative;
+		border-radius: 10px;
+		text-align: center;
+	}
+	
+	#talkbubble:before {
+		content: "";
+		position: absolute;
+		top: 100%;
+		right: 20%;
+		border-top: 5px solid red;
+		border-right: 5px solid transparent;
+		border-left: 5px solid transparent;
 	}
 </style>

+ 1 - 1
pagesFinance/user/withdrawRecord.vue

@@ -64,7 +64,7 @@
 			}
 		},
 		onLoad(){
-			this.info=this.carhelp.getPersonInfo("merchantUser")
+			this.info=this.carhelp.getPersonInfo()
 			
 		},
 		onReady() {

+ 1 - 1
pagesFinance/user/withdrawal/applicationForWithdrawal.vue

@@ -148,7 +148,7 @@
 		},
 
 		onLoad(op){
-			this.userInfo=this.carhelp.getPersonInfo("merchantUser")
+			this.userInfo=this.carhelp.getPersonInfo()
 			
 			if(op.id){
 				this.id=op.id

+ 1 - 1
pagesFinance/user/withdrawal/businessList.vue

@@ -64,7 +64,7 @@
 			}
 		},
 		onLoad(){
-			this.info=this.carhelp.getPersonInfo("merchantUser")
+			this.info=this.carhelp.getPersonInfo()
 			
 		},
 		onReady() {

+ 1 - 1
pagesFinance/user/withdrawal/cashoutList.vue

@@ -68,7 +68,7 @@
 			}
 		},
 		onLoad(){
-			this.info=this.carhelp.getPersonInfo("merchantUser")
+			this.info=this.carhelp.getPersonInfo()
 			this.isWithdrawal=(this.info.accountType==3)
 		},
 		onReady() {

+ 147 - 149
pagesFinance/user/withdrawal/signature.vue

@@ -1,6 +1,6 @@
 <template>
-	<view class="sign">
-		<ujp-navbar title="签字"></ujp-navbar>
+	<view class="sign">
+		<ujp-navbar title="签字"></ujp-navbar>
 		
 		<p>请在下方空白区域使用正楷字体进行电子签名</p>
 		<view class="signature">
@@ -26,122 +26,122 @@
 
 <script>
 	import LSignature from '@/components/l-signature/l-signature.vue'
-		import * as API from '@/apis/finance.js'
-		import * as API_Common from '@/apis/common.js'
-		import {
-		
-			parseUnixTime,
-		
+		import * as API from '@/apis/finance.js'
+		import * as API_Common from '@/apis/common.js'
+		import {
+		
+			parseUnixTime,
+		
 		} from '@/utils'
 	export default {
 		data() {
 			return {
-				info: null,
-				detailList:null,
+				info: null,
+				detailList:null,
 				penColor: '',
 				penSize: 5,
-				url: '',
+				url: '',
 				suburl: '',
-				openSmooth: true,
+				openSmooth: true,
 				nowTime:"",
 				serverUrl: "",
-				token: "",
-				uuid:"",
+				token: "",
+				uuid:"",
 			}
-		},onLoad(op){
-			//this.userInfo=this.carhelp.getPersonInfo("merchantUser")
-			this.uuid=op.uuid;
-			this.id=op.id
-			this.getInfo()
-			// alert(this.carhelp.getToken({
-			// 						jp_identity:"merchantUser"
-			// 					}))
+		},onLoad(op){
+			//this.userInfo=this.carhelp.getPersonInfo()
+			this.uuid=op.uuid;
+			this.id=op.id
+			this.getInfo()
+			// alert(this.carhelp.getToken({
+			// 						jp_identity:
+			// 					}))
 		},
-		methods: {
-			//上传图片
-			uploadpic() {
-				uni.showLoading({
-					title: "图片上传中",
-					mask: true,
-				})
-				var formData = {
-									"photoName":"signature.png",
-									"photoBase64Data": this.url
-								}
-				// formData.append('photoName', '1.jpg');
-				// formData.append('photoBase64Data', this.url);
-				
-				
-				API_Common.uploadBase64Json(formData).then(response => {
-					//this.suburl=response.data;
-					this.info.status=0;
-					 this.info.signUrl=response.data;
-					//this.$emit("signsubmit",0,this.suburl)
-					this.submitFrom()
-				}).catch(error => {
-					uni.hideLoading()
-					uni.showModal({
-						title:"提示",
-						content:error,
-						showCancel:false
-					})
-				})
-				
-				 
-			},
-			submitFrom(){
-				
-				
-				uni.showLoading({
-					title: "提交中...",
-					mask: true,
-				})
-				
-				//this.info.status=0;
-				
-				//var str=JSON.stringify();
-				API.applyWithdrawByAccounting({
-					
-					record:this.info,
-					detailList:this.detailList
-				
-				}).then((res) => {
-					
-					this.carhelp.set("withdrawRecord",{
-						uuid:this.uuid,
-					})
-					this.id=res.data;
-					uni.hideLoading()
-					uni.redirectTo({
-						url:"/pagesFinance/user/applyResult?value="+this.info.applicationAmount
-					})
-					
-				}).catch(error => {
-					uni.hideLoading()
-					uni.showModal({
-						title:"提示",
-						content:error,
-						showCancel:false
-					})
-				})
-			},
-			getInfo(){
-				uni.showLoading({
-					title: "加载中",
-					mask: true,
-				})
-				API.getWithdrawInfoByAccounting(this.id).then((res) => {
-					
-					this.info=res.data.record
-				
-					this.detailList=res.data.detailList
-					uni.hideLoading()
-				
-				}).catch(error => {
-					uni.showToast({
-						title: error
-					})
-				})
+		methods: {
+			//上传图片
+			uploadpic() {
+				uni.showLoading({
+					title: "图片上传中",
+					mask: true,
+				})
+				var formData = {
+									"photoName":"signature.png",
+									"photoBase64Data": this.url
+								}
+				// formData.append('photoName', '1.jpg');
+				// formData.append('photoBase64Data', this.url);
+				
+				
+				API_Common.uploadBase64Json(formData).then(response => {
+					//this.suburl=response.data;
+					this.info.status=0;
+					 this.info.signUrl=response.data;
+					//this.$emit("signsubmit",0,this.suburl)
+					this.submitFrom()
+				}).catch(error => {
+					uni.hideLoading()
+					uni.showModal({
+						title:"提示",
+						content:error,
+						showCancel:false
+					})
+				})
+				
+				 
+			},
+			submitFrom(){
+				
+				
+				uni.showLoading({
+					title: "提交中...",
+					mask: true,
+				})
+				
+				//this.info.status=0;
+				
+				//var str=JSON.stringify();
+				API.applyWithdrawByAccounting({
+					
+					record:this.info,
+					detailList:this.detailList
+				
+				}).then((res) => {
+					
+					this.carhelp.set("withdrawRecord",{
+						uuid:this.uuid,
+					})
+					this.id=res.data;
+					uni.hideLoading()
+					uni.redirectTo({
+						url:"/pagesFinance/user/applyResult?value="+this.info.applicationAmount
+					})
+					
+				}).catch(error => {
+					uni.hideLoading()
+					uni.showModal({
+						title:"提示",
+						content:error,
+						showCancel:false
+					})
+				})
+			},
+			getInfo(){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API.getWithdrawInfoByAccounting(this.id).then((res) => {
+					
+					this.info=res.data.record
+				
+					this.detailList=res.data.detailList
+					uni.hideLoading()
+				
+				}).catch(error => {
+					uni.showToast({
+						title: error
+					})
+				})
 			},
 			onClick(type) {
 				this.url =""
@@ -165,10 +165,8 @@
 								uni.showLoading({
 									title: '上传中'
 								});
-								this.token=this.carhelp.getToken({
-									jp_identity:"merchantUser"
-								});
-								this.serverUrl=process.car.BASE_URL;
+								this.token=this.carhelp.getToken();
+								this.serverUrl=process.car.BASE_URL;
 								var time= "";//parseUnixTime(new Date(), '{y}{m}{d}-{h}-{i}');
 
 								uni.request({
@@ -190,11 +188,11 @@
 											uni.showToast({
 												title: '签名保存成功!',
 												duration: 2000
-											});
-											
-											this.info.status=0;
-											 this.info.signUrl=res.data.data;
-											//this.$emit("signsubmit",0,this.suburl)
+											});
+											
+											this.info.status=0;
+											 this.info.signUrl=res.data.data;
+											//this.$emit("signsubmit",0,this.suburl)
 											this.submitFrom()
 										}
 										else{
@@ -204,7 +202,7 @@
 											});
 										}
 									}
-								})
+								})
 							}
 						}
 					})
@@ -217,36 +215,36 @@
 	}
 </script>
 <style lang="scss" scoped>
-.sign{
-		margin: 32rpx 16rpx ;
-		font-weight: bold;
-		line-height: 20px;
-		p{
-			color: rgba(16, 16, 16, 1);
-		}
-		.signature{
-			background-color: #fff;
-			margin-top: 8px;
-			height: 160px;
-			border: #c2c2c2  1px solid;
-		}
-		.clean-save{
-			background-color: #fff;
-			display: flex;
-			.clean,.save{
-				width: 50%;
-				text-align: center;
-				color: #252525;
-				line-height: 40px;
-			}
-			.clean,.save{
-				border:#c2c2c2  1px solid;
-				display: flex;
-				justify-content: center;
-				img{
-					margin-right: 4px;
-				}
-			}
-		}
+.sign{
+		margin: 32rpx 16rpx ;
+		font-weight: bold;
+		line-height: 20px;
+		p{
+			color: rgba(16, 16, 16, 1);
+		}
+		.signature{
+			background-color: #fff;
+			margin-top: 8px;
+			height: 160px;
+			border: #c2c2c2  1px solid;
+		}
+		.clean-save{
+			background-color: #fff;
+			display: flex;
+			.clean,.save{
+				width: 50%;
+				text-align: center;
+				color: #252525;
+				line-height: 40px;
+			}
+			.clean,.save{
+				border:#c2c2c2  1px solid;
+				display: flex;
+				justify-content: center;
+				img{
+					margin-right: 4px;
+				}
+			}
+		}
 	}
-</style>
+</style>

+ 1 - 1
pagesFinance/user/withdrawal/withdrawRecord.vue

@@ -64,7 +64,7 @@
 			}
 		},
 		onLoad(){
-			this.info=this.carhelp.getPersonInfo("merchantUser")
+			this.info=this.carhelp.getPersonInfo()
 			
 		},
 		onReady() {

+ 22 - 52
utils/mixin.js

@@ -1,4 +1,4 @@
-var prefix = 'jp_charging_' + process.car.NODE_ENV + '_';
+var prefix = 'jp_charging_merchantUser_' + process.car.NODE_ENV + '_';
 
 var app = {
 	
@@ -7,73 +7,43 @@ var app = {
 
 	set : (key, value) => uni.setStorageSync(prefix + key, value),
 	remove: key =>  uni.removeStorageSync(prefix + key),
-	getPersonInfoPlus : (jp_identity) => {
-		if(jp_identity){
-			 return uni.getStorageSync(prefix +jp_identity+ '_personInfoPlus')
-		}else{
-			 return uni.getStorageSync(prefix + 'personInfoPlus')
-		}
+	getPersonInfoPlus : () => {
+		
+		return uni.getStorageSync(prefix + 'personInfoPlus')
 		
 	},
-	getPersonInfo : (jp_identity) => {
-		if(jp_identity){
-			
-			 return uni.getStorageSync(prefix +jp_identity+ '_personInfo')
-			
-		}else{
-			 return uni.getStorageSync(prefix + 'personInfo')
-			
-		}
+	getPersonInfo : () => {
+		
+		return uni.getStorageSync(prefix + 'personInfo')
+		
 		
 	},
 	signOut:()=>  uni.removeStorageSync(prefix  + 'personInfo'),
 	getOpenId : () =>   uni.getStorageSync(prefix + 'wx_openId'+process.car.VUE_APP_WXAPPID),
 
 	setOpenId: (value) => uni.setStorageSync(prefix + 'wx_openId'+process.car.VUE_APP_WXAPPID, value),
-	setPersonInfo : (value,jp_identity) =>{
+	setPersonInfo : (value) =>{
+		
+		uni.setStorageSync(prefix + 'personInfo', value)
 		
-		if(jp_identity){
-			uni.setStorageSync(prefix + jp_identity+'_personInfo', value)
-			
-		}else{
-			uni.setStorageSync(prefix + 'personInfo', value)
-			
-		}
 	},
-	setPersonInfoPlus : (value,jp_identity) =>{
+	setPersonInfoPlus : (value) =>{
+		
+		uni.setStorageSync(prefix + 'personInfoPlus', value)
 		
-		if(jp_identity){
-			uni.setStorageSync(prefix + jp_identity+'_personInfoPlus', value)
-			
-		}else{
-			uni.setStorageSync(prefix + 'personInfoPlus', value)
-			
-		}
 	},
 	getToken : (options) => {
 		//不同权限 ,不同token
-		if(options&&options.jp_identity){
-			return uni.getStorageSync(prefix+options.jp_identity+ '_token')
-		}else{
-			return uni.getStorageSync(prefix + 'token')
-			
-		}
+		return uni.getStorageSync(prefix + 'token')
+		
 	},
-	setToken : (value,jp_identity) => {
-		if(jp_identity){
-			uni.setStorageSync(prefix +jp_identity + '_token', value)
-			if(value){
-				var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
-				uni.setStorageSync(prefix + jp_identity+'_token_tdate', tdate)
-			}
-		}else{
-			uni.setStorageSync(prefix + 'token', value)
-			if(value){
-				var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
-				uni.setStorageSync(prefix + 'token_tdate', tdate)
-			}
-		}
+	setToken : (value) => {
 		
+		uni.setStorageSync(prefix + 'token', value)
+		if(value){
+			var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
+			uni.setStorageSync(prefix + 'token_tdate', tdate)
+		}
 		
 	}
 	,

+ 12 - 23
utils/request.js

@@ -7,11 +7,8 @@ const request = (options) => {
 	//记录请求次数和响应次数
 	var tdate=new Date( +new Date() + 8 * 3600 * 1000 ).toJSON().substr(0,15).replace("T"," ")
 	var token_tdate=null//每10分钟存储一次token
-	if(options&&options.jp_identity){
-		token_tdate=carhelp.get(options.jp_identity+"_token_tdate");
-	}else{
-		token_tdate=carhelp.get("token_tdate");
-	}
+ debugger
+	token_tdate=carhelp.get("token_tdate");
 	
 	
 	var token=carhelp.getToken(options);
@@ -31,11 +28,11 @@ const request = (options) => {
 	}
 	
 	return new Promise((resolve, reject) => {
-		 var loginurl="/mobile/regUser/findByOpenId"
+		 //var loginurl="/mobile/regUser/findByOpenId"
+		 
+		 
+		var loginurl="/mobile/merchantUser/findByOpenId"
 		 
-		 if(options&&options.jp_identity){
-		 	 loginurl="/mobile/"+options.jp_identity+"/findByOpenId"
-		 }
 		 
 		uni.request({
 			method:'get',
@@ -56,15 +53,11 @@ const request = (options) => {
 			if (res.data.code == 200&&res.data.result) {
 				
 				var token = res ? res.data.data.token : '';
-				 if(options&&options.jp_identity){
-					 carhelp.setPersonInfo(res.data.data.user ,options.jp_identity );
-					 
-				 }else{
-					 carhelp.setPersonInfo(res.data.data.regUser );
-					 
-				 }
-				 carhelp.setPersonInfoPlus(res.data.data ,options.jp_identity )
-				carhelp.setToken(token,options.jp_identity);
+				
+				carhelp.setPersonInfo(res.data.data.user  );
+				 
+				carhelp.setPersonInfoPlus(res.data.data   )
+				carhelp.setToken(token );
 				
 				options.token=token
 				
@@ -76,10 +69,8 @@ const request = (options) => {
 				
 				var backurl=window.location.href.split("#")[1]
 				//var url="/pages/login/index"
-				if(options&&options.jp_identity){
-					url="/pagesFinance/login/index"
-				}
 				
+				var	url="/pagesFinance/login/index"
 				url+="?message=请登录&back="+ backurl
 				if(options.data.phone){
 					url+="&phone="+options.data.phone
@@ -90,8 +81,6 @@ const request = (options) => {
 					url:url
 				})
 				
-			 
-				
 			}else{
 				reject(res.data.message)
 			}