first commit

This commit is contained in:
2026-02-26 09:32:03 +08:00
commit 36a8e4c51b
845 changed files with 116474 additions and 0 deletions
+42
View File
@@ -0,0 +1,42 @@
// 自定义分页 Hook
export default function usePage<T>(
queryFun: (pageNum: number, pageSize: number) => Promise<IResData<T>>,
callback?: (params?: any) => void,
) {
const paging = ref<ZPagingInstance<T> | null>(null)
const loading = ref(true)
const firstLoaded = ref(false)
const dataList = ref<T[]>([])
const totalRows = ref(0)
async function queryList(pageNum: number, pageSize: number) {
try {
const res = await queryFun(pageNum, pageSize)
console.log(res)
await paging.value?.complete(res?.rows)
totalRows.value = res?.total
firstLoaded.value = true
setTimeout(() => {
callback && callback({...res, pageNum, pageSize})
}, 100)
} catch (error) {
await paging.value?.complete(false)
setTimeout(() => {
callback && callback({pageNum, pageSize})
}, 100)
} finally {
setTimeout(() => {
loading.value = false
}, 100)
}
}
return {
paging,
firstLoaded,
loading,
dataList,
totalRows,
queryList,
}
}