<template>
	<uni-popup ref="randomPop" type="bottom" class="randomPop">
		<view class="popup-content">
			<view class="popup-head">				
				<text v-if="customerType==1">购买碳汇</text>
				<text v-else>线下认购</text>
				<text class="close" @click="closePop">X</text>
			</view>
			<view class="popup-body">
				<view class="conditions-item input-number">
					<view class="conditions-item-til">请输入您想认购的碳汇数:</view>
					<view class="num">
						 <input class="input" type="number" v-model="shoppingNum" placeholder="单次购买不超过1000株" placeholder-style="font-size:20rpx"/>
					</view>
				</view>
				<view class="conditions-item remark-wrap" v-if="productType == 'all'">
					<view class="conditions-item-til">备注说明:</view>
					<view class="remark">
						<textarea class="remark-textarea" maxlength="240" v-model="remark" placeholder="请输入您对认购的碳汇产品要求" />
					</view>
				</view>
				<view class="amount-wrap">
					<view class="amount-flex-wrap">
						<view class="amount-til">预估金额:</view>
						<view class="amount">
							<text class="rmb">¥</text>
							<text class="num">{{totalMoney}}</text>
						</view>						
					</view>					
					<view class="amount-btn"  @click="goCart">提交认购申请</view>
				</view>
				<view class="tip">
					购买{{shoppingNum}}kg,预估金额{{totalMoney}}元,认购期3年
				</view>
			</view>
		</view>
	</uni-popup>
</template>

<script>
	import {
		mapMutations
	} from 'vuex';
	import {
		debounce
	} from '@/utils/util.js'
	import uniPopup from '@/components/uni-popup/uni-popup.vue'
	export default {
		name: 'quickBuy',
		components: {
			uniPopup,
		},
		created() {
			let self = this;
			this.shoppingNum = 1;
			uni.getStorage({
				key:'userInfo',
				success: function (res) {
					self.customerType = res.data.customerType;
					if(!res.data){this.goLogin();};
				   console.log('userInfo',res);
				},
				fail:function(err){
					this.goLogin();
				}
			});
			console.log('prohelpPeople',this.prohelpPeople);
		},
		props: {
			visible: {
				type: Boolean,
				default: false
			},
			productType:{
				type: String,
				default: 'all'
			},
			prohelpPeople:{
				type: Array,
				default: () => []
			}
		},
		data() {
			return {
				customerType:null,
				shoppingNum:'',
				remark:'',
				totalMoney:0,
				price:3,
				helpPeople:[],
				// goodsId:'',
				// carbonVal:''
			}
		},
		methods: {
			...mapMutations(['addCart']),
			getHelpPeople:debounce(function(num){
				if(this.productType=='self'){
					console.log('this.prohelpPeople',this.prohelpPeople);
					this.helpPeople = this.prohelpPeople;
					this.helpPeople[0].carbonSkin = this.shoppingNum;
					return ;
				};
				this.helpPeople = []
				this.loading = true
				this.$api.http.get(this.config.apiBaseurl + '/carbon-h5/wap/goodsManage/getGoodsInfoByCarbonNum?carbonNum='+this.shoppingNum,{
					header: {
					Accept:'application/json',
					Authorization: 'Bearer '+ this.token, //注意Bearer后面有一空格
				},
				}).then(res =>{
					// this.loading = false
					console.log('getHelpPeople',res);
					this.helpPeople = res.data.retBody;
				})
			},200),
			refreshfarmer(){
				this.getHelpPeople(this.shoppingNum);
			},
			goCart(){
				console.log('customerType',this.customerType);
				if(this.customerType!=1){
					this.$emit('closeModal',true);
					this.offlineBuy();
					// this.$api.href('/pages/offlineBuy/offlineBuy');
					return;
				};
				if(this.helpPeople === undefined || this.helpPeople.length == 0){
					this.$api.msg("请等待农户数据加载完毕!")
					return 
				}else{
					this.$refs.randomPop.close()
					this.$emit('closeModal',true);
					this.addCart(this.helpPeople);
					this.$api.href('/pages/confirmOrder/confirmOrder')
				}
			},
			openPop() {
				this.$refs.randomPop.open();
				if(this.customerType!=1){					
					return;
				};
				this.getHelpPeople(this.shoppingNum);
			},
			closePop() {
				Object.assign(this.$data, this.$options.data.call(this))
				this.$refs.randomPop.close()
				this.$emit('closeModal', true)
			},
			offlineBuy(){
				let self = this;
				let offlineparams = {amount:this.shoppingNum,remark:this.remark};
				self.$api.http.post(this.config.apiBaseurl + "/carbon-h5/wap/apply",offlineparams,{
					header: {
					Accept:'application/json',
					Authorization: 'Bearer '+ this.token, //注意Bearer后面有一空格
				},
				}).then(res=>{
					self.$api.href('/pages/usercenter/subscribe/subscribe')
				}).catch( err =>{
					console.log('err',err)
				})
			},
			goLogin(){
				uni.showToast({
				 	title:"没有获取登录信息即将跳转到登录页",
				 	icon:"none",
				 	duration:2000
				});
				setTimeout(i=>{
					uni.navigateTo({
						url: '/pages/login/loginType',
						fail:function(err){
							console.log(err)
						}
					});
				},2000);
			}
		},
		watch: {
			//碳汇购入量计算
			shoppingNum(n, o) {
				if (n > 1000) {
					// this.$api.msg("单次购买不得超过1000KG!")
					// setTimeout(res => {
					// 	this.shoppingNum = 1000
					// }, 200)
				}
				this.getHelpPeople(n)
				this.totalMoney = this.price * n;
			}
		}
	}
</script>

<style>
@import url("./quickBuy.css");
</style>