hookehuyr

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

在分页逻辑中增加 is_last_page 计算属性用于判断当前页是否为最后一页
优化授权提示的显示逻辑,仅在最后一页或非分页情况下显示
...@@ -172,6 +172,16 @@ export function usePagination(formDataRef, options = {}) { ...@@ -172,6 +172,16 @@ export function usePagination(formDataRef, options = {}) {
172 }) 172 })
173 173
174 /** 174 /**
175 + * 是否为最后一页
176 + * @description 判断当前页索引是否位于过滤后的最后一页
177 + * @returns {import('vue').ComputedRef<boolean>}
178 + */
179 + const is_last_page = computed(() => {
180 + const last = filtered_pages.value.length - 1
181 + return current_page_index.value === last
182 + })
183 +
184 + /**
175 * 校验当前页 185 * 校验当前页
176 * @returns {Promise<boolean>} 是否通过校验 186 * @returns {Promise<boolean>} 是否通过校验
177 */ 187 */
...@@ -237,6 +247,7 @@ export function usePagination(formDataRef, options = {}) { ...@@ -237,6 +247,7 @@ export function usePagination(formDataRef, options = {}) {
237 enable_pagination, 247 enable_pagination,
238 buildPages, 248 buildPages,
239 page_nav, 249 page_nav,
250 + is_last_page,
240 validateCurrentPage, 251 validateCurrentPage,
241 handlePrev, 252 handlePrev,
242 handleNext, 253 handleNext,
......
...@@ -37,7 +37,7 @@ ...@@ -37,7 +37,7 @@
37 v-if="enable_pagination" 37 v-if="enable_pagination"
38 :current="current_page_index" 38 :current="current_page_index"
39 :total="filtered_pages.length" 39 :total="filtered_pages.length"
40 - :is-last="current_page_index === filtered_pages.length - 1" 40 + :is-last="is_last_page"
41 :prev-label="page_nav.prev_text" 41 :prev-label="page_nav.prev_text"
42 :next-label="page_nav.next_text" 42 :next-label="page_nav.next_text"
43 :prev-btn-color="page_nav.prev_btn_color" 43 :prev-btn-color="page_nav.prev_btn_color"
...@@ -148,7 +148,8 @@ ...@@ -148,7 +148,8 @@
148 /> --> 148 /> -->
149 </van-config-provider> 149 </van-config-provider>
150 </div> 150 </div>
151 - <div v-if="page_type === 'add'" style="text-align: center; color: #545454; font-size: 0.85rem; padding-bottom: 2rem"> 151 + <!-- TAG:分页使用时,仅在最后一页展示授权提示;非分页保持原逻辑显示 -->
152 + <div v-if="page_type === 'add' && (!enable_pagination || is_last_page)" style="text-align: center; color: #545454; font-size: 0.85rem; padding-bottom: 2rem">
152 提交即授权该表单收集你的填写信息 153 提交即授权该表单收集你的填写信息
153 </div> 154 </div>
154 <!-- 分页组件高度占位符 --> 155 <!-- 分页组件高度占位符 -->
...@@ -1471,6 +1472,7 @@ const { ...@@ -1471,6 +1472,7 @@ const {
1471 visible_form_data, 1472 visible_form_data,
1472 buildPages, 1473 buildPages,
1473 page_nav, 1474 page_nav,
1475 + is_last_page,
1474 handlePrev, 1476 handlePrev,
1475 handleNext, 1477 handleNext,
1476 handleSubmit, 1478 handleSubmit,
......