|
@@ -10,6 +10,7 @@ import LineChart from '@/components/LineChart.vue';
|
|
|
import SvgIcon from '@/components/SvgIcon.vue';
|
|
|
import { useDictData } from '@/hooks/dict-data';
|
|
|
import { useRequest } from '@/hooks/request';
|
|
|
+import router from '@/router';
|
|
|
import { t } from '@/i18n';
|
|
|
import {
|
|
|
addMonitorPoint,
|
|
@@ -69,6 +70,12 @@ interface RunStatusList {
|
|
|
name: string;
|
|
|
}
|
|
|
|
|
|
+interface QueryItem {
|
|
|
+ monitorId?: number;
|
|
|
+ parentDevGroupId?: number;
|
|
|
+ devGroupId?: number;
|
|
|
+}
|
|
|
+
|
|
|
const { dictData: paramAlgOperator, getDictData: getParamAlgOperator } = useDictData(DictCode.ParamAlgOperator);
|
|
|
const envMonitorListRef = useTemplateRef('envMonitorList');
|
|
|
const temperatureDifference = ref<DictValue[]>([]);
|
|
@@ -100,7 +107,11 @@ const supplyDeviceParamsList = ref<DeviceParams[]>([]);
|
|
|
const outdoorDeviceParamsList = ref<DeviceParams[]>([]);
|
|
|
const freshDeviceParamsList = ref<DeviceParams[]>([]);
|
|
|
const runDeviceParamsList = ref<DeviceParamType[]>([]);
|
|
|
-
|
|
|
+const queryItem = ref<QueryItem>({
|
|
|
+ monitorId: undefined,
|
|
|
+ parentDevGroupId: undefined,
|
|
|
+ devGroupId: undefined,
|
|
|
+});
|
|
|
const monitoringPointData = ref<MonitoringPointData[]>([]);
|
|
|
const regionNameList = ref<RegionNameList[]>([]);
|
|
|
const regionList = ref<RegionsPointsItem[]>([]);
|
|
@@ -304,20 +315,20 @@ const addAllGatewayList = (value: number) => {
|
|
|
|
|
|
const data = await getDeviceGroupList(item);
|
|
|
|
|
|
- const { devGroupId, parentDevGroupId } = route.query;
|
|
|
+ const { devGroupId, parentDevGroupId } = queryItem.value;
|
|
|
|
|
|
if (data.length) {
|
|
|
if (value === -1) {
|
|
|
oneDeviceGroup.value = data;
|
|
|
- if (Number(parentDevGroupId)) {
|
|
|
- gradeOne.value = Number(parentDevGroupId);
|
|
|
+ if (parentDevGroupId) {
|
|
|
+ gradeOne.value = parentDevGroupId;
|
|
|
} else {
|
|
|
gradeOne.value = data[0].id;
|
|
|
}
|
|
|
} else {
|
|
|
twoDeviceGroup.value = data;
|
|
|
- if (Number(devGroupId)) {
|
|
|
- gradeTwo.value = Number(devGroupId);
|
|
|
+ if (devGroupId) {
|
|
|
+ gradeTwo.value = devGroupId;
|
|
|
} else {
|
|
|
gradeTwo.value = data[0].id;
|
|
|
}
|
|
@@ -370,9 +381,8 @@ const getRegionsPointsList = (value: number, show: boolean) => {
|
|
|
return priority1 - priority2;
|
|
|
});
|
|
|
|
|
|
- const monitorId = Number(route.query.monitorId);
|
|
|
- if (monitorId) {
|
|
|
- monitoringId.value = monitorId;
|
|
|
+ if (queryItem.value.monitorId) {
|
|
|
+ monitoringId.value = queryItem.value.monitorId;
|
|
|
} else {
|
|
|
monitoringId.value = monitoringPointData.value[0].id;
|
|
|
}
|
|
@@ -977,12 +987,27 @@ watch(
|
|
|
() => route.query,
|
|
|
(count) => {
|
|
|
if (count) {
|
|
|
- const { devGroupId, monitorId, parentDevGroupId } = route.query;
|
|
|
- gradeOne.value = Number(parentDevGroupId);
|
|
|
- gradeTwo.value = Number(devGroupId);
|
|
|
- monitoringId.value = Number(monitorId);
|
|
|
+ const { monitorId, parentDevGroupId, devGroupId } = route.query;
|
|
|
+ if (monitorId || parentDevGroupId || devGroupId) {
|
|
|
+ queryItem.value = {
|
|
|
+ monitorId: Number(monitorId),
|
|
|
+ parentDevGroupId: Number(parentDevGroupId),
|
|
|
+ devGroupId: Number(devGroupId),
|
|
|
+ };
|
|
|
+ gradeOne.value = Number(parentDevGroupId);
|
|
|
+ gradeTwo.value = Number(devGroupId);
|
|
|
+ monitoringId.value = Number(monitorId);
|
|
|
+ router.replace({
|
|
|
+ path: route.path,
|
|
|
+ query: undefined,
|
|
|
+ });
|
|
|
+ }
|
|
|
}
|
|
|
},
|
|
|
+ {
|
|
|
+ deep: true, // 监听嵌套属性变化
|
|
|
+ immediate: true, // 立即触发一次回调
|
|
|
+ },
|
|
|
);
|
|
|
|
|
|
onMounted(() => {
|