Refactor drawing query pages and routing structure

This commit is contained in:
wangqiao
2025-08-29 17:40:54 +08:00
parent a2c2a87e38
commit 7fe259299e
7 changed files with 345 additions and 565 deletions

View File

@ -33,12 +33,13 @@
import { getDictTree } from '~/api/home/index'
import type { pageRes, pageReq } from '~/api/upnew/types'
const route = useRoute()
const level = ref(
route.query?.valuelevel
? JSON.parse(route.query.valuelevel as string)
: [
{
id: '0',
id: -1,
name: '图纸库',
isChildren: false,
},
@ -49,9 +50,9 @@
const query = ref<pageReq>({
pageNo: 1,
pageSize: 12,
projectType: '',
editions: '',
source: '',
projectType: '-1',
editions: '-1',
source: -1,
type: 1,
title: keywords.value,
})
@ -62,23 +63,30 @@
// 如果id存在则设置projectType
if (level.value.length) {
query.value.projectType = level.value[level.value.length - 1].id || ''
// query.value.projectType = level.value[level.value.length - 1].id || ''
}
const handleClickSize = (val: number) => {
query.value.pageSize = val
getPage()
// getPage()
navigateTo(`/drawe/${query.value.projectType}/${query.value.pageNo}/${val}/${query.value.editions}/${query.value.source}`)
}
const handeClickCurrent = (val: number) => {
query.value.pageNo = val
getPage()
// getPage()
navigateTo(`/drawe/${query.value.projectType}/${val}/${query.value.pageSize}/${query.value.editions}/${query.value.source}`)
}
const { data: result, refresh: getPage } = useAsyncData(
`draw-page-list-${Date.now()}`,
`draw-page-list-${query.value.projectType}-${query.value.editions}-${query.value.source}-${query.value.pageNo}-${query.value.pageSize}-${query.value.title}`,
async () => {
const res = await page(query.value)
const res = await page({
...query.value,
editions: query.value.editions === '-1' ? '' : query.value.editions,
source: query.value.source === -1 ? '' : query.value.source,
projectType: query.value.projectType === '-1' ? '' : query.value.projectType,
})
return res.data
},
{
@ -97,7 +105,7 @@
watch([() => query.value.projectType, () => query.value.editions, () => query.value.source], (val) => {
if (val) {
getPage()
navigateTo(`/drawe/${query.value.projectType}/1/${query.value.pageSize}/${query.value.editions}/${query.value.source}`)
}
})
</script>