فهرست منبع

fix(daily-report): 避免路由同步重置日报查询条件

- 仅在路由参数存在时更新对应查询字段
- 保留部门、时间及项目分类等当前筛选条件
- 修正各类日报页面路由查询参数同步逻辑
Zimo 7 ساعت پیش
والد
کامیت
5606ba6c9d

+ 11 - 7
src/views/pms/constructionDailyReport/index.vue

@@ -71,13 +71,17 @@ const formRef = ref<InstanceType<typeof ConstructionDailyReportDrawer>>()
 function syncQueryFromRoute() {
   if (route.name !== pageRouteName) return
 
-  const nextQuery = createDefaultQuery()
-  query.value = {
-    ...query.value,
-    deptId: nextQuery.deptId,
-    projectDeptId: nextQuery.projectDeptId,
-    teamId: nextQuery.teamId,
-    createTime: nextQuery.createTime
+  if (route.query.deptId !== undefined) {
+    query.value.deptId = parseQueryNumber(route.query.deptId)
+  }
+  if (route.query.projectDeptId !== undefined) {
+    query.value.projectDeptId = parseQueryNumber(route.query.projectDeptId)
+  }
+  if (route.query.teamId !== undefined) {
+    query.value.teamId = parseQueryNumber(route.query.teamId)
+  }
+  if (route.query.createTime !== undefined) {
+    query.value.createTime = resolveCreateTimeFromRoute() ?? getDefaultCreateTime()
   }
 }
 

+ 12 - 4
src/views/pms/iotrddailyreport/index.vue

@@ -202,10 +202,18 @@ watch(
   () => {
     if (route.name !== pageRouteName) return
 
-    query.value.deptId = route.query.deptId ? Number(route.query.deptId) : id
-    query.value.createTime = getRouteCreateTime()
-    query.value.taskName = getRouteTaskName()
-    query.value.rdStatus = getRouteRdStatus()
+    if (route.query.deptId !== undefined) {
+      query.value.deptId = Number(route.query.deptId)
+    }
+    if (route.query.createTime !== undefined) {
+      query.value.createTime = getRouteCreateTime()
+    }
+    if (route.query.taskName !== undefined) {
+      query.value.taskName = getRouteTaskName()
+    }
+    if (route.query.nptName !== undefined) {
+      query.value.rdStatus = getRouteRdStatus()
+    }
   }
 )
 

+ 6 - 2
src/views/pms/iotrhdailyreport/index.vue

@@ -64,8 +64,12 @@ const getRouteCreateTime = () => {
 const syncQueryFromRoute = () => {
   if (route.name !== pageRouteName) return
 
-  query.value.deptId = route.query.deptId ? Number(route.query.deptId) : id
-  query.value.createTime = getRouteCreateTime()
+  if (route.query.deptId !== undefined) {
+    query.value.deptId = Number(route.query.deptId)
+  }
+  if (route.query.createTime !== undefined) {
+    query.value.createTime = getRouteCreateTime()
+  }
 }
 
 const totalWorkKeys: [string, string, string, string, number][] = [

+ 9 - 5
src/views/pms/iotrydailyreport/index.vue

@@ -62,11 +62,15 @@ const getRouteCreateTime = () => {
 const syncQueryFromRoute = () => {
   if (route.name !== pageRouteName) return
 
-  query.value.deptId = route.query.deptId ? Number(route.query.deptId) : id
-  query.value.createTime = getRouteCreateTime()
-  query.value.projectClassification = route.query.projectClassification
-    ? String(route.query.projectClassification)
-    : '1'
+  if (route.query.deptId !== undefined) {
+    query.value.deptId = Number(route.query.deptId)
+  }
+  if (route.query.createTime !== undefined) {
+    query.value.createTime = getRouteCreateTime()
+  }
+  if (route.query.projectClassification !== undefined) {
+    query.value.projectClassification = String(route.query.projectClassification)
+  }
 }
 
 const list = ref<any[]>([])

+ 9 - 5
src/views/pms/iotrydailyreport/xjindex.vue

@@ -62,11 +62,15 @@ const getRouteCreateTime = () => {
 const syncQueryFromRoute = () => {
   if (route.name !== pageRouteName) return
 
-  query.value.deptId = route.query.deptId ? Number(route.query.deptId) : id
-  query.value.createTime = getRouteCreateTime()
-  query.value.projectClassification = route.query.projectClassification
-    ? String(route.query.projectClassification)
-    : '2'
+  if (route.query.deptId !== undefined) {
+    query.value.deptId = Number(route.query.deptId)
+  }
+  if (route.query.createTime !== undefined) {
+    query.value.createTime = getRouteCreateTime()
+  }
+  if (route.query.projectClassification !== undefined) {
+    query.value.projectClassification = String(route.query.projectClassification)
+  }
 }
 
 const list = ref<any[]>([])