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 = () => {
|
||||
selectedTab.value = (selectedDevice.value?.deviceType ?? selectedTab.value) as DeviceTypeCode;
|
||||
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延迟固定时间后执行滚动
|
||||
scrollDeviceTreeToSelectedDevice();
|
||||
|
||||
Reference in New Issue
Block a user