fix service list

This commit is contained in:
Qiuxia Fan 2022-03-29 18:56:59 +08:00
parent c17d71b20a
commit 264860b709
3 changed files with 39 additions and 22 deletions

View File

@ -181,10 +181,11 @@ function clickEndpoint(scope: any) {
); );
} }
function changePage(pageIndex: number) { function changePage(pageIndex: number) {
endpoints.value = selectorStore.pods.filter( endpoints.value = selectorStore.pods.filter((d: unknown, index: number) => {
(d: unknown, index: number) => if (index >= (pageIndex - 1) * pageSize && index < pageIndex * pageSize) {
index >= (pageIndex - 1) * pageSize && index < pageIndex * pageSize return d;
); }
});
queryEndpointMetrics(endpoints.value); queryEndpointMetrics(endpoints.value);
} }
async function searchList() { async function searchList() {

View File

@ -208,10 +208,11 @@ function clickInstance(scope: any) {
} }
function changePage(pageIndex: number) { function changePage(pageIndex: number) {
instances.value = selectorStore.pods.filter( instances.value = selectorStore.pods.filter((d: unknown, index: number) => {
(d: unknown, index: number) => if (index >= (pageIndex - 1) * pageSize && index < pageIndex * pageSize) {
index >= (pageIndex - 1) * pageSize && index < pageIndex * pageSize return d;
); }
});
queryInstanceMetrics(instances.value); queryInstanceMetrics(instances.value);
} }

View File

@ -144,8 +144,21 @@ async function queryServices() {
if (resp.errors) { if (resp.errors) {
ElMessage.error(resp.errors); ElMessage.error(resp.errors);
} }
setServices(selectorStore.services); sortServices.value = selectorStore.services.sort((a: any, b: any) => {
queryServiceMetrics(services.value); const nameA = a.group.toUpperCase();
const nameB = b.group.toUpperCase();
if (nameA < nameB) {
return -1;
}
if (nameA > nameB) {
return 1;
}
return 0;
});
const s = sortServices.value.filter(
(d: Service, index: number) => index < pageSize
);
setServices(s);
} }
function setServices(arr: (Service & { merge: boolean })[]) { function setServices(arr: (Service & { merge: boolean })[]) {
@ -164,23 +177,19 @@ function setServices(arr: (Service & { merge: boolean })[]) {
}, },
{} {}
); );
sortServices.value = Object.values(map).flat(1); const list = Object.values(map).flat(1);
const obj = {} as any; const obj = {} as any;
for (const s of sortServices.value) { for (const s of list) {
s.group = s.group || ""; s.group = s.group || "";
if (!obj[s.group]) { if (!obj[s.group]) {
obj[s.group] = 1; obj[s.group] = 1;
} else { } else {
if (obj[s.group] % 5 === 0) {
s.merge = false;
}
obj[s.group]++; obj[s.group]++;
} }
groups.value[s.group] = obj[s.group]; groups.value[s.group] = obj[s.group];
} }
services.value = sortServices.value.filter( services.value = list;
(d: Service, index: number) => index < pageSize queryServiceMetrics(services.value);
);
} }
function clickService(scope: any) { function clickService(scope: any) {
@ -240,16 +249,22 @@ function objectSpanMethod(param: any): any {
return { rowspan: groups.value[param.row.group], colspan: 1 }; return { rowspan: groups.value[param.row.group], colspan: 1 };
} }
function changePage(pageIndex: number) { function changePage(pageIndex: number) {
services.value = sortServices.value.filter((d: Service, index: number) => { const arr = sortServices.value.filter((d: Service, index: number) => {
index >= (pageIndex - 1 || 0) * pageSize && if (index >= (pageIndex - 1) * pageSize && index < pageSize * pageIndex) {
index < pageSize * (pageIndex || 1); return d;
}
}); });
setServices(arr);
} }
function searchList() { function searchList() {
const searchServices = sortServices.value.filter((d: { label: string }) => const searchServices = sortServices.value.filter((d: { label: string }) =>
d.label.includes(searchText.value) d.label.includes(searchText.value)
); );
services.value = searchServices.splice(0, pageSize); const services = searchServices.filter(
(d: unknown, index: number) => index < pageSize
);
setServices(services);
} }
function getUnit(index: number) { function getUnit(index: number) {
const u = const u =