Browse Source

稳定版本1.0.0

zhengkaixin 4 years ago
parent
commit
12724a9587

+ 3 - 1
apis/index.js

@@ -11,9 +11,11 @@ export function test(data) {
 }
 }
 
 
 //未读信息
 //未读信息
-export function passengerMessageNoReadNum() {
+export function passengerMessageNoReadNum(data) {
+	
 	return request({
 	return request({
 		url: '/mobile/passengerApi/passengerMessageNoReadNum',
 		url: '/mobile/passengerApi/passengerMessageNoReadNum',
+		data:data,
 		method: 'post',
 		method: 'post',
 	})
 	})
 }
 }

+ 2 - 2
components/Common.vue

@@ -54,9 +54,9 @@
 				if(this.login){
 				if(this.login){
 					if (!this.carhelp.getPersonInfo()) {
 					if (!this.carhelp.getPersonInfo()) {
 						var route_path = window.location.href.split("#")[1];
 						var route_path = window.location.href.split("#")[1];
-						this.carhelp.set("back_url",route_path);
+						
 						uni.reLaunch({
 						uni.reLaunch({
-							url: '/pages/car/login?back=true'
+							url: '/pages/car/login'
 						})
 						})
 					}
 					}
 				}
 				}

+ 9 - 0
pages.json

@@ -297,6 +297,15 @@
             }
             }
             
             
         }
         }
+        ,{
+            "path" : "pages/buytickets/home",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
     ],
 	"condition": { //模式配置,仅开发期间生效
 	"condition": { //模式配置,仅开发期间生效
 	        "current": 0, //当前激活的模式(list 的索引项)
 	        "current": 0, //当前激活的模式(list 的索引项)

+ 1 - 1
pages/buytickets/adjust.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
 	<view>
 	<view>
-		<car-common :login="true" mytitle="调整照片" ref="common"></car-common>
+		<car-common   mytitle="调整照片" ref="common"></car-common>
 		
 		
 		<view class="adjust-img">
 		<view class="adjust-img">
 		 
 		 

+ 74 - 11
pages/buytickets/confirm.js

@@ -17,14 +17,13 @@ export default {
 			}
 			}
 		}
 		}
 	},
 	},
-	methods: {
-		confirmBtn() {
-			var route_path = window.location.href.split("#")[1];
-			this.carhelp.set("back_url", route_path);
-			uni.redirectTo({
-				url: '/pages/car/login?back=true'
-			})
+	methods: {
+		gotoHome(){
+			uni.switchTab({
+			    url: '/pages/index/index'
+			});
 		},
 		},
+	
 		submit() {
 		submit() {
 			var obj = this.carhelp.get("form");
 			var obj = this.carhelp.get("form");
 			obj.oplist = []
 			obj.oplist = []
@@ -36,7 +35,7 @@ export default {
 			this.carhelp.set("form", obj);
 			this.carhelp.set("form", obj);
 
 
 			uni.navigateTo({
 			uni.navigateTo({
-				url: '/pages/buytickets/site?id=' + this.id
+				url: '/pages/buytickets/selectSite?id=' + this.id
 			})
 			})
 		},
 		},
 		ckBtn(item) {
 		ckBtn(item) {
@@ -67,6 +66,69 @@ export default {
 				}
 				}
 			}
 			}
 			console.log(this.selectList)
 			console.log(this.selectList)
+		},
+		getPassengerInfo() {
+			
+			
+			var thisform = {
+				id: this.id,
+				openId: this.carhelp.getOpenId()
+			}
+			this.$refs.common.showLoading()
+		
+			API.getPassengerInfo(thisform).then((response) => {
+				if (!response.result) {
+					this.$refs.common.goError(response.message)
+					return
+				}
+				this.passengerInfo = response.data
+				
+				
+		
+				var obj = this.carhelp.get("form");
+				if(!obj){
+					obj={}
+				}
+				obj.list = this.passengerInfo.list;
+				obj.name= 'buytickets';
+				obj.id= this.id;
+				this.carhelp.set("form", obj);
+				
+				if (response.data.supply) {
+					//this.$refs.common.goError(response.message)
+					this.$refs.common.setFnc(()=>{
+						uni.switchTab({
+							url: '/pages/news/index'
+						});
+					},()=>{
+						if (!response.data.id) {
+							uni.redirectTo({
+								url: '/pages/buytickets/index?id=' + this.id+'&back=true'
+							})
+						} else {
+							
+							this.getShiftInfo()
+						}
+					})
+					this.$refs.common.confirm('存在需要补票的订单,是否前去查看?')
+				return;
+				}
+				if (!response.data.id) {
+					uni.redirectTo({
+						url: '/pages/buytickets/index?id=' + this.id+'&back=true'
+					})
+				} else {
+	
+					this.upBusNoTicketList();
+				}
+			}).catch(error => {
+		
+				if (error) {
+					this.$refs.common.goError(error)
+					return
+				}
+				//this.$refs.common.showLoading(false,error)
+			})
 		},
 		},
 		upBusNoTicketList() {
 		upBusNoTicketList() {
 			this.$refs.common.showLoading();
 			this.$refs.common.showLoading();
@@ -133,12 +195,13 @@ export default {
 			});
 			});
 		}
 		}
 
 
-		if (!this.carhelp.getPersonInfo()) {
+		if (false&&!this.carhelp.getPersonInfo()) {
 			this.$refs.common.setFnc(this.confirmBtn)
 			this.$refs.common.setFnc(this.confirmBtn)
 			this.$refs.common.alert2('您还不是车信达用户,注册后再购买车票。', '前往注册', '尚未注册')
 			this.$refs.common.alert2('您还不是车信达用户,注册后再购买车票。', '前往注册', '尚未注册')
 		} else {
 		} else {
-			this.upBusNoTicketList();
-		}
+		}
+			this.getPassengerInfo()
+			
 
 
 
 
 	}
 	}

+ 24 - 5
pages/buytickets/confirm.vue

@@ -1,10 +1,18 @@
 <template>
 <template>
 	<view>
 	<view>
-		<car-common mytitle="确认身份" :noback="noback" ref="common"></car-common>
+		<car-common   ref="common"></car-common>
+		
+		<u-navbar title="确认身份"  :is-back="noback">
+			<view class="slot-wrap"></view>
+			<view class="navbar-right"  @click="gotoHome" v-if="!noback" >
+				<u-icon name="home-fill" color="#999" size="28"></u-icon>
+				<span >前往首页</span>
+			</view>
+		</u-navbar>
 		
 		
 		<view class="confirm">
 		<view class="confirm">
 		
 		
-			<h3 v-if="list.length">确认以下哪张是您的照片?</h3>
+			<h3 v-if="list.length">请选择购票人的照片?</h3>
 			<p v-show="!num">一位乘客仅需选择一张照片</p>
 			<p v-show="!num">一位乘客仅需选择一张照片</p>
 			<p v-show="num">如需为您的同伴购票请同时选中Ta的照片</p>
 			<p v-show="num">如需为您的同伴购票请同时选中Ta的照片</p>
 			<view class="confirm-pic" v-if="list.length">
 			<view class="confirm-pic" v-if="list.length">
@@ -12,9 +20,6 @@
 					<view class="confirm-pic-item "   :class="item.ck?'active':''" @click="ckBtn(item)" >
 					<view class="confirm-pic-item "   :class="item.ck?'active':''" @click="ckBtn(item)" >
 						<img :src="item.imageUrl" alt="">	
 						<img :src="item.imageUrl" alt="">	
 					</view>
 					</view>
-					<view class="confirm-pic-item "   :class="item.ck?'active':''" @click="ckBtn(item)" >
-						<img :src="item.imageUrl" alt="">	
-					</view>
 				</template>	 
 				</template>	 
 			</view>
 			</view>
 		</view>
 		</view>
@@ -42,6 +47,7 @@
 
 
 <style scoped lang="scss">
 <style scoped lang="scss">
 	.confirm{
 	.confirm{
+		margin-top: 20px;
 		.confirm-img{
 		.confirm-img{
 			height: 240px;
 			height: 240px;
 			width: 240px;
 			width: 240px;
@@ -85,6 +91,19 @@
 			margin-top: 10rpx;
 			margin-top: 10rpx;
 		}
 		}
 	}	
 	}	
+	.navbar-right {
+			display: flex;
+			margin-right: 20rpx;
+			span{
+				color:rgb(96, 98, 102);
+				margin-left: 3px;
+			}
+		}
+		.slot-wrap {
+				display: flex;
+				align-items: center;
+				flex: 1;
+			}
 	.confirm-pic{
 	.confirm-pic{
 		display: flex;
 		display: flex;
 		flex-direction: row;
 		flex-direction: row;

+ 340 - 0
pages/buytickets/home.js

@@ -0,0 +1,340 @@
+import * as WxJsApi from '@/utils/wxJsApi.js'
+import * as API from '@/apis/buytickets.js'
+import * as Pay from '@/apis/weixin.js'
+import {
+	wxPayJs
+} from '@/utils/wxpay'
+import Carmap from '@/components/Carmap.vue'
+
+export default {
+	data() {
+		return {
+
+			initBl: false,
+			title: '乘车人',
+			show: false,
+			id: 0, // 使用 marker点击事件 需要填写id
+
+			//地图居中后的位置
+			longitude: 112.276527,
+			latitude: 30.306427,
+			shiftInfo: {
+
+			},
+			list: [{}, {}],
+			//车的位置
+			car: {
+				obj: null,
+				longitude: '',
+				latitude: '',
+			},
+			stationList: [],
+			//个人
+			info: {
+				obj: null,
+				init: false,
+				longitude: '',
+				latitude: '',
+			},
+			myinterval: '',
+			downId: '',
+			downName: '',
+			passengerInfo: {
+				totalAmount: 0,
+				id: '',
+				list: []
+			}
+
+		}
+	},
+	components: {
+		Carmap
+	},
+
+	methods: {
+		gotoHome(){
+			uni.switchTab({
+			    url: '/pages/index/index'
+			});
+		},
+	
+		
+		select(op) {
+			//passengerInfo
+			var obj = this.carhelp.get("form");
+			if (this.passengerInfo.id) {
+				obj.mergeOrderId = this.passengerInfo.id;
+
+			}
+
+			if (op) {
+				obj.op = op;
+				this.carhelp.set("form", obj);
+
+				uni.navigateTo({
+					url: '/pages/buytickets/site?id=' + this.id 
+				})
+			} else {
+				obj.op = null;
+				this.carhelp.set("form", obj);
+				uni.navigateTo({
+					url: '/pages/buytickets/index?id=' + this.id+'&back=true'
+				})
+			}
+
+		},
+
+		submit() {
+			this.$refs.common.showLoading();
+			
+
+			Pay.wxpay(this.passengerInfo.id).then((response) => {
+				if(!response.result){
+					this.$refs.common.showLoading(false, response.message);
+					return
+				}
+				var data = response.data
+				var url = window.location.href.split("#")[0] + "/#/pages/buytickets/success";
+				
+				
+				var obj = {
+					...data,
+					url: url
+				}
+				wxPayJs(obj);
+
+			}).catch(error => {
+				this.$refs.common.showLoading(false, error);
+
+			})
+		},
+		drawing(point, startend) {
+			if (this.$refs.amap) {
+				this.$refs.amap.initMap(point, this.stationList, startend);
+			}
+		},
+		getShiftInfoResponse(response, response2) {
+			this.$refs.common.showLoading();
+
+			var res = response.data
+			this.title = res.routeName;
+			this.shiftInfo = res;
+			this.car.latitude = res.latitude;
+			this.car.longitude = res.longitude;
+			var point = [];
+			res.mapPath.split("|").forEach((item) => {
+				var sz = item.split(",");
+
+				point.push({
+					longitude: sz[0],
+					latitude: sz[1],
+				})
+				if (!process.car.SIMPLE_RUN) {
+					this.longitude = sz[0]
+					this.latitude = sz[1]
+				}
+
+			})
+			var obj = this.carhelp.get("form")
+
+			obj.getShiftInfo = response;
+			obj.getVehicleStationInfo = response2;
+
+			var list = obj.getVehicleStationInfo.data;
+			for (var i in list) {
+				list[i].status = 0;
+			}
+			this.stationList = list
+			obj = this.carhelp.set("form", obj)
+
+			var sz1 = response.data.startStationCoordinate.split("|")
+			var sz2 = response.data.endStationCoordinate.split("|")
+			var startend = [{
+				longitude: sz1[0],
+				latitude: sz1[1],
+				name: response.data.startStation
+			}, {
+				longitude: sz2[0],
+				latitude: sz2[1],
+				name: response.data.endStation
+			}];
+
+			this.drawing(point, startend);
+			//this.$refs.common.showLoading(false);
+			this.getPoint()
+
+		},
+		getShiftInfo() {
+
+			this.$refs.common.showLoading();
+
+			var obj = this.carhelp.get("form")
+			if (false&&obj.getShiftInfo && obj.getVehicleStationInfo) {
+				this.stationList = obj.getVehicleStationInfo.data
+				this.getShiftInfoResponse(obj.getShiftInfo, obj.getVehicleStationInfo);
+				return;
+			}
+
+
+			API.getShiftInfo(this.id).then((response) => {
+				if (!response.result) {
+					this.$refs.common.goError(response.message)
+					return
+				}
+				API.getVehicleStationInfo(this.id).then((response2) => {
+					this.getShiftInfoResponse(response, response2);
+
+				})
+
+			}).catch(error => {
+				this.$refs.common.showLoading(false, error);
+
+			})
+		},
+		getPassengerInfo() {
+			
+			
+			var thisform = {
+				id: this.id,
+				openId: this.carhelp.getOpenId()
+			}
+			this.$refs.common.showLoading()
+
+			API.getPassengerInfo(thisform).then((response) => {
+				if (!response.result) {
+					this.$refs.common.goError(response.message)
+					return
+				}
+				this.passengerInfo = response.data
+				this.carhelp.set("paysucc",{
+						type:"buytickets",
+						id:this.id,
+						list:response.data.list
+					})
+				
+
+				var obj = this.carhelp.get("form");
+				if(!obj){
+					obj={}
+				}
+				obj.list = this.passengerInfo.list;
+				obj.name= 'buytickets';
+				obj.id= this.id;
+				this.carhelp.set("form", obj);
+				this.getShiftInfo()
+				 
+				
+			}).catch(error => {
+
+				if (error) {
+					this.$refs.common.goError(error)
+					return
+				}
+				//this.$refs.common.showLoading(false,error)
+			})
+		},
+		getPoint() {
+
+
+			if (!this.initBl) {
+				this.$refs.common.showLoading();
+			}
+			API.getVehicleInfo(this.id).then((response) => {
+				this.car = response.data;
+				this.$refs.amap.setCar(this.car);
+				var bl = false;
+				for (var i in this.stationList) {
+					var stat = this.stationList[i];
+					stat.status = 0
+					if (bl) {
+						stat.status = 2;
+					}
+					if (stat.id == this.car.currentStationId) {
+						stat.status = 1;
+						bl = true;
+					}
+				}
+				if (!this.initBl) {
+					this.initBl = true
+
+					this.$nextTick(function() {
+						const query = uni.createSelectorQuery().in(this);
+						query.select('.map-now').boundingClientRect(data => {
+							if (data) {
+								document.getElementById('map-route-main').scrollLeft = data
+								.left;
+							}
+							this.$refs.common.showLoading(false);
+						}).exec();
+					});
+				} else {
+					this.$refs.common.showLoading(false);
+				}
+
+
+
+
+			}).catch(error => {
+				this.$refs.common.showLoading(false, error);
+
+			})
+			if (!this.info.init) {
+				WxJsApi.getWxConfig(['getLocation']).then(() => {
+					// this.$refs.common.showLoading(false)
+					this.getLocation()
+				});
+			}else{
+					this.getLocation()
+			}
+		
+			
+
+			var pages = getCurrentPages();
+			var page = (pages[pages.length - 1]).route;
+			if (page == "pages/buytickets/home") {
+				setTimeout(this.getPoint, 10000);
+
+			}
+		},
+		getLocation(){
+			WxJsApi.getLocation().then((res) => {
+				console.log("----getLocation ok-----")
+				var latitude = parseFloat(res.latitude);
+				var longitude = parseFloat(res.longitude);
+			
+				if (!this.info.init) {
+					this.latitude = latitude;
+					this.longitude = longitude;
+				}
+				this.info.init = true
+				this.info.latitude = latitude;
+				this.info.longitude = longitude;
+			
+				this.$refs.amap.setPerson(this.info);
+			
+			}).catch(error => {
+				console.log(error)
+			})
+		}
+
+	},
+	onLoad(op) {
+
+		this.id = op.id
+	},
+	onUnload() {
+		if (this.myinterval) {
+			clearInterval(this.myinterval)
+		}
+	},
+	onReady() {
+		if (false&&!this.carhelp.getPersonInfo()) {
+			this.$refs.common.setFnc(this.confirmBtn)
+			this.$refs.common.alert2('您还不是车信达用户,注册后再购买车票。', '前往注册', '尚未注册')
+		} else{
+		}
+		this.getPassengerInfo()
+			 
+		
+	}
+}

+ 228 - 0
pages/buytickets/home.vue

@@ -0,0 +1,228 @@
+<template>
+	<view>
+		<car-common    ref="common"></car-common>
+			<u-navbar :title="title"  :is-back="false">
+				<view class="slot-wrap"></view>
+				<view class="navbar-right"  @click="gotoHome" >
+					<u-icon name="home-fill" color="#999" size="28"></u-icon>
+					
+ 					<span >前往首页</span>
+				</view>
+			</u-navbar>
+		
+			<carmap ref="amap"></carmap>
+
+			<view class="map-text">
+				<h4>{{shiftInfo.startStation}} → {{shiftInfo.endStation}}</h4>
+				<p>首班:{{shiftInfo.startTime}} 末班:{{shiftInfo.endTime}}</p>
+			</view>
+			<template  v-for="item in passengerInfo.list">
+				<view class="ticket-item" @click="select(item)">
+					<view class="ticket-item-left"  >
+						<view class="ticket-head">
+							<h3>{{item.ticketUpStationName}} - {{item.ticketDownStationName}}</h3>
+						</view>
+						<view class="ticket-text">
+							<view class="ticket-text-row">
+								<p>票种:</p><span>{{item.ticketTypeStr}}</span>
+							</view>
+							<view class="ticket-text-row">
+								<p>货票:</p><span>¥{{item.goodsTicket}}</span>
+							</view>
+						</view>
+					</view>
+					<view class="ticket-item-right">
+						<u-avatar size="mini" :src="item.imageUrl"></u-avatar>
+						<h3>{{item.totalFee}}</h3>
+						<p>票价</p>
+					</view>
+				</view>
+			</template>
+			
+			 
+			<view class="add-btn">
+				<u-button type="primary" plain @click="select()">
+					<u-icon name="man-add-fill" color="#2979ff"  size="32"></u-icon>
+					添加乘车人
+				</u-button>
+			</view>
+			<view class="add-foot">
+				<view class="add-foot-price">
+					<p>合计:</p>
+					<span>¥{{passengerInfo.totalAmount}}</span>
+				</view>
+				<view class="add-foot-btn" @click="submit()" v-if="passengerInfo.list.length">
+					结算
+				</view>
+				<view class=" gray-btn" v-if="!passengerInfo.list.length">
+					结算
+				</view>
+			</view>
+	
+	</view>
+</template>
+
+<script>
+	import api from './home.js'
+	export default api;
+</script>
+
+<style>
+	page {
+		background-color: #f7f7f7;
+	}
+</style>
+<style scoped lang="scss">
+	.map-text {
+		background-color: #fff;
+		padding: 20rpx;
+
+		h4 {
+			font-size: 16px;
+		}
+
+		p {
+			margin-top: 10rpx;
+			color: #999;
+		}
+	}
+.navbar-right {
+		display: flex;
+		margin-right: 20rpx;
+		span{
+			color:rgb(96, 98, 102);
+			margin-left: 3px;
+		}
+	}
+	.ticket-item {
+		background-color: #fff;
+		margin: 20rpx;
+		border-radius: 10px;
+		display: flex;
+		justify-content: space-between;
+
+		.ticket-item-left {
+			padding: 30rpx;
+
+			.ticket-head {
+				display: flex;
+				align-items: center;
+			}
+
+			.ticket-text {
+				margin-top: 20rpx;
+
+				.ticket-text-row {
+					display: flex;
+					align-items: center;
+					margin-bottom: 10rpx;
+
+					&:last-child {
+						margin-bottom: 0;
+					}
+
+					span {
+						color: #007AFF
+					}
+				}
+			}
+		}
+
+		.ticket-item-right {
+			width: 120px;
+			display: flex;
+			flex-direction: column;
+			justify-content: center;
+			align-items: center;
+			border-left: 1px dashed #eee;
+			position: relative;
+			padding: 20rpx;
+
+			&:before {
+				content: '';
+				position: absolute;
+				height: 30rpx;
+				width: 30rpx;
+				background-color: #f7f7f7;
+				border-radius: 50%;
+				left: -15rpx;
+				top: -15rpx;
+			}
+
+			&:after {
+				content: '';
+				position: absolute;
+				height: 30rpx;
+				width: 30rpx;
+				background-color: #f7f7f7;
+				border-radius: 50%;
+				left: -15rpx;
+				bottom: -15rpx;
+			}
+
+			h3 {
+				color: #007AFF;
+				font-size: 24px;
+			}
+		}
+
+	}
+
+	.add-btn {
+		margin: 20rpx;
+		padding-bottom: 60px;
+
+		.u-icon {
+			margin-right: 10rpx;
+		}
+	}
+.slot-wrap {
+		display: flex;
+		align-items: center;
+		flex: 1;
+	}
+	.add-foot {
+		position: fixed;
+		background-color: #fff;
+		z-index: 99;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		height: 90rpx;
+		display: flex;
+		justify-content: space-between;
+
+		.add-foot-price {
+			display: flex;
+			align-items: center;
+			padding-left: 20rpx;
+			font-size: 32rpx;
+			font-weight: bold;
+
+			span {
+				color: #ff6200;
+			}
+		}
+
+		.add-foot-btn {
+			width: 240rpx;
+			background-color: #ff6200;
+			color: #fff;
+			font-size: 32rpx;
+			text-align: center;
+			line-height: 90rpx;
+			
+		}
+		.gray-btn {
+			width: 240rpx;
+			background-color: #bfbfbf;
+			color:#fff;
+			border-color: #bfbfbf;
+		
+			font-size: 32rpx;
+			text-align: center;
+			line-height: 90rpx;
+			
+		}
+	}
+</style>

+ 171 - 336
pages/buytickets/index.js

@@ -1,384 +1,219 @@
-import * as WxJsApi from '@/utils/wxJsApi.js'
 import * as API from '@/apis/buytickets.js'
 import * as API from '@/apis/buytickets.js'
-import * as Pay from '@/apis/weixin.js'
-import {
-	wxPayJs
-} from '@/utils/wxpay'
-import Carmap from '@/components/Carmap.vue'
+
 
 
 export default {
 export default {
 	data() {
 	data() {
-		return {
-
-			initBl: false,
-			title: '乘车人',
-			show: false,
-			id: 0, // 使用 marker点击事件 需要填写id
-
-			//地图居中后的位置
-			longitude: 112.276527,
-			latitude: 30.306427,
-			shiftInfo: {
-
-			},
-			list: [{}, {}],
-			//车的位置
-			car: {
-				obj: null,
-				longitude: '',
-				latitude: '',
-			},
-			stationList: [],
-			//个人
-			info: {
-				obj: null,
-				init: false,
-				longitude: '',
-				latitude: '',
-			},
-			myinterval: '',
-			downId: '',
-			downName: '',
-			passengerInfo: {
-				totalAmount: 0,
-				id: '',
-				list: []
+		return {
+			noback:false,
+			id: '',
+			num: 0,
+			pic: '',
+			list: [],
+			selectList: [],
+			subForm: {
+				pageIndex: 1,
+				pageSize: 20,
+				totalPage: 1
 			}
 			}
-
 		}
 		}
 	},
 	},
-	components: {
-		Carmap
-	},
-
 	methods: {
 	methods: {
-		confirmBtn() {
-			var route_path = window.location.href.split("#")[1];
-			this.carhelp.set("back_url", route_path);
-			uni.redirectTo({
-				url: '/pages/car/login?back=true'
-			})
-		},
-		downBtn(item) {
-			if (item.status == 2) {
-				this.downId = item.id
-				this.downName = item.stationName
-
-			}
-
-		},
-		select(op) {
-			//passengerInfo
-			var obj = this.carhelp.get("form");
-			if (this.passengerInfo.id) {
-				obj.mergeOrderId = this.passengerInfo.id;
-
-			}
-
-			if (op) {
-				obj.op = op;
-				this.carhelp.set("form", obj);
-
-				uni.navigateTo({
-					url: '/pages/buytickets/site?id=' + this.id + '&uid=' + op.id
-				})
-			} else {
-				obj.op = null;
-				this.carhelp.set("form", obj);
-				uni.navigateTo({
-					url: '/pages/buytickets/confirm?id=' + this.id
-				})
-			}
-
+		gotoHome(){
+			uni.switchTab({
+			    url: '/pages/index/index'
+			});
 		},
 		},
-
-		selectSiteBtn() {
-
+		
+		submit() {
 			var obj = this.carhelp.get("form");
 			var obj = this.carhelp.get("form");
-			var upid = obj.oplist[0].upStationId;
-			var downid = this.downId;
-
-			this.$refs.common.showLoading();
-
-			var thisform = {
-				ticketUpStationId: upid,
-				ticketDownStationId: downid,
-				ticketDownStationName: this.downName,
-				price1: 0,
-				price2: 0
+			obj.oplist = []
+			for (var i in this.list) {
+				if (this.list[i].ck) {
+					obj.oplist.push(this.list[i]);
+				}
 			}
 			}
-			thisform.ticketType = 1;
-
-			API.ticketAmount(thisform).then((response) => {
-				thisform.price1 = response.data.price
-				thisform.ticketType = 2;
-				API.ticketAmount(thisform).then((response2) => {
-					thisform.price2 = response2.data.price
-					obj.ticket = thisform;
-					this.carhelp.set("form", obj);
-					//uni.navigateBack()
-					uni.navigateTo({
-						url: '/pages/buytickets/site?id=' + this.id
-					})
-				})
-
-
-			}).catch(error => {
-				this.$refs.common.showLoading(false, error);
+			this.carhelp.set("form", obj);
 
 
+			uni.navigateTo({
+				url: '/pages/buytickets/selectSite?id=' + this.id
 			})
 			})
-
 		},
 		},
-		submit() {
-			this.$refs.common.showLoading();
-
-
-			Pay.wxpay(this.passengerInfo.id).then((response) => {
-				if(!response.result){
-					this.$refs.common.showLoading(false, response.message);
-					return
-				}
-				var data = response.data
-				var url = window.location.href.split("#")[0] + "/#/pages/buytickets/success";
-
-				var obj = {
-					...data,
-					url: url
+		ckBtn(item) {
+			item.ck = !item.ck;
+
+			if (item.ck) {
+				var bl=true
+				for (var i = 0; i < this.selectList.length; i++) {
+					if (this.selectList[i].upStationId != item.upStationId) {
+						bl=false;
+					
+					}
+					break;
+				}
+				if(!bl){
+					item.ck = !item.ck;
+					this.$refs.common.alert("所选乘客上车站点不一致,请重新选择。");
+					return;
 				}
 				}
-				wxPayJs(obj);
-
-			}).catch(error => {
-				this.$refs.common.showLoading(false, error);
-
-			})
-		},
-		drawing(point, startend) {
-			if (this.$refs.amap) {
-				this.$refs.amap.initMap(point, this.stationList, startend);
-			}
-		},
-		getShiftInfoResponse(response, response2) {
-			this.$refs.common.showLoading();
-
-			var res = response.data
-			this.title = res.routeName;
-			this.shiftInfo = res;
-			this.car.latitude = res.latitude;
-			this.car.longitude = res.longitude;
-			var point = [];
-			res.mapPath.split("|").forEach((item) => {
-				var sz = item.split(",");
-
-				point.push({
-					longitude: sz[0],
-					latitude: sz[1],
-				})
-				if (!process.car.SIMPLE_RUN) {
-					this.longitude = sz[0]
-					this.latitude = sz[1]
+				this.num++;
+				this.selectList.push(item);
+			} else {
+				this.num--;
+				for (var i = 0; i < this.selectList.length; i++) {
+					if (this.selectList[i].id == item.id) {
+						this.selectList.splice(i, 1);
+					}
 				}
 				}
-
-			})
-			var obj = this.carhelp.get("form")
-
-			obj.getShiftInfo = response;
-			obj.getVehicleStationInfo = response2;
-
-			var list = obj.getVehicleStationInfo.data;
-			for (var i in list) {
-				list[i].status = 0;
-			}
-			this.stationList = list
-			obj = this.carhelp.set("form", obj)
-
-			var sz1 = response.data.startStationCoordinate.split("|")
-			var sz2 = response.data.endStationCoordinate.split("|")
-			var startend = [{
-				longitude: sz1[0],
-				latitude: sz1[1],
-				name: response.data.startStation
-			}, {
-				longitude: sz2[0],
-				latitude: sz2[1],
-				name: response.data.endStation
-			}];
-
-			this.drawing(point, startend);
-			//this.$refs.common.showLoading(false);
-			this.getPoint()
-
-		},
-		getShiftInfo() {
-
-			this.$refs.common.showLoading();
-
-			var obj = this.carhelp.get("form")
-			if (false&&obj.getShiftInfo && obj.getVehicleStationInfo) {
-				this.stationList = obj.getVehicleStationInfo.data
-				this.getShiftInfoResponse(obj.getShiftInfo, obj.getVehicleStationInfo);
-				return;
 			}
 			}
-
-
-			API.getShiftInfo(this.id).then((response) => {
-				if (!response.result) {
-					this.$refs.common.goError(response.message)
-					return
-				}
-				API.getVehicleStationInfo(this.id).then((response2) => {
-					this.getShiftInfoResponse(response, response2);
-
-				})
-
-			}).catch(error => {
-				this.$refs.common.showLoading(false, error);
-
-			})
-		},
+			console.log(this.selectList)
+		},
 		getPassengerInfo() {
 		getPassengerInfo() {
 			
 			
-			
-			var thisform = {
-				id: this.id,
-				openId: this.carhelp.getOpenId()
-			}
-			this.$refs.common.showLoading()
-
-			API.getPassengerInfo(thisform).then((response) => {
-				if (!response.result) {
-					this.$refs.common.goError(response.message)
-					return
-				}
-				this.passengerInfo = response.data
-
-
+			
+			var thisform = {
+				id: this.id,
+				openId: this.carhelp.getOpenId()
+			}
+			this.$refs.common.showLoading()
+		
+			API.getPassengerInfo(thisform).then((response) => {
+				if (!response.result) {
+					this.$refs.common.goError(response.message)
+					return
+				}
+				this.passengerInfo = response.data
+				
+				
+		
 				var obj = this.carhelp.get("form");
 				var obj = this.carhelp.get("form");
 				if(!obj){
 				if(!obj){
 					obj={}
 					obj={}
-				}
+				}
 				obj.list = this.passengerInfo.list;
 				obj.list = this.passengerInfo.list;
 				obj.name= 'buytickets';
 				obj.name= 'buytickets';
-				obj.id= this.id;
-				this.carhelp.set("form", obj);
-
-				if (!response.data.id) {
-					uni.redirectTo({
-						url: '/pages/buytickets/confirm?id=' + this.id+'&back=true'
-					})
-				} else {
+				obj.id= this.id;
+				this.carhelp.set("form", obj);
 				
 				
-					this.getShiftInfo()
-				}
-			}).catch(error => {
-
-				if (error) {
-					this.$refs.common.goError(error)
-					return
-				}
-				//this.$refs.common.showLoading(false,error)
-			})
+				if (response.data.supply) {
+					this.$refs.common.alert('存在需要补票的订单。')
+					
+					uni.switchTab({
+						url: '/pages/news/index'
+					});
+					return;
+					//this.$refs.common.goError(response.message)
+					this.$refs.common.setFnc(()=>{
+						uni.switchTab({
+							url: '/pages/news/index'
+						});
+					},()=>{
+						if (!response.data.id) {
+							uni.redirectTo({
+								url: '/pages/buytickets/index?id=' + this.id+'&back=true'
+							})
+						} else {
+							
+							this.getShiftInfo()
+						}
+					})
+					this.$refs.common.confirm('存在需要补票的订单,是否前去查看?')
+				return;
+				}
+				if (response.data.id) {
+					uni.redirectTo({
+						url: '/pages/buytickets/home?id=' + this.id
+					})
+				} else {
+					this.upBusNoTicketList(true);
+					//this.getShiftInfo()
+				}
+			}).catch(error => {
+		
+				if (error) {
+					this.$refs.common.goError(error)
+					return
+				}
+				//this.$refs.common.showLoading(false,error)
+			})
 		},
 		},
-		getPoint() {
-
+		upBusNoTicketList(bl) {
+			
+			this.$refs.common.showLoading();
+			this.subForm.id = this.id;
+			var obj = this.carhelp.get("form")
+			this.list = [];
+			API.upBusNoTicketList(this.subForm).then((res) => {
 
 
-			if (!this.initBl) {
-				this.$refs.common.showLoading();
-			}
-			API.getVehicleInfo(this.id).then((response) => {
-				this.car = response.data;
-				this.$refs.amap.setCar(this.car);
-				var bl = false;
-				for (var i in this.stationList) {
-					var stat = this.stationList[i];
-					stat.status = 0
-					if (bl) {
-						stat.status = 2;
+				var list = res.data.data;
+				if(!list.length){
+					this.$refs.common.alert2("无照片,请上车刷脸或联系司机");
+					return;
+				}
+				
+				for (var i in list) {
+					list[i].show = true;
+					list[i].ck = false;
+					for (var j in obj.list) {
+						if (obj.list[j].id == list[i].id) {
+							list[i].show = false;
+							break;
+						}
 					}
 					}
-					if (stat.id == this.car.currentStationId) {
-						stat.status = 1;
-						bl = true;
+					if (list[i].show) {
+						this.list.push(list[i]);
 					}
 					}
-				}
-				if (!this.initBl) {
-					this.initBl = true
-
-					this.$nextTick(function() {
-						const query = uni.createSelectorQuery().in(this);
-						query.select('.map-now').boundingClientRect(data => {
-							if (data) {
-								document.getElementById('map-route-main').scrollLeft = data
-								.left;
-							}
-							this.$refs.common.showLoading(false);
-						}).exec();
-					});
+				}
+				this.selectList=[];//清空选中
+				if (this.list.length != 0&&!bl) {
+					this.$refs.common.showLoading(false, "刷新成功");
 				} else {
 				} else {
 					this.$refs.common.showLoading(false);
 					this.$refs.common.showLoading(false);
 				}
 				}
 
 
 
 
 
 
-
 			}).catch(error => {
 			}).catch(error => {
 				this.$refs.common.showLoading(false, error);
 				this.$refs.common.showLoading(false, error);
 
 
-			})
-			if (!this.info.init) {
-				WxJsApi.getWxConfig(['getLocation']).then(() => {
-					// this.$refs.common.showLoading(false)
-					this.getLocation()
-				});
-			}else{
-					this.getLocation()
-			}
-		
-			
-
-			var pages = getCurrentPages();
-			var page = (pages[pages.length - 1]).route;
-			if (page == "pages/buytickets/index") {
-				setTimeout(this.getPoint, 10000);
-
-			}
-		},
-		getLocation(){
-			WxJsApi.getLocation().then((res) => {
-				console.log("----getLocation ok-----")
-				var latitude = parseFloat(res.latitude);
-				var longitude = parseFloat(res.longitude);
-			
-				if (!this.info.init) {
-					this.latitude = latitude;
-					this.longitude = longitude;
-				}
-				this.info.init = true
-				this.info.latitude = latitude;
-				this.info.longitude = longitude;
-			
-				this.$refs.amap.setPerson(this.info);
-			
-			}).catch(error => {
-				console.log(error)
-			})
+			})
 		}
 		}
-
 	},
 	},
-	onLoad(op) {
-
+	onLoad(op) {
+		if(op.back){
+			this.noback=op.back
+		}
 		this.id = op.id
 		this.id = op.id
 	},
 	},
-	onUnload() {
-		if (this.myinterval) {
-			clearInterval(this.myinterval)
+	onReady() {
+
+		if (!this.id) {
+			this.$refs.common.goError()
 		}
 		}
-	},
-	onReady() {
-		if (!this.carhelp.getPersonInfo()) {
-			this.$refs.common.setFnc(this.confirmBtn)
-			this.$refs.common.alert2('您还不是车信达用户,注册后再购买车票。', '前往注册', '尚未注册')
-		} else{
+		var obj = this.carhelp.get("form")
+
+		if (obj && obj.name == 'buytickets' && obj.id == this.id) {
+			//不创建新订单
+		} else {
+			this.carhelp.set("form", {
+				name: 'buytickets',
+				id: this.id,
+				oplist: [], //当前添加的2人
+				list: [] // 一共添加的人 
+			});
+		}
+
+		if (false&&!this.carhelp.getPersonInfo()) {
+			this.$refs.common.setFnc(this.confirmBtn)
+			this.$refs.common.alert2('您还不是车信达用户,注册后再购买车票。', '前往注册', '尚未注册')
+		} else {
+		}
+		if (this.noback) {
+			 this.upBusNoTicketList(true);
+		} else {
 			this.getPassengerInfo()
 			this.getPassengerInfo()
 		}
 		}
+			//this.upBusNoTicketList();
 		
 		
+
 	}
 	}
 }
 }

+ 150 - 205
pages/buytickets/index.vue

@@ -1,210 +1,155 @@
-<template>
-	<view>
-		<car-common  :mytitle="title" :noback="false" ref="common"></car-common>
-
-		
-			<carmap ref="amap"></carmap>
-
-			<view class="map-text">
-				<h4>{{shiftInfo.startStation}} → {{shiftInfo.endStation}}</h4>
-				<p>首班:{{shiftInfo.startTime}} 末班:{{shiftInfo.endTime}}</p>
+<template>
+	<view>
+		<car-common   ref="common"></car-common>
+		
+		<u-navbar title="确认身份"  :is-back="noback">
+			<view class="slot-wrap"></view>
+			<view class="navbar-right"  @click="gotoHome" v-if="!noback" >
+				<u-icon name="home-fill" color="#999" size="28"></u-icon>
+				<span >前往首页</span>
 			</view>
 			</view>
-			<template  v-for="item in passengerInfo.list">
-				<view class="ticket-item" @click="select(item)">
-					<view class="ticket-item-left"  >
-						<view class="ticket-head">
-							<h3>{{item.ticketUpStationName}} - {{item.ticketDownStationName}}</h3>
-						</view>
-						<view class="ticket-text">
-							<view class="ticket-text-row">
-								<p>票种:</p><span>{{item.ticketTypeStr}}</span>
-							</view>
-							<view class="ticket-text-row">
-								<p>货票:</p><span>¥{{item.goodsTicket}}</span>
-							</view>
-						</view>
-					</view>
-					<view class="ticket-item-right">
-						<u-avatar size="mini" :src="item.imageUrl"></u-avatar>
-						<h3>{{item.totalFee}}</h3>
-						<p>票价</p>
+		</u-navbar>
+		
+		<view class="confirm">
+		
+			<h3 v-if="list.length">请选择购票人的照片?</h3>
+			<p v-show="!num">一位乘客仅需选择一张照片</p>
+			<p v-show="num">如需为您的同伴购票请同时选中Ta的照片</p>
+			<view class="confirm-pic" v-if="list.length">
+				<template v-for="item in list">
+					<view class="confirm-pic-item "   :class="item.ck?'active':''" @click="ckBtn(item)" >
+						<img :src="item.imageUrl" alt="">	
 					</view>
 					</view>
-				</view>
-			</template>
-			
-			 
-			<view class="add-btn">
-				<u-button type="primary" plain @click="select()">
-					<u-icon name="man-add-fill" color="#2979ff"  size="32"></u-icon>
-					添加乘车人
-				</u-button>
-			</view>
-			<view class="add-foot">
-				<view class="add-foot-price">
-					<p>合计:</p>
-					<span>¥{{passengerInfo.totalAmount}}</span>
-				</view>
-				<view class="add-foot-btn" @click="submit()" v-if="passengerInfo.list.length">
-					结算
-				</view>
-				<view class=" gray-btn" v-if="!passengerInfo.list.length">
-					结算
-				</view>
-			</view>
-	
-	</view>
-</template>
-
-<script>
-	import api from './index.js'
-	export default api;
-</script>
-
-<style>
-	page {
-		background-color: #f7f7f7;
-	}
-</style>
-<style scoped lang="scss">
-	.map-text {
-		background-color: #fff;
-		padding: 20rpx;
-
-		h4 {
-			font-size: 16px;
-		}
-
-		p {
-			margin-top: 10rpx;
-			color: #999;
-		}
-	}
-
-	.ticket-item {
-		background-color: #fff;
-		margin: 20rpx;
-		border-radius: 10px;
-		display: flex;
-		justify-content: space-between;
-
-		.ticket-item-left {
-			padding: 30rpx;
-
-			.ticket-head {
-				display: flex;
-				align-items: center;
-			}
-
-			.ticket-text {
-				margin-top: 20rpx;
-
-				.ticket-text-row {
-					display: flex;
-					align-items: center;
-					margin-bottom: 10rpx;
-
-					&:last-child {
-						margin-bottom: 0;
-					}
-
-					span {
-						color: #007AFF
-					}
-				}
-			}
-		}
-
-		.ticket-item-right {
-			width: 120px;
-			display: flex;
-			flex-direction: column;
-			justify-content: center;
-			align-items: center;
-			border-left: 1px dashed #eee;
-			position: relative;
-			padding: 20rpx;
-
-			&:before {
-				content: '';
-				position: absolute;
-				height: 30rpx;
-				width: 30rpx;
-				background-color: #f7f7f7;
-				border-radius: 50%;
-				left: -15rpx;
-				top: -15rpx;
-			}
-
-			&:after {
-				content: '';
-				position: absolute;
-				height: 30rpx;
-				width: 30rpx;
-				background-color: #f7f7f7;
-				border-radius: 50%;
-				left: -15rpx;
-				bottom: -15rpx;
-			}
-
-			h3 {
-				color: #007AFF;
-				font-size: 24px;
-			}
-		}
-
-	}
-
-	.add-btn {
-		margin: 20rpx;
-		padding-bottom: 60px;
-
-		.u-icon {
-			margin-right: 10rpx;
-		}
-	}
-
-	.add-foot {
-		position: fixed;
-		background-color: #fff;
-		z-index: 99;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		height: 90rpx;
-		display: flex;
-		justify-content: space-between;
-
-		.add-foot-price {
-			display: flex;
-			align-items: center;
-			padding-left: 20rpx;
-			font-size: 32rpx;
-			font-weight: bold;
-
-			span {
-				color: #ff6200;
-			}
-		}
-
-		.add-foot-btn {
-			width: 240rpx;
-			background-color: #ff6200;
-			color: #fff;
-			font-size: 32rpx;
-			text-align: center;
-			line-height: 90rpx;
-			
+				</template>	 
+			</view>
+		</view>
+		 
+		<view class="upload-button" >
+			<view class="reset-btn" @click="upBusNoTicketList(false)">
+				<u-icon name="shuaxin" custom-prefix="custom-icon" color="#2979ff" size="36"></u-icon>
+			</view>
+			
+			<view class="submit-btn" v-show="num">
+				<u-button type="primary" shape="circle" @click="submit">确定</u-button>
+			</view>
+			
+			<view class="submit-btn" v-show="!num">
+				<u-button class="gray-btn" type="default" shape="circle" >请选择</u-button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import api from './index.js'
+	export default api;
+</script>
+
+<style scoped lang="scss">
+	.confirm{
+		margin-top: 20px;
+		.confirm-img{
+			height: 240px;
+			width: 240px;
+			border-radius: 50%;
+			overflow: hidden;
+			border:4px solid #1677ff;
+			img{
+				height: 100%;
+				width: 100%;
+			}
 		}
 		}
-		.gray-btn {
-			width: 240rpx;
-			background-color: #bfbfbf;
-			color:#fff;
-			border-color: #bfbfbf;
-		
-			font-size: 32rpx;
+		.confirm-img-border{
+			border: 2px solid #fff;
+			height: 244px;
+			width: 244px;
+			border-radius: 50%;
+		}
+		.confirm-img-border2{
+			border: 2px solid #7fb4ff;
+			height: 248px;
+			width: 248px;
+			border-radius: 50%;		
+			margin: 50px auto 20px;
+		}
+		.confirm-img-border3{
+			border: 2px solid #ffb8b8;
+			height: 248px;
+			width: 248px;
+			border-radius: 50%;		
+			margin: 50px auto 20px;
+			.confirm-img{
+				border-color:#ff6666;
+			}
+		}
+		h3{
 			text-align: center;
 			text-align: center;
-			line-height: 90rpx;
-			
-		}
-	}
+			font-size: 18px;
+		}
+		p{
+			color:#999;text-align: center;
+			margin-top: 10rpx;
+		}
+	}	
+	.navbar-right {
+			display: flex;
+			margin-right: 20rpx;
+			span{
+				color:rgb(96, 98, 102);
+				margin-left: 3px;
+			}
+		}
+		.slot-wrap {
+				display: flex;
+				align-items: center;
+				flex: 1;
+			}
+	.confirm-pic{
+		display: flex;
+		flex-direction: row;
+		flex-wrap: wrap;
+		padding: 20px;
+		margin-bottom: 30px;
+		.confirm-pic-item{
+			height:80px;
+			width: 80px;
+			border-radius: 50%;
+			overflow: hidden;
+			border: 3px solid #fff;
+			margin-bottom: 10px;
+			margin-right: 3px;
+			&.active{
+				border: 3px solid #1677ff;
+			}
+			img{
+				height: 100%;
+				width: 100%;
+			}
+		}
+	}
+	
+	.upload-button{
+		position: fixed;
+		left: 30rpx;
+		bottom:30rpx;
+		right: 30rpx;
+		display: flex;
+		.reset-btn{
+			height: 40px;
+			width: 40px;
+			border-radius: 50%;
+			text-align: center;
+			line-height: 40px;
+			border: 1px solid #eee;
+			margin-right: 10px;
+		}
+		.submit-btn{
+			flex: 1;
+			.gray-btn{
+				background-color: #bfbfbf;
+				color:#fff;
+				border-color: #bfbfbf;
+			}
+		}
+	}
 </style>
 </style>

+ 36 - 20
pages/buytickets/selectSite.js

@@ -14,7 +14,8 @@ export default {
 
 
 			//地图居中后的位置
 			//地图居中后的位置
 			longitude: 112.276527,
 			longitude: 112.276527,
-			latitude: 30.306427,
+			latitude: 30.306427,
+			upid:'',
 			shiftInfo: {
 			shiftInfo: {
 
 
 			},
 			},
@@ -49,7 +50,13 @@ export default {
 	},
 	},
 
 
 	methods: {
 	methods: {
-		downBtn(item) {
+		downBtn(item) {
+			
+			if (!this.look&&item.id==this.car.currentStationId&&this.upid!=item.id) {
+				this.downId = item.id
+				this.downName = item.stationName
+				this.$refs.amap.setDown(item);
+			}
 			if (!this.look&&item.status != 0) {
 			if (!this.look&&item.status != 0) {
 				this.downId = item.id
 				this.downId = item.id
 				this.downName = item.stationName
 				this.downName = item.stationName
@@ -96,7 +103,7 @@ export default {
 					
 					
 					this.carhelp.set("form",obj);
 					this.carhelp.set("form",obj);
 					//uni.navigateBack()
 					//uni.navigateBack()
-					uni.redirectTo({
+					uni.navigateTo({
 						url: '/pages/buytickets/site?id='+this.id
 						url: '/pages/buytickets/site?id='+this.id
 					})
 					})
 				})
 				})
@@ -108,11 +115,7 @@ export default {
 			})
 			})
 			
 			
 		},
 		},
-		submit() {
-			this.$refs.common.setFnc(this.confirmBtn)
-			this.$refs.common.alert2('您还不是车信达用户,注册后再购买车票。', '前往注册', '尚未注册')
-
-		},
+	
 		drawing(point, startend) {
 		drawing(point, startend) {
 			if(this.$refs.amap){
 			if(this.$refs.amap){
 				this.$refs.amap.initMap(point, this.stationList, startend);
 				this.$refs.amap.initMap(point, this.stationList, startend);
@@ -205,15 +208,22 @@ export default {
 			API.getVehicleInfo(this.id).then((response) => {
 			API.getVehicleInfo(this.id).then((response) => {
 				this.car = response.data;
 				this.car = response.data;
 				this.$refs.amap.setCar(this.car);
 				this.$refs.amap.setCar(this.car);
-				var bl = false;
+				var bl = false;
+				var bl2 = false;
 				for (var i in this.stationList) {
 				for (var i in this.stationList) {
 					var stat = this.stationList[i];
 					var stat = this.stationList[i];
-					stat.status = 0
-					if (bl) {
-						stat.status = 2;
+					stat.status = 0
+					if (bl2) {
+						stat.status = 2;	
 					}
 					}
+					if (bl) {
+						stat.status = 1;
+						bl = false;
+						bl2 = true;
+					}
+				
 					if (stat.id == this.car.currentStationId) {
 					if (stat.id == this.car.currentStationId) {
-						stat.status = 1;
+						//stat.status = 1;
 						bl = true;
 						bl = true;
 					}
 					}
 				}
 				}
@@ -224,7 +234,7 @@ export default {
 						const query = uni.createSelectorQuery().in(this);
 						const query = uni.createSelectorQuery().in(this);
 						query.select('.map-now').boundingClientRect(data => {
 						query.select('.map-now').boundingClientRect(data => {
 							if(data){
 							if(data){
-								document.getElementById('map-route-main').scrollLeft = data.left;
+								document.getElementById('map-route-main').scrollLeft = data.left-20;
 							}
 							}
 							this.$refs.common.showLoading(false);
 							this.$refs.common.showLoading(false);
 						}).exec();
 						}).exec();
@@ -275,13 +285,19 @@ export default {
 		var obj=this.carhelp.get("form");
 		var obj=this.carhelp.get("form");
 		if(obj && obj.name != 'buytickets'){
 		if(obj && obj.name != 'buytickets'){
 			this.look=true;// 只读界面
 			this.look=true;// 只读界面
-		}
-		
-		if(obj.op){
+		}else{
+			if(obj.op){
+				this.upid=obj.op.ticketUpStationId;
+			}else{
+				this.upid=obj.oplist[0].upStationId;	
+			}
 			
 			
-			this.downId= obj.op.ticketDownStationId;
-			this.downName=obj.op.ticketDownStationName;
-		}
+			if(obj.op){
+				this.downId= obj.op.ticketDownStationId;
+				this.downName=obj.op.ticketDownStationName;
+			}
+		}
+		
 	},
 	},
 	onUnload() {
 	onUnload() {
 		if (this.myinterval) {
 		if (this.myinterval) {

+ 32 - 2
pages/buytickets/selectSite.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
 	<view>
 	<view>
-		<car-common :login="true" :mytitle="title" ref="common"></car-common>
+		<car-common   :mytitle="title" ref="common"></car-common>
 		<carmap ref="amap"></carmap>
 		<carmap ref="amap"></carmap>
 
 
 		<view class="map-info">
 		<view class="map-info">
@@ -22,7 +22,15 @@
 		
 		
 				<template v-for="item,i in stationList">
 				<template v-for="item,i in stationList">
 					<view :id="item.status==1?'map-now':''" class="scroll-view-item" :class="{'map-route-origin':i==0,'map-route-item':i!=0,'map-after':item.status==0,
 					<view :id="item.status==1?'map-now':''" class="scroll-view-item" :class="{'map-route-origin':i==0,'map-route-item':i!=0,'map-after':item.status==0,
-						'map-now':item.status==1,'map-geton':downId==item.id}" @click="downBtn(item)">
+						'map-now':item.status==1,'map-geton1':downId==item.id,'map-geton':upid==item.id}" @click="downBtn(item)">
+						
+						<view class="map-geton-mark" v-show="i==0&&upid==item.id">
+							<img src="static/img/up.png" alt="" style="  width: 30px;" >
+						</view>
+						
+						<view class="map-geton-mark" v-show="i!=0&&upid==item.id">
+							<img src="static/img/up.png" alt=""  >
+						</view>
 						
 						
 						<view class="map-geton-mark" v-show="downId==item.id">
 						<view class="map-geton-mark" v-show="downId==item.id">
 							<img src="static/img/down.png" alt="">
 							<img src="static/img/down.png" alt="">
@@ -309,7 +317,29 @@
 			color: #25ad3b
 			color: #25ad3b
 		}
 		}
 	}
 	}
+.map-route-item.map-geton1 {
+		.map-geton-mark {
+			width: 20px;
+			height: 20px;
+			right: 0;
+			position: absolute;
+			right: -4px;
+			top: 5px;
 
 
+			img {
+				height: 100%;
+				width: 100%;
+			}
+		}
+
+		.map-route-circle {
+			border: 3px solid #25ad3b;
+		}
+
+		.map-route-name {
+			color: #25ad3b
+		}
+	}
 	.add-foot {
 	.add-foot {
 		position: fixed;
 		position: fixed;
 		background-color: #fff;
 		background-color: #fff;

+ 54 - 20
pages/buytickets/site.js

@@ -1,5 +1,8 @@
 import * as API from '@/apis/buytickets.js'
 import * as API from '@/apis/buytickets.js'
-
+import * as Pay from '@/apis/weixin.js'
+import {
+	wxPayJs
+} from '@/utils/wxpay'
  export default {
  export default {
  	data() {
  	data() {
  		return {
  		return {
@@ -7,8 +10,10 @@ import * as API from '@/apis/buytickets.js'
  			uid: '', //用户id ,有id是修改
  			uid: '', //用户id ,有id是修改
  			id: '', //车id
  			id: '', //车id
  			type: 2,
  			type: 2,
- 			pnum: 0,
-			personNum:0,
+ 			pnum: 0,
+			pic:'',
+			personNum:0,
+			buy:false,
  			up: {
  			up: {
  				name: '',
  				name: '',
  				id: ''
  				id: ''
@@ -60,7 +65,7 @@ import * as API from '@/apis/buytickets.js'
 				obj = this.carhelp.set("form", obj)
 				obj = this.carhelp.set("form", obj)
 				this.$refs.common.alert( "操作成功",()=>{
 				this.$refs.common.alert( "操作成功",()=>{
 					uni.redirectTo({
 					uni.redirectTo({
-						url: '/pages/buytickets/index?id=' + this.id 
+						url: '/pages/buytickets/home?id=' + this.id 
 					})
 					})
 				});
 				});
 				
 				
@@ -81,7 +86,30 @@ import * as API from '@/apis/buytickets.js'
  			uni.navigateTo({
  			uni.navigateTo({
  				url: '/pages/buytickets/selectSite?id=' + this.id
  				url: '/pages/buytickets/selectSite?id=' + this.id
  			})
  			})
- 		},
+ 		},
+		submit(id) {
+			this.$refs.common.showLoading();
+		
+		
+			Pay.wxpay(id).then((response) => {
+				if(!response.result){
+					this.$refs.common.showLoading(false, response.message);
+					return
+				}
+				var data = response.data
+				var url = window.location.href.split("#")[0] + "/#/pages/buytickets/success";
+				
+				var obj = {
+					...data,
+					url: url
+				}
+				wxPayJs(obj);
+		
+			}).catch(error => {
+				this.$refs.common.showLoading(false, error);
+		
+			})
+		},
  		clickBtn() {
  		clickBtn() {
  			var obj = this.carhelp.get("form")
  			var obj = this.carhelp.get("form")
  			//obj.op = this.op;
  			//obj.op = this.op;
@@ -108,8 +136,9 @@ import * as API from '@/apis/buytickets.js'
 					obj.oplist=[];
 					obj.oplist=[];
 					obj.ticket=null;
 					obj.ticket=null;
 					obj = this.carhelp.set("form", obj)
 					obj = this.carhelp.set("form", obj)
+					
 					uni.reLaunch({
 					uni.reLaunch({
-						url: '/pages/buytickets/index?id=' + this.id 
+						url: '/pages/buytickets/home?id=' + this.id 
 					})
 					})
 					console.log(response)
 					console.log(response)
 				}).catch(error => {
 				}).catch(error => {
@@ -118,12 +147,22 @@ import * as API from '@/apis/buytickets.js'
 				})
 				})
 			}else{
 			}else{
 				API.createPassengerOrder(thisform).then((response) => {
 				API.createPassengerOrder(thisform).then((response) => {
-					obj.oplist=[];
-					obj.ticket=null;
-					obj = this.carhelp.set("form", obj)
-					uni.reLaunch({
-						url: '/pages/buytickets/index?id=' + this.id 
-					})
+					this.carhelp.set("paysucc",{
+							type:"buytickets",
+							id:this.id,
+							list:response.data.MergeOrderDTO.passengerRecordDTOList
+						})
+					if(this.buy){
+						this.submit(response.data.MergeOrderDTO.id);
+					}else{
+						obj.oplist=[];
+						obj.ticket=null;
+						obj = this.carhelp.set("form", obj)
+						uni.reLaunch({
+							url: '/pages/buytickets/home?id=' + this.id 
+						})
+					}
+					
 					console.log(response)
 					console.log(response)
 				}).catch(error => {
 				}).catch(error => {
 					this.$refs.common.showLoading(false, error);
 					this.$refs.common.showLoading(false, error);
@@ -132,13 +171,7 @@ import * as API from '@/apis/buytickets.js'
 			}
 			}
 			
 			
  		},
  		},
- 		confirmBtn() {
- 			var route_path = window.location.href.split("#")[1];
- 			this.carhelp.set("back_url", route_path);
- 			uni.redirectTo({
- 				url: '/pages/car/login?back=true'
- 			})
- 		},
+ 		
  	 
  	 
  		underLineChange(index) {
  		underLineChange(index) {
  			this.underLine = index;
  			this.underLine = index;
@@ -189,6 +222,7 @@ import * as API from '@/apis/buytickets.js'
  	onLoad(op) {
  	onLoad(op) {
  		this.id = op.id;
  		this.id = op.id;
  		var obj = this.carhelp.get("form");
  		var obj = this.carhelp.get("form");
+		this.buy=obj.buy;
 		this.oplist=obj.oplist;
 		this.oplist=obj.oplist;
 		if(obj.op ){
 		if(obj.op ){
 			this.uid = obj.op.id;
 			this.uid = obj.op.id;
@@ -199,7 +233,7 @@ import * as API from '@/apis/buytickets.js'
 			this.down.name = obj.op.ticketDownStationName;
 			this.down.name = obj.op.ticketDownStationName;
 			this.underLine=(obj.op.ticketType==2?1:0);
 			this.underLine=(obj.op.ticketType==2?1:0);
 			this.pnum=obj.op.goodsTicket;
 			this.pnum=obj.op.goodsTicket;
-			
+			this.pic=obj.op.imageUrl;
 			this.personNum=1;
 			this.personNum=1;
 		}else{
 		}else{
 			this.up.name = obj.oplist[0].upStationName;
 			this.up.name = obj.oplist[0].upStationName;

+ 5 - 4
pages/buytickets/site.vue

@@ -17,10 +17,10 @@
 					<view class="title">
 					<view class="title">
 						<view class="circle"></view>
 						<view class="circle"></view>
 						<span>上车站点</span>
 						<span>上车站点</span>
-						
 					</view>
 					</view>
 					<view style="float:right ">
 					<view style="float:right ">
 						<u-avatar size="mini"  v-for="item,i in oplist" :key="i" :src="item.imageUrl"></u-avatar>
 						<u-avatar size="mini"  v-for="item,i in oplist" :key="i" :src="item.imageUrl"></u-avatar>
+						<u-avatar size="mini" v-if="pic"   :src="pic"></u-avatar>
 						
 						
 					</view>
 					</view>
 					<view class="content">
 					<view class="content">
@@ -40,7 +40,8 @@
 			<view class="site-foot">
 			<view class="site-foot">
 				<view class="site-foot-row">
 				<view class="site-foot-row">
 					<span>乘客类型</span>
 					<span>乘客类型</span>
-					<u-subsection :current="underLine" @change="underLineChange" vibrateShort :list="['儿童票', '成人票']"  ></u-subsection>
+					<h3 v-if="buy">{{['儿童票', '成人票'][underLine]}}</h3>
+					<u-subsection v-if="!buy" :current="underLine" @change="underLineChange" vibrateShort :list="['儿童票', '成人票']"  ></u-subsection>
 				</view>
 				</view>
 				<view class="site-foot-row">
 				<view class="site-foot-row">
 					<span>货票</span>
 					<span>货票</span>
@@ -53,10 +54,10 @@
 			</view>
 			</view>
 		</view>
 		</view>
 		<view class="upload-button" v-show="down.id">
 		<view class="upload-button" v-show="down.id">
-			<u-button type="primary" shape="circle" @click="clickBtn">保存</u-button>
+			<u-button type="primary" shape="circle" @click="clickBtn">{{buy?'支付':'保存'}}</u-button>
 		</view>
 		</view>
 		<view class="upload-button" v-show="!down.id">
 		<view class="upload-button" v-show="!down.id">
-			<u-button type="default" class="gray-btn" shape="circle">保存</u-button>
+			<u-button type="default" class="gray-btn" shape="circle">{{buy?'支付':'保存'}}</u-button>
 		</view>
 		</view>
 	</view>
 	</view>
 </template>
 </template>

+ 10 - 4
pages/buytickets/success.js

@@ -3,18 +3,24 @@
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
-			
+				pay:{}
 			}
 			}
 		},
 		},
 		methods: {
 		methods: {
-			backBtn(){
+			gotoHome(){
 				uni.switchTab({
 				uni.switchTab({
-					 url: '/pages/index/index'
+				    url: '/pages/index/index'
+				});
+			},
+			backBtn(){
+				uni.redirectTo({
+					 url: '/pages/buytickets/home?id='+this.pay.id
 				})
 				})
 			}
 			}
 		},
 		},
 		onLoad() {
 		onLoad() {
-			 
+			 var obj = this.carhelp.get("paysucc");
+			 this.pay=obj;
 		}
 		}
 	}
 	}
 
 

+ 33 - 9
pages/buytickets/success.vue

@@ -1,33 +1,42 @@
 <template>
 <template>
 	<view>
 	<view>
-		<car-common :login="true"  mytitle="缴费结果" ref="common"></car-common>
+		<car-common    ref="common"  ></car-common>
+		
+		<u-navbar title="缴费结果"  :is-back="false">
+			<view class="slot-wrap"></view>
+			<view class="navbar-right"  @click="gotoHome"  >
+				<u-icon name="home-fill" color="#999" size="28"></u-icon>
+				<span >前往首页</span>
+			</view>
+		</u-navbar>
 		
 		
 		<view class="success">
 		<view class="success">
 			<u-icon name="checkmark-circle-fill" color="#08d152" size="200"></u-icon>
 			<u-icon name="checkmark-circle-fill" color="#08d152" size="200"></u-icon>
 			<h3>支付成功</h3>
 			<h3>支付成功</h3>
 		</view>
 		</view>
-		<view class="ticket-item">
-			<view class="ticket-item-left">
+		<view class="ticket-item" v-for="item,i in pay.list" :key="i" >
+			<view class="ticket-item-left" >
 				<view class="ticket-head">
 				<view class="ticket-head">
-					<h3>玉桥 - 宿架转盘</h3>
+					<h3>{{item.ticketUpStationName}} - {{item.ticketDownStationName}}</h3>
 				</view>
 				</view>
 				<view class="ticket-text">
 				<view class="ticket-text">
 					<view class="ticket-text-row">
 					<view class="ticket-text-row">
-						<p>票种:</p><span>成人票</span>
+						<p>票种:</p><span>{{item.ticketTypeStr}}</span>
 					</view>
 					</view>
 					<view class="ticket-text-row">
 					<view class="ticket-text-row">
-						<p>货票:</p><span>¥20.00</span>
+						<p>货票:</p><span>¥{{item.goodsTicket}}</span>
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
 			<view class="ticket-item-right">
 			<view class="ticket-item-right">
-				<u-avatar :src="src" size="mini"></u-avatar>
-				<h3>26.00</h3>
+				<u-avatar :src="item.imageUrl" size="mini"></u-avatar>
+				<h3>{{item.totalFee}}</h3>
 				<p>票价</p>
 				<p>票价</p>
 			</view>
 			</view>
 		</view>
 		</view>
 		<view class="upload-button">
 		<view class="upload-button">
-			<u-button type="primary" shape="circle" @click="backBtn">返回</u-button>
+			<u-button type="primary" shape="circle" @click="backBtn">继续购票</u-button>
+		
 		</view>
 		</view>
 	</view>
 	</view>
 </template>
 </template>
@@ -107,6 +116,8 @@
 		
 		
 	}
 	}
 	.upload-button{
 	.upload-button{
+	
+		font-size:24px;
 		position: fixed;
 		position: fixed;
 		left: 30rpx;
 		left: 30rpx;
 		bottom:30rpx;
 		bottom:30rpx;
@@ -117,4 +128,17 @@
 		padding: 100rpx 0 40rpx;
 		padding: 100rpx 0 40rpx;
 		
 		
 	}
 	}
+	.navbar-right {
+			display: flex;
+			margin-right: 20rpx;
+			span{
+				color:rgb(96, 98, 102);
+				margin-left: 3px;
+			}
+		}
+		.slot-wrap {
+				display: flex;
+				align-items: center;
+				flex: 1;
+			}
 </style>
 </style>

+ 9 - 15
pages/car/login.js

@@ -17,6 +17,11 @@ import {
 			}
 			}
 		},
 		},
 		methods: {
 		methods: {
+			gotoHome(){
+				uni.switchTab({
+				    url: '/pages/index/index'
+				});
+			},
 			codeCheckForm() {
 			codeCheckForm() {
 				let phoneResult = checkPhone(this.subFormCode.phone);
 				let phoneResult = checkPhone(this.subFormCode.phone);
 				if (typeof phoneResult == 'string') {
 				if (typeof phoneResult == 'string') {
@@ -103,21 +108,10 @@ import {
 				}, 1000)
 				}, 1000)
 			},	//登录成功
 			},	//登录成功
 			loginSuccess() {
 			loginSuccess() {
-				 var path=this.carhelp.get("back_url");
-				 
-				if(this.back&&path){
-					this.carhelp.remove("back_url");
-
-					uni.navigateTo({
-					    url: path
-					});
-				}else{
-					
-					uni.switchTab({
-					    url: '/pages/index/index'
-					});
-				}
-				
+			 
+				uni.switchTab({
+				    url: '/pages/my/index'
+				});
 			},
 			},
 		},
 		},
 		onLoad(temp) {
 		onLoad(temp) {

+ 22 - 3
pages/car/login.vue

@@ -1,8 +1,15 @@
 <template>
 <template>
 	
 	
 	<view class="login">
 	<view class="login">
-		<car-common  mytitle="登录" :noback="false" ref="common"  ></car-common>
-		
+		<car-common   ref="common"  ></car-common>
+		<u-navbar title="登录"  :is-back="false">
+			<view class="slot-wrap"></view>
+			<view class="navbar-right"  @click="gotoHome" >
+				<u-icon name="home-fill" color="#999" size="28"></u-icon>
+				
+				<span >前往首页</span>
+			</view>
+		</u-navbar>
 		<view class="login-logo">
 		<view class="login-logo">
 			<img src="static/img/logo.png" alt="">
 			<img src="static/img/logo.png" alt="">
 		</view>
 		</view>
@@ -85,7 +92,19 @@
 	.login-button{
 	.login-button{
 		margin: 40rpx 0;
 		margin: 40rpx 0;
 	}
 	}
-	
+	.navbar-right {
+			display: flex;
+			margin-right: 20rpx;
+			span{
+				color:rgb(96, 98, 102);
+				margin-left: 3px;
+			}
+		}
+	.slot-wrap {
+			display: flex;
+			align-items: center;
+			flex: 1;
+		}
 	.forget{
 	.forget{
 		text-align: right;
 		text-align: right;
 		color:#1677ff;
 		color:#1677ff;

+ 4 - 1
pages/index/index.js

@@ -45,7 +45,10 @@ export default {
 					setTimeout(this.getNewNum,1000)
 					setTimeout(this.getNewNum,1000)
 					return;
 					return;
 				}
 				}
-				API.passengerMessageNoReadNum().then((res) => {
+				var data={
+						openId:this.carhelp.getOpenId()
+					};
+				API.passengerMessageNoReadNum(data).then((res) => {
 					var num=res.data.num;
 					var num=res.data.num;
 					
 					
 					
 					

+ 2 - 2
pages/my/user/bybusList.js

@@ -11,7 +11,7 @@ export default {
 			listForm: {
 			listForm: {
 				totalPage: 1,
 				totalPage: 1,
 				pageIndex: 1,
 				pageIndex: 1,
-				pageSize: 20
+				pageSize: 5
 			}
 			}
 		}
 		}
 	},
 	},
@@ -19,7 +19,7 @@ export default {
 		
 		
 		lower() {
 		lower() {
 			console.log("--------")
 			console.log("--------")
-			if (this.listForm.pageIndex <= this.listForm.totalPage && this.isLoading == false) {
+			if (this.listForm.pageIndex <= this.listForm.totalPage  ) {
 				this.passengerRecordList();
 				this.passengerRecordList();
 			} else {
 			} else {
 				return;
 				return;

+ 4 - 3
pages/news/index.js

@@ -20,6 +20,7 @@ export default {
 			this.carhelp.set("form", {
 			this.carhelp.set("form", {
 				name: 'buytickets',
 				name: 'buytickets',
 				id: this.id,
 				id: this.id,
+				buy: true,
 				oplist: [
 				oplist: [
 					{
 					{
 						id:item.id,
 						id:item.id,
@@ -33,12 +34,12 @@ export default {
 			
 			
 			uni.navigateTo({
 			uni.navigateTo({
 				//url: "/pages/news/details?id=" + id
 				//url: "/pages/news/details?id=" + id
-				url: "/pages/buytickets/site?id=" +item.vehicleId
+				url: "/pages/buytickets/selectSite?id=" +item.vehicleId
 			})
 			})
 		},
 		},
 		lower() {
 		lower() {
 			console.log("--------")
 			console.log("--------")
-			if (this.listForm.pageIndex <= this.listForm.totalPage && this.isLoading == false) {
+			if (this.listForm.pageIndex <= this.listForm.totalPage ) {
 				this.passengerMessage();
 				this.passengerMessage();
 			} else {
 			} else {
 				return;
 				return;
@@ -48,7 +49,7 @@ export default {
 			if(this.$refs.common){
 			if(this.$refs.common){
 				this.$refs.common.showLoading();
 				this.$refs.common.showLoading();
 			}
 			}
-
+			this.listForm.openId=this.carhelp.getOpenId()
 			API.passengerMessage(this.listForm).then((res) => {
 			API.passengerMessage(this.listForm).then((res) => {
 				var response=res.data;
 				var response=res.data;
 				if (response) {
 				if (response) {

+ 1 - 1
pages/news/index.vue

@@ -1,6 +1,6 @@
 <template>
 <template>
 	<view >
 	<view >
-		<car-common :login="true" mytitle="消息" :noback="false" ref="common"></car-common>
+		<car-common  mytitle="消息" :noback="false" ref="common"></car-common>
  		  <scroll-view  v-show="recordList.length" :style="'height: '+clientHeight+'px;'"   scroll-y="true"     @scrolltolower="lower">
  		  <scroll-view  v-show="recordList.length" :style="'height: '+clientHeight+'px;'"   scroll-y="true"     @scrolltolower="lower">
 			  <template  v-for="item in recordList">
 			  <template  v-for="item in recordList">
 				  
 				  

+ 7 - 6
utils/AMap.js

@@ -5,12 +5,13 @@ export default function MapLoader() {
 		if (window.AMap) {
 		if (window.AMap) {
 			resolve(window.AMap)
 			resolve(window.AMap)
 		} else {
 		} else {
-			// var script = document.createElement('script')
-			// script.type = 'text/javascript'
-			// script.async = true
-			// script.src = 'https://webapi.amap.com/maps?v=1.4.15&callback=initAMap&key=09abadb2e35fc61fd84042c518e9aebf'
-			// script.onerror = reject
-			// document.head.appendChild(script)
+			console.log("map")
+			var script = document.createElement('script')
+			script.type = 'text/javascript'
+			script.async = true
+			script.src = 'https://webapi.amap.com/maps?v=1.4.15&callback=initAMap&key=09abadb2e35fc61fd84042c518e9aebf'
+			script.onerror = reject
+			document.head.appendChild(script)
 		}
 		}
 		window.initAMap = () => {
 		window.initAMap = () => {
 			resolve(window.AMap)
 			resolve(window.AMap)

+ 2 - 1
utils/request.js

@@ -5,13 +5,14 @@ let reqCount = 0,
 	resCount = 0;
 	resCount = 0;
 const request = (options) => {
 const request = (options) => {
 	reqCount++;
 	reqCount++;
-	
+	 
 	return new Promise((resolve, reject) => {
 	return new Promise((resolve, reject) => {
 		
 		
 		uni.request({
 		uni.request({
 			method: options.method?options.method:'get',
 			method: options.method?options.method:'get',
 			url: process.car.BASE_URL + options.url,
 			url: process.car.BASE_URL + options.url,
 			data: options.data?options.data:{},
 			data: options.data?options.data:{},
+			
 			header: options.header?{
 			header: options.header?{
 				...options.header,
 				...options.header,
 				'Authorization':carhelp.getToken()
 				'Authorization':carhelp.getToken()