| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362 | <template>	<view class="ezy-cuoti-page">		<view class="icon-title-navBar-box">			<view @click="goBack" class="nav-bar-icon"></view>			<text class="nav-bar-title">我的订单</text>		</view>		<view class="cuoti-border-box">			<uni-segmented-control :current="dingdanData.current" :values="dingdanData.items" active-color="#3A7FE9"				@clickItem="onChangeTab" class="cuo-tab-box" />			<view class="cuoti-content-box">				<view v-if="dingdanData.current === 0">					<scroll-view scroll-y="true" refresher-enabled="true"						:refresher-triggered="dingdanData.quanbu.loading" :refresher-threshold="50"						refresher-background="lightgreen" @refresherrefresh="onRefresh" class="cuoti-scroll-view">						<!--数学-->						<uni-list>							<uni-list-item v-for="item in dingdanData.quanbu.list" class="list-item-box">								<template v-slot:body>									<view>										鹅状元自营 不支持退订									</view>									<view v-if="item.status ==0||item.status ==1">										已付款									</view>									<view v-if="item.status ==2">										未付款									</view>									<view>										图片									</view>									<view>										{{item.cardName}}									</view>									<view>										{{item.cardYuanjia}}									</view>									<view>										{{item.ctime}}									</view>									<view>										实付款:{{item.money}}									</view>									<view v-if="item.status ==1">										立即支付									</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 style="height: 300px;" scroll-y="true" refresher-enabled="true"						:refresher-triggered="dingdanData.daiFukuan.loading" :refresher-threshold="50"						refresher-background="lightgreen" @refresherrefresh="onRefresh">					</scroll-view>				</view>				<view v-if="dingdanData.current === 2">					<scroll-view style="height: 300px;" scroll-y="true" refresher-enabled="true"						:refresher-triggered="dingdanData.yifukuan.loading" :refresher-threshold="50"						refresher-background="lightgreen" @refresherrefresh="onRefresh">					</scroll-view>				</view>			</view>		</view>		<CustomTabBar></CustomTabBar>	</view></template><script setup>	import {		reactive,		ref	} from "vue";	import {		getOrderList	} from "@/api/order";	import {		onLoad	} from "@dcloudio/uni-app";	import {		toast,		getUserIdentity	} from "@/utils/common";	import cacheManager from '@/utils/cacheManager.js';	import CustomTabBar from '@/components/custom-tabbar/custom-tabbar.vue';	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 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 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 = 'no-more';					dingdanData.quanbu.loading = false;				} else {					// 数学					dingdanData.quanbu.state = 'more';					dingdanData.quanbu.loading = false;				}			} else if (code == 1) {				if (res.data.total >= dingdanData.daiFukuan.list.length) {					// 英语					dingdanData.daiFukuan.state = 'no-more';					dingdanData.daiFukuan.loading = false;				} else {					// 英语					dingdanData.daiFukuan.state = 'more';					dingdanData.daiFukuan.loading = false;				}			} else if (code == 1) {				if (res.data.total >= dingdanData.yiFukuan.list.length) {					// 英语					dingdanData.yiFukuan.state = 'no-more';					dingdanData.yiFukuan.loading = false;				} else {					// 英语					dingdanData.yiFukuan.state = '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: 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 = 'no-more';					dingdanData.quanbu.state_text = '没有更多啦';					dingdanData.quanbu.loading = false;				} else {					// 数学					dingdanData.quanbu.state = 'more';					dingdanData.quanbu.state_text = '加载更多';					dingdanData.quanbu.loading = false;				}			} else if (code == 1) {				if (res.data.total >= dingdanData.daiFukuan.list.length) {					// 英语					dingdanData.daiFukuan.state = 'no-more';					dingdanData.daiFukuan.state_text = '没有更多啦';					dingdanData.daiFukuan.loading = false;				} else {					// 英语					dingdanData.daiFukuan.state = 'more';					dingdanData.daiFukuan.state_text = '加载更多';					dingdanData.daiFukuan.loading = false;				}			} else if (code == 2) {				if (res.data.total >= dingdanData.yiFukuan.list.length) {					// 英语					dingdanData.yiFukuan.state = 'no-more';					dingdanData.yiFukuan.state_text = '没有更多啦';					dingdanData.yiFukuan.loading = false;				} else {					// 英语					dingdanData.yiFukuan.state = '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'		})	}	onLoad(() => {		getMore(dingdanData.current);	})</script><style></style>
 |