瀏覽代碼

fix(views): 修复点击工况卡片跳到详情页后不能返回工况页面的问题

wangcong 1 周之前
父節點
當前提交
5288d3422d
共有 2 個文件被更改,包括 28 次插入4 次删除
  1. 11 3
      src/views/device-work-status/DeviceWorkStatus.vue
  2. 17 1
      src/views/equipment-details/EquipmentDetails.vue

+ 11 - 3
src/views/device-work-status/DeviceWorkStatus.vue

@@ -49,12 +49,13 @@ onMounted(() => {
     });
 
     if (deviceTypes.value.length) {
-      if (route.query.deviceType && route.query.deviceId) {
+      activeDeviceId.value = route.query.deviceId ? Number(route.query.deviceId) : undefined;
+
+      if (route.query.deviceType) {
         const deviceType = Number(route.query.deviceType);
         const isDeviceTypeExisted = deviceTypes.value.find((item) => item.deviceType === deviceType);
 
         if (isDeviceTypeExisted) {
-          activeDeviceId.value = Number(route.query.deviceId);
           activeDeviceType.value = deviceType;
 
           router.replace({
@@ -206,7 +207,14 @@ const handleDevCardClick = (devId: number, e: Event) => {
     currentDevId.value = devId;
     viewHistoryData(paramCode);
   } else {
-    router.push(`/device-manage/device-list/equipment-details/${devId}`);
+    router.push({
+      path: `/device-manage/device-list/equipment-details/${devId}`,
+      query: {
+        from: 'deviceWorkStatus',
+        groupId: props.deviceGroupId,
+        deviceType: activeDeviceType.value,
+      },
+    });
   }
 };
 </script>

+ 17 - 1
src/views/equipment-details/EquipmentDetails.vue

@@ -590,6 +590,22 @@ watch(
 onMounted(() => {
   obtainDeviceDetails(true);
 });
+
+const goBack = () => {
+  if (route.query.from === 'deviceWorkStatus' && route.query.groupId) {
+    router.push({
+      path: `/ai-smart-ctrl/device-group/${route.query.groupId}`,
+      query: {
+        tab: 'deviceWorkStatus',
+        deviceType: route.query.deviceType,
+      },
+    });
+
+    return;
+  }
+
+  router.push('/device-manage/device-list');
+};
 </script>
 
 <template>
@@ -597,7 +613,7 @@ onMounted(() => {
     <div>
       <AFlex justify="space-between">
         <AFlex align="center">
-          <div class="return" @click="$router.push('/device-manage/device-list')">
+          <div class="return" @click="goBack">
             <SvgIcon name="left" />
           </div>