<style>
	.jz_Reserve {
		padding-bottom: 180rpx;
		background-color: #fff;
	}

	.jz_ReserTop {
		width: 100%;
		min-height: 300rpx;
		box-shadow: 0px 2px 15px 0px rgba(76, 76, 76, 0.13);
		background-color: #fff;
		border-bottom-left-radius: 60rpx;
		border-bottom-right-radius: 60rpx;
		padding: 40rpx;
	}

	.jz_ReserTitle {
		color: #111111;
		font-weight: 600;
		font-size: 36rpx;
	}

	.jz_ReserIn {
		color: #111;
		font-size: 24rpx;
		font-weight: 500;
	}

	.jz_ReseQue {
		color: #dfbe6e;
		font-size: 24rpx;
		padding-top: 30rpx;
		border-top: 1px solid #e7e7e7;
		margin-top: 20px;
	}

	.jz_ReseQue img {
		width: 16px;
		height: 14px;
		position: relative;
		top: 2px;
		margin-right: 5px;
	}

	.jz_ReseOrder {
		padding: 40rpx;
	}

	.jz_ReDix {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}

	.jz_RedixTitle {
		width: 90px;
		flex-shrink: 0;
	}

	.jz_orderbox {
		height: 160rpx;
		position: fixed;
		background-color: #fff;
		bottom: 0;
		width: 100vw;
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 99;
	}

	.jz_OrderDiv {
		width: 90%;
		height: 100rpx;
		background-color: #fff;
		margin: auto;
		padding: 20rpx;
		display: flex;
		justify-content: space-between;
		align-items: center;
		box-shadow: 0px 10rpx 30rpx 0px rgba(36, 36, 36, 0.2);
		border-radius: 16px;
		z-index: 999;
	}

	.jz_OrderReNow {
		/* #ifdef MP-ALIPAY */
		width: 150rpx;
		/* #endif */
		height: 80rpx;
		background-color: #111111;
		text-align: center;
		line-height: 80rpx;
		color: #fff;
		font-weight: 600;
		font-size: 28rpx;
		border-radius: 16rpx;
	}

	.jz_form {
		margin-top: 60rpx;
		padding: 0 45rpx;
	}

	.jz_form .form-items {
		margin-bottom: 20rpx;
		display: flex;
		align-items: center;
		padding-bottom: 20rpx;
		border-bottom: 1px solid #f5f5f5;
		font-size: 28px;
		font-weight: 500;
	}

	.jz_form .form-items:last-child {
		border-bottom: none;
	}

	.jz_form .form-items .label {
		font-size: 28rpx;
		font-weight: 600;
		margin-right: 60rpx;
		flex-shrink: 0;
		width: 115rpx;
	}

	.jz_form .form-items .val {
		flex: 1;
	}

	.jz_ReserTop .o-timer {
		height: 100rpx;
		background: #ecf1f4;
		border-radius: 20rpx;
		padding: 0 40rpx;
		margin-bottom: 30rpx;
	}

	.jz_ReserTop .o-timer .time-item {
		font-size: 32rpx;
		font-weight: 800;
	}

	.jz_ReserTop .o-timer .time-split {
		font-size: 24rpx;
		font-weight: 400;
		text-align: center;
		margin: 0 20rpx;
	}

	.jz_ReserTop .o-timer .update {
		font-size: 24rpx;
		font-weight: 400;
		text-align: right;
		color: #000;
		display: flex;
		align-items: center;
	}

	.jz_Reserve .flex {
		display: flex;
		align-items: center;
	}

	.jz_Reserve .big-title {
		position: relative;
	}

	.jz_Reserve .big-title::before {
		display: block;
		width: 71rpx;
		height: 12rpx;
		background: #dfbe6e;
		border-radius: 4rpx;
		content: " ";
		position: absolute;
		left: 0;
		bottom: 6rpx;
		z-index: 1;
	}

	.jz_Reserve .big-title text {
		font-size: 34rpx;
		font-weight: bold;
		color: #1f1f1f;
		position: relative;
		z-index: 2;
	}

	.jz_Reserve .empty-block {
		height: 20rpx;
		background: #ecf1f4;
	}

	.jz_form .form-items .val input {
		border: none;
		padding: 0;
		margin: 0;
		outline: none;
		height: 38rpx;
		line-height: 38rpx;
		font-size: 28rpx;
		font-weight: 500;
		width: 100%;
	}

	.jz_Reserve .grey {
		color: #6e6e6e !important;
	}

	.jz_Reserve .f12 {
		font-size: 24rpx !important;
	}

	.jz_Reserve .f11 {
		font-size: 22rpx !important;
	}

	.jz_Reserve .f14 {
		font-size: 28rpx !important;
	}

	.jz_Reserve .regular {
		font-weight: 500 !important;
	}

	.jz_Reserve .sheshi {
		margin-top: 50rpx;
	}

	.jz_Reserve .sheshi .she-title {
		font-size: 28rpx;
		font-weight: 800;
	}

	.jz_Reserve .sheshi .she-content {
		margin-top: 24rpx;
	}

	.jz_Reserve .sheshi .she-content text {
		font-size: 24rpx;
		font-weight: 500;
		color: #4a4a4a;
		line-height: 40rpx;
		margin-right: 24rpx;
	}

	.jz_GuestList {
		box-shadow: 0px 2px 15px 0px rgba(76, 76, 76, 0.13);
		padding: 20rpx;
		margin: 25rpx;
		border-radius: 25rpx;
	}

	.jz_GuestList .form-items:last-child {
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.jz_TextArea {
		height: 50px;
		margin-bottom: 10px;
		width: auto;
		border: 1px solid #dfddd8;
		border-radius: 4px;
		margin: 25rpx;
		padding: 20rpx;
	}
</style>
<template>
	<view class="jz_Reserve">
		<view class="jz_ReserTop">
			<view class="o-timer flex">
				<view class="time-item">{{ getDate(currentPriceInfo.startDate) }}
					{{ getWeek(currentPriceInfo.startDate) }}</view>
				<view class="time-split">
					<view>{{ currentPriceInfo.dayNum }}天</view>
				</view>
				<view class="time-item" style="font-size: 26rpx; font-weight: 500; flex: 1">
					<text v-if="orderMsg.ManNum > 0">{{ orderMsg.ManNum }}成人</text>
					<text v-if="orderMsg.ChirdNoBedNum + orderMsg.ChirdNeedBedNum > 0">{{ orderMsg.ChirdNoBedNum + orderMsg.ChirdNeedBedNum }}儿童</text>
					<text v-if="orderMsg.BabyNum > 0">{{ orderMsg.BabyNum }}婴儿</text>
				</view>
				<view class="update" @click="updateUser">
					<text style="margin-right: 8rpx">修改</text>
					<u-icon name="arrow" size="20" />
				</view>
			</view>
			<view class="jz_ReserTitle">
				{{ currentPriceInfo.title }}
			</view>
			<view class="jz_ReserIn" style="margin: 33rpx 0 18rpx 0">
				{{ ltName }}
			</view>
			<view class="big-title">
				<text>{{ realCurrentPriceInfo.priceUnion && realCurrentPriceInfo.priceUnion.startCityName?realCurrentPriceInfo.priceUnion.startCityName:currentPriceInfo.startCityName }}出发</text>
			</view>
			<view class="jz_ReseQue">
				<img src="https://viitto-1301420277.cos.ap-chengdu.myqcloud.com/Static/CustomizedCar/zuanshi.png" />即时确认：本产品付款后可快速确认，放心期待您的旅行
			</view>
		</view>
		<view>
			<textarea class="jz_TextArea" placeholder="请输入备注信息" v-model="Remarks"></textarea>
		</view>

		<view class="empty-block"></view>
		<view style="padding: 50rpx 40rpx">
			<view class="big-title">
				<text>优惠券</text>
			</view>
			<view style="margin-top: 30px;display: flex; align-items: center;">
				<view style="font-size: 12px;width:1px;flex:1">请选择优惠券</view>
				<view style="display: flex;align-items: center;">
					<text style="color:#F20707;font-size: 12px;" @click="showCouponHandler">
						<text style="flex: 1;" v-if="useCouponId == 0 &&couponList.length>0">{{couponList.length}}张可用优惠券</text>
						<text class="content" style="color:grey" v-else-if="couponList.length==0">暂无优惠券</text>
						<text class="content" v-else :style="{ color: mainColor }">已优惠 {{currentCoupon.discountMoney}} 元</text>
						<!-- <u-icon name="ellipsis" size="36" v-if="couponList.length > 0"></u-icon> -->
					</text>
					<u-icon name="arrow" :size="32" color="#111" v-if="couponList.length>0"></u-icon>
				</view>
			</view>
		</view>
		<view class="empty-block"></view>
		<view style="padding: 50rpx 40rpx">
			<view class="big-title">
				<text>费用明细</text>
			</view>
			<view class="jz_form" style="margin: 40rpx 0; padding: 0">
				<view class="form-items">
					<view class="label"> 在线支付 </view>
					<view class="val f14 regular" style="text-align: right">
						<text style="margin-right: 30rpx">{{ total }}人</text>
						<text class="red">￥{{ price }}</text>
					</view>
				</view>
				<view class="form-items" style="border-bottom: none">
					<view class="label"> 明细 </view>
				</view>
				<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index">
					<view style="flex: 1">
						<text style="margin-right: 30rpx">成人</text>
					</view>
					<view style="text-align: right">{{ orderMsg.ManNum }}人 × ¥{{ $utils.getretailer()?currentPriceInfo.b2BPrice :currentPriceInfo.b2CPrice
				}}</view>
				</view>
				<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="orderMsg.ChirdNeedBedNum > 0">
					<view style="flex: 1">
						<text style="margin-right: 30rpx">儿童(占床)</text>
					</view>
					<view style="text-align: right">{{ orderMsg.ChirdNeedBedNum }}人 × ¥{{
              ($utils.getretailer()
                ? currentPriceInfo.b2BPrice
                : currentPriceInfo.b2CPrice) +
              (currentPriceInfo.childNeedPrice
                ? currentPriceInfo.childNeedPrice
                : 0)
            }}</view>
				</view>
				<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="orderMsg.ChirdNoBedNum > 0">
					<view style="flex: 1">
						<text style="margin-right: 30rpx">儿童(不占床)</text>
					</view>
					<view style="text-align: right">{{ orderMsg.ChirdNoBedNum }}人 × ¥{{
              ($utils.getretailer()
                ? currentPriceInfo.b2BPrice
                : currentPriceInfo.b2CPrice) -
              (currentPriceInfo.childNoNeedPrice
                ? currentPriceInfo.childNoNeedPrice
                : 0)
            }}</view>
				</view>
				<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="orderMsg.BabyNum > 0">
					<view style="flex: 1">
						<text style="margin-right: 30rpx">婴儿</text>
					</view>
					<view style="text-align: right">
						{{ orderMsg.BabyNum }}人 × ¥{{
              currentPriceInfo.babyPrice ? currentPriceInfo.babyPrice : 0
            }}</view>
				</view>
				<view class="flex f12 grey" style="margin-bottom: 40rpx" :key="index" v-if="
            orderMsg.ChirdNum > 0 &&
            currentPriceInfo.babyChargePrice &&
            currentPriceInfo.babyChargePrice > 0
          ">
					<view style="flex: 1">
						<text style="margin-right: 30rpx">儿童(附加费)</text>
					</view>
					<view style="text-align: right">
						{{ orderMsg.ChirdNum }}人 × ¥{{
              currentPriceInfo.babyChargePrice
            }}</view>
				</view>
			</view>
			<view class="flex f12 grey" style="margin-bottom: 40rpx" v-if="currentPriceInfo.visaPrice > 0">
				<view style="flex: 1">
					<text style="margin-right: 30rpx">签证费</text>
				</view>
				<view style="text-align: right">{{ orderMsg.ManNum + orderMsg.ChirdNum, }}人 × ¥{{currentPriceInfo.visaPrice}}</view>
			</view>

			<view class="flex f12 grey" style="margin-bottom: 40rpx" :style="{'color':mainColor+' !important'}" v-if="useCouponId>0">
				<view style="flex: 1">
					<text style="margin-right: 30rpx">优惠券</text>
				</view>
				<view style="text-align: right">
					-¥{{currentCoupon.discountMoney}}</view>
			</view>
			<view class="flex f12 grey" style="margin-bottom: 40rpx">
				<view style="flex: 1">
					<text style="margin-right: 30rpx">小计</text>
				</view>
				<view style="text-align: right">
					¥{{parseFloat((price-currentCoupon.discountMoney)).toFixed(2)}}</view>
			</view>

			<view class="f12" style="color:#ff3166;margin-bottom: 40rpx" v-if="activity && activity.Id">
				注意：本单以满足活动 "{{activity.CouponsName}}" 活动，出团后系统将自动发放优惠券到你的账户
			</view>
		</view>
		<view class="empty-block"></view>
		<coupon v-if="couponList.length > 0 && showCoupon" :list="couponList" :current="useCouponId" @close="closeCouponHandler"></coupon>
		<view style="padding: 50rpx 40rpx" v-if="tips != ''">
			<view class="big-title">
				<text>重要提示</text>
			</view>
			<view class="sheshi">
				<view class="she-content">
					<text>{{ tips }}</text>
				</view>
			</view>
		</view>
		<view class="jz_orderbox">
			<view class="jz_OrderDiv">
				<view style="color: #ff3166; font-weight: bold">
					<text style="font-size: 22rpx">¥</text>
					<text style="font-size: 40rpx; margin: 0 20rpx 0 5rpx;font-family: nav-font;">{{
            (price-currentCoupon.discountMoney).toFixed(2)
          }}</text>
					<text style="color: #6e6e6e; font-size: 24rpx;font-family: microsoft yahei ui light;">共计{{ total }}人</text>
				</view>
				<view style="display: flex; margin-top: -2px">
					<button class="jz_OrderReNow" @click="goPay()" :disabled="submit" :loading="submit">
						立即支付
					</button>
				</view>
			</view>
		</view>
		<!-- #ifdef MP-ALIPAY -->
		<subscribe-msg />
		<!-- #endif -->
	</view>
</template>

<script>
	import coupon from '@/components/coupon/index';
	export default {
		components: {
			coupon
		},
		data() {
			return {
				submit: false,
				pageTitle: "订单填写",
				lineId: 0,
				orderMsg: {
					ManNum: 0, //成人
					ChirdNoBedNum: 0, //儿童不占床
					ChirdNeedBedNum: 0, //儿童占床
					BabyNum: 0, //婴儿
					ChirdNum: 0, //儿童数量
					VisaNum: 0,
				},
				activity: {},
				price: 0,
				currentPriceInfo: {},
				total: 0,
				YSeatNum: 0,
				ESeatNum: 0,
				FSeatNum: 0,
				sumSeat: 0,
				userInfo: {},
				ltName: "",
				tips: "",
				contactMobile: "",
				contactName: "",
				orderInfo: {},
				orderData: "",
				Remarks: "", //备注
				GuestList: [],
				couponList: [],
				showCoupon: false,
				useCouponId: 0,
				currentCoupon: {
					discountMoney: 0
				},
				mainColor: '',
				realCurrentPriceInfo: {},
				customer: {},
			};
		},
		created() {

			uni.setNavigationBarTitle({
				title: "订单支付预览",
			});
			this.mainColor = this.$uiConfig.mainColor;
			this.activeStyle = `background:${this.mainColor};`;
		},
		onLoad(option) {
			this.customer = uni.getStorageSync("b2b_user");
			if (option.seat) {
				this.currentPriceInfo = JSON.parse(
					decodeURIComponent(option.currentPriceInfo)
				);
				let t = JSON.parse(decodeURIComponent(option.seat));
				this.orderMsg.ManNum = t.crCount;
				this.orderMsg.ChirdNeedBedNum = t.etCount;
				this.orderMsg.ChirdNoBedNum = t.etbCount;
				this.orderMsg.BabyNum = t.yeCount;
				this.orderMsg.VisaNum = t.crCount + t.etCount + t.etbCount + t.yeCount;
				this.calcMoney();
			}
			if (option.tcid) {
				this.getDetails(option.tcid, option.cityId);
			}

			if (option.lineId) {
				this.lineId = option.lineId
				this.getUserCouponList()
			}
		},
		methods: {
			showCouponHandler() {
				this.showCoupon = this.couponList.length > 0;
			},
			closeCouponHandler(e) {
				if (e != -1) {
					this.useCouponId = e;
					this.currentCoupon = this.couponList.find(x => x.id == this.useCouponId)
					if (this.currentCoupon.couponsType == 1) {
						this.currentCoupon.discountMoney = this.currentCoupon.denomination
					} else {
						this.currentCoupon.discountMoney = (parseFloat(this.price) * (1 - parseFloat(this.currentCoupon.denomination / 10)))
							.toFixed(2)
					}
				}
				this.showCoupon = false;
			},
			getUserCouponList() {
				let couponParams = {
					"lineId": this.lineId, //线路ID
					"lineteamId": 0, //系列ID
					"userId": 0, //AccountId
					"CouponsUseScope": 2, //特定使用平台
					"isExpansion": 0, //是否启动膨胀金1-是
					"CustomerType": 0, //客户类型 0-同行，1-直客
				}
				couponParams.userId = this.customer.accountId;
				console.log("this.customer", this.customer);
				console.log("couponParams", couponParams);
				this.apipost(
					"coupon_post_GetUserCanUseCouponList", couponParams,
					(res) => {
						console.log("coupon_post_GetUserCanUseCouponList", res);
						if (res.resultCode == 1) {
							this.couponList = res.data
						}
					},
					(err) => {
						console.log("coupon_post_GetUserCanUseCouponList_err", err);
					}
				);
			},
			changecheckbox(e, index, item) {
				if (item.IsHightSchool) {
					let newObj = JSON.parse(JSON.stringify(item));
					newObj.IsHightSchool = false;
					this.$set(this.GuestList, index, newObj);
				} else {
					let newObj = JSON.parse(JSON.stringify(item));
					newObj.IsHightSchool = true;
					this.$set(this.GuestList, index, newObj);
				}
			},
			//获取详情
			getDetails(id, cityId) {
				uni.showLoading({
					title: '加载中'
				});
				this.apipost(
					"b2b_get_GetB2BTravelInfoNoDesV1", {
						tcid: id,
						cityId
					},
					(res) => {
						uni.hideLoading();
						if (res.resultCode == 1) {
							this.realCurrentPriceInfo = res.data.currentPriceInfo
							this.tips = res.data.feature.importantTipText;
							this.ltName = res.data.ltName;
							this.currentPriceInfo.visaPrice = res.data.currentPriceInfo.visaPrice
							this.calcMoney()
							this.getCouponActivityHandler(res.data)
						}
					},
					(err) => {
						uni.hideLoading()
					}
				);
			},
			getCouponActivityHandler(d) {
				uni.hideLoading();
				let msg = {
					TCID: d.currentPriceInfo.tcid,
					CustomerId: this.customer.customerId,
					OrderId: 0,
					StratDate: d.currentPriceInfo.startDate,
					OrderGuest: this.total,
					lineId: d.lineId
				}
				this.apipost("coupon_post_GetAutoCouponOrder", msg, (res) => {
						if (res.resultCode == 1) {
							this.activity = res.data
						}
					},
					(err) => {
						uni.hideLoading()
					}
				);
			},
			updateUser() {
				uni.navigateBack({
					delta: 1,
				});
			},
			getWeek(date) {
				var weekArray = new Array("日", "一", "二", "三", "四", "五", "六");
				var week = weekArray[new Date(date).getDay()]; //注意此处必须是先new一个Date
				return "周" + week;
			},
			getDate(date) {
				if (date) {
					let arr = date.split("-");
					return arr[1] + "月" + arr[2] + "日";
				}
			},
			//改变成人
			changeMan(e) {
				this.orderMsg.ManNum = e.value;
				this.calcMoney();
			},
			//改变儿童不占床
			changeChirdNoBedNum(e) {
				this.orderMsg.ChirdNoBedNum = e.value;
				this.calcMoney();
			},
			//改变儿童占床
			changeChirdNeedBedNum(e) {
				this.orderMsg.ChirdNeedBedNum = e.value;
				this.calcMoney();
			},
			//改变婴儿
			changeBabyNum(e) {
				this.orderMsg.BabyNum = e.value;
				this.calcMoney();
			},
			//计算价格
			calcMoney() {
				var price = 0;
				if (this.$utils.getretailer()) {
					price = this.currentPriceInfo.b2BPrice;
				} else {
					price = this.currentPriceInfo.b2CPrice;
				}
				this.orderMsg.ChirdNum = parseInt(this.orderMsg.ChirdNoBedNum) + parseInt(this.orderMsg.ChirdNeedBedNum);
				//计算总人数
				this.total = parseInt(this.orderMsg.ManNum) + parseInt(this.orderMsg.ChirdNum) + parseInt(this.orderMsg.BabyNum);
				this.orderMsg.VisaNum = this.total;
				this.sumSeat = this.total;

				let money = price * this.orderMsg.ManNum;
				money += price * this.orderMsg.ChirdNum;
				money +=
					(this.currentPriceInfo.babyChargePrice ?
						this.currentPriceInfo.babyChargePrice :
						0) * this.orderMsg.ChirdNum;
				money +=
					(this.currentPriceInfo.babyPrice ?
						this.currentPriceInfo.babyPrice :
						0) * this.orderMsg.BabyNum;
				money +=
					(this.currentPriceInfo.childNeedPrice ?
						this.currentPriceInfo.childNeedPrice :
						0) * this.orderMsg.ChirdNeedBedNum;
				if (this.orderMsg.ChirdNoBedNum > 0) {
					money -=
						(this.currentPriceInfo.childNoNeedPrice ?
							this.currentPriceInfo.childNoNeedPrice :
							0) * this.orderMsg.ChirdNoBedNum;
				}
				if (this.currentPriceInfo.visaPrice) {
					money += (this.orderMsg.ManNum + this.orderMsg.ChirdNum) * this.currentPriceInfo.visaPrice
				}

				this.price = money;

				//根据总人数 生成旅客信息
				for (var i = 0; i < this.total; i++) {
					let obj = {
						Id: 0,
						SurName: "", //姓
						Name: "", //名
						IdCard: "", //身份证
						MobilePhone: "", //联系电话
						IsHightSchool: false, //是否高校学生1 是  2否
					};
					this.GuestList.push(obj);
				}
			},
			//去支付
			goPay() {

				// for (var i = 0; i < this.GuestList.length; i++) {
				//   if (this.GuestList[i].SurName == "") {
				//     uni.showToast({
				//       title: `请输入游客${i + 1}的姓名`,
				//       icon: "none",
				//     });
				//     return;
				//   }
				//   if (this.GuestList[i].IdCard == "") {
				//     uni.showToast({
				//       title: `请输入游客${i + 1}的身份证`,
				//       icon: "none",
				//     });
				//     return;
				//   }
				//   if (this.GuestList[i].MobilePhone == "") {
				//     uni.showToast({
				//       title: `请输入游客${i + 1}的联系电话`,
				//       icon: "none",
				//     });
				//     return;
				//   }
				// }
				this.submit = true;
				this.userInfo = uni.getStorageSync("mall_UserInfo");
				this.basedataObj = uni.getStorageSync("basedata").mall;
				var CustomerId = this.customer.customerId
				let newobj = JSON.parse(JSON.stringify(this.GuestList));
				newobj.forEach((x) => {
					if (x.IsHightSchool) {
						x.IsHightSchool = 1;
					} else {
						x.IsHightSchool = 2;
					}
				});
				var MiniAppUserId = 0;
				if (this.userInfo && this.userInfo.UserId) {
					MiniAppUserId = this.userInfo.UserId;
				}

				var ContactName = this.customer.name; //联系人
				var ContactMobile = this.customer.contactNumber; //联系电话  
				var CustomerType = this.customer.isMember //4;
				var CustomerCreateBy = this.customer.createBy;
				var price = 0;
				if (this.$utils.getretailer()) {
					price = this.currentPriceInfo.b2BPrice;
				} else {
					price = this.currentPriceInfo.b2CPrice;
				}

				let msg = {
					OrderId: 0,
					TCID: this.currentPriceInfo.tcid,
					CustomerType: CustomerType,
					GroupType: 1,
					ContactName: ContactName,
					ContactMobile: ContactMobile,
					CustomerId: CustomerId,
					DepartureCityId: 0,
					IsIntermodal: 2,
					Unit_Price: price,
					TC_Price: price,
					CouponAllotIds: this.useCouponId > 0 ? this.currentCoupon.id.toString() : '',
					ManNum: this.orderMsg.ManNum,
					ChirdNum: this.orderMsg.ChirdNum,
					ChirdNeedBedNum: this.orderMsg.ChirdNeedBedNum,
					BabyNum: this.orderMsg.BabyNum,
					OldPeopleNum: 0,
					SingleRoomNum: 0,
					PreferPrice: this.price,
					YSeatNum: this.orderMsg.ManNum + this.orderMsg.ChirdNum,
					ESeatNum: 0,
					FSeatNum: 0,
					Commission: 0, //todo 提成
					ClientSource: 2,
					BrandId: 0,
					TradeWay: 0,
					PlatformOrder: "",
					GuestNum: parseInt(this.orderMsg.ManNum) +
						parseInt(this.orderMsg.ChirdNum) +
						parseInt(this.orderMsg.BabyNum),
					IsChildrenTour: this.currentPriceInfo.isSupportChildren,
					IsBirdDiscount: this.zaoniao > 0 ? 1 : 2,
					PredictRoomNum: 1,
					BigRoomNum: 0,
					TripleRoomNum: 0,
					TradeDate: this.currentPriceInfo.startDate,
					CostType: 0,
					MinOrderPrice: 0,
					Remarks: "",
					VisaNum: this.orderMsg.ManNum + this.orderMsg.ChirdNum + this.orderMsg.BabyNum,
					SafeNum: this.orderMsg.ManNum + this.orderMsg.ChirdNum + this.orderMsg.BabyNum,
					AirticketNum: 0,
					ReturnArriveCityId: 0,
					IsReturnIntermodal: 2,
					GoCityTime: "",
					BackCityTime: "",
					ScenicRefundArr: [],
					CommissionSharePeople: 0,
					CommissionShareMoney: 0,
					MiniAppUserId: MiniAppUserId,
					CreateBy: CustomerCreateBy, //同行联系人创建人
					DirectCustomerId: 0, //直客Id
					// #ifdef MP-WEIXIN
					OrderSource: 5,
					// #endif
					// #ifdef MP-ALIPAY
					OrderSource: 6,
					// #endif
					//MiniAppUserId: this.userInfo.UserId,
					Remarks: this.Remarks, //备注
					//GuestList: newobj,
				};
				if (this.realCurrentPriceInfo.priceUnion) {
					msg.DepartureCityId = this.realCurrentPriceInfo.priceUnion.unionCityId
					msg.IsIntermodal = 1
					msg.ReturnArriveCityId = this.realCurrentPriceInfo.priceUnion.unionCityId
					msg.IsReturnIntermodal = 1
				}
				this.apipost(
					"sellorder_post_SetOrderInfoForB2B",
					msg,
					(res) => {
						if (res.resultCode == 1) {
							uni.showToast({
								title: '订单创建成功，正在拉取微信支付',
								icon: 'none'
							})
							let data = res.data;
							data.CoverImg = this.currentPriceInfo.CoverImg;
							let myData = JSON.stringify(data);
							this.orderData = encodeURIComponent(myData);
							// #ifdef MP-WEIXIN
							this.queren(data.OrderId);
							// #endif
							// #ifdef MP-ALIPAY
							this.querenAli(data);
							// #endif
						} else {}
						this.submit = false;
					},
					(e) => {
						this.submit = false;
					}
				);
			},
			// #ifdef MP-WEIXIN
			//微信支付
			queren(OrderId) {
				let url = "/api/WeChatPay/GetTravlePayInfo";
				let GoodsName = this.currentPriceInfo.title;
				GoodsName = GoodsName.slice(0, 10);
				this.request2({
						url: url,
						data: {
							OrderId: OrderId,
							GoodsName: GoodsName,
							OrderPayType: 1,
							OpenId: uni.getStorageSync("mall_UserInfo").OpenId,
						},
					},
					(res) => {
						try {
							this.orderInfo = JSON.parse(res.data);
							// this.Pay(OrderId);
							this.subscribeMsg(OrderId);
						} catch (e) {
							uni.showToast({
								title: '无法正常拉取微信支付，你可以稍后重试或联系销售人员线下转款',
								icon: 'none'
							})
							setTimeout(() => {
								uni.redirectTo({
									url: "/pages/jiuzhai/jz_SureOrder?orderId=" + OrderId
								});
							}, 1000);
						}
					},
					(err) => {
						console.log(err)
					}
				);
			},
			subscribeMsg(OrderId) {
				const that = this;
				let tempObj = [];
				var basedataObj = uni.getStorageSync("basedata");
				if (basedataObj && basedataObj.mall && basedataObj.mall.wechatmessage && basedataObj.mall.wechatmessage.length > 0) {
					tempObj = basedataObj.mall.wechatmessage;
				}
				let tmplIds = [];
				if (tempObj && tempObj.length > 0) {
					tempObj.forEach((x) => {
						if (x.Name == "下单成功提醒" || x.Name == "订单取消提醒") {
							tmplIds.push(x.MessageId);
						}
					});
				}
				uni.requestSubscribeMessage({
					tmplIds: tmplIds,
					complete(res) {
						that.Pay(OrderId);
					},
				});
			},
			Pay(OrderId) {
				let that = this;
				uni.requestPayment({
					provider: "wxpay",
					timeStamp: this.orderInfo.timeStamp,
					nonceStr: this.orderInfo.nonceStr,
					package: this.orderInfo.package,
					signType: this.orderInfo.signType,
					paySign: this.orderInfo.sign,
					success: function(res) {
						console.log("success", res);
						uni.showToast({
							title: "支付成功",
						});
						setTimeout(() => {
							uni.redirectTo({
								url: "/pages/jiuzhai/paysuccess?PreferPrice=" +
									this.price +
									"&isFrom=1",
							});
						}, 100);
					},
					fail: function(err) {
						console.log("fail:", err);
						uni.showToast({
							title: "支付失败",
							icon: "none",
						});
						setTimeout(() => {
							uni.redirectTo({
								url: "/pages/jiuzhai/jz_SureOrder?orderId=" + OrderId,
							});
						}, 100);
					},
				});
			},
			// #endif
			// #ifdef MP-ALIPAY
			//支付宝支付
			querenAli(data) {
				let that = this;
				uni.showLoading({
					title: "支付中",
				});
				let url = "/api/WeChatPay/GetTravlePayInfo";
				let GoodsName = this.currentPriceInfo.title;
				this.request2({
						url: url,
						data: {
							OrderId: data.OrderId,
							GoodsName: GoodsName,
							OrderPayType: 2,
							OpenId: uni.getStorageSync("mall_UserInfo").OpenId,
						},
					},
					(res) => {
						this.orderInfo = JSON.parse(res.data);
						if (res.data) {
							that.$utils.SubscribeMsgAli(() => {
								that.PayAli(res.data, data);
							});
						} else {
							uni.hideLoading();
							uni.showToast({
								title: "获取交易号失败",
								duration: 2000,
							});
						}
					}
				);
			},
			PayAli(tradeNO, data) {
				let that = this;
				my.tradePay({
					tradeNO: tradeNO,
					success: function(res) {
						console.log("success", res);
						const list = ["9000"];
						if (list.includes(res.resultCode)) {
							let cbObj = {
								TradeNo: tradeNO,
								OrderNo: data.OrderNo,
								OrderId: data.OrderId,
								preferPrice: data.PreferPrice,
							};
							that.payAliCallback(cbObj);
						} else {
							uni.hideLoading();
							uni.showToast({
								title: "支付失败",
								icon: "none",
							});
							setTimeout(() => {
								uni.redirectTo({
									url: "/pages/jiuzhai/jz_MyOrder",
								});
							}, 1000);
						}
					},
					fail: function(err) {
						console.log("fail:", err);
						uni.hideLoading();
						uni.showToast({
							title: "支付失败",
							icon: "none",
						});
						setTimeout(() => {
							uni.redirectTo({
								url: "/pages/jiuzhai/jz_MyOrder",
							});
						}, 1000);
					},
				});
			},
			payAliCallback(obj) {
				this.request2({
						url: "/api/AliPay/ALiPayCallBackDmcNotify",
						data: {
							OrderNo: obj.OrderNo,
							OrderId: obj.OrderId,
							UserId: uni.getStorageSync("mall_UserInfo").UserId,
							TradeNo: obj.TradeNo,
							ProjectType: 2,
							PreferPrice: obj.preferPrice,
						},
					},
					(res) => {
						console.log("cb", res);
						this.submit = false;
						uni.redirectTo({
							url: "/pages/jiuzhai/paysuccess?PreferPrice=" +
								obj.preferPrice +
								"&isFrom=1",
						});
						uni.hideLoading();
					},
					(err) => {
						this.submit = false;
						console.log("cb2", err);
						uni.hideLoading();
						uni.showToast({
							title: "支付失败",
							icon: "none",
						});
						setTimeout(() => {
							uni.redirectTo({
								url: "/pages/jiuzhai/jz_MyOrder",
							});
						}, 1000);
					}
				);
			},
			// #endif
		},
	};
</script>
