wangguoyu 1 tháng trước cách đây
mục cha
commit
56c9199141
2 tập tin đã thay đổi với 948 bổ sung0 xóa
  1. 7 0
      pages.json
  2. 941 0
      pages/chanpinneirong/index.vue

+ 7 - 0
pages.json

@@ -160,6 +160,13 @@
 			{
 				"navigationStyle": "custom"
 			}
+		},
+		{
+			"path" : "pages/chanpinneirong/index",
+			"style" : 
+			{
+				"navigationStyle": "custom"
+			}
 		}
 	],
 	"tabBar": {

+ 941 - 0
pages/chanpinneirong/index.vue

@@ -0,0 +1,941 @@
+<template>
+	<view class="ezy-order-page">
+		<view class="icon-title-navBar-box">
+			<view @click="goBack" class="nav-bar-icon"></view>
+			<text class="nav-bar-title">我的订单</text>
+		</view>
+		<view class="ezy-tab-border">
+
+			<uni-segmented-control :current="dingdanData.current" :values="dingdanData.items" active-color="#3A7FE9"
+				@clickItem="onChangeTab" class="ezy-tab-box" />
+			<view>
+				<view v-if="dingdanData.current == 0">
+					<scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="onScrolltolower"
+						:refresher-triggered="dingdanData.quanbu.loading" :refresher-threshold="50"
+						refresher-background="transparent" @refresherrefresh="onRefresh" class="order-scroll-view">
+						<!--数学-->
+						<uni-list>
+							<uni-list-item v-for="(item,index) in dingdanData.quanbu.list" :key="index"
+								class="order-list-item">
+								<template v-slot:body>
+									<view class="order-item-head">
+										<view class="order-name-box">
+											<icon></icon><text>鹅状元自营</text>
+										</view>
+										<view>
+											<text>不支持退订</text>
+											<text v-if="item.status ==2" class="pay-status">已付款</text>
+											<text v-if="item.status ==3" class="pay-status">已关闭</text>
+											<text v-if="item.status ==1" class="pay-status">待付款</text>
+										</view>
+									</view>
+									<view class="order-content-box" @click="goDao(item2,index2)"
+										v-for="(item2,index2) in item.cardList" :key="index2">
+										<!-- 需要改成从接口获取的 wgy-->
+										<img class="content-img" :src="item2.cover">
+										<view class="content-body-box">
+											<view class="content-name">{{item2.cardName}}</view>
+											<view class="content-text">{{item2.intro}}</view>
+											<!-- 未付款数据对一下  是否有课程包明细 wgy-->
+											<view class="content-money-box">
+												<view class="order-kcb-btn" v-if="item2.type ==1"
+													@click.stop="detailBtn(item2,index2)">课程包明细<icon></icon>
+												</view>
+												<text class="content-yuanjia">¥{{item.money}}</text>
+											</view>
+										</view>
+									</view>
+									<view class="content-heji" v-if="item.cardList.length>1">合计:¥{{item.money}}</view>
+									<view v-if="item.status !=2" class="order-bottom-box">
+										<view class="pay-status-box"
+											v-if="payType =='weixin'&&currentPlatform =='android'"
+											@click="switchPayWay">
+											<icon class="wx-icon"></icon>微信
+										</view>
+										<view class="pay-status-box"
+											v-if="payType =='zhifubao'&&currentPlatform =='android'"
+											@click="switchPayWay">
+											<icon class="zfb-icon"></icon>支付宝
+										</view>
+										<view class="pay-status-box apple-status-box" v-if="currentPlatform =='ios'">
+									<!-- 		<icon class="apple-icon"></icon> -->
+										</view>
+
+										<view v-if="currentPlatform =='android'" class="pay-btn"
+											@touchstart="creatOrder(item.cardList,index)">立即支付
+										</view>
+										<view v-if="currentPlatform =='ios'" class="pay-btn"
+											@touchstart="creatOrderIos(item.cardList,index,item.id)">立即支付
+										</view>
+									</view>
+								</template>
+							</uni-list-item>
+							<uni-load-more :status="dingdanData.quanbu.state" @click="getMore(0)"
+								:contentText="dingdanData.quanbu.contentText">
+							</uni-load-more>
+						</uni-list>
+					</scroll-view>
+				</view>
+				<view v-if="dingdanData.current == 1">
+					<scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="onScrolltolower"
+						:refresher-triggered="dingdanData.daiFukuan.loading" :refresher-threshold="50"
+						refresher-background="transparent" @refresherrefresh="onRefresh" class="order-scroll-view">
+						<!--数学-->
+						<uni-list>
+							<uni-list-item v-for="(item,index) in dingdanData.daiFukuan.list" :key="index"
+								class="order-list-item">
+								<template v-slot:body>
+									<view class="order-item-head">
+										<view class="order-name-box">
+											<icon></icon><text>鹅状元自营</text>
+										</view>
+										<view>
+											<text>不支持退订</text>
+											<text v-if="item.status ==2" class="pay-status">已付款</text>
+											<text v-if="item.status ==3" class="pay-status">已关闭</text>
+											<text v-if="item.status ==1" class="pay-status">待付款</text>
+										</view>
+									</view>
+									<view class="order-content-box" v-for="(item2,index2) in item.cardList"
+										:key="index2">
+										<!-- 需要改成从接口获取的 wgy-->
+										<img class="content-img" :src="item2.cover">
+										<view class="content-body-box">
+											<view class="content-name">{{item2.cardName}}</view>
+											<view class="content-text">{{item2.intro}}</view>
+											<!-- 未付款数据对一下  是否有课程包明细 wgy-->
+											<view class="content-money-box">
+												<view class="order-kcb-btn" v-if="item2.type ==1"
+													@click="detailBtn(item2,index2)">课程包明细<icon></icon>
+												</view>
+												<text class="content-yuanjia">¥{{item.money}}</text>
+											</view>
+										</view>
+									</view>
+									<view class="content-heji" v-if="item.cardList.length>1">合计:¥{{item.money}}</view>
+									<view v-if="item.status !=2" class="order-bottom-box">
+										<view class="pay-status-box"
+											v-if="payType =='weixin'&&currentPlatform =='android'"
+											@click="switchPayWay">
+											<icon class="wx-icon"></icon>微信
+										</view>
+										<view class="pay-status-box"
+											v-if="payType =='zhifubao'&&currentPlatform =='android'"
+											@click="switchPayWay">
+											<icon class="zfb-icon"></icon>支付宝
+										</view>
+										<view class="pay-status-box apple-status-box" v-if="currentPlatform =='ios'">
+										<!-- 	<icon class="apple-icon"></icon> -->
+										</view>
+
+										<view v-if="currentPlatform =='android'" class="pay-btn"
+											@touchstart="creatOrder(item.cardList,index)">立即支付
+										</view>
+										<view v-if="currentPlatform =='ios'" class="pay-btn"
+											@touchstart="creatOrderIos(item.cardList,index,item.id)">立即支付
+										</view>
+									</view>
+
+								</template>
+							</uni-list-item>
+							<uni-load-more :status="dingdanData.daiFukuan.state" @click="getMore(1)"
+								:contentText="dingdanData.daiFukuan.contentText">
+							</uni-load-more>
+						</uni-list>
+					</scroll-view>
+				</view>
+				<view v-if="dingdanData.current == 2">
+					<scroll-view scroll-y="true" refresher-enabled="true" @scrolltolower="onScrolltolower"
+						:refresher-triggered="dingdanData.yiFukuan.loading" :refresher-threshold="50"
+						refresher-background="transparent" @refresherrefresh="onRefresh" class="order-scroll-view">
+						<!--数学-->
+						<uni-list>
+							<uni-list-item v-for="(item,index) in dingdanData.yiFukuan.list" :key="index"
+								class="order-list-item">
+								<template v-slot:body>
+									<view class="order-item-head">
+										<view class="order-name-box">
+											<icon></icon><text>鹅状元自营</text>
+										</view>
+										<view>
+											<text>不支持退订</text>
+											<text v-if="item.status ==2" class="pay-status">已付款</text>
+											<text v-if="item.status ==3" class="pay-status">已关闭</text>
+											<text v-if="item.status ==1" class="pay-status">待付款</text>
+										</view>
+									</view>
+									<view class="order-content-box" @click="goDao(item2,index2)"
+										v-for="(item2,index2) in item.cardList" :key="index2">
+										<!-- 需要改成从接口获取的 wgy-->
+										<img class="content-img" :src="item2.cover">
+										<view class="content-body-box">
+											<view class="content-name">{{item2.cardName}}</view>
+											<view class="content-text">{{item2.intro}}</view>
+											<!-- 未付款数据对一下  是否有课程包明细 wgy-->
+											<view class="content-money-box">
+												<view class="order-kcb-btn" v-if="item2.type ==1"
+													@click="detailBtn(item2,index2)">课程包明细<icon></icon>
+												</view>
+												<text class="content-yuanjia">¥{{item.money}}</text>
+											</view>
+										</view>
+									</view>
+									<view class="content-heji" v-if="item.cardList.length>1">合计:¥{{item.money}}</view>
+									<view v-if="item.status !=2" class="order-bottom-box">
+										<view class="pay-status-box"
+											v-if="payType =='weixin'&&currentPlatform =='android'"
+											@click="switchPayWay">
+											<icon class="wx-icon"></icon>微信
+										</view>
+										<view class="pay-status-box"
+											v-if="payType =='zhifubao'&&currentPlatform =='android'"
+											@click="switchPayWay">
+											<icon class="zfb-icon"></icon>支付宝
+										</view>
+										<view class="pay-status-box apple-status-box" v-if="currentPlatform =='ios'">
+											<!-- <icon class="apple-icon"></icon> -->
+										</view>
+
+										<view v-if="currentPlatform =='android'" class="pay-btn"
+											@touchstart="creatOrder(item.cardList,index)">立即支付
+										</view>
+										<view v-if="currentPlatform =='ios'" class="pay-btn"
+											@touchstart="creatOrderIos(item.cardList,index,item.id)">立即支付
+										</view>
+									</view>
+
+								</template>
+							</uni-list-item>
+							<uni-load-more :status="dingdanData.yiFukuan.state" @click="getMore(2)"
+								:contentText="dingdanData.yiFukuan.contentText">
+							</uni-load-more>
+						</uni-list>
+					</scroll-view>
+				</view>
+			</view>
+		</view>
+		<product-dialog ref="mallProductPopup"></product-dialog>
+		<CustomTabBar></CustomTabBar>
+	</view>
+</template>
+
+<script setup>
+	import {
+		reactive,
+		ref
+	} from "vue";
+	import {
+		orderAdd,
+		orderPayAli,
+		orderPayWx,
+		orderPayApple,
+		getOrderList,
+		orderInfo,
+		orderCheck
+	} from "@/api/order.js"
+	import {
+		onLoad
+	} from "@dcloudio/uni-app";
+	import {
+		toast,
+		debounce,
+		getUserIdentity
+	} from "@/utils/common";
+	import cacheManager from '@/utils/cacheManager.js';
+	import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';
+	import payComponents from '@/components/payComponents/index.vue';
+	import productDialog from './productDialog.vue'
+	const mallProductPopup = ref(null);
+	const payComponentsRef = ref(null);
+	const showPayWay = ref(true)
+	let currentPlatform = ref('android')
+	const payType = ref('weixin');
+	let orderId = ref('');
+	let productId = ref(null)
+	let iapChannel = ref(null)
+	let quantity = ref(1)
+	let channel = ref('')
+	let appleFlag = ref('')
+
+	function switchPayWay() {
+		payType.value = payType.value == 'weixin' ? 'zhifubao' : 'weixin'
+	}
+
+	function detailBtn(data, index) {
+		mallProductPopup.value.detailShow(data.levelList);
+	}
+	const dingdanData = reactive({
+		items: ['全部', '待付款', '已付款'],
+		current: 0,
+		quanbu: {
+			page: 0,
+			list: [],
+			loading: false,
+			state: 'more',
+			contentText: {
+				contentdown: '查看更多',
+				contentrefresh: '加载中',
+				contentnomore: '没有更多'
+			}
+
+		},
+		daiFukuan: {
+			page: 0,
+			list: [],
+			loading: false,
+			state: 'more',
+			contentText: {
+				contentdown: '查看更多',
+				contentrefresh: '加载中',
+				contentnomore: '没有更多'
+			}
+		},
+		yiFukuan: {
+			page: 0,
+			list: [],
+			loading: false,
+			state: 'more',
+			contentText: {
+				contentdown: '查看更多',
+				contentrefresh: '加载中',
+				contentnomore: '没有更多'
+			}
+		},
+	})
+
+	function goDao(data, index) {
+		console.log('data', data);
+		console.log('index', index);
+		if (data.type == 0 && data.levelList.length == 1) {
+			cacheManager.updateObject('auth', {
+				typeId: data.levelList[0].typeId,
+				levelId: data.levelList[0].levelId,
+				subjectId: data.levelList[0].subjectId,
+				currentZhang: 0
+			})
+			cacheManager.remove('zhangInfo')
+			uni.redirectTo({
+				url: `/pages/study/index`
+			})
+		}
+	}
+
+	function genggaiVip(data) {
+		uni.hideLoading();
+		const localList = cacheManager.get('auth').levelIdList || []
+		const mergeList = [...new Set([...localList, ...data.levelIdList])]
+		cacheManager.updateObject('auth', {
+			levelIdList: mergeList
+		})
+		toast("支付成功")
+		dingdanData.current = 2
+		getMore(2)
+		// if (formPage.value == 'my') {
+		// 	uni.redirectTo({
+		// 		url: '/pages/my/index'
+		// 	})
+		// } else {
+		// 	uni.redirectTo({
+		// 		url: '/pages/study/index'
+		// 	})
+		// }
+	}
+
+	const creatOrderIos = debounce((data, index, orderId) => {
+
+
+
+		console.log('data', data[0].cardId);
+		console.log('index', index);
+		console.log('orderId', orderId);
+		return
+		uni.showLoading({
+			title: '',
+			mask: true
+		});
+		const productMap = {
+			4: 'ezySxJstxL1', //计算特训 L1
+			6: 'ezySxTjmtL1', //图解母题 L1
+			7: 'ezySxJstxL2', //计算特训 L2
+			8: 'ezySxJstxL3', //计算特训 L3
+			9: 'ezySxJstxL4', //计算特训 L4
+			10: 'ezySxJstxL5', //计算特训 L5
+			11: 'ezySxJstxL6', //计算特训 L6
+			12: 'ezySxTjmtL2', //图解母题 L2
+			13: 'ezySxTjmtL3', //图解母题 L3
+			14: 'ezySxTjmtL4', //图解母题 L4
+			15: 'ezySxTjmtL5', //图解母题 L5
+			16: 'ezySxTjmtL6', //图解母题 L6
+			22: 'ezySxTjmtL1L6', //图解母题 L1-6
+			23: 'ezyYyZrpdL1', //自然拼读 L1
+			24: 'ezyYyZrpdL2', //自然拼读 L2
+			25: 'ezyYyZrpdL3', //自然拼读 L3
+			26: 'ezyYyZrpdL4', //自然拼读 L4
+			27: 'ezyYyZrpdL5', //自然拼读 L5
+			28: 'ezyYyZrpdL1L5', //自然拼读 L1-l5
+			29: ' ezySxJstxL1L6' //计算特训 L1-L6
+		};
+		const firstId = data.length > 0 ? data[0].cardId : null;
+		if (firstId) {
+			productId.value = productMap[firstId]
+			console.log('productId.value', productId.value);
+		} else {
+			toast("无对应产品Id,请练习管理员")
+			uni.hideLoading();
+			return false
+		}
+		setTimeout(() => {
+			uni.hideLoading();
+		}, 1000)
+		orderId.value = orderId
+		if (!orderId.value) {
+			toast(
+				"无orderId!"
+			)
+			return false
+		}
+		// 测试ios 1元
+		applePay()
+
+
+	}, 500)
+
+	function applePaySuccess(data) {
+		uni.showLoading({
+			title: '开通中',
+			mask: true
+		});
+		let req = {
+			"id": orderId.value,
+			"paynum": data.transactionIdentifier,
+			"receipt": data.transactionReceipt
+		}
+		console.log('reqreq', req);
+		orderPayApple(req).then(res => {
+			if (res.code == 0 && res.data) {
+				iapChannel.finishTransaction(data.transactionIdentifier)
+				console.log('resiapChanneliapChanneliapChannel', res);
+				orderCheck({
+					id: orderId.value
+				}).then(res3 => {
+					console.log('res3', res3);
+					if (res3.code == 0 && res3.data.success) {
+						genggaiVip(res3.data)
+					} else {
+						setTimeout(() => {
+							orderCheck({
+								id: orderId.value
+							}).then(res4 => {
+								if (res4.code == 0 && res4.data.success) {
+									genggaiVip(res4.data)
+								} else {
+									toast(
+										"开通失败,请联系管理员!"
+									)
+									uni
+										.hideLoading();
+									return false
+								}
+							}).catch(() => {
+								uni.hideLoading();
+								toast("check接口报错")
+								return false
+							})
+						}, 5000)
+					}
+				}).catch(() => {
+					uni.hideLoading();
+					toast("check接口报错")
+					return false
+				})
+			} else {
+
+				iapChannel.finishTransaction(data.transactionIdentifier)
+				uni.hideLoading();
+				toast("失败")
+				console.log('orderPayApple失败');
+				return false
+			}
+		})
+	}
+
+	function applePay() {
+		console.log('123123');
+		if (!productId.value) {
+			uni.showToast({
+				title: '苹果内购ID缺失,请选择其它支付方式或联系客服',
+				icon: "none"
+			});
+			return false;
+		}
+		uni.showLoading({
+			title: '正在支付中...'
+		});
+		try {
+			plus.payment.getChannels(function(channels) { //判读项目支付通道开通情况
+					for (var i in channels) {
+						iapChannel = channels[i];
+						// 获取 id 为 'appleiap' 的 channel  
+						console.info("支付通道", iapChannel)
+						if (iapChannel.id === 'appleiap') { //开通了app应用内支付,在manifest.josn中设置,开通后需打自定议基座
+					
+							// ids 数组中的项为 App Store Connect 配置的内购买项目产品ID(productId)
+							var ids = [productId.value];
+							// iap 为应用内支付对象 
+							iapChannel.requestOrder(ids, function(e) {
+									// 获取订单信息成功回调方法  
+									console.log('requestOrder success: ' + JSON.stringify(e));
+									uni.requestPayment({
+										provider: 'appleiap',
+										orderInfo: {
+											productid: productId.value, //产品id,来自于苹果
+											quantity: quantity.value, //产品数量
+											manualFinishTransaction: true
+										},
+										success: (e) => {
+											uni.hideLoading();
+
+											//	toast("苹果内购成功")
+									
+											applePaySuccess(e)
+											//e.payment.orderNo = that.orderNo
+											//支付成功回调,前端调用后台接口
+										},
+										fail: (e) => {
+											uni.hideLoading();
+												toast("失败或取消支付")
+										
+										},
+									})
+								},
+								function(e) {
+									// 获取订单信息失败回调方法  
+									console.log('requestOrder failed: ' + JSON.stringify(e));
+								});
+						} else {
+							console.log('不支持苹果支付')
+						}
+					}
+				},
+				function(e) {
+					console.log("获取iap支付通道失败:" + e.message);
+				});
+
+		} catch (e) {
+			uni.showModal({
+				title: "init",
+				content: e.message,
+				showCancel: false
+			});
+		} finally {
+			uni.hideLoading();
+		}
+
+
+
+	}
+
+
+	function wxPay() {
+		orderPayWx({
+			id: orderId.value
+		}).then(res2 => {
+			uni.hideLoading();
+			console.log('res2', res2);
+			if (res2.code != 0) {
+				return false
+			}
+			uni.requestPayment({
+				"provider": "wxpay",
+				"orderInfo": {
+					"appid": res2.data.appid, // 应用ID(AppID)
+					"partnerid": res2.data.partnerId, // 商户号(PartnerID)
+					"prepayid": res2.data.prepayId, // 预支付交易会话ID
+					"package": res2.data.packageVal, // 固定值
+					"noncestr": res2.data.nonceStr, // 随机字符串
+					"timestamp": res2.data.timestamp, // 时间戳(单位:秒)
+					"sign": res2.data.sign // 签名,这里用的 MD5 签名
+				}, //此处为服务器返回的订单信息字符串
+				success: function(res) {
+
+					//var rawdata = JSON.parse(res.rawdata);
+					//	console.log('res',res);	
+					//	console.log('支付成功');
+					//	console.log('rawdata', rawdata);
+					uni.showLoading({
+						title: '开通中,请稍后...'
+					});
+					orderCheck({
+						id: orderId.value
+					}).then(res3 => {
+						console.log('res3', res3);
+						if (res3.code == 0 && res3.data.success) {
+
+							genggaiVip(res3.data)
+						} else {
+							setTimeout(() => {
+								orderCheck({
+									id: orderId.value
+								}).then(res4 => {
+									if (res4.code == 0 && res4.data.success) {
+										genggaiVip(res4.data)
+									} else {
+										toast(
+											"开通失败,请联系管理员!"
+										)
+										uni
+											.hideLoading();
+										return false
+									}
+								}).catch(() => {
+									uni.hideLoading();
+									toast("check接口报错")
+									return false
+								})
+							}, 5000)
+						}
+					}).catch(() => {
+						uni.hideLoading();
+						toast("check接口报错")
+						return false
+					})
+
+				},
+				fail: function(err) {
+					uni.hideLoading();
+					//  toast('支付失败:' + JSON.stringify(err));
+					console.log('支付失败:' + JSON.stringify(err));
+				}
+			});
+		}).catch((error) => {
+			uni.hideLoading();
+
+			console.log(error);
+		})
+	}
+
+	function aliApy() {
+		orderPayAli({
+			id: orderId.value
+		}).then(res2 => {
+			console.log('res2', res2);
+			uni.hideLoading();
+			if (res2.code != 0) {
+				return false
+			}
+			uni.requestPayment({
+				"provider": "alipay",
+				"orderInfo": res2.data.text, //此处为服务器返回的订单信息字符串
+				success: function(res) {
+					// var rawdata = JSON.parse(res.rawdata);
+					// console.log('支付成功');
+					// console.log('rawdata', rawdata);
+
+					uni.showLoading({
+						title: '开通中,请稍后...'
+					});
+					orderCheck({
+						id: orderId.value
+					}).then(res3 => {
+						if (res3.code == 0 && res3.data.success) {
+							genggaiVip(res3.data)
+						} else {
+							setTimeout(() => {
+								orderCheck({
+									id: orderId.value
+								}).then(res4 => {
+									if (res4.code ==
+										0 && res4.data.success) {
+										genggaiVip(res4.data)
+									} else {
+										toast(
+											"开通失败,请联系管理员!"
+										)
+										uni
+											.hideLoading();
+										return false
+									}
+								}).catch(() => {
+									uni.hideLoading();
+									toast("check接口报错")
+									return false
+								})
+							}, 5000)
+						}
+					}).catch(() => {
+						uni.hideLoading();
+						toast("check接口报错")
+						return false
+					})
+				},
+				fail: function(err) {
+					console.log('支付失败:' + JSON.stringify(err));
+					uni.hideLoading();
+				}
+			});
+		})
+	}
+
+	const creatOrder = debounce((data, index) => {
+		uni.showLoading({
+			title: '',
+			mask: true
+		});
+		if (payType.value == 'weixin') {
+			orderId.value = data.id
+			wxPay()
+		} else {
+			orderId.value = data.id
+			aliApy()
+		}
+	}, 500)
+
+	function onChangeTab(e) {
+		if (dingdanData.current !== e.currentIndex) {
+			dingdanData.current = e.currentIndex;
+			if (dingdanData.current == 0) {
+				dingdanData.quanbu.page = 0
+			} else if (dingdanData.current == 1) {
+				dingdanData.daiFukuan.page = 0
+			} else if (dingdanData.current == 2) {
+				dingdanData.yiFukuan.page = 0
+			}
+			refreshData(dingdanData.current);
+		}
+	}
+
+	function onScrolltolower() {
+		getMore(dingdanData.current)
+	}
+
+	function refreshData(code) {
+		const opt = {
+			page: 1,
+			size: 10, // 固定查询10条
+			status: code
+		}
+
+		if (code == 0) {
+			dingdanData.quanbu.list = [];
+			// 数学
+			dingdanData.quanbu.state = 'loading';
+			dingdanData.quanbu.page++;
+			opt.page = dingdanData.quanbu.page;
+		} else if (code == 1) {
+			dingdanData.daiFukuan.list = [];
+			// 英语
+			dingdanData.daiFukuan.state = 'loading';
+			dingdanData.daiFukuan.page++;
+			opt.page = dingdanData.daiFukuan.page;
+		} else if (code == 2) {
+			dingdanData.yiFukuan.list = [];
+			// 英语
+			dingdanData.yiFukuan.state = 'loading';
+			dingdanData.yiFukuan.page++;
+			opt.page = dingdanData.yiFukuan.page;
+		}
+		getOrderList(opt).then(res => {
+			if (code == 0) {
+				dingdanData.quanbu.list = dingdanData.quanbu.list.concat(res.data.data);
+				dingdanData.quanbu.loading = false;
+			} else if (code == 1) {
+				dingdanData.daiFukuan.list = dingdanData.daiFukuan.list.concat(res.data.data);
+				dingdanData.daiFukuan.loading = false;
+			} else if (code == 2) {
+				dingdanData.yiFukuan.list = dingdanData.yiFukuan.list.concat(res.data.data);
+				dingdanData.yiFukuan.loading = false;
+			}
+			if (code == 0) {
+				if (res.data.total > dingdanData.quanbu.list.length) {
+					// 数学
+					dingdanData.quanbu.state = 'more';
+					dingdanData.quanbu.loading = false;
+				} else {
+					// 数学
+					dingdanData.quanbu.state = 'no-more';
+					dingdanData.quanbu.loading = false;
+				}
+			} else if (code == 1) {
+				if (res.data.total > dingdanData.daiFukuan.list.length) {
+					// 英语
+					dingdanData.daiFukuan.state = 'more';
+					dingdanData.daiFukuan.loading = false;
+				} else {
+					// 英语
+					dingdanData.daiFukuan.state = 'no-more';
+					dingdanData.daiFukuan.loading = false;
+				}
+			} else if (code == 2) {
+				if (res.data.total > dingdanData.yiFukuan.list.length) {
+					// 英语
+					dingdanData.yiFukuan.state = 'more';
+					dingdanData.yiFukuan.loading = false;
+				} else {
+					// 英语
+					dingdanData.yiFukuan.state = 'no-more';
+					dingdanData.yiFukuan.loading = false;
+				}
+			}
+		}).catch(err => {
+			if (code == 0) {
+				// 数学
+				dingdanData.quanbu.state = 'more';
+				dingdanData.quanbu.loading = false;
+			} else if (code == 1) {
+				// 英语
+				dingdanData.daiFukuan.state = 'more';
+				dingdanData.daiFukuan.loading = false;
+			} else if (code == 2) {
+				// 英语
+				dingdanData.yiFukuan.state = 'more';
+				dingdanData.yiFukuan.loading = false;
+			}
+		})
+	}
+
+	function onRefresh() {
+		if (dingdanData.current == 0) {
+			dingdanData.quanbu.page = 0;
+			dingdanData.quanbu.list = [];
+			dingdanData.quanbu.loading = true;
+		} else if (dingdanData.current == 1) {
+			dingdanData.daiFukuan.page = 0;
+			dingdanData.daiFukuan.list = [];
+			dingdanData.daiFukuan.loading = true;
+		} else if (dingdanData.current == 2) {
+			dingdanData.yiFukuan.page = 0;
+			dingdanData.yiFukuan.list = [];
+			dingdanData.yiFukuan.loading = true;
+		}
+		refreshData(dingdanData.current);
+	}
+
+	function getMore(code) {
+		const opt = {
+			page: 1,
+			size: 10, // 固定查询10条
+			status: Number(code) // 前台索引加1为学科cardId
+		}
+
+		if (code == 0) {
+			if (dingdanData.quanbu.state == 'no-more') {
+				return;
+			}
+			// 数学
+			dingdanData.quanbu.state = 'loading';
+			dingdanData.quanbu.page++;
+			opt.page = dingdanData.quanbu.page;
+		} else if (code == 1) {
+			if (dingdanData.daiFukuan.state == 'no-more') {
+				return;
+			}
+			dingdanData.daiFukuan.state = 'loading';
+			dingdanData.daiFukuan.page++;
+			opt.page = dingdanData.daiFukuan.page;
+		} else if (code == 2) {
+			if (dingdanData.yiFukuan.state == 'no-more') {
+				return;
+			}
+			dingdanData.yiFukuan.state = 'loading';
+			dingdanData.yiFukuan.page++;
+			opt.page = dingdanData.yiFukuan.page;
+		}
+		getOrderList(opt).then(res => {
+			if (code == 0) {
+				dingdanData.quanbu.list = dingdanData.quanbu.list.concat(res.data.data);
+				dingdanData.quanbu.loading = false;
+			} else if (code == 1) {
+				dingdanData.daiFukuan.list = dingdanData.daiFukuan.list.concat(res.data.data);
+				dingdanData.daiFukuan.loading = false;
+			} else if (code == 2) {
+				dingdanData.yiFukuan.list = dingdanData.yiFukuan.list.concat(res.data.data);
+				dingdanData.yiFukuan.loading = false;
+			}
+			if (code == 0) {
+				if (res.data.total > dingdanData.quanbu.list.length) {
+					// 数学
+					dingdanData.quanbu.state = 'more';
+					dingdanData.quanbu.state_text = '加载更多';
+					dingdanData.quanbu.loading = false;
+				} else {
+					// 数学
+					dingdanData.quanbu.state = 'no-more';
+					dingdanData.quanbu.state_text = '没有更多啦';
+
+					dingdanData.quanbu.loading = false;
+				}
+			} else if (code == 1) {
+				if (res.data.total > dingdanData.daiFukuan.list.length) {
+					// 英语
+					dingdanData.daiFukuan.state = 'more';
+					dingdanData.daiFukuan.state_text = '加载更多';
+
+					dingdanData.daiFukuan.loading = false;
+				} else {
+					// 英语
+					dingdanData.daiFukuan.state = 'no-more';
+					dingdanData.daiFukuan.state_text = '没有更多啦';
+					dingdanData.daiFukuan.loading = false;
+				}
+			} else if (code == 2) {
+				if (res.data.total > dingdanData.yiFukuan.list.length) {
+					// 英语
+					dingdanData.yiFukuan.state = 'more';
+					dingdanData.yiFukuan.state_text = '加载更多';
+					dingdanData.yiFukuan.loading = false;
+				} else {
+					// 英语
+					dingdanData.yiFukuan.state = 'no-more';
+					dingdanData.yiFukuan.state_text = '没有更多啦';
+
+					dingdanData.yiFukuan.loading = false;
+				}
+			}
+		}).catch(err => {
+			if (code == 0) {
+				// 数学
+				dingdanData.quanbu.state = 'more';
+				dingdanData.quanbu.state_text = '加载更多';
+				dingdanData.quanbu.loading = false;
+			} else if (code == 1) {
+				// 英语
+				dingdanData.daiFukuan.state = 'more';
+				dingdanData.daiFukuan.state_text = '加载更多';
+				dingdanData.daiFukuan.loading = false;
+			} else if (code == 2) {
+				// 英语
+				dingdanData.yiFukuan.state = 'more';
+				dingdanData.yiFukuan.state_text = '加载更多';
+				dingdanData.yiFukuan.loading = false;
+			}
+		})
+	}
+
+	function goBack() {
+		uni.redirectTo({
+			url: '/pages/my/index'
+		})
+	}
+	const isIOSorAndroid = () => {
+		const systemInfo = uni.getSystemInfoSync();
+
+		console.log('systemInfo', systemInfo);
+
+		if (systemInfo.platform == 'ios') {
+
+			return currentPlatform.value = 'ios'
+		} else {
+			return currentPlatform.value = 'android'
+		}
+
+	}
+	onLoad((options) => {
+		dingdanData.current = Number(options.status) || dingdanData.current
+		getMore(dingdanData.current);
+		isIOSorAndroid()
+	})
+</script>
+
+<style>
+
+</style>