<template>
	<view class="commonPageBox commonDetailPage">
		<z-nav-bar title="确认订单"></z-nav-bar>
		<view class="contentBox commonPageContentBox order_box">
			<view v-show="isShowAddress" class="order_top common_radius_box color_shandow goods_box address_box"
				@click="goToAddress">
				<u-icon name="map-fill" color="#7dc1f0" size="20"
					style="display: inline-block; margin-right: 10rpx"></u-icon>
				<view class="normal_box" v-if="addressData.consigneeName">
					<view class="normal_box_top">
						<view class="curriulum_title">{{ addressData.address }} </view>
						<view class="user_info">
							<text class="name"> {{ addressData.consigneeName }} </text>
							<text class="tel"> {{ addressData.consigneePhone }} </text>
						</view>
					</view>
				</view>
				<view class="normal_box" v-else>
					<view class="normal_box_top">
						<view class="curriulum_title">请添加收货地址 </view>
					</view>
				</view>
				<view class="right">
					<image src="@/static/icon/icon_right.png" class="rightArrow" style=""></image>
				</view>
			</view>

			<view class="order_top common_radius_box color_shandow goods_box">
				<view class="curriulum_title_box goods_item" style=" position: relative;" v-for="(v, i) in goodsDataList">
					<text class="goods_item_vip" v-if="v.isVipPrice==1&&v.vipPrice!=null&&v.vipPrice!=0">VIP优惠</text>
					<image class="goods_item_img" :src="v.productImages" mode="aspectFit">
					</image>
					<view class="normal_box">
						<view class="normal_box_top">
							<view class="curriulum_title">{{ v.productName }} </view>
							<view class="price_box">
								<view class="vip_price" v-if="v.isVipPrice==1&&v.vipPrice!=null&&v.vipPrice!=0">
									<text class="vip_price_jg">￥{{ v.vipPrice }}</text>
									<text class="vip_price_text">VIP到手价</text>
									<text class="vip_price_line">￥{{ v.price }}</text>
								</view>
								<text class="price" v-else-if="v.activityPrice&&v.activityPrice>0">
									<text class="vip_price_jg">￥{{ v.activityPrice }}</text>
									<text class="vip_price_text">活动价</text>
									<text class="vip_price_line">￥{{ v.price }}</text>
								</text>
								<text v-else>￥{{ v.price }}</text>
								
								<view>
									x 1
								</view>
							</view>
						</view>
					</view>
				</view>
				<view class="pay_box" style="margin-top: 20rpx">
					<view @click="openOrderModal(v)" class="curriulum_title_box goods_item pay_item"
						v-for="(v, i) in orderInfoList">
						<view class="top">
							<view class="left">
								<text> {{ v.text }}</text>
							</view>
							<view class="right" style="display: flex; align-items: center">
								<text style="
									float: left;
									text-align: right;
									color: #b0b0b0;
									font-size: 28rpx;
									display: inline-block;
									width: 200rpx;
								  " :class="remark ? 'hidden1 hasRemark' : 'hidden1'">
									{{ remark == "" ? v.placeholder : remark }}</text>
								<image src="@/static/icon/icon_right.png" class="rightArrow" style=""></image>
							</view>
						</view>
					</view>
				</view>
			</view>

			<view class="order_top common_radius_box color_shandow goods_box pay_box">
				<view class="title">价格明细</view>

				<view class="curriulum_title_box goods_item pay_item" v-for="(v, i) in priceBreakdownList">
					<view class="top">
						<view class="left" style="display: flex; align-items: center;">
							<image v-if="v.imgUrl" class="pay_item_img_icon" :src="v.imgUrl" mode="aspectFil"
								:style="v.style">
							</image>
							<u-icon v-if="v.icon" name="map-fill" color="#018F89" size="20"
								style="display: inline-block"></u-icon>
							<template v-if="v.type == 3&&$platform=='android'">
								<text style="color: #aaa; margin-left: 10rpx">
									(全部积分：{{ initData.user.jf }})</text>
							</template>
							<template v-else-if="v.type == 5">
								<text class="type_text_red">活动立减</text>
							</template>
							
							<template v-else-if="v.type == 6">
								<text class="type_text_red">VIP专享立减</text>
							</template>
							<text v-else>{{ v.text }}</text>
						</view>
						<view class="right">
							<template v-if="v.type == 1"> ￥{{ totalPrice }}</template>
							<template v-if="v.type == 2">
								<text>
									￥{{ isShowAddress ? freightNum.toFixed(2) : Number(0).toFixed(2) }}</text>
							</template>
							<template v-if="v.type == 3&&$platform=='android'">
								<text style="color: #fe6035"> -￥{{ jfNumberShow }}</text>
							</template>
							<template v-if="v.type == 5">
								<text class="type_text_red">-￥{{districtAmount}}</text>
							</template>
							<template v-if="v.type == 6">
								<text class="type_text_red">-￥{{vipPrice}}</text>
							</template>
						</view>
					</view>

					<view class="bottom jf_box" v-if="v.type == 3&&$platform=='android'">
						<view class="jf_box">
							<text style="color: #7dc1f0; font-weight: 600">可用积分({{ jfNumberMax }}分)</text>
							<view class="jf_input">
								<u--input type="number" @input="handleChangejf" @clear="jfNumber = 0" :max="jfNumberMax"
									v-model="jfNumber" placeholder="请输入积分" border="surround" clearable></u--input>
							</view>
						</view>
					</view>
				</view>
			</view>
			<view class="order_top common_radius_box color_shandow goods_box pay_box">
				<view class="title">支付方式</view>

				<view class="curriulum_title_box goods_item pay_item" v-for="(v, i) in payList">
					<view :class="isDefaultCurrency && i != 2 ? 'bgGrey top' : 'top'">
						<view class="left">
							<image class="pay_item_img" :src="v.imgUrl" mode="aspectFil" :style="v.style">
							</image>
							<template v-if="v.type == 4">
								<text> {{ v.text }}</text>
								<text style="color: #7dc1f0; font-weight: 600; margin-left: 10rpx">
									(余额：{{
                    initData && initData.user ? initData.user.peanutCoin : 0
                  }})</text>
							</template>

							<text v-else> {{ v.text }}</text>
						</view>
						<template v-if="isDefaultCurrency">
							<radio :value="v.value" color="#7dc1f0" v-if="i == 2"
								:checked="selectPayIndex == i ? true : false" @click="radioChange(i)" size="10" />
						</template>
						<template v-else>
							<radio :value="v.value" color="#7dc1f0" :checked="selectPayIndex == i ? true : false"
								@click="radioChange(i)" size="10" />
						</template>
					</view>
				</view>
				<template v-if="selectPayIndex == 2 || $platform == 'ios'">
					<view class="goods_detail_list_title bg_box_shandow color_shandow bg_color">
						<view class="linlanzhifu" style="
                width: 100%;
                overflow: hidden;
                justify-content: space-between;
              ">
							<view class="linlanzhifu">
								<u-icon name="error-circle" color="#7dc1f0" size="20"
									style="display: inline-block; margin-right: 10rpx"></u-icon>
								确保您的天医币足够支付
							</view>

							<text class="fdButtonBox aui-text-danger fdButtonBoxRed" style="float: right" @click="
                  onPageJump('/pages/wallet/recharge?source=order')
                ">立即充值</text>
						</view>

						<view class="other_info" style="margin-top: 12rpx">
							<view class="explain" style="margin-bottom: 10rpx"> 说明 </view>
							<view class="explain"> 1. 1天医币 = 1元人民币 </view>
							<view class="explain">
								2.若有疑问或意见请致电客服
								<span style="font-size: 15px"><u @click="checkPermision">022-24142321</u></span>
							</view>
							<view class="explain">

								3.非中国大陆用户可以信用卡支付。简单快捷，推荐使用！
								支付时使用的信用卡需要带有Visa或MasterCard的标识。请向邮箱
								<text @click="fnCopy('publisher@tmrjournals.com', '邮箱')" class="aui-text-success"
									style="text-decoration: underline; color: #7dc1f0">
									publisher@tmrjournals.com
								</text>
								（点击复制）发送支付请求，内容需包含：拟购买的课程名称、支付金额、APP注册姓名及手机号码，或者加一路健康客服微信（
								<text class="aui-text-success" @click="fnCopy('yilujiankangkefu', '微信名')"
									style="text-decoration: underline; color: #7dc1f0">
									yilujiankangkefu </text>）（点击复制）联系我们，我们将在24小时内向您的邮箱或者微信发送支付链接，根据提示即可完成信用卡支付，无需兑换外币。
							</view>
						</view>
					</view>
				</template>
			</view>

			<template>
				<common-sticky label="title" :itemStyle="`width:${
            cateList.length == 2 ? '50' : '33'
          }%;padding-left: 15px; padding-right: 15px; height: 68rpx;`" :list="cateList"
					:currentCateIndex="currentCateIndex" @handleselectCate="handleselectCate">
				</common-sticky>
			</template>
		</view>
		<view class="goods_nav_box">
			<common-goods-nav :iconList="[]" :customButton="customButton" @submit="goBuyJie">
				<!-- leftSlot -->
				<template slot="leftSlot" slot-scope="slotProps">
					<view class="price_box order_bottom_box">
						<text class="price">合计：
							<text class="total" v-if="actualPayment==0">{{jfNumber}}积分</text>
							<text class="totacl" v-else>
								<span style=" color: red;">￥{{actualPayment}}</span>
								<text style="margin: 0 4rpx;" v-if="actualPayment>0&&jfNumber>0">
								+
								</text>
						    
								<text v-if="jfNumber>0">{{ jfNumber }} 积分</text>
						    </text>
						</text>
					</view>
				</template>
			</common-goods-nav>
		</view>
		<u-popup :show="show" mode="right">
			<common-address backState="3000" ref="commonAddress" @fresh="handleFresh"
				@selectAddress="selectAddress"></common-address></u-popup>
		<u-popup :show="orderModalShow" mode="bottom" :round="20">
			<view class="orderModalShow popup_box">
				<u-icon name="close" color="#333" size="18" @click="closeOrderModalShow" style="
            display: inline-block;
            position: absolute;
            right: 20rpx;
            top: 20rpx;
          "></u-icon>
				<view v-if="orderModalShowInfo.type == 'remark'">
					<view class="order_top common_radius_box goods_box">
						<view class="curriulum_title_box goods_item">
							<view class="title">订单备注</view>
							<u--textarea v-model="content" placeholder="选填：给商家留言" count class="textarea"></u--textarea>
						</view>
					</view>
				</view>
				<view class="goods_nav_box">
					<uni-goods-nav :fill="true" :options="[]" :button-group="customButtonGroup1"
						@click="onHandleClickBuy" @buttonClick="onHandleClickBuy" />
				</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
	import debounce from "@/common/debounce.js";
	import {
		setPay,
		setPayAssign,
		setWXPay
	} from "@/config/utils";
	import $http from "@/config/requestConfig.js";
	import permission from "@/js_sdk/wa-permission/permission.js"
	const { platform } = uni.getSystemInfoSync();
	import {
		mapState
	} from "vuex";
import parse from "../../uni_modules/uview-ui/libs/config/props/parse";
	export default {
		watch: {
			isDefaultCurrency: {
				immediate: true,
				handler(newRoute) {
				  if (this.isDefaultCurrency) {
				    if (platform == "ios") {
				      this.selectPayIndex = 0;
				    } else {
				      this.selectPayIndex = 0;
				    }
				  } else {
				    if (platform == "ios") {
				      this.selectPayIndex = 0;
				    } else {
				      this.selectPayIndex = 0;
				    }
				  }
				
				  this.payType = this.payList[this.selectPayIndex].type;
				  if (this.actualPayment == 0) {
				    var that = this;
				    this.payList.forEach((e, i) => {
				      if (e.type == 4) {
				        that.selectPayIndex = i;
				        that.payType = 4;
				      }
				    });
				    this.$forceUpdate();
				  }
				  this.$forceUpdate();
				},
			},
		},
		data() {
			return {
				isDefaultCurrency: false,
				isShowAddress: false,
				jfNumber: 0,
				totalPrice: 0,
				actualPayment: 0,
				jfNumberShow: "",
				jfNumberMax: 0,
				goodsDataList: [],
				orderModalShowInfo: {},
				orderModalShow: false,
				payType: 1,
				freightNum: 0,
				addressData: {
					address: "",
					consigneeName: "",
					consigneePhone: "",
				},
				selectPayIndex: 1,
				farePrice: 0,
				payList: [],
				priceBreakdownList: [],
				orderInfoList: [{
					text: "订单备注",
					placeholder: "填写订单备注",
					imgUrl: "",
					type: "remark",
				}, ],
				number: 1,
				detailInfo: {},
				content: "",
				remark: "",
				iconList: [],

				swiperList: [],
				options: {},
				relatedCoursesList: [], //相关课程
				curriculumData: {},
				curriculumInfo: {},
				detailInfo: {},
				fdButtonStyle: {
					width: "120rpx",
					"border-color": "#3AB3AE",
					color: "#3AB3AE",
					float: "right",
					"margin-right": "20rpx",
					"margin-left": "30rpx",
				},
				modalInfo: {},
				currentCateIndex: 0,
				show: false,
				playData: {},
				initData: {},
				taiHuClassInfo: {},
				searchValue: "",
				cateList: [], // 一级分类标题1
				twoCateList: [], // 二级分类标题
				dataList: [], // 方剂标题
				defaultAddressList: {},
				allDataList: [], // 方剂标题
				currentStatusIndex: 0, // 当前选中的一级分类

				curTwoCateIndex: 0, // 当前选中的二级分类
				searchList: [], // 搜索结果数组
				showSearchList: false,
				userMes: {}, // 用户信息
				searchDisable: false, // 搜索不可用
				limitShow: false,
				limitTitle: "提示",
				goToInfo: {},
				limitContent: "",
				scrollViewHeight: 0,
				urlList: {
					list: "app/phone.do?getCourseDetail_new",
					initPrepareOrder: "common/buyOrder/initPrepareOrder",
					buyOrder: "book/buyOrder/placeOrder",
					curriculumInfo: "app/phone.do?getCourseInfo",
					detailInfo: "app/phoneDoctor.do?getTaiHuClassInfo_new",
					addressList: "common/userAddress/getUserAddress",
					freightNum: "book/buyOrder/calculateTransportPrice", //运费
				},
				customButton: [{
					width: "300rpx",
					text: "立即支付",
					backgroundColor: "linear-gradient(90deg, #294a97 0%, #7dc1f0 80%)",
					color: "#fff",
				}, ],
				customButtonGroup1: [{
					with: 200,
					text: "确定",
					backgroundColor: "linear-gradient(90deg, #294a97 0%, #7dc1f0 80%)",
					color: "#fff",
				}, ],
				//立减金额
				districtAmount: 0,
				vipPrice: 0,
				orderNumber: 1,  //商品数量
			};
		},
		async onLoad(options) {
			var that = this;
			var mynavData = uni.getStorageSync('mynavData');
			this.options = mynavData;
			if (this.options.sourceType == "curriculum") {
				this.goToInfo = {
					url: "/pages/curriculum/index/index",
					type: 2,
				};
			} else {
				this.goToInfo = {
					url: "/pages/order/index",
					type: 1,
				};
			}
			that.getData();
		},
		async onShow() {
			var that = this;
			await uni.$on("returnData", function(data) {
				if (data) {
					that.addressData = {
						...data,
						address: `${data.province}${data.city}${data.county}${data.detailAddress}`,
						consigneeName: data.consigneeName,
						consigneePhone: data.consigneePhone,
					};
					that.$forceUpdate();
					that.getUserAddress();
				} else {
					
				}
			});
			if (platform == "ios") {
				that.payList = [
					{
						text: "天医币",
						imgUrl: require("@/static/icon/pay_3.png"),
						type: 4,
						value: "2",
					},
				];
			  that.selectPayIndex = 0;
			  that.payType = 4;
			} else {
				that.payList = [
					{
						text: "支付宝",
						imgUrl: require("@/static/icon/pay_1.png"),
						type: 2,
						value: "0",
					},
					{
						text: "微信",
						imgUrl: require("@/static/icon/pay_2.png"),
						type: 1,
						value: "1",
					},
					{
						text: "天医币",
						imgUrl: require("@/static/icon/pay_3.png"),
						type: 4,
						value: "2",
					},
				];
				that.selectPayIndex = 1;
				that.payType = 1;
			}
		},
		computed: {
			...mapState(["userInfo"]),
		},
		methods: {
			//获取数据
			async getData(){
				this.$http.request({
					url: 'book/buyOrder/getShopProductListByIds',
					method: "POST",
					data: {
						productIds: this.options.goods[0].productId.toString()
					},
					header: {
						"Content-Type": "application/json",
					},
				})
				.then(async (res) => {
					if (res.code == 0) {
						this.goodsDataList = res.shopProductList;
						//请求VIP还是活动的逻辑
						if(this.goodsDataList[0].isVipPrice==1&&
						   this.goodsDataList[0].vipPrice!=null&&
						   this.goodsDataList[0].vipPrice!=0){
							await this.getVipDiscountAmount();
						}else if(this.goodsDataList[0].activityPrice&&
						  this.goodsDataList[0].activityPrice>0){
							await this.getDistrictAmount();
						}else{
							await this.initPrepareOrder();
						}
					}
				});
			},
			//VIP立减
			async getVipDiscountAmount(){
				let data = [];
				this.goodsDataList.forEach((item, index) => {
					data.push({
						productId: item.productId,
						quantity: this.orderNumber,
					});
				});
				this.$http.request({
					url: 'book/buyOrder/getVipDiscountAmount',
					method: "POST",
					data: {
						productList: data
					},
					header: {
						"Content-Type": "application/json",
					},
				})
				.then(async (res) => {
					if (res.code == 0) {
						this.vipPrice = res.discountAmount;
						await this.initPrepareOrder();
					}
				});
			},
			//活动立减
			async getDistrictAmount(){
				let data = [];
				this.goodsDataList.forEach((item, index) => {
					data.push({
						productId: item.productId,
						quantity: this.orderNumber,
					});
				});
				this.$http.request({
					url: 'book/buyOrder/getDistrictAmount',
					method: "POST",
					data: {
						productList: data
					},
					header: {
						"Content-Type": "application/json",
					},
				})
				.then(async (res) => {
					if (res.code == 0) {
						this.districtAmount = res.districtAmount;
						await this.initPrepareOrder();
					}
				});
			},
			
			handleChangejf(val) {
				var value = val;
				this.$nextTick(() => {
					if (val == 0) {
						this.jfNumber = 0;
						this.jfNumberShow = "0.00";
					} else {
						if (value >= this.jfNumberMax) {
							value = this.jfNumberMax;

							this.$forceUpdate();
						} else {}
						this.jfNumber = Number(value);
						this.jfNumberShow = this.jfNumber.toFixed(2);
					}

					this.actualPayment = this.totalPrice - this.jfNumber - this.vipPrice - this.districtAmount + this.freightNum;

					// 如果实际支付金额为0，设置支付方式为默认货币
					if (this.actualPayment == 0) {
						console.log("this.actualPayment at line 1097:", this.actualPayment);
					  this.isDefaultCurrency = true;
					  this.payList.forEach((e, i) => {
					    if (e.type == 4) {
					      this.selectPayIndex = i;
					      this.payType = 4;
					    }
					  });
					  this.$forceUpdate();
					} else {
					  this.isDefaultCurrency = false;
					}
					this.$forceUpdate();
				});
			},
			onHandleClickBuy() {
				this.orderModalShow = false;
				this.remark = this.content;
			},
			closeOrderModalShow() {
				if (this.orderModalShowInfo.type == "remark") {
					this.content = "";
				}
				this.orderModalShow = false;
			},
			onPageJump(url) {
				uni.navigateTo({
					url: url,
				});
			},
			//获取订单初始数据
			async initPrepareOrder() {
				this.priceBreakdownList = [{
						text: "商品总价",
						imgUrl: "",
						type: 1,
					},
					{
						text: "运费",
						imgUrl: "",
						type: 2,
					},
				];
				//如果是活动
				if(this.goodsDataList[0].activityPrice&&this.goodsDataList[0].activityPrice>0&&!this.goodsDataList[0].vipPrice>0){
					this.priceBreakdownList.push({
						type: 5,
					})
				}
				//如果是vip
				if(this.goodsDataList[0].isVipPrice==1&&this.goodsDataList[0].vipPrice!=null&&this.goodsDataList[0].vipPrice!=0){
					this.priceBreakdownList.push({
						type: 6,
					})
				}
				
				var data = {
					uid: this.userInfo.id,
					productList: this.goodsDataList.map((e) => {
						return {
							productId: this.goodsDataList[0].productId,
							quantity: this.orderNumber,
						};
					}),
				};

				var that = this;
				this.$http.request({
					url: `${this.urlList.initPrepareOrder}`,
					method: "POST",
					data,
					header: {
						"Content-Type": "application/json",
					},
				})
				.then(async (res) => {
					if (res.code == 0) {
						this.initData = res.data;

						this.isShowAddress = res.data.is_course ? false : true;
						if (!this.isShowAddress&&this.$platform=='android') {
							this.priceBreakdownList.push({
								text: "积分",
								imgUrl: require("@/static/icon/jifen.png"),
								type: 3,
							});
						}

						if (this.isShowAddress) {
							await this.getUserAddress();
						} else {
							await this.getTotalPrice();
						}
					}

					this.$forceUpdate();
				});
			},
			// 获取地址列表
			async getUserAddress() {
				var data = {};
				var that = this;
				this.$http.request({
					url: `${this.urlList.addressList}?userId=${this.userInfo.id}`,
					method: "POST",
					data,
					header: {
						"Content-Type": "application/json",
					},
				})

				.then(async (res) => {
					if (res.code == 0) {
						if (res.list.length > 0) {
							var index = res.list.findIndex((e) => e.isDefault == 1);
							if (index >= 0) {
								that.defaultAddressList = {
									...res.list[index],

									address: `${res.list[index].province}${res.list[index].city}${
				res.list[index].county
			  }${
				res.list[index].detailAddress
				  ? res.list[index].detailAddress
				  : ""
			  }`,
								};
							} else {
								that.defaultAddressList = {
									...res.list[0],
									address: `${res.list[0].province}${res.list[0].city}${
				res.list[0].county
			  }${
				res.list[0].detailAddress ? res.list[0].detailAddress : ""
			  }`,
								};
							}
						} else {
							this.defaultAddressList = {};
						}
					}
					if (!this.addressData.id) {
						this.addressData = this.defaultAddressList;
					}
					await this.getFreightNum();
					this.$forceUpdate();
				});
			},

			//获取运费
			async getFreightNum() {
				if (!this.addressData.regionCode) {
					await this.getTotalPrice();
				} else {
					var data = {
						products: this.goodsDataList.map((e) => {
							return {
								productId: e.productId,
								quantity: this.orderNumber,
							};
						}),
						regionCode: this.addressData.regionCode,
					};

					var that = this;

					this.$http
						.request({
							url: `${this.urlList.freightNum}`,
							method: "POST",
							data,
							header: {
								"Content-Type": "application/json",
							},
						})

						.then(async (res) => {
							if (res.code == 0) {
								this.freightNum = res.result;
							}
							await this.getTotalPrice();
							this.$forceUpdate();
						});

				}
			},
			handleFresh() {
				this.show = false;
			},
			//获取总金额
			async getTotalPrice() {
				var s = 0;
				var that = this;
				for (var i = this.goodsDataList.length - 1; i >= 0; i--) {
					s += this.goodsDataList[i].price;
				}
				that.totalPrice = s * that.orderNumber;
				
				if (!this.isShowAddress) {
					if (this.initData.user.jf >= that.totalPrice) {
						this.jfNumber = that.totalPrice - that.vipPrice - that.districtAmount;
						this.jfNumberMax = that.totalPrice - that.vipPrice - that.districtAmount;
					} else {
						this.jfNumber = this.initData.user.jf;
						this.jfNumberMax = this.initData.user.jf;
					}
					if (that.jfNumber == 0 || that.jfNumber == null) {
						that.jfNumberShow = "0.00";
						that.actualPayment = that.totalPrice;
					} else {
						that.jfNumberShow = that.jfNumber.toFixed(2);
						that.actualPayment = that.totalPrice - that.jfNumber;
					}
					that.actualPayment = that.actualPayment + that.freightNum - that.vipPrice- that.districtAmount;
				} else {
					that.actualPayment = that.totalPrice + that.freightNum - that.vipPrice - that.districtAmount;
				}

				if (this.actualPayment == 0 && !this.isShowAddress) {
					 this.isDefaultCurrency = true;
				} else {
					this.isDefaultCurrency = false;
				}
				this.$forceUpdate();
			},
			selectAddress(data) {
				this.show = false;
			},
			goToAddress() {
				uni.navigateTo({
					url: "/pages/component/commonComponents/address/index?type=order",
				});
			},
			fnCopy(value, title) {
				this.$commonJS.handleMakingPhoneCalls(value, title);
			},
			async checkPermision() {
				var result = await permission.premissionCheck("CALLPHONE")
				if (result != 1) {
					return false
				}
				this.gotoPhone()
			},
			gotoPhone() {
				this.$commonJS.handleMakingPhoneCalls("022-24142321");
			},
			openOrderModal(v) {
				this.orderModalShowInfo = v;
				this.orderModalShow = true;
				if (this.orderModalShowInfo.type == "remark") {
					this.content = this.remark;
				}
			},
			async goBuyJie() {
				debounce(async () => {
					var that = this;
					this.nowClick = false;
					setTimeout(() => {
						this.nowClick = true;
					}, 5000);
					let xiaBiao = [];
					if (this.options.goods[0].goodsType != "05") {
						if (!this.addressData.id) {
							this.$commonJS.showToast("请选择收货地址");
							return false;
						}
					}
					let data = {
						buyType: this.options.typeId, //0- 商品页直接下单  1- 购物车结算
						userId: this.userInfo.id, //下单人ID
						shippingUser: this.addressData ? this.addressData.consigneeName : "111", //收货人姓名
						userPhone: this.addressData.consigneePhone, //收货人手机号
						jfDeduction: this.jfNumber,
						paymentMethod: this.payType, //支付方式   2支付宝，1微信，3ios内购    4，天医币购买
						orderMoney: this.totalPrice, //订单金额
						realMoney: this.actualPayment, //实收金额
						shippingMoney: this.freightNum, //运费
						remark: this.remark, //备注
						couponId: null, //优惠券Id
						couponName: "", //优惠券名称
						districtMoney: 0, //活动

						productList: this.goodsDataList.map((e) => {
							return {
								productId: e.productId,
								quantity: this.orderNumber,
							};
						}), //订单列表商品
						orderType: "order", //订单类型
						addressId: this.options.goods[0].goodsType != "05" ? this.addressData.id : 0, // 地址ID
						appName: "xlkj",
						come: "3",  //3心灵空间
					}
					if(this.goodsDataList[0].isVipPrice==1&&
					   this.goodsDataList[0].vipPrice!=null&&
					   this.goodsDataList[0].vipPrice!=0){
						  data.vipDiscountAmount = this.vipPrice;  //vip
					}else if(this.goodsDataList[0].activityPrice&&
						  this.goodsDataList[0].activityPrice>0){
						data.districtMoney = this.districtAmount;  //活动
					}

					await $http.request({
						url: that.urlList.buyOrder,
						method: "POST",
						data,
						header: {
							"Content-Type": "application/json",
						},
					})
					.then(async (res) => {
						if (res.code == 0) {
							if (res.orderSn == null) {
								uni.showToast({
									title: "失败,请重新下单",
									icon: "none"
								});
							} else {
								if (that.payType == 2) {
									// 常规支付
									uni.showToast({
										title: "正在支付",
										icon: "loading",
									});
									await setPay({
											typePay: "alipay",
											subject: "order",
											totalAmount: res.money,
											type: 2,
											relevanceoid: res.orderSn,
											customerId: that.userInfo.id,
										},
										(res) => {
											uni.showLoading({
												title: "加载中",
											});
											console.log(res, "支付支付");
											if (res.success) {
												uni.showToast({
													title: "支付成功",
												});
												setTimeout(() => {
													if (that.goToInfo.type == 1) {
														uni.switchTab({
															url: `${that.goToInfo.url}?type=order`,
														});
													} else {
														uni.redirectTo({
															url: `${that.goToInfo.url}?backType=order`,
														});
													}
												}, 1000);
											} else {
												setTimeout(() => {
													console.log("延迟调用 失败提示");
													uni.showToast({
														title: "支付失败"
													});
												}, 0);
											}
										}
									);
								} else if (this.payType == 1) {
									// 微信支付
									let data1 = {
										orderSn: res.orderSn,
										buyOrderId: null,
										totalAmount: res.money,
									};
									setWXPay(data1, (res) => {
										if (res.success) {
											uni.showToast({
												title: "支付成功",
											});
											setTimeout(() => {
												if (that.goToInfo.type == 1) {
													uni.switchTab({
														url: `${that.goToInfo.url}?type=order`,
													});
												} else {
													uni.redirectTo({
														url: `${that.goToInfo.url}?backType=order`,
													});
												}
											}, 1000);
										} else {
											if (res.data.errMsg.indexOf(
													"User canceled") != -1) {
												uni.showToast({
													title: "用户取消支付",
													icon: "none"
												});
											} else {
												uni.showToast({
													title: "支付失败",
													icon: "none"
												});
											}
										}
									});
								} else if (this.payType == 4) {
									// 天医币支付
									uni.showToast({
										title: "购买成功",
										icon: "success",
									});
									setTimeout(() => {
										if (that.goToInfo.type == 1) {
											uni.switchTab({
												url: `${that.goToInfo.url}?type=order`,
											});
										} else {
											uni.redirectTo({
												url: `${that.goToInfo.url}?backType=order`,
											});
										}
									}, 1000);
								}
							}
						}
						uni.removeStorageSync('mynavData');
					});
				}, 200);
			},

			radioChange(index) {
				this.selectPayIndex = index;
				this.payType = this.payList[this.selectPayIndex].type;
				this.$forceUpdate();
			},
			buttonClick(e) {
				this.options[2].info++;
			},
			// 获取用户详情
			getUserInfo() {
				if (this.userInfo.id != undefined) {
					this.$http.post("book/user/info/" + this.userInfo.id).then((res) => {
						this.userMes = res.user;
						this.getCateList();
					});
				}
			},

			async handleselectCate(item, index) {
				this.dataList = [];
				var data = [];
				console.log(item, index, 99999);
				var that = this;
				this.$http
					.post(this.urlList.curriculumInfo, {
						customerType: "D",
						token: uni.getStorageSync("token"),
						customerOid: uni.getStorageSync("customerOid"),
						oid: item.coid,
					})
					.then(async (res) => {
						that.curriculumInfo = res.obj;
						that.dataList = res.obj.courseList;
					});
				this.searchValue = "";
				this.searchList = [];
				this.showSearchList = false;
			
				return data;
			},
			async getDetailInfo() {
				var that = this;
				this.detailInfo = {
					content: "<img src='http://oss.taihumed.com/other/null_20210528102528870.jpg' ></img> <img src='http://101.201.146.165:8088/curriculum/detailImg/curriculum_20170420143333621.png'  ></img><p><p>没有中医基础想学中医难不难？中医学者治疗出现瓶颈怎么办？中西医究竟有什么不同呢？吴雄志教授将以全新的视角，完美整合中药学和西医学知识，让你领略当代中医生理学魅力。</p><p><br/><p></p><p><br/></p><p>【思考题】</p><p>1、简述中医的发展这些年出现了哪些变化？</p><p>2、简述中西医学科的异同？</p>",
				};

				this.searchValue = "";
				this.searchList = [];
				this.showSearchList = false;
			
				return data;
			},
			getCateList(id) {
				id ? "" : (id = 0);
				this.twoCateList = [];
				this.curTwoCateIndex = 0;
			},
		},
		onBackPress() {
			// #ifdef APP-PLUS
			plus.key.hideSoftKeybord();
			// #endif
		},
	};
</script>

<style lang="scss" scoped>
	@import "@/static/mixin.scss";
	.order_box {
		padding: 20rpx;

		.order_top {
			background-color: #fff;
			margin-bottom: 20rpx;
		}

		.goods_item {
			width: 100%;
			overflow: hidden;

			.textarea {
				margin-top: 20rpx;
				background-color: #fffdfd;
			}

			.goods_item_img {
				width: 140rpx;
				height: 140rpx;
				float: left;
				background-color: #f5f5f5;
				border-radius: 10rpx;
			}

			.normal_box {
				width: calc(100% - 160rpx);
				height: auto;
				float: right;

				.normal_box_top {
					width: 100%;
					height: 100rpx;
				}
			}
		}
	}
	.flexbox {
		display: flex;
	}

	.dataList {
		height: 100%;
	}

	.titleList2 {
		height: calc(100% - 150rpx);
	}

	.priceDetail {
		height: calc(100% - 180rpx) !important;
		padding: 0rpx 0;
		box-sizing: border-box;
	}

	.componentPage {
		height: calc(100% - 90rpx) !important;
	}

	.dateReminder {
		width: 100%;
		font-size: 24rpx;
		text-align: right;
		line-height: 40rpx;
	}

	.fdButtonBox {
		border: 1rpx solid $themeColor;
		background-color: $themeColor;
		color: #fff;
		// width: 100%;
		float: right;
		padding: 4rpx 14rpx;
		font-size: 24rpx;
		font-weight: 500;
		line-height: 30rpx;
		border-radius: 10rpx;
		box-sizing: border-box;
	}

	.commonDetailPage {
		padding-bottom: 150rpx !important;
	}

	.goods_box {
		background-color: #fff;
		box-sizing: border-box;
		width: 100%;

		.title {
			color: #333;
			font-weight: 600;
			margin-bottom: 20rpx;
		}

		.curriulum_title_box {
			width: calc(100%) !important;
			padding-bottom: 20rpx;
			background-color: #fff;

			.curriulum_title {
				width: calc(100% - 80rpx);
				font-weight: 500;
				font-size: 30rpx;
				margin-top: 10rpx;
				margin-bottom: 0rpx;
				color: #333;
				box-sizing: border-box;
			}
		}
	}

	.dataList {
		background-color: #fff !important;
		padding: 0 30rpx 40rpx !important;
		box-sizing: border-box;
	}
	/deep/.scroll-view-item:nth-child(2n-1) {
		background-color: transparent !important;
	}

	.dataList {
		height: auto !important;
	}

	.related_courses_box {
		background-color: #fff;

		.small_class_teaching_content {
			padding: 10rpx 20rpx;
			box-sizing: border-box;
		}
	}

	.related_courses_name {
		display: inline-block;
		width: calc(100% - 150rpx) !important;

		.aui-text-danger {
			display: inline-block;
			float: right;
		}
	}

	.original_price {
		font-size: 28rpx !important;
		font-weight: 500;
		color: #999 !important;
		white-space: nowrap;
		text-decoration: line-through;
		float: left;
		margin-top: 6rpx;
	}

	.price {
		width: auto;
		font-size: 28rpx;
		font-weight: 600;
		margin-right: 10rpx;
		color: #333;
	}

	.normal_box_top .price_box {
		width: auto;
		overflow: hidden;
		margin-top: 20rpx;
		display: flex;
		align-items: center;
		justify-content: space-between;
		
		
		.vip_price_jg{
			color: red;
			font-weight: bold;
		}
		.vip_price_text{
			color: red;
			padding-left: 10rpx;
			font-size: 24rpx;
			font-weight: normal;
		}
		.vip_price_line{
			color: #666;
			text-decoration: line-through;
			padding-left: 15rpx;
		}
	}

	.commonTags {
		margin-right: 20rpx;
		margin-top: -5rpx !important;
	}

	.sales_number {
		text-decoration: none;
		color: #b0b0b0;
		font-weight: 500;
	}
	/deep/.common_curriculum_list {
		margin-top: 20rpx;
		padding: 20rpx 20rpx 20rpx;

		.content_item {
			width: 100% !important;
			margin-bottom: 0 !important;
			padding: 15rpx 0 0rpx;
			border-top: 1rpx solid #f1f0f0;
			// height: 160rpx;

			.book_image {
				width: 60rpx !important;
				height: 60rpx !important;
				float: left !important;
				background-color: #f5f5f5;
			}

			.common_curriculum_item {
				width: calc(100% - 88rpx);
				float: right;
				display: block !important;

				// overflow: hidden;

				.related_courses_name {
					width: 100% !important;
				}
			}
		}

		.content_item:nth-child(1) {
			border-top: none !important;
		}
	}

	/deep/.common_section {
		padding: 0 !important;
		padding-bottom: 20rpx !important;
	}

	.goods_detail_list_title {
		display: block;
		padding-top: 20rpx;
		padding-bottom: 40rpx;

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

		.other_info {
			font-size: 28rpx;
			// color: #aaa;
			color: #5a5a5a;

			.explain {}
		}

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

		.right {
			font-size: 24rpx;
			font-weight: 500 !important;
			color: #999;
			font-family: none;
		}
	}

	.commonPageContentBox {
		height: auto !important;
	}

	.minus {
		width: 50rpx;
		height: 50rpx;
		border-width: 2rpx;
		border-color: #e6e6e6;
		border-right-color: transparent;

		border-top-left-radius: 10rpx;
		border-bottom-left-radius: 10rpx;
		border-style: solid;
		@include flex;
		justify-content: center;
		align-items: center;
	}

	.input {
		padding: 0 10px;
		height: 50rpx;
		border: 1rpx solid #e6e6e6;
	}

	.plus {
		width: 50rpx;
		height: 50rpx;
		border-width: 2rpx;
		border-color: #e6e6e6;
		border-left-color: transparent;
		border-style: solid;
		// background-color: #3AB3AE;

		border-top-right-radius: 10rpx;
		border-bottom-right-radius: 10rpx;
		/* #ifndef APP-NVUE */
		display: flex;
		/* #endif */
		justify-content: center;
		align-items: center;
		color: $themeColor;
	}

	.order_bottom_box {
		position: absolute;
		right: 20rpx;

		.number {
			font-size: 26rpx;
			margin-right: 15rpx;
		}

		.price {
			font-size: 30rpx;
			.total {
				font-size: 30rpx;
				color: red;
			}
		}
	}

	/deep/.goods_nav_box {
		.left {
			margin-top: -10rpx;
			width: calc(100% - 220rpx);
			height: auto;
			position: relative;
		}
	}

	.explain {
		word-wrap: break-word;
		word-break: normal;
		word-break: break-all; //会断词
		// white-space: nowrap;
	}

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

	.pay_box {
		.pay_item {
			border-bottom: 1rpx solid #eeecec;
			padding-top: 20rpx;
			justify-content: space-between;

			.top {
				width: 100%;
				display: flex;
				align-items: center;
				justify-content: space-between;
			}

			.left {
				line-height: 50rpx;
				font-family: MicrosoftYaHei;
				font-weight: 500;

				color: #242323;

				.pay_item_img {
					width: 50rpx;
					height: 50rpx;
					float: left;
					margin-right: 20rpx;
				}
				.pay_item_img_icon{
					width: 40rpx;
					height: 40rpx;
					float: left;
					margin-right: 8rpx;
				}
			}

			.bottom {
				width: calc(100% - 60rpx);
				float: right;
				// background-color: #dcdfe6;
				background-color: #f5f5f5;
				border-radius: 20rpx;
				margin-top: 20rpx;

				.jf_box {
					width: 100%;
					display: flex;
					align-items: center;
					padding: 0 20rpx;
					box-sizing: border-box;
					justify-content: space-between;
					color: #aaa;
				}

				.jf_input {
					width: calc(100% - 320rpx) !important;
					padding: 10rpx 0;
					box-sizing: border-box;
				}
			}
		}

		/deep/.pay_item:nth-last-child(1) {
			border-bottom: none !important;
		}
	}

	.linlanzhifu {
		font-size: 28rpx;
		line-height: 24rpx;
	}

	.address_box {
		display: flex;
		align-items: center;
		padding: 30rpx 20rpx;

		.order_top {
			background-color: #fff;
		}

		.user_info {
			width: 100%;
			float: left;
			display: flex;
			align-items: center;

			.name {
				color: #838282;
				margin-right: 10rpx;
			}

			.tel {
				color: #838282;
			}
		}

		.curriulum_title {
			width: auto;
			font-size: 30rpx;
			font-weight: 700;
			float: left;
			margin-right: 10rpx;
			color: #333;
			line-height: 40rpx;
			letter-spacing: 2rpx;
		}

		.normal_box {
			margin-left: 5rpx;
			width: calc(100% - 120rpx);
		}

		.goods_box {
			padding: 20rpx 20rpx;
			display: flex;
			align-items: center;
		}

		.rightArrow {
			margin-left: 40rpx;
			width: 40rpx;
			height: 40rpx;
			// position: absolute;
			// right: 30rpx;
		}
	}

	.rightArrow {
		width: 40rpx;
		height: 40rpx;
		// position: absolute;
		// right: 30rpx;
	}

	.orderModalShow {
		width: 100%;
		max-height: 48vh;
		padding-bottom: 120rpx;
	}

	.popup_box {
		.curriulum_title_box {
			.title {
				text-align: center;
				font-size: 34rpx !important;
				padding-top: 15rpx !important;
				margin-bottom: 30rpx !important;
			}
		}
	}

	.hasRemark {
		color: #333 !important;
	}
	
	.goods_item_vip{
		position: absolute;
		left: 0px;
		top: 0;
		z-index: 99;
		background: #ff1f00;
		padding: 0 4px;
		border-radius: 4px;
		line-height: 18px;
		font-size: 9px;
		color: #fff;
	}
	.type_text_red{
		color: red;
	}
</style>