Add try-catch to async IIFEs to prevent unhandled rejections
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1241,53 +1241,56 @@ function getAvgProcessTimeHorizontalBarChart(chartData, content, isSingle, xUnit
|
|||||||
// Created logic
|
// Created logic
|
||||||
(async () => {
|
(async () => {
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
|
try {
|
||||||
|
const routeParams = route.params;
|
||||||
|
const primaryType = routeParams.primaryType;
|
||||||
|
const secondaryType = routeParams.secondaryType;
|
||||||
|
const primaryId = routeParams.primaryId;
|
||||||
|
const secondaryId = routeParams.secondaryId;
|
||||||
|
const typeMap = {
|
||||||
|
'log': 'log_id',
|
||||||
|
'filter': 'filter_id'
|
||||||
|
};
|
||||||
|
const primaryTypeParam = typeMap[primaryType];
|
||||||
|
const secondaryTypeParam = typeMap[secondaryType];
|
||||||
|
const queryParams = [
|
||||||
|
{ [primaryTypeParam]: primaryId },
|
||||||
|
{ [secondaryTypeParam]: secondaryId }
|
||||||
|
];
|
||||||
|
|
||||||
const routeParams = route.params;
|
// 取得 Compare Data
|
||||||
const primaryType = routeParams.primaryType;
|
await compareStore.getCompare(queryParams);
|
||||||
const secondaryType = routeParams.secondaryType;
|
avgProcessTimeByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_process_time_by_task);
|
||||||
const primaryId = routeParams.primaryId;
|
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
||||||
const secondaryId = routeParams.secondaryId;
|
avgWaitingTimeByEdgeHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_waiting_time_by_edge);
|
||||||
const typeMap = {
|
};
|
||||||
'log': 'log_id',
|
casesByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.freq.cases_by_task);
|
||||||
'filter': 'filter_id'
|
// create chart
|
||||||
};
|
[avgCycleTimeData.value, avgCycleTimeOptions.value] = getLineChart(
|
||||||
const primaryTypeParam = typeMap[primaryType];
|
compareDashboardData.value.time.avg_cycle_time, contentData.avgCycleTime, 'date');
|
||||||
const secondaryTypeParam = typeMap[secondaryType];
|
[avgCycleEfficiencyData.value, avgCycleEfficiencyOptions.value] = getBarChart(
|
||||||
const queryParams = [
|
compareDashboardData.value.time.avg_cycle_efficiency, contentData.avgCycleEfficiency, "Cycle Eff");
|
||||||
{ [primaryTypeParam]: primaryId },
|
[avgProcessTimeData.value, avgProcessTimeOptions.value] = getLineChart(
|
||||||
{ [secondaryTypeParam]: secondaryId }
|
compareDashboardData.value.time.avg_process_time, contentData.avgProcessTime, 'date');
|
||||||
];
|
[avgProcessTimeByTaskData.value, avgProcessTimeByTaskOptions.value] = getAvgProcessTimeHorizontalBarChart(
|
||||||
|
compareDashboardData.value.time.avg_process_time_by_task,
|
||||||
// 取得 Compare Data
|
contentData.avgProcessTimeByTask, true, 'date');
|
||||||
await compareStore.getCompare(queryParams);
|
[avgWaitingTimeData.value, avgWaitingTimeOptions.value] = getLineChart(
|
||||||
avgProcessTimeByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_process_time_by_task);
|
compareDashboardData.value.time.avg_waiting_time, contentData.avgWaitingTime, 'date');
|
||||||
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
||||||
avgWaitingTimeByEdgeHeight.value = getHorizontalBarHeight(compareDashboardData.value.time.avg_waiting_time_by_edge);
|
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = getHorizontalBarChart(
|
||||||
};
|
compareDashboardData.value.time.avg_waiting_time_by_edge,
|
||||||
casesByTaskHeight.value = getHorizontalBarHeight(compareDashboardData.value.freq.cases_by_task);
|
contentData.avgWaitingTimeByEdge, false, 'date');
|
||||||
// create chart
|
} else {
|
||||||
[avgCycleTimeData.value, avgCycleTimeOptions.value] = getLineChart(
|
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = [null, null]
|
||||||
compareDashboardData.value.time.avg_cycle_time, contentData.avgCycleTime, 'date');
|
}
|
||||||
[avgCycleEfficiencyData.value, avgCycleEfficiencyOptions.value] = getBarChart(
|
[freqData.value, freqOptions.value] = getLineChart(
|
||||||
compareDashboardData.value.time.avg_cycle_efficiency, contentData.avgCycleEfficiency, "Cycle Eff");
|
compareDashboardData.value.freq.cases, contentData.freq, 'count');
|
||||||
[avgProcessTimeData.value, avgProcessTimeOptions.value] = getLineChart(
|
[casesByTaskData.value, casesByTaskOptions.value] = getCaseByTaskHorizontalBarChart(
|
||||||
compareDashboardData.value.time.avg_process_time, contentData.avgProcessTime, 'date');
|
compareDashboardData.value.freq.cases_by_task, contentData.casesByTask, true, 'count');
|
||||||
[avgProcessTimeByTaskData.value, avgProcessTimeByTaskOptions.value] = getAvgProcessTimeHorizontalBarChart(
|
} catch (error) {
|
||||||
compareDashboardData.value.time.avg_process_time_by_task,
|
console.error('Failed to initialize compare dashboard:', error);
|
||||||
contentData.avgProcessTimeByTask, true, 'date');
|
|
||||||
[avgWaitingTimeData.value, avgWaitingTimeOptions.value] = getLineChart(
|
|
||||||
compareDashboardData.value.time.avg_waiting_time, contentData.avgWaitingTime, 'date');
|
|
||||||
if(compareDashboardData.value.time.avg_waiting_time_by_edge !== null) {
|
|
||||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = getHorizontalBarChart(
|
|
||||||
compareDashboardData.value.time.avg_waiting_time_by_edge,
|
|
||||||
contentData.avgWaitingTimeByEdge, false, 'date');
|
|
||||||
} else {
|
|
||||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = [null, null]
|
|
||||||
}
|
}
|
||||||
[freqData.value, freqOptions.value] = getLineChart(
|
|
||||||
compareDashboardData.value.freq.cases, contentData.freq, 'count');
|
|
||||||
[casesByTaskData.value, casesByTaskOptions.value] = getCaseByTaskHorizontalBarChart(
|
|
||||||
compareDashboardData.value.freq.cases_by_task, contentData.casesByTask, true, 'count');
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Mounted
|
// Mounted
|
||||||
|
|||||||
@@ -487,54 +487,59 @@ function setActivityBgImage(mapData) {
|
|||||||
|
|
||||||
// Created logic
|
// Created logic
|
||||||
(async () => {
|
(async () => {
|
||||||
const routeParams = route.params;
|
try {
|
||||||
const file = route.meta.file;
|
const routeParams = route.params;
|
||||||
const isCheckPage = route.name.includes('Check');
|
const file = route.meta.file;
|
||||||
|
const isCheckPage = route.name.includes('Check');
|
||||||
|
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
switch (routeParams.type) {
|
switch (routeParams.type) {
|
||||||
case 'log':
|
case 'log':
|
||||||
if (!isCheckPage) {
|
if (!isCheckPage) {
|
||||||
logId.value = routeParams.fileId;
|
logId.value = routeParams.fileId;
|
||||||
baseLogId.value = routeParams.fileId;
|
baseLogId.value = routeParams.fileId;
|
||||||
} else {
|
} else {
|
||||||
logId.value = file.parent.id;
|
logId.value = file.parent.id;
|
||||||
baseLogId.value = file.parent.id;
|
baseLogId.value = file.parent.id;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'filter':
|
case 'filter':
|
||||||
if (!isCheckPage) {
|
if (!isCheckPage) {
|
||||||
createFilterId.value = routeParams.fileId;
|
createFilterId.value = routeParams.fileId;
|
||||||
} else {
|
} else {
|
||||||
createFilterId.value = file.parent.id;
|
createFilterId.value = file.parent.id;
|
||||||
}
|
}
|
||||||
await allMapDataStore.fetchFunnel(createFilterId.value);
|
await allMapDataStore.fetchFunnel(createFilterId.value);
|
||||||
isRuleData.value = Array.from(temporaryData.value);
|
isRuleData.value = Array.from(temporaryData.value);
|
||||||
ruleData.value = isRuleData.value.map(e => sidebarFilterRefComp.value.setRule(e));
|
ruleData.value = isRuleData.value.map(e => sidebarFilterRefComp.value.setRule(e));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
await allMapDataStore.getAllMapData();
|
||||||
|
await allMapDataStore.getAllTrace();
|
||||||
|
|
||||||
|
traceId.value = traces.value[0]?.id;
|
||||||
|
baseTraceId.value = baseTraces.value[0]?.id;
|
||||||
|
await createCy(mapType.value);
|
||||||
|
await allMapDataStore.getFilterParams();
|
||||||
|
await allMapDataStore.getTraceDetail();
|
||||||
|
|
||||||
|
emitter.on('saveModal', boolean => {
|
||||||
|
sidebarView.value = boolean;
|
||||||
|
sidebarFilter.value = boolean;
|
||||||
|
sidebarTraces.value = boolean;
|
||||||
|
sidebarState.value = boolean;
|
||||||
|
});
|
||||||
|
emitter.on('leaveFilter', boolean => {
|
||||||
|
sidebarView.value = boolean;
|
||||||
|
sidebarFilter.value = boolean;
|
||||||
|
sidebarTraces.value = boolean;
|
||||||
|
sidebarState.value = boolean;
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to initialize map compare:', error);
|
||||||
|
} finally {
|
||||||
|
isLoading.value = false;
|
||||||
}
|
}
|
||||||
await allMapDataStore.getAllMapData();
|
|
||||||
await allMapDataStore.getAllTrace();
|
|
||||||
|
|
||||||
traceId.value = traces.value[0]?.id;
|
|
||||||
baseTraceId.value = baseTraces.value[0]?.id;
|
|
||||||
await createCy(mapType.value);
|
|
||||||
await allMapDataStore.getFilterParams();
|
|
||||||
await allMapDataStore.getTraceDetail();
|
|
||||||
|
|
||||||
isLoading.value = false;
|
|
||||||
emitter.on('saveModal', boolean => {
|
|
||||||
sidebarView.value = boolean;
|
|
||||||
sidebarFilter.value = boolean;
|
|
||||||
sidebarTraces.value = boolean;
|
|
||||||
sidebarState.value = boolean;
|
|
||||||
});
|
|
||||||
emitter.on('leaveFilter', boolean => {
|
|
||||||
sidebarView.value = boolean;
|
|
||||||
sidebarFilter.value = boolean;
|
|
||||||
sidebarTraces.value = boolean;
|
|
||||||
sidebarState.value = boolean;
|
|
||||||
});
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
|||||||
@@ -66,35 +66,39 @@ const { conformanceLogId, conformanceFilterId, conformanceLogCreateCheckId, conf
|
|||||||
// Created logic
|
// Created logic
|
||||||
(async () => {
|
(async () => {
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
|
try {
|
||||||
|
const params = route.params;
|
||||||
|
const file = route.meta.file;
|
||||||
|
const isCheckPage = route.name.includes('Check');
|
||||||
|
|
||||||
const params = route.params;
|
if(!isCheckPage) {
|
||||||
const file = route.meta.file;
|
switch (params.type) {
|
||||||
const isCheckPage = route.name.includes('Check');
|
case 'log':
|
||||||
|
conformanceLogId.value = params.fileId;
|
||||||
if(!isCheckPage) {
|
break;
|
||||||
switch (params.type) {
|
case 'filter':
|
||||||
case 'log':
|
conformanceFilterId.value = params.fileId;
|
||||||
conformanceLogId.value = params.fileId;
|
break;
|
||||||
break;
|
}
|
||||||
case 'filter':
|
} else {
|
||||||
conformanceFilterId.value = params.fileId;
|
switch (params.type) {
|
||||||
break;
|
case 'log':
|
||||||
|
conformanceLogId.value = file.parent.id;
|
||||||
|
conformanceFileName.value = file.name;
|
||||||
|
break;
|
||||||
|
case 'filter':
|
||||||
|
conformanceFilterId.value = file.parent.id;
|
||||||
|
conformanceFileName.value = file.name;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
await conformanceStore.getConformanceReport();
|
||||||
}
|
}
|
||||||
} else {
|
await conformanceStore.getConformanceParams();
|
||||||
switch (params.type) {
|
} catch (error) {
|
||||||
case 'log':
|
console.error('Failed to initialize conformance:', error);
|
||||||
conformanceLogId.value = file.parent.id;
|
} finally {
|
||||||
conformanceFileName.value = file.name;
|
setTimeout(() => isLoading.value = false, 500);
|
||||||
break;
|
|
||||||
case 'filter':
|
|
||||||
conformanceFilterId.value = file.parent.id;
|
|
||||||
conformanceFileName.value = file.name;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
await conformanceStore.getConformanceReport();
|
|
||||||
}
|
}
|
||||||
await conformanceStore.getConformanceParams();
|
|
||||||
setTimeout(() => isLoading.value = false, 500);
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
// Mounted
|
// Mounted
|
||||||
|
|||||||
@@ -470,54 +470,59 @@ function setActivityBgImage(mapData) {
|
|||||||
|
|
||||||
// Created logic
|
// Created logic
|
||||||
(async () => {
|
(async () => {
|
||||||
const routeParams = route.params;
|
try {
|
||||||
const file = route.meta.file;
|
const routeParams = route.params;
|
||||||
const isCheckPage = route.name.includes('Check');
|
const file = route.meta.file;
|
||||||
|
const isCheckPage = route.name.includes('Check');
|
||||||
|
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
switch (routeParams.type) {
|
switch (routeParams.type) {
|
||||||
case 'log':
|
case 'log':
|
||||||
if(!isCheckPage) {
|
if(!isCheckPage) {
|
||||||
logId.value = routeParams.fileId;
|
logId.value = routeParams.fileId;
|
||||||
baseLogId.value = routeParams.fileId;
|
baseLogId.value = routeParams.fileId;
|
||||||
} else {
|
} else {
|
||||||
logId.value = file.parent.id;
|
logId.value = file.parent.id;
|
||||||
baseLogId.value = file.parent.id;
|
baseLogId.value = file.parent.id;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'filter':
|
case 'filter':
|
||||||
if(!isCheckPage) {
|
if(!isCheckPage) {
|
||||||
createFilterId.value = routeParams.fileId;
|
createFilterId.value = routeParams.fileId;
|
||||||
} else {
|
} else {
|
||||||
createFilterId.value = file.parent.id;
|
createFilterId.value = file.parent.id;
|
||||||
}
|
}
|
||||||
await allMapDataStore.fetchFunnel(createFilterId.value);
|
await allMapDataStore.fetchFunnel(createFilterId.value);
|
||||||
isRuleData.value = Array.from(temporaryData.value);
|
isRuleData.value = Array.from(temporaryData.value);
|
||||||
ruleData.value = isRuleData.value.map(e => sidebarFilterRefComp.value.setRule(e));
|
ruleData.value = isRuleData.value.map(e => sidebarFilterRefComp.value.setRule(e));
|
||||||
break;
|
break;
|
||||||
|
}
|
||||||
|
await allMapDataStore.getAllMapData();
|
||||||
|
await allMapDataStore.getAllTrace();
|
||||||
|
|
||||||
|
traceId.value = traces.value[0]?.id;
|
||||||
|
baseTraceId.value = baseTraces.value[0]?.id;
|
||||||
|
await createCy(mapType.value);
|
||||||
|
await allMapDataStore.getFilterParams();
|
||||||
|
await allMapDataStore.getTraceDetail();
|
||||||
|
|
||||||
|
emitter.on('saveModal', boolean => {
|
||||||
|
sidebarView.value = boolean;
|
||||||
|
sidebarFilter.value = boolean;
|
||||||
|
sidebarTraces.value = boolean;
|
||||||
|
sidebarState.value = boolean;
|
||||||
|
});
|
||||||
|
emitter.on('leaveFilter', boolean => {
|
||||||
|
sidebarView.value = boolean;
|
||||||
|
sidebarFilter.value = boolean;
|
||||||
|
sidebarTraces.value = boolean;
|
||||||
|
sidebarState.value = boolean;
|
||||||
|
});
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to initialize map:', error);
|
||||||
|
} finally {
|
||||||
|
isLoading.value = false;
|
||||||
}
|
}
|
||||||
await allMapDataStore.getAllMapData();
|
|
||||||
await allMapDataStore.getAllTrace();
|
|
||||||
|
|
||||||
traceId.value = traces.value[0]?.id;
|
|
||||||
baseTraceId.value = baseTraces.value[0]?.id;
|
|
||||||
await createCy(mapType.value);
|
|
||||||
await allMapDataStore.getFilterParams();
|
|
||||||
await allMapDataStore.getTraceDetail();
|
|
||||||
|
|
||||||
isLoading.value = false;
|
|
||||||
emitter.on('saveModal', boolean => {
|
|
||||||
sidebarView.value = boolean;
|
|
||||||
sidebarFilter.value = boolean;
|
|
||||||
sidebarTraces.value = boolean;
|
|
||||||
sidebarState.value = boolean;
|
|
||||||
});
|
|
||||||
emitter.on('leaveFilter', boolean => {
|
|
||||||
sidebarView.value = boolean;
|
|
||||||
sidebarFilter.value = boolean;
|
|
||||||
sidebarTraces.value = boolean;
|
|
||||||
sidebarState.value = boolean;
|
|
||||||
});
|
|
||||||
})();
|
})();
|
||||||
|
|
||||||
onBeforeUnmount(() => {
|
onBeforeUnmount(() => {
|
||||||
|
|||||||
@@ -905,51 +905,54 @@ function getAvgWaitingTimeLineChart(chartData, content, yUnit) {
|
|||||||
// Created logic
|
// Created logic
|
||||||
(async () => {
|
(async () => {
|
||||||
isLoading.value = true;
|
isLoading.value = true;
|
||||||
const routeParams = route.params;
|
try {
|
||||||
const isCheckPage = route.name.includes('Check');
|
const routeParams = route.params;
|
||||||
const type = routeParams.type;
|
const isCheckPage = route.name.includes('Check');
|
||||||
const file = route.meta.file;
|
const type = routeParams.type;
|
||||||
let id;
|
const file = route.meta.file;
|
||||||
|
let id;
|
||||||
|
|
||||||
if(!isCheckPage) {
|
if(!isCheckPage) {
|
||||||
id = routeParams.fileId;
|
id = routeParams.fileId;
|
||||||
} else {
|
} else {
|
||||||
id = file.parent.id;
|
id = file.parent.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
// 取得 Performance Data
|
// 取得 Performance Data
|
||||||
await performanceStore.getPerformance(type, id);
|
await performanceStore.getPerformance(type, id);
|
||||||
if(!performanceData.value?.time) {
|
if(!performanceData.value?.time) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
avgProcessTimeByTaskHeight.value = getHorizontalBarHeight(performanceData.value.time.avg_process_time_by_task);
|
||||||
|
if(performanceData.value.time.avg_waiting_time_by_edge !== null) {
|
||||||
|
avgWaitingTimeByEdgeHeight.value = getHorizontalBarHeight(performanceData.value.time.avg_waiting_time_by_edge);
|
||||||
|
}
|
||||||
|
casesByTaskHeight.value = getHorizontalBarHeight(performanceData.value.freq.cases_by_task);
|
||||||
|
// create chart
|
||||||
|
[avgCycleTimeData.value, avgCycleTimeOptions.value] = getExplicitDeclaredLineChart(performanceData.value.time.avg_cycle_time,
|
||||||
|
contentData.avgCycleTime, 'date');
|
||||||
|
[avgCycleEfficiencyData.value, avgCycleEfficiencyOptions.value] = getBarChart(
|
||||||
|
performanceData.value.time.avg_cycle_efficiency, contentData.avgCycleEfficiency);
|
||||||
|
[avgProcessTimeData.value, avgProcessTimeOptions.value] = getExplicitDeclaredLineChart(performanceData.value.time.avg_process_time,
|
||||||
|
contentData.avgProcessTime, 'date');
|
||||||
|
[avgProcessTimeByTaskData.value, avgProcessTimeByTaskOptions.value] = getHorizontalBarChart(
|
||||||
|
performanceData.value.time.avg_process_time_by_task, contentData.avgProcessTimeByTask, true, 'date');
|
||||||
|
[avgWaitingTimeData.value, avgWaitingTimeOptions.value] = getExplicitDeclaredLineChart(
|
||||||
|
performanceData.value.time.avg_waiting_time, contentData.avgWaitingTime, 'date');
|
||||||
|
if(performanceData.value.time.avg_waiting_time_by_edge !== null) {
|
||||||
|
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = getHorizontalBarChart(
|
||||||
|
performanceData.value.time.avg_waiting_time_by_edge, contentData.avgWaitingTimeByEdge, false, 'date');
|
||||||
|
} else {
|
||||||
|
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = [null, null]
|
||||||
|
}
|
||||||
|
|
||||||
|
[casesByTaskData.value, casesByTaskOptions.value] = getHorizontalBarChart(performanceData.value.freq.cases_by_task,
|
||||||
|
contentData.casesByTask, true, 'count');
|
||||||
|
} catch (error) {
|
||||||
|
console.error('Failed to initialize performance:', error);
|
||||||
|
} finally {
|
||||||
isLoading.value = false;
|
isLoading.value = false;
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
avgProcessTimeByTaskHeight.value = getHorizontalBarHeight(performanceData.value.time.avg_process_time_by_task);
|
|
||||||
if(performanceData.value.time.avg_waiting_time_by_edge !== null) {
|
|
||||||
avgWaitingTimeByEdgeHeight.value = getHorizontalBarHeight(performanceData.value.time.avg_waiting_time_by_edge);
|
|
||||||
}
|
|
||||||
casesByTaskHeight.value = getHorizontalBarHeight(performanceData.value.freq.cases_by_task);
|
|
||||||
// create chart
|
|
||||||
[avgCycleTimeData.value, avgCycleTimeOptions.value] = getExplicitDeclaredLineChart(performanceData.value.time.avg_cycle_time,
|
|
||||||
contentData.avgCycleTime, 'date');
|
|
||||||
[avgCycleEfficiencyData.value, avgCycleEfficiencyOptions.value] = getBarChart(
|
|
||||||
performanceData.value.time.avg_cycle_efficiency, contentData.avgCycleEfficiency);
|
|
||||||
[avgProcessTimeData.value, avgProcessTimeOptions.value] = getExplicitDeclaredLineChart(performanceData.value.time.avg_process_time,
|
|
||||||
contentData.avgProcessTime, 'date');
|
|
||||||
[avgProcessTimeByTaskData.value, avgProcessTimeByTaskOptions.value] = getHorizontalBarChart(
|
|
||||||
performanceData.value.time.avg_process_time_by_task, contentData.avgProcessTimeByTask, true, 'date');
|
|
||||||
[avgWaitingTimeData.value, avgWaitingTimeOptions.value] = getExplicitDeclaredLineChart(
|
|
||||||
performanceData.value.time.avg_waiting_time, contentData.avgWaitingTime, 'date');
|
|
||||||
if(performanceData.value.time.avg_waiting_time_by_edge !== null) {
|
|
||||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = getHorizontalBarChart(
|
|
||||||
performanceData.value.time.avg_waiting_time_by_edge, contentData.avgWaitingTimeByEdge, false, 'date');
|
|
||||||
} else {
|
|
||||||
[avgWaitingTimeByEdgeData.value, avgWaitingTimeByEdgeOptions.value] = [null, null]
|
|
||||||
}
|
|
||||||
|
|
||||||
[casesByTaskData.value, casesByTaskOptions.value] = getHorizontalBarChart(performanceData.value.freq.cases_by_task,
|
|
||||||
contentData.casesByTask, true, 'count');
|
|
||||||
// 停止 loading
|
|
||||||
isLoading.value = false;
|
|
||||||
})();
|
})();
|
||||||
</script>
|
</script>
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
|||||||
Reference in New Issue
Block a user