|
@@ -7,8 +7,9 @@ const { statusBarHeight, MenuButtonHeight } = storeToRefs(useSysStore())
|
|
|
/**
|
|
/**
|
|
|
* 获取视频权益列表
|
|
* 获取视频权益列表
|
|
|
*/
|
|
*/
|
|
|
-const { data: videoDataList, isLastPage, page, refresh } = usePagination((pageNum, pageSize) =>
|
|
|
|
|
- Apis.videoRight.findAppByPage({ data: { pageNum, pageSize } }), {
|
|
|
|
|
|
|
+const productName = ref('')
|
|
|
|
|
+const { data: videoDataList, isLastPage, page, reload, error, refresh } = usePagination((pageNum, pageSize) =>
|
|
|
|
|
+ Apis.videoRight.findAppByPage({ data: { pageNum, pageSize, productName: productName.value } }), {
|
|
|
data: (resp) => {
|
|
data: (resp) => {
|
|
|
return resp.data?.list
|
|
return resp.data?.list
|
|
|
},
|
|
},
|
|
@@ -19,6 +20,9 @@ const { data: videoDataList, isLastPage, page, refresh } = usePagination((pageNu
|
|
|
immediate: true,
|
|
immediate: true,
|
|
|
middleware: createGlobalLoadingMiddleware(),
|
|
middleware: createGlobalLoadingMiddleware(),
|
|
|
})
|
|
})
|
|
|
|
|
+const state = computed(() => {
|
|
|
|
|
+ return error.value ? 'error' : !isLastPage.value ? 'loading' : 'finished'
|
|
|
|
|
+})
|
|
|
onShow(() => {
|
|
onShow(() => {
|
|
|
refresh()
|
|
refresh()
|
|
|
})
|
|
})
|
|
@@ -27,6 +31,14 @@ onReachBottom(() => {
|
|
|
page.value++
|
|
page.value++
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
|
|
+
|
|
|
|
|
+function submitSearch() {
|
|
|
|
|
+ refresh()
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+function clearSearch() {
|
|
|
|
|
+ refresh()
|
|
|
|
|
+}
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
<template>
|
|
<template>
|
|
@@ -36,6 +48,7 @@ onReachBottom(() => {
|
|
|
safe-area-inset-top left-arrow fixed @click-left="router.back()"
|
|
safe-area-inset-top left-arrow fixed @click-left="router.back()"
|
|
|
/>
|
|
/>
|
|
|
<view :style="{ paddingTop: `${(Number(statusBarHeight) || 44) + MenuButtonHeight + 12}px` }" />
|
|
<view :style="{ paddingTop: `${(Number(statusBarHeight) || 44) + MenuButtonHeight + 12}px` }" />
|
|
|
|
|
+ <wd-search v-model="productName" placeholder="请输入名称" cancel-txt="搜索" @cancel="submitSearch" @clear="clearSearch" />
|
|
|
<view class="box-border px24rpx">
|
|
<view class="box-border px24rpx">
|
|
|
<scroll-view scroll-y type="custom">
|
|
<scroll-view scroll-y type="custom">
|
|
|
<grid-view type="masonry" cross-axis-count="2" main-axis-gap="10" cross-axis-gap="10">
|
|
<grid-view type="masonry" cross-axis-count="2" main-axis-gap="10" cross-axis-gap="10">
|
|
@@ -68,6 +81,7 @@ onReachBottom(() => {
|
|
|
</grid-view>
|
|
</grid-view>
|
|
|
<StatusTip v-if="!videoDataList.length" tip="暂无内容" />
|
|
<StatusTip v-if="!videoDataList.length" tip="暂无内容" />
|
|
|
</scroll-view>
|
|
</scroll-view>
|
|
|
|
|
+ <wd-loadmore :state="state" :loading-props="{ color: '#9ED605', size: 20 }" @reload="reload" />
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</template>
|
|
</template>
|