hookehuyr

feat(分页): 添加最后一页判断逻辑并优化授权提示显示

在分页逻辑中增加 is_last_page 计算属性用于判断当前页是否为最后一页
优化授权提示的显示逻辑,仅在最后一页或非分页情况下显示
......@@ -172,6 +172,16 @@ export function usePagination(formDataRef, options = {}) {
})
/**
* 是否为最后一页
* @description 判断当前页索引是否位于过滤后的最后一页
* @returns {import('vue').ComputedRef<boolean>}
*/
const is_last_page = computed(() => {
const last = filtered_pages.value.length - 1
return current_page_index.value === last
})
/**
* 校验当前页
* @returns {Promise<boolean>} 是否通过校验
*/
......@@ -237,6 +247,7 @@ export function usePagination(formDataRef, options = {}) {
enable_pagination,
buildPages,
page_nav,
is_last_page,
validateCurrentPage,
handlePrev,
handleNext,
......
......@@ -37,7 +37,7 @@
v-if="enable_pagination"
:current="current_page_index"
:total="filtered_pages.length"
:is-last="current_page_index === filtered_pages.length - 1"
:is-last="is_last_page"
:prev-label="page_nav.prev_text"
:next-label="page_nav.next_text"
:prev-btn-color="page_nav.prev_btn_color"
......@@ -148,7 +148,8 @@
/> -->
</van-config-provider>
</div>
<div v-if="page_type === 'add'" style="text-align: center; color: #545454; font-size: 0.85rem; padding-bottom: 2rem">
<!-- TAG:分页使用时,仅在最后一页展示授权提示;非分页保持原逻辑显示 -->
<div v-if="page_type === 'add' && (!enable_pagination || is_last_page)" style="text-align: center; color: #545454; font-size: 0.85rem; padding-bottom: 2rem">
提交即授权该表单收集你的填写信息
</div>
<!-- 分页组件高度占位符 -->
......@@ -1471,6 +1472,7 @@ const {
visible_form_data,
buildPages,
page_nav,
is_last_page,
handlePrev,
handleNext,
handleSubmit,
......