Browse Source

重构:在 config 列表,引入分页组件

YunaiV 2 năm trước cách đây
mục cha
commit
0506c4e54d
2 tập tin đã thay đổi với 13 bổ sung6 xóa
  1. 5 5
      src/components/Pagination/index.vue
  2. 8 1
      src/views/infra/config/index.vue

+ 5 - 5
src/components/Pagination/index.vue

@@ -1,5 +1,5 @@
 <template>
-  <div :class="{ 'hidden': hidden }" class="pagination-container">
+  <div :class="{ hidden }" class="pagination-container">
     <el-pagination
       :background="background"
       v-model:current-page="currentPage"
@@ -18,6 +18,7 @@
 // TODO 芋艿:ts 重写
 // TODO 芋艿:scrollTo 接入
 // import { scrollTo } from '@/utils/scroll-to'
+import { computed } from 'vue'
 
 const props = defineProps({
   total: {
@@ -38,7 +39,7 @@ const props = defineProps({
       return [10, 20, 30, 50]
     }
   },
-  // 移动端页码按钮的数量端默认值5
+  // 移动端页码按钮的数量端默认值 5
   pagerCount: {
     type: Number,
     default: document.body.clientWidth < 992 ? 5 : 7
@@ -61,7 +62,7 @@ const props = defineProps({
   }
 })
 
-const emit = defineEmits();
+const emit = defineEmits(['update:page', 'update:limit', 'pagination', 'pagination'])
 const currentPage = computed({
   get() {
     return props.page
@@ -74,7 +75,7 @@ const pageSize = computed({
   get() {
     return props.limit
   },
-  set(val){
+  set(val) {
     emit('update:limit', val)
   }
 })
@@ -93,7 +94,6 @@ function handleCurrentChange(val) {
     // scrollTo(0, 800)
   }
 }
-
 </script>
 
 <style scoped>

+ 8 - 1
src/views/infra/config/index.vue

@@ -103,6 +103,13 @@
         </template>
       </el-table-column>
     </el-table>
+    <Pagination
+      v-show="total > 0"
+      :total="total"
+      v-model:page="queryParams.pageNo"
+      v-model:limit="queryParams.pageSize"
+      @pagination="getList"
+    />
   </content-wrap>
 
   <!-- 表单弹窗:添加/修改 -->
@@ -137,7 +144,7 @@ const getList = async () => {
   try {
     const data = await ConfigApi.getConfigPage(queryParams)
     list.value = data.list
-    total.value = data.value
+    total.value = data.total
   } finally {
     loading.value = false
   }