<template>
	<view class="box">
		<view class="topBox" :style="{background:'#'+themeColor}"></view>
		<view class="yuanhu" :style="{background:'#'+themeColor}"></view>
		<view class="carBox">
			<view class="left">
				<image :src="carInfo.brandLogo" mode="widthFix" class="brandLogo" v-if="carInfo.brandLogo">
					<img src="../../static/timg/nocar.png" alt="" class="brandLogo" v-else>

				</image>
			</view>
			<view class="right">
				<view class="carPlate">{{carInfo.plateNumber}}</view>
				<view class="car" v-if="carInfo.carModel">{{carInfo.carModel}}</view>
				<view class="car" v-else>暂无</view>
			</view>

		</view>
		<view class="cont">
			<view class="contKk">
			
			<view class="contLine">
				<view class="contlineLeft">联系人</view>
				<view class="contlineRight">
					<input type="text" v-model="customerName" placeholder="请输入联系人姓名" class="contlineRightInput">
				</view>
			</view>
			<view class="contLine">
				<view class="contlineLeft">手机号</view>
				<view class="contlineRight">
					<input type="text" v-model="mobilePhone" placeholder="请输入联系人手机号" class="contlineRightInput">
				</view>
			</view>
				

				<view class="contLine">
					<view class="contlineLeft">
						<image src="../../static/img/icon_star.png" mode="" class="star"></image>
						服务门店
					</view>
					<view class="contlineRight carModelRight" @click="paintShopList">
						<span class="carModel" :class="{noColor:!shopInfo.shopName}">{{shopInfo.shopName?shopInfo.shopName:'选择服务门店'}}</span>
						<image src="../../static/img/little_rightArrow.png" mode="" class="contlineRightJt"></image>
					</view>
				</view>

				<view class="contLine" style="border-bottom: none;">
					<view class="contlineLeft">
						<image src="../../static/img/icon_star.png" mode="" class="star"></image>
						预约时间
					</view>
					<view class="contlineRight carModelRight" @click="cktime">
						<span class="carModel" :class="{noColor:!billDate}">{{billDate?billDate:'选择到店服务时间'}}</span>
						<image src="../../static/img/little_rightArrow.png" mode="" class="contlineRightJt"></image>
					</view>
				</view>

			</view>

			<view class="contKk" style="margin-top:20rpx;">
				<view class="detailedTitle">支付方式</view>
				<view class="contLine " style="border-bottom: none;">
					<view class="payLeft" v-if="PayType==1">
						<image src="../../static/img/icon_weixinzhifu.png" mode="" class="zhifuImg"></image>
						微信支付
					</view>
					<view class="payLeft" v-if="PayType==2">
						<image src="../../static/img/icon_xianxia.png" mode="" class="zhifuImg"></image>
						线下支付
					</view>
					<view class="contlineRight">
						<image src="../../static/img/icon_selectY.png" mode="" class="selectBtn"></image>
					</view>
				</view>
			</view>
		</view>

		<view style="height:120rpx"></view>
		<view class="bottomBox">
			<view class="bottomLeft">
				<view class="bottomLeftLine">合计 <span>￥</span> <span class="bottomPrice">{{totalMoney}}</span> </view>
				
			</view>
			<view class="bottomBtn commonBtn"  @click="submit">提交订单</view>
		</view>
		
		<timeSelect ref="timeSelect" :stationID="StationID" :timedata="timedata" @changeTime="changeTime"></timeSelect>
	</view>
</template>

<script>
	import timeSelect from '@/components/timeSelect/timeSelect.vue'
	export default {
		components: {
			timeSelect
		},
		
		data() {
			return {
				userInfo: '',
				goodsnum: 1,
				id: '',
				info: '',
				carInfo: '',
				shopInfo:{},
				goodsInfo: '',
				totalMoney: '',
				yhMoney: 0,
				customerName: '',
				mobilePhone: '',
				comment: '',
				mydata: '',
				orderData: '',
				PayType:0,
				timedata:'',
				billDate:'',
				itemList:[],
				sheetDetail:[],
				 themeColor:'',
				 StationID:'',
			}
		},
		onLoad(opt) {
			this.itemList = JSON.parse(opt.itemList);
            console.log(this.itemList)
			this.itemList.forEach(item=>{
				var obj={
					itemId:item.id,
					itemName:item.name,
					itemQty:1,
					salePrice:item.money,
					totalPrice:item.money,
				}
				this.sheetDetail.push(obj)
			})
			this.goodsnum = opt.itemQty;
			//console.log(this.carInfo)
			this.userInfo = uni.getStorageSync("userInfo");
			this.goodsInfo = uni.getStorageSync("goodsDetail");
			this.themeColor = uni.getStorageSync("themeColor");
			this.jsMoney()
			
			
			this.$http('openreservation/getInfo', {
				lat: '',
				lng: '',
			}, 'GET').then(res => {
				this.mydata = res.data
				this.customerName = this.mydata.customerInfo.customerName
				this.mobilePhone = this.mydata.customerInfo.mobilePhone
				
			}),
			
			this.getqueryShopList()
			
			this.$http('openSheetMetalSprayPaint/queryPayType', {
				
			}, 'GET').then(res => {
				this.PayType = res.data.PayType
				this.StationID=res.data.StationID
				
			})
		},
		onShow() {
			this.carInfo = this.$store.state.carInfo;
			let shopInfo = this.$store.state.ckshopInfo;
			if (shopInfo) {
				this.shopInfo= shopInfo
				this.shopInfo.id = this.shopInfo.shopId
				this.shopID=this.shopInfo.id
				
				uni.setStorage({
					key: 'yyshopInfo',
					data:this.shopInfo,
					 success: function () {
					    
					 }
				}); 
			}
			
			console.log('服务门店选择过-=',this.shopInfo)
		},
		methods: {
			getqueryShopList() {
				uni.showLoading({
					title: '加载中'
				})
				this.$http('openSheetMetalSprayPaint/queryBpshopList', {
			     
				}, 'GET').then(res => {
					uni.hideLoading();
					let list = res.data
					//console.log('list+=', this.queryShopList);
					list.forEach((item)=>{
						/* if (item.thedefault=="true") {
							this.shopInfo = item
							this.shopInfo.id = this.shopInfo.shopId
							this.shopID=this.shopInfo.id
							uni.setStorage({
								key: 'yyshopInfo',
								data:this.shopInfo,
								 success: function () {
								    
								 }
							}); 
							
							console.log('item-=',item)
						} */
					})
					
			
				})
				
				console.log('默认服务门店-=',this.shopInfo)
			},
			changeTime(data){
				console.log(data)
				this.billDate=data
			},
			cktime(){
				if (!this.shopID) {
					uni.showToast({
						title: '请选择服务门店',
						icon: 'none',
						duration: 3000
					});
					return false;
				}
				 this.$refs.timeSelect.open();
			},
			submit() {
				console.log(this.shopID)
				if (!this.shopID) {
					uni.showToast({
						title: '请选择服务门店',
						icon: 'none',
						duration: 3000
					});
					return false;
				}
				if (this.billDate == '') {
					uni.showToast({
						title: '请选择到店服务时间',
						icon: 'none',
						duration: 3000
					});
					return false;
				}
				//"bizType：1商品2项目3套餐
				var params = {
					sheetType:'5',
					sheetContent: '钣喷',
					customerName: this.customerName,
					mobilePhone: this.mobilePhone,
					plateNumber: this.carInfo.plateNumber,
					carModel: this.carInfo.carModel,
					totalMoney: this.totalMoney,
					shopId: this.shopID,
					comment: this.comment,
					hTime: this.billDate,
					sheetDetail: JSON.stringify(this.sheetDetail),
					payType:this.PayType,
					stationID:this.StationID,
					groupType:0,
				}
				uni.showLoading({
					title: '加载中'
				})
				this.$http('openMallOrder/submitOrder', params, 'POST').then(res => {
					uni.hideLoading();
					if (res.code == 0) {
						this.orderData = res.data;
						if(this.PayType==1){
							this.unifiedPay(res.data)
						}else{
							uni.showToast({
								title: '提交成功',
								icon: 'none',
								duration: 2000
							});
							if (this.orderData.sheetType==5){
								uni.redirectTo({
									url: "../user/myOrder/paintOrderDetail?id=" +this.orderData.id+'&sx=1'
								})
							}
						}
						
					} else {
						uni.showToast({
							title: res.msg,
							icon: 'none',
							duration: 3000
						});
						if (this.orderData.sheetType==5){
							uni.redirectTo({
								url: "../user/myOrder/paintOrderDetail?id=" +that.orderData.id+'&sx=1'
							})
						}
					}
				})
			},
			unifiedPay(res) {
				this.$http('openMallOrder/unifiedPay', {
					sheetId: res.id
				}, 'POST').then(res => {

					if (res.code == 0) {

						this.requestPayment(res.data)
					} else {
						uni.showToast({
							title: res.msg,
							icon: 'none',
							duration: 3000
						});
					}
				})
			},
			requestPayment(res) {
				var payInfo = res;
				//console.log(payInfo)
				//console.log(String(Date.now()))
				var that = this;
				uni.requestPayment({
					provider: 'wxpay',
					//timeStamp: String(Date.now()),
					timeStamp: payInfo.timeStamp,
					nonceStr: payInfo.nonceStr,
					package: payInfo.package,
					signType: payInfo.signType,
					paySign: payInfo.paySign,
					appid: payInfo.appId,
					/* provider: 'wxpay',
					orderInfo:{
						"appid":payInfo.appid,  // 微信开放平台 - 应用 - AppId，注意和微信小程序、公众号 AppId 可能不一致
						"noncestr": payInfo.nonceStr, // 随机字符串
						 "package": "Sign=WXPay",         // 固定值
						"partnerid":payInfo.mchId,      // 微信支付商户号
						"prepayid": payInfo.prepayId, // 统一下单订单号 
						"timeStamp": String(Date.now()),      // 时间戳（单位：秒）
						"sign": payInfo.sign // 签名，这里用的 MD5/RSA 签名
					}, */
					success: function(res) {
						console.log('success:' + JSON.stringify(res));
						uni.showToast({
							title: '支付成功',
							icon: 'none',
							duration: 2000
						});
						if ((that.orderData.sheetType == 1) || (that.orderData.sheetType == 2) || (that
								.orderData.sheetType == 3)) {
							uni.redirectTo({
								url: "../user/myOrder/mallOrderDetail?id=" + that.orderData.id +
									"&SheetType=" + that.orderData.sheetType
							})
						}else if (that.orderData.sheetType==5){
							uni.navigateTo({
								url: "../user/myOrder/paintOrderDetail?id=" +that.orderData.id
							})
						}

					},
					fail: function(err) {
						console.log(err)
						uni.showToast({
							title: '支付失败',
							icon: 'none',
							duration: 2000
						});
						console.log(that.orderData)
						if (that.orderData.sheetType == 1 || that.orderData.sheetType == 2 || that.orderData
							.sheetType == 3) {
							console.log("商城订单s")
							uni.redirectTo({
								url: "../user/myOrder/mallOrderDetail?id=" + that.orderData.id +
									"&SheetType=" + that.orderData.sheetType
							})
						}else if (that.orderData.sheetType==5){
							uni.navigateTo({
								url: "../user/myOrder/paintOrderDetail?id=" +that.orderData.id
							})
						}
					}
				});
			},
			openGoodsDetailById() {
				this.$http('openMall/openGoodsDetailById', {
					id: this.id
				}, 'GET').then(res => {
					this.info = res.data
				})
			},
			goINdex() {
				uni.switchTab({
					url: '../index/index'
				})
			},
			paintShopList() {
				uni.navigateTo({
					url: 'paintShopList'
				})
			},
			calculation(type) {
				if (type == 1) {
					if (this.goodsnum > 1) {
						this.goodsnum--
						this.jsMoney()
					}
				} else {
					if (this.goodsInfo.oneQty > this.goodsnum) {
						this.goodsnum++
						this.jsMoney()
					}
				}
			},
			jsMoney() {
				
				var money = 0.00
				this.itemList.forEach((item)=>{
					money += item.money
				})
				this.totalMoney = money.toFixed(2);
				
				
			}

		}
	}
</script>

<style scoped lang="less">
	.bottomBox {
		width: 750rpx;
		height: 120rpx;
		background: #FFFFFF;
		box-shadow: 0px -2px 10rpx 0px rgba(153, 153, 153, 0.2000);
		display: flex;
		justify-content: space-between;
		position: fixed;
		left: 0;
		bottom: 0;
		padding-bottom: constant(safe-area-inset-bottom);
		padding-bottom: env(safe-area-inset-bottom);
	}

	.bottomLeft {
		padding-top: 23rpx;
		padding-left: 30rpx;
		    height: 74rpx;
		    line-height: 74rpx;
	}

	.bottomLeftLine {
		color: #666666;
		font-size: 24rpx;
	}

	.bottomLeftLine span {
		color: #EC0F0A;
	}

	.bottomPrice {
		font-size: 32rpx;
		font-weight: 500;
	}

	.bottomLeftLine2 {
		color: #999999;
		line-height: 33rpx;
		font-size: 24rpx;
	}

	.bottomBtn {
		width: 204rpx;
		height: 74rpx;
		background: #EC0F0A;
		border-radius: 37rpx;
		text-align: center;
		line-height: 74rpx;
		color: #FFFFFF;
		font-size: 30rpx;
		margin-top: 23rpx;
		margin-right: 30rpx;
	}

	.cont {
		padding: 20rpx 24rpx;
	}

	.contKk {
		background: #FFFFFF;
		border-radius: 10rpx;
		padding: 0 20rpx;
	}
	.detailedTitle {
		padding: 22rpx 0;
		display: flex;
		text-align: center;
		align-content: flex-start;
		
		
		font-size: 24rpx;
		font-weight: bold;
		color: #666666;
	}

	.contLine {
		display: flex;
		justify-content: space-between;
		font-size: 28rpx;
		padding: 30rpx 0;
		border-bottom: 1px solid #EEEEEE;
	}

	.contlineLeft {
		color: #666666;
		line-height: 40rpx;
		align-items: center;
	}

	.star {
		width: 14rpx;
		height: 14rpx;
		padding-bottom: 5rpx;
	}

	.carModel {
		width: 400rpx;
		display: inline-block;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	.noColor{
		color: #CCCCCC;
	}

	.carModelRight {
		display: flex;
		justify-content: flex-end;
		align-items: center;
	}

	.contlineRight {
		color: #333333;
		line-height: 40rpx;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 450rpx;
		text-align: right;
	}
	.selectBtn{
		width: 36rpx;
		height: 36rpx;
	}

	.contlineRightInput {
		color: #333333;
	}

	.contlineRightJt {
		width: 30rpx;
		height: 30rpx;
		
	}

	.box {
		background: #F4F5F7;
		min-height: 100vh;
	}

	.topBox {
		height: 140rpx;
		background: #EC0F0A;
		width: 750rpx;
	}

	.yuanhu {
		width: 750rpx;
		height: 30rpx;
		background: #EC0F0A;
		border-radius: 0 0 100% 100%;
	}

	.carBox {
		width: 662rpx;

		background: #FFFFFF;
		border-radius: 10rpx;
		margin-left: 24rpx;
		margin-top: -100rpx;
		padding: 20rpx;
		display: flex;
	}

	.left {
		margin-right: 24rpx;

	}

	.brandLogo {
		width: 72rpx;
		height: 72rpx;
	}

	.carPlate {

		height: 42rpx;
		font-size: 30rpx;
		font-weight: 500;
		color: #333333;
		line-height: 42rpx;
	}

	.car {
		width: 562rpx;
		height: 33rpx;
		font-size: 24rpx;
		font-weight: 400;
		color: #666666;
		line-height: 33rpx;
		margin-top: 10rpx;
		/* 隐藏文字显示 ...不换行 */
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.numJsbox {
		display: flex;
	}

	.numJj {
		width: 44rpx;
		height: 44rpx;
		background: #F4F5F7;
		border-radius: 0px 6rpx 6rpx 0px;
		text-align: center;
		line-height: 44rpx;
		font-size: 32rpx;
		color: #999999;
	}

	.goodsnum {
		width: 88rpx;
		height: 44rpx;
		background: #F4F5F7;
		line-height: 44rpx;
		text-align: center;
		font-weight: 500;
		color: #333333;
		font-size: 24rpx;
		margin: 0 4rpx;
	}

	.goodsBottom {
		display: flex;
		justify-content: space-between;
		padding-top: 60rpx;
	}

	.goodsPrice {
		color: #333333;
		font-size: 32rpx;
		font-weight: 500;
	}

	.goodsPrice1 {
		color: #333333;
		font-size: 22rpx;
	}

	.goodsName {
		font-weight: 400;
		color: #333333;
		line-height: 40rpx;
		font-size: 28rpx;
		height: 80rpx;
		text-overflow: -o-ellipsis-lastline;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		-webkit-box-orient: vertical;
		width: 420rpx;
	}

	.goodsBoxRgiht {
		padding-left: 24rpx;

	}
	.zhifuImg{
		width: 40rpx;
		height: 40rpx;
		margin-right: 20rpx;
		
	}
	.payLeft{
		display: flex;
		align-items: center;
		
		height: 40rpx;
		font-size: 28rpx;
		font-weight: 400;
		color: #333333;
		line-height: 40rpx;
	}
</style>
