feat: expand nvr cluster node if any nvr is selected when manually locate device
This commit is contained in:
@@ -222,7 +222,16 @@ const deviceTreeInsts = useTemplateRef<TreeInst[]>('deviceTreeInsts');
|
|||||||
const onClickLocateDeviceTree = () => {
|
const onClickLocateDeviceTree = () => {
|
||||||
selectedTab.value = (selectedDevice.value?.deviceType ?? selectedTab.value) as DeviceTypeCode;
|
selectedTab.value = (selectedDevice.value?.deviceType ?? selectedTab.value) as DeviceTypeCode;
|
||||||
selectedKeys.value = selectedDevice.value?.id ? [selectedDevice.value.id] : undefined;
|
selectedKeys.value = selectedDevice.value?.id ? [selectedDevice.value.id] : undefined;
|
||||||
expandedKeys.value = route.query['stationCode'] ? [route.query['stationCode'] as string] : undefined;
|
|
||||||
|
const stationCode = route.query['stationCode'] as string | undefined;
|
||||||
|
let expanded: string[] | undefined = stationCode ? [stationCode] : undefined;
|
||||||
|
if (selectedTab.value === DeviceType.Nvr && stationCode) {
|
||||||
|
const nvrs = (lineDevices.value?.[stationCode]?.[DeviceType.Nvr] ?? []) as NdmNvrResultVO[];
|
||||||
|
const clusterKeys = nvrs.filter((nvr) => !!nvr.clusterList?.trim() && nvr.clusterList !== nvr.ipAddress).map((nvr) => String(nvr.id));
|
||||||
|
expanded = [...(expanded ?? []), ...clusterKeys];
|
||||||
|
}
|
||||||
|
expandedKeys.value = expanded;
|
||||||
|
|
||||||
// 由于数据量大所以开启虚拟滚动,
|
// 由于数据量大所以开启虚拟滚动,
|
||||||
// 但是无法知晓NTree内部的虚拟列表容器何时创建完成,所以使用setTimeout延迟固定时间后执行滚动
|
// 但是无法知晓NTree内部的虚拟列表容器何时创建完成,所以使用setTimeout延迟固定时间后执行滚动
|
||||||
scrollDeviceTreeToSelectedDevice();
|
scrollDeviceTreeToSelectedDevice();
|
||||||
|
|||||||
Reference in New Issue
Block a user