|
@@ -13,10 +13,16 @@
|
|
|
// eslint-disable-next-line unused-imports/no-unused-imports
|
|
|
import { onPageScroll, onReachBottom } from '@dcloudio/uni-app'
|
|
|
import useZPaging from 'z-paging/components/z-paging/js/hooks/useZPaging.js'
|
|
|
+import { orderList } from '@/api/order'
|
|
|
+import { formatNumber } from '@/utils'
|
|
|
|
|
|
defineOptions({
|
|
|
name: 'MyOrders', // 我的订单
|
|
|
})
|
|
|
+
|
|
|
+const userInfo = computed(() => {
|
|
|
+ return getUserInfoHook()
|
|
|
+})
|
|
|
// z-paging
|
|
|
const paging = ref(null)
|
|
|
// 类似mixins,如果是页面滚动务必要写这一行,并传入当前ref绑定的paging,注意此处是paging,而非paging.value
|
|
@@ -25,39 +31,41 @@ const tab = ref<number>(0)
|
|
|
const tabList = ref<any>([
|
|
|
{
|
|
|
label: 'All',
|
|
|
- value: '',
|
|
|
+ value: 0,
|
|
|
},
|
|
|
{
|
|
|
label: 'To pay',
|
|
|
- value: '',
|
|
|
+ value: 1,
|
|
|
},
|
|
|
{
|
|
|
label: 'Success',
|
|
|
- value: '',
|
|
|
+ value: 2,
|
|
|
},
|
|
|
{
|
|
|
label: 'Failed',
|
|
|
- value: '',
|
|
|
+ value: 3,
|
|
|
},
|
|
|
{
|
|
|
label: 'Reward',
|
|
|
- value: '',
|
|
|
+ value: 4,
|
|
|
},
|
|
|
])
|
|
|
// 搜索结果
|
|
|
-const dataList = ref([])
|
|
|
-function queryList(pageNo, pageSize) {
|
|
|
+const dataList = ref<any[]>([])
|
|
|
+async function queryList(pageNo, pageSize) {
|
|
|
// 此处请求仅为演示,请替换为自己项目中的请求
|
|
|
- setTimeout(() => {
|
|
|
- dataList.value = [
|
|
|
- { title: '123' },
|
|
|
- { title: '123' },
|
|
|
- { title: '123' },
|
|
|
- { title: '12345' },
|
|
|
- ]
|
|
|
- console.log(12312)
|
|
|
- paging.value[tab.value].complete(dataList.value)
|
|
|
- }, 1000)
|
|
|
+ try {
|
|
|
+ const res = await orderList({
|
|
|
+ page: pageNo,
|
|
|
+ size: pageSize,
|
|
|
+ type: tab.value, // 根据tab的值来查询不同状态的订单
|
|
|
+ userId: userInfo.value.userId,
|
|
|
+ })
|
|
|
+ paging.value[tab.value].complete(res.data.list)
|
|
|
+ }
|
|
|
+ catch {
|
|
|
+ paging.value[tab.value].complete(false)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
function toPage() {
|
|
@@ -69,13 +77,13 @@ function toPage() {
|
|
|
|
|
|
<template>
|
|
|
<wd-tabs v-model="tab" swipeable sticky custom-class="bg-transparent!">
|
|
|
- <wd-tab v-for="item in 4" :key="item" :title="`标签${item}`">
|
|
|
+ <wd-tab v-for="tabItem in tabList" :key="tabItem" :title="tabItem.label" :value="tabItem.value">
|
|
|
<z-paging ref="paging" v-model="dataList" use-page-scroll @query="queryList">
|
|
|
- <wd-card type="rectangle" custom-class="px-24rpx! py-6rpx!" custom-content-class="py-18rpx!" custom-title-class="py-18rpx!" @click="toPage">
|
|
|
+ <wd-card v-for="item in dataList" :key="item.orderId" type="rectangle" custom-class="px-24rpx! py-6rpx!" custom-content-class="py-18rpx!" custom-title-class="py-18rpx!" @click="toPage">
|
|
|
<template #title>
|
|
|
<view class="flex items-center justify-between">
|
|
|
<view class="text-28rpx text-#000">
|
|
|
- Order ID:20250505123030120
|
|
|
+ Order ID:{{ item.orderId }}
|
|
|
</view>
|
|
|
<wd-text size="26rpx" type="primary" text="Completed" />
|
|
|
</view>
|
|
@@ -94,7 +102,7 @@ function toPage() {
|
|
|
</view>
|
|
|
<view class="flex items-center justify-between text-24rpx text-#3A444C">
|
|
|
<view>
|
|
|
- ৳ 300
|
|
|
+ ৳ {{ formatNumber(item.payPrice) }}
|
|
|
</view>
|
|
|
<view>
|
|
|
Quantity:1
|