katılımcı listesi

This commit is contained in:
burakovec
2026-03-18 07:47:18 +03:00
parent 46d0cac892
commit a75158379d
8 changed files with 806 additions and 216 deletions

View File

@ -392,9 +392,22 @@
const searchChanging = ref<boolean>(false)
const filterChanging = ref<boolean>(false)
const isQueryEqual = (a: Record<string, any>, b: Record<string, any>) => {
const keys = new Set([...Object.keys(a || {}), ...Object.keys(b || {})])
for (const k of keys) {
const va = a?.[k]
const vb = b?.[k]
if (Array.isArray(va) && Array.isArray(vb)) {
if (va.length !== vb.length || va.some((v: any, i: number) => v !== vb[i]))
return false
} else if (String(va ?? '') !== String(vb ?? '')) return false
}
return true
}
const RoutePageControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
const q = { ...route.query } as Record<string, any>
pageNumberChanging.value = true
if (q.pageNumber !== undefined && q.pageNumber !== '') {
@ -404,7 +417,9 @@
localPagination.value.pageNumber = localPagination.value.pageNumber || 1
}
router.push({ query: q })
if (!isQueryEqual(q, route.query as Record<string, any>)) {
router.push({ query: q })
}
nextTick(() => {
pageNumberChanging.value = false
})
@ -413,7 +428,7 @@
const RouteSortControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
const q = { ...route.query } as Record<string, any>
sortChanging.value = true
if (q.sortOrder !== undefined && q.sortOrder !== null && q.sortOrder !== '') {
localSort.value.sortColumn = q.sortColumn as string
@ -424,7 +439,9 @@
delete localSort.value.sortColumn
delete localSort.value.sortOrder
}
router.push({ query: q })
if (!isQueryEqual(q, route.query as Record<string, any>)) {
router.push({ query: q })
}
nextTick(() => {
sortChanging.value = false
})
@ -433,7 +450,7 @@
const RouteSearchControl = () => {
if (props.isUseRoute) {
const q = { ...route.query }
const q = { ...route.query } as Record<string, any>
searchChanging.value = true
if (
q.searchString !== undefined &&
@ -445,7 +462,9 @@
localQuery.value = ''
delete q.searchString
}
router.push({ query: q })
if (!isQueryEqual(q, route.query as Record<string, any>)) {
router.push({ query: q })
}
nextTick(() => {
searchChanging.value = false
})