<template>
	<view class="app">
		<view class="bodys">
			<view class="addressinfo">
				<view class="namephone">
					{{updata.receiver}},{{updata.phone}}
				</view>
				<view class="picture">
					<span @tap='upaddress()'>修改地址</span>
					<u-icon name="arrow-right" color="#ffffff" size="32"></u-icon>
				</view>
				<view class="address">
					{{updata.receiveAddress}}
				</view>
			</view>
		</view>
		<view class="commodity">
			<view class="commodityInfo">
				<image :src="updata.img" mode=""></image>
				<view class="infos">
					<view class="detail">
						<view class="spangoodsName">
							{{updata.goodsName}}
						</view>
						<view class="spanprice"> ￥{{updata.goodsPrice}}</view>
					</view>
					<view class="model">
						型号:<span>{{updata.goodsAttributeName}}</span>
					</view>
				</view>
			</view>
			<view class="quantity">
				<view class="header">
					数量
				</view>
				<view class="number">
					<u-number-box :min="1" :max="updata.goodsStock" v-model="updata.goodsCount" @minus='delnumber'
						@plus='addnumber'>
					</u-number-box>
				</view>
			</view>
		</view>
		<!-- <view class="integral">
			<view class="header">
				积分抵扣
			</view>
			<view class="number">
				共5积分，满100可用
			</view>
		</view> -->
		<view class="price">
			<view class="priceinfo">
				<view class="header money">
					商品金额
				</view>
				<view class="number money">
					￥{{updata.totalPrice}}
				</view>
			</view>
			<view class="priceinfo">
				<view class="header money">
					运费
				</view>
				<view class="number money">
					+￥0.0
				</view>
			</view>
			<view class="freight">
				<view class="number total">
					￥{{updata.totalPrice}}
				</view>
			</view>
		</view>
		<view class="bottom">
			<view class="moneys">
				￥{{updata.totalPrice}}
			</view>
			<view class="submit" @tap='show=true'>
				提交订单
			</view>
		</view>
		<!-- 弹框 -->
		<view class="frame">
			<u-popup v-model="show" mode="bottom" length="45%" border-radius="30">
				<view class="payment">
					<span>请选择支付方式</span>
					<view class="cencel" @tap="show = false">
						<image src="../../static/gb.png" mode=""></image>
					</view>
				</view>
				<view class="chat">
					<image src="/static/chat.png" mode=""></image>
					<span>微信支付</span>
				</view>
				<view class="submits" @tap='buy'>
					<span>确认支付</span><span>￥{{updata.totalPrice}}</span>
				</view>
			</u-popup>
		</view>
		<u-toast ref="uToast" />
	</view>
</template>
<script>
	import baseurl from '@/api/baseurl.js'
	import {
		addStationGoodsOrder,
		appletGoodsOrderPay
	} from '@/api/confirmOrder/index.js'
	export default {
		data() {
			return {
				show: false,
				openid: '',
				updata: {},
				Patient: {},
			}
		},
		methods: {
			buy() {
				var that = this
				addStationGoodsOrder(this.updata).then(res => {
					if (res.code == 500) {
						this.$refs.uToast.show({
							title: res.msg,
							type: 'error'
						})
					} else {
						let id = res.data.id
						let paydata = res.data
						paydata.openid = this.openid
						paydata.payType = "WECHAT_PAY"
						paydata.paymentPrice = res.data.totalPrice
						appletGoodsOrderPay(paydata).then(response => {
							if (response.code == 200) {
								uni.requestPayment({
									timeStamp: response.data.timeStamp,
									nonceStr: response.data.nonceStr,
									package: response.data.prepayId,
									signType: response.data.signType,
									paySign: response.data.paySign,
									success: function(res) {
										that.$refs.uToast.show({
											title: '支付成功',
											type: 'success',
											duration: 1500,
											url: '/pages/paysuccess/paysuccess'
										})
									},
									fail: function(err) {
										that.$refs.uToast.show({
											title: '取消支付',
											type: 'error',
											duration: 1500,
											url: `/pages/payorderDetails/payorderDetails?goodsOrderId=${id}`
										})
										// uni.navigateTo({
										// 	url: `/pages/payorderDetails/payorderDetails?goodsOrderId=${id}`
										// })
									}
								});
							} else {
								that.$refs.uToast.show({
									title: response.msg,
									type: 'error',
									duration: 2000
								})
							}
						})
					}
				})
			},
			delnumber(e) {
				this.updata.totalPrice = (e.value * this.updata.goodsPrice).toFixed(2)
			},
			addnumber(e) {
				this.updata.totalPrice = (e.value * this.updata.goodsPrice).toFixed(2)
			},
			upaddress() {
				uni.navigateTo({
					url: `/pages/modifyAddress/modifyAddress?updata=${JSON.stringify(this.updata)}`
				})
			},
		},
		onLoad(options) {
			this.updata = JSON.parse(options.updata)
			if (this.updata.totalPrice == 'null' || !this.updata.totalPrice) {
				this.updata.totalPrice = 0
			}
		},
		onShow() {
			var that = this
			try {
				const value = uni.getStorageSync('openid');
				if (value) {
					that.openid = value
				} else {}
			} catch (e) {}
			let useritem = null
			uni.$on('updata', function(data) {
				that.updata = JSON.parse(data.updata)
				if (data.useritem) {
					useritem = JSON.parse(data.useritem)
					that.updata.receiver = useritem.receiveName
					that.updata.phone = useritem.receivePhone
					that.updata.receiveAddress = useritem.address
				}
			})
		}
	}
</script>

<style lang="scss">
	@import './confirmOrder.scss'
</style>
