diff --git a/server/internal/model/input/form/page.go b/server/internal/model/input/form/page.go index 93f7af3..834e083 100644 --- a/server/internal/model/input/form/page.go +++ b/server/internal/model/input/form/page.go @@ -33,11 +33,13 @@ func (req *PageReq) GetPerPage() int { // PageRes 分页响应 type PageRes struct { PageReq - PageCount int `json:"pageCount" example:"0" dc:"全部数据量"` + PageCount int `json:"pageCount" example:"0" dc:"分页个数"` + TotalCount int `json:"totalCount" example:"0" dc:"数据总行数"` } // Pack 打包分页数据 func (res *PageRes) Pack(req ReqPageFunc, totalCount int) { + res.TotalCount = totalCount res.PageCount = CalPageCount(totalCount, req.GetPerPage()) res.Page = req.GetPage() res.PerPage = req.GetPerPage() diff --git a/web/src/components/Table/src/hooks/useDataSource.ts b/web/src/components/Table/src/hooks/useDataSource.ts index 8fd7b7b..79e46cf 100644 --- a/web/src/components/Table/src/hooks/useDataSource.ts +++ b/web/src/components/Table/src/hooks/useDataSource.ts @@ -53,6 +53,7 @@ export function useDataSource( const sizeField = APISETTING.sizeField; const totalField = APISETTING.totalField; const listField = APISETTING.listField; + const itemCountField = APISETTING.itemCountField; let pageParams = {}; const { page = 1, pageSize = 10 } = unref(getPaginationInfo) as PaginationProps; @@ -75,6 +76,7 @@ export function useDataSource( const resultTotal = res[totalField] || 0; const currentPage = res[pageField]; + const itemCount = res[itemCountField] || 0; // 如果数据异常,需获取正确的页码再次执行 if (resultTotal) { @@ -108,6 +110,9 @@ export function useDataSource( setPagination({ [pageField]: currentPage, [totalField]: resultTotal, + prefix: () => { + return `共 ${itemCount} 条`; + }, }); if (opt && opt[pageField]) { setPagination({ diff --git a/web/src/settings/componentSetting.ts b/web/src/settings/componentSetting.ts index f108d38..ce282e2 100644 --- a/web/src/settings/componentSetting.ts +++ b/web/src/settings/componentSetting.ts @@ -9,6 +9,8 @@ export default { listField: 'list', // 接口返回总页数字段名 totalField: 'pageCount', + // 接口返回总行数字段名 + itemCountField: 'totalCount', }, //默认分页数量 defaultPageSize: 10,