feat:默认选择全部网元

This commit is contained in:
zhongzm
2025-07-09 10:26:00 +08:00
parent f9dd0964d2
commit f45ad79015

View File

@@ -376,6 +376,39 @@ interface KPIStats {
total: number;
}
/**
* 设置网元类型并选择该类型下的所有网元
* @param neType 网元类型
*/
function setNeTypeAndSelectAll(neType: string) {
const item = neCascaderOptions.value.find(s => s.value === neType);
if (item && item.children && item.children.length > 0) {
// 设置网元类型
state.neType = item.value;
queryParams.neType = item.value;
// 获取该类型下的网元ID列表
availableNeIds.value = item.children.map((ne: any) => ({
label: `${ne.label}`,
value: ne.neId,
}));
// 选择该类型下的所有网元
state.neIds = item.children.map((ne: any) => ne.neId);
queryParams.neIds = [...state.neIds];
selectedNes.value = state.neIds.map(neId => ({
neType: item.value,
neId: neId,
}));
} else {
// 如果没有找到对应的网元类型,清空选择
state.neType = '';
state.neIds = [];
availableNeIds.value = [];
selectedNes.value = [];
}
}
/**处理网元类型变化 */
function handleNeTypeChange(
value: SelectValue,
@@ -385,35 +418,12 @@ function handleNeTypeChange(
state.neType = '';
state.neIds = [];
availableNeIds.value = [];
selectedNes.value = [];
return;
}
state.neType = value as string;
queryParams.neType = value as string;
state.neIds = []; // 清空已选网元
// 根据选择的网元类型更新可选的网元ID列表
const neTypeOption = neCascaderOptions.value.find(
item => item.value === value
);
if (
neTypeOption &&
neTypeOption.children &&
neTypeOption.children.length > 0
) {
availableNeIds.value = neTypeOption.children.map((ne: any) => ({
label: `${ne.label}`,
value: ne.neId,
}));
// 默认选择第一个网元
if (availableNeIds.value.length > 0) {
state.neIds = [availableNeIds.value[0].value];
queryParams.neIds = [...state.neIds];
}
} else {
availableNeIds.value = [];
}
// 使用通用函数设置网元类型并选择所有网元
setNeTypeAndSelectAll(value as string);
}
/**处理网元ID变化 */
@@ -1361,50 +1371,7 @@ onMounted(() => {
// 无查询参数neType时 默认选择UPF
const queryNeType = (route.query.neType as string) || 'UPF';
const item = neCascaderOptions.value.find(s => s.value === queryNeType);
if (item && item.children) {
// 设置网元类型
state.neType = item.value;
queryParams.neType = item.value;
// 获取该类型下的网元ID列表
availableNeIds.value = item.children.map((ne: any) => ({
label: `${ne.label}`,
value: ne.neId,
}));
// 默认选择第一个网元
const info = item.children[0];
state.neIds = [info.neId];
queryParams.neIds = [info.neId];
selectedNes.value = [
{
neType: item.value,
neId: info.neId,
},
];
} else {
const item = neCascaderOptions.value[0];
state.neType = item.value;
queryParams.neType = item.value;
// 获取该类型下的网元ID列表
availableNeIds.value = item.children.map((ne: any) => ({
label: `${ne.label}`,
value: ne.neId,
}));
// 默认选择第一个网元
const info = item.children[0];
state.neIds = [info.neId];
queryParams.neIds = [info.neId];
selectedNes.value = [
{
neType: item.value,
neId: info.neId,
},
];
}
setNeTypeAndSelectAll(queryNeType);
// 查询当前小时
const now = new Date();