diff --git a/README.md b/README.md index 1a3a144..b239728 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@
- +

🚀 Coi Admin

A Modern Admin Dashboard Template Based on Vue3 + Vite + TypeScript + Naive UI

diff --git a/README.zh-CN.md b/README.zh-CN.md index 0d325c0..72a19cd 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,5 +1,5 @@
- +

🚀 Coi Admin

基于 Vue3 + Vite + TypeScript + Naive UI 的现代化后台管理系统

diff --git a/src/components/common/CoiPagination.vue b/src/components/common/CoiPagination.vue new file mode 100644 index 0000000..ac1b5ef --- /dev/null +++ b/src/components/common/CoiPagination.vue @@ -0,0 +1,472 @@ + + + + + diff --git a/src/components/common/Pagination.vue b/src/components/common/Pagination.vue deleted file mode 100644 index 0253b66..0000000 --- a/src/components/common/Pagination.vue +++ /dev/null @@ -1,36 +0,0 @@ - - - - - diff --git a/src/views/system/file/index.vue b/src/views/system/file/index.vue index 8cc523e..e0e392b 100644 --- a/src/views/system/file/index.vue +++ b/src/views/system/file/index.vue @@ -172,20 +172,23 @@ -
-
- 共 {{ pagination.itemCount }} 条 -
- + + + +
+ 🔧 调试信息 - 当前分页状态: Page={{ pagination.page }}, PageSize={{ pagination.pageSize }}, ItemCount={{ pagination.itemCount }}, DataLength={{ tableData.length }} +
@@ -303,6 +306,7 @@ import { h, onMounted, ref } from 'vue' import { NButton, NIcon, NImage, NP, NPopconfirm, NSpace, NTag, NText, NUpload, NUploadDragger } from 'naive-ui' import type { DataTableColumns, DataTableInst, FormInst, UploadFileInfo, UploadInst } from 'naive-ui' import CoiEmpty from '@/components/common/CoiEmpty.vue' +import CoiPagination from '@/components/common/CoiPagination.vue' import { coiMsgBox, coiMsgError, coiMsgSuccess, coiMsgWarning } from '@/utils/coi' import { usePermission } from '@/hooks/usePermission' import { PERMISSIONS } from '@/constants/permissions' @@ -390,6 +394,13 @@ const pagination = ref({ itemCount: 0, }) +// 调试信息:输出初始分页设置 +console.warn('🚀 分页初始化设置:', { + initialPage: pagination.value.page, + initialPageSize: pagination.value.pageSize, + initialItemCount: pagination.value.itemCount, +}) + // 表格列定义 const columns: DataTableColumns = [ { @@ -562,10 +573,25 @@ async function fetchData() { fileType: selectedCategory.value === '0' ? undefined : selectedCategory.value, } + // 调试信息:输出请求参数 + console.warn('🔍 fetchData 请求参数:', { + page: pagination.value.page, + pageSize: pagination.value.pageSize, + params, + }) + const { data } = await getSysFileList(params) if (data) { tableData.value = data.records pagination.value.itemCount = data.total + + // 调试信息:输出返回数据 + console.warn('📊 fetchData 返回数据:', { + requestedPageSize: pagination.value.pageSize, + actualDataLength: data.records.length, + totalCount: data.total, + currentPage: pagination.value.page, + }) } } catch { @@ -606,8 +632,20 @@ function handlePageChange(page: number) { } function handlePageSizeChange(pageSize: number) { + console.warn('🔄 handlePageSizeChange 触发:', { + oldPageSize: pagination.value.pageSize, + newPageSize: pageSize, + currentPage: pagination.value.page, + }) + pagination.value.pageSize = pageSize pagination.value.page = 1 + + console.warn('✅ handlePageSizeChange 更新后:', { + updatedPageSize: pagination.value.pageSize, + resetPage: pagination.value.page, + }) + fetchData() } diff --git a/src/views/system/loginlog/index.vue b/src/views/system/loginlog/index.vue index f1d3cb4..669536f 100644 --- a/src/views/system/loginlog/index.vue +++ b/src/views/system/loginlog/index.vue @@ -179,17 +179,15 @@ -
-
- 共 {{ pagination.itemCount }} 条 -
- + @@ -204,6 +202,7 @@ import type { DataTableColumns, FormInst } from 'naive-ui' import { NButton, NIcon, NPopconfirm, NSpace, NTag } from 'naive-ui' import IconParkOutlineDelete from '~icons/icon-park-outline/delete' import CoiEmpty from '@/components/common/CoiEmpty.vue' +import CoiPagination from '@/components/common/CoiPagination.vue' import { batchDeleteLoginLog, deleteLoginLog, diff --git a/src/views/system/operlog/index.vue b/src/views/system/operlog/index.vue index 601ec93..2771ae3 100644 --- a/src/views/system/operlog/index.vue +++ b/src/views/system/operlog/index.vue @@ -193,17 +193,15 @@
-
-
- 共 {{ pagination.itemCount }} 条 -
- + @@ -265,6 +263,7 @@ import IconParkOutlineDelete from '~icons/icon-park-outline/delete' import IconParkOutlinePreviewOpen from '~icons/icon-park-outline/preview-open' import CoiDialog from '@/components/common/CoiDialog.vue' import CoiEmpty from '@/components/common/CoiEmpty.vue' +import CoiPagination from '@/components/common/CoiPagination.vue' import { batchDeleteOperLog, clearOperLog, diff --git a/src/views/system/picture/index.vue b/src/views/system/picture/index.vue index 5d91de9..2f6fbce 100644 --- a/src/views/system/picture/index.vue +++ b/src/views/system/picture/index.vue @@ -290,17 +290,15 @@
-
-
- 共 {{ pagination.itemCount }} 条 -
- + @@ -409,6 +407,7 @@ import { NButton, NIcon, NImage, NP, NPopconfirm, NSpace, NSpin, NTag, NText, NT import type { DataTableColumns, DataTableInst, FormInst, UploadFileInfo, UploadInst } from 'naive-ui' import CoiEmpty from '@/components/common/CoiEmpty.vue' import CoiDialog from '@/components/common/CoiDialog.vue' +import CoiPagination from '@/components/common/CoiPagination.vue' import { coiMsgBox, coiMsgError, coiMsgSuccess, coiMsgWarning } from '@/utils/coi' import { usePermission } from '@/hooks/usePermission' import { PERMISSIONS } from '@/constants/permissions' diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue index 7d6526a..9101c0b 100644 --- a/src/views/system/role/index.vue +++ b/src/views/system/role/index.vue @@ -208,17 +208,15 @@
-
-
- 共 {{ pagination.itemCount }} 条 -
- + @@ -428,6 +426,7 @@ import IconParkOutlineDelete from '~icons/icon-park-outline/delete' import IconParkOutlineKey from '~icons/icon-park-outline/key' import CoiDialog from '@/components/common/CoiDialog.vue' import CoiEmpty from '@/components/common/CoiEmpty.vue' +import CoiPagination from '@/components/common/CoiPagination.vue' import { addRole, batchDeleteRoles, diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue index 6847987..005cbfb 100644 --- a/src/views/system/user/index.vue +++ b/src/views/system/user/index.vue @@ -252,17 +252,15 @@
-
-
- 共 {{ pagination.itemCount }} 条 -
- + @@ -716,6 +714,7 @@ import IconParkOutlineDownloadOne from '~icons/icon-park-outline/download-one' import IconParkOutlineFileCodeOne from '~icons/icon-park-outline/file-code-one' import CoiDialog from '@/components/common/CoiDialog.vue' import CoiEmpty from '@/components/common/CoiEmpty.vue' +import CoiPagination from '@/components/common/CoiPagination.vue' import { addUser, batchDeleteUsers,