From d734bfc34f65b6cd036b5f21b718294152fecacf Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期四, 17 二月 2022 11:56:11 +0800
Subject: [PATCH] 修复分页组件请求两次问题(I4SQOR)

---
 ruoyi-ui/src/components/Pagination/index.vue |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/ruoyi-ui/src/components/Pagination/index.vue b/ruoyi-ui/src/components/Pagination/index.vue
index 08ff090..4d86211 100644
--- a/ruoyi-ui/src/components/Pagination/index.vue
+++ b/ruoyi-ui/src/components/Pagination/index.vue
@@ -1,11 +1,13 @@
 <template>
   <div :class="{'hidden':hidden}" class="pagination-container">
     <el-pagination
+      v-if="pageShow"
       :background="background"
       :current-page.sync="currentPage"
       :page-size.sync="pageSize"
       :layout="layout"
       :page-sizes="pageSizes"
+      :pager-count="pagerCount"
       :total="total"
       v-bind="$attrs"
       @size-change="handleSizeChange"
@@ -38,6 +40,11 @@
         return [10, 20, 30, 50]
       }
     },
+    // 移动端页码按钮的数量端默认值5
+    pagerCount: {
+      type: Number,
+      default: document.body.clientWidth < 992 ? 5 : 7
+    },
     layout: {
       type: String,
       default: 'total, sizes, prev, pager, next, jumper'
@@ -54,6 +61,11 @@
       type: Boolean,
       default: false
     }
+  },
+  data() {
+    return {
+      pageShow: true
+    };
   },
   computed: {
     currentPage: {
@@ -75,6 +87,12 @@
   },
   methods: {
     handleSizeChange(val) {
+      if (this.currentPage * val > this.total) {
+        this.pageShow = false;
+        this.$nextTick(() => {
+          this.pageShow = true
+        })
+      }
       this.$emit('pagination', { page: this.currentPage, limit: val })
       if (this.autoScroll) {
         scrollTo(0, 800)

--
Gitblit v1.9.2