feat: support searching device id
This commit is contained in:
@@ -35,8 +35,8 @@ watch(show, (newValue) => {
|
|||||||
const searchPattern = ref('');
|
const searchPattern = ref('');
|
||||||
const searchFilter: (pattern: string, node: TreeOption) => boolean = (pattern, node) => {
|
const searchFilter: (pattern: string, node: TreeOption) => boolean = (pattern, node) => {
|
||||||
const device = node['device'] as NdmDeviceVO | undefined;
|
const device = node['device'] as NdmDeviceVO | undefined;
|
||||||
const { name, ipAddress } = device ?? {};
|
const { name, ipAddress, deviceId } = device ?? {};
|
||||||
return (name ?? '').includes(pattern) || (ipAddress ?? '').includes(pattern);
|
return (name ?? '').includes(pattern) || (ipAddress ?? '').includes(pattern) || (deviceId ?? '').includes(pattern);
|
||||||
};
|
};
|
||||||
|
|
||||||
const offlineDeviceCount = computed(() => {
|
const offlineDeviceCount = computed(() => {
|
||||||
@@ -107,7 +107,7 @@ const onModalClose = () => {
|
|||||||
<span>当前没有离线设备</span>
|
<span>当前没有离线设备</span>
|
||||||
</div>
|
</div>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<NInput v-model:value="searchPattern" placeholder="搜索设备名称或IP地址" clearable />
|
<NInput v-model:value="searchPattern" placeholder="搜索设备名称、设备ID或IP地址" clearable />
|
||||||
<NTree
|
<NTree
|
||||||
:data="treeData"
|
:data="treeData"
|
||||||
:override-default-node-click-behavior="override"
|
:override-default-node-click-behavior="override"
|
||||||
|
|||||||
@@ -210,14 +210,13 @@ const searchPattern = computed(() => {
|
|||||||
const searchFilter = (pattern: string, node: TreeOption): boolean => {
|
const searchFilter = (pattern: string, node: TreeOption): boolean => {
|
||||||
const { search, status } = destr<{ search: string; status: string }>(pattern);
|
const { search, status } = destr<{ search: string; status: string }>(pattern);
|
||||||
const device = node['device'] as NdmDeviceResultVO | undefined;
|
const device = node['device'] as NdmDeviceResultVO | undefined;
|
||||||
const { name, ipAddress, deviceStatus } = device ?? {};
|
const { name, ipAddress, deviceId, deviceStatus } = device ?? {};
|
||||||
const searchMatched = (name ?? '').includes(search) || (ipAddress ?? '').includes(search);
|
const searchMatched = (name ?? '').includes(search) || (ipAddress ?? '').includes(search) || (deviceId ?? '').includes(search);
|
||||||
const statusMatched = status === '' || status === deviceStatus;
|
const statusMatched = status === '' || status === deviceStatus;
|
||||||
return searchMatched && statusMatched;
|
return searchMatched && statusMatched;
|
||||||
};
|
};
|
||||||
|
|
||||||
// ========== 设备树交互 ==========
|
// ========== 设备树交互 ==========
|
||||||
// 将多实例改为单实例,便于直接获取 Tree 实例
|
|
||||||
const deviceTreeInst = useTemplateRef<TreeInst>('deviceTreeInst');
|
const deviceTreeInst = useTemplateRef<TreeInst>('deviceTreeInst');
|
||||||
const onClickLocateDeviceTree = () => {
|
const onClickLocateDeviceTree = () => {
|
||||||
selectedTab.value = (selectedDevice.value?.deviceType ?? selectedTab.value) as DeviceTypeCode;
|
selectedTab.value = (selectedDevice.value?.deviceType ?? selectedTab.value) as DeviceTypeCode;
|
||||||
@@ -249,7 +248,7 @@ const scrollDeviceTreeToSelectedDevice = (timeout: number = 500) => {
|
|||||||
<NLayoutSider bordered :width="600" :collapsed-width="0" show-trigger="bar">
|
<NLayoutSider bordered :width="600" :collapsed-width="0" show-trigger="bar">
|
||||||
<div style="height: 100%; display: flex; flex-direction: column">
|
<div style="height: 100%; display: flex; flex-direction: column">
|
||||||
<div style="flex-shrink: 0; padding: 12px">
|
<div style="flex-shrink: 0; padding: 12px">
|
||||||
<NInput v-model:value="searchInput" placeholder="搜索设备名称或IP地址" clearable />
|
<NInput v-model:value="searchInput" placeholder="搜索设备名称、设备ID或IP地址" clearable />
|
||||||
<NFlex justify="space-between" align="center">
|
<NFlex justify="space-between" align="center">
|
||||||
<NRadioGroup v-model:value="statusInput">
|
<NRadioGroup v-model:value="statusInput">
|
||||||
<NRadio value="">全部</NRadio>
|
<NRadio value="">全部</NRadio>
|
||||||
|
|||||||
Reference in New Issue
Block a user