From 16816286e93059af71edb481e1628d50e025923e Mon Sep 17 00:00:00 2001 From: Mikhail-iontsev Date: Tue, 19 Aug 2025 00:53:56 +0700 Subject: [PATCH] feat: network cost report --- .../networkCostReport/NetworkCostReport.vue | 121 ++++++++++++++++++ .../exploreReports/config/dataLoadConfig.ts | 5 + .../processes/exploreReports/config/routes.ts | 6 + .../model/store/preprocessing/index.ts | 2 + frontend/src/shared/api/axios/files.ts | 1 + frontend/src/shared/config/files.ts | 1 + .../error/model/config/errorMessages.ts | 2 + .../src/widgets/explorer/config/reports.ts | 6 + 8 files changed, 144 insertions(+) create mode 100644 frontend/src/pages/reports/network/networkCostReport/NetworkCostReport.vue diff --git a/frontend/src/pages/reports/network/networkCostReport/NetworkCostReport.vue b/frontend/src/pages/reports/network/networkCostReport/NetworkCostReport.vue new file mode 100644 index 00000000..561647c1 --- /dev/null +++ b/frontend/src/pages/reports/network/networkCostReport/NetworkCostReport.vue @@ -0,0 +1,121 @@ + + + + + diff --git a/frontend/src/processes/exploreReports/config/dataLoadConfig.ts b/frontend/src/processes/exploreReports/config/dataLoadConfig.ts index baedb039..adeb3ea1 100644 --- a/frontend/src/processes/exploreReports/config/dataLoadConfig.ts +++ b/frontend/src/processes/exploreReports/config/dataLoadConfig.ts @@ -22,6 +22,7 @@ import { DOMAIN_VISIT_STRATIFICATION, LOCATION, METADATA, + NETWORK_COST_INDEX, NETWORK_PERFORMANCE, NETWORK_QUALITY_SUMMARY, NETWORK_UNMAPPED_SOURCE_CODES, @@ -78,6 +79,10 @@ export default function getFilesByView(params = null) { loadMethod: FETCH_FILES, payload: { files: [{ name: NETWORK_PERFORMANCE, required: true }] }, }, + networkCostReport: { + loadMethod: FETCH_FILES, + payload: { files: [{ name: NETWORK_COST_INDEX, required: true }] }, + }, costTable: { loadMethod: FETCH_FILES, payload: { diff --git a/frontend/src/processes/exploreReports/config/routes.ts b/frontend/src/processes/exploreReports/config/routes.ts index c32a0c74..f5ea8120 100644 --- a/frontend/src/processes/exploreReports/config/routes.ts +++ b/frontend/src/processes/exploreReports/config/routes.ts @@ -30,6 +30,7 @@ import WebApiInfo from "@/pages/info/WebApiInfo.vue"; import { RouteRecordRaw } from "vue-router"; import NetworkComparisonTool from "@/pages/reports/network/NetworkComparisonTool/NetworkComparisonTool.vue"; +import NetworkCostReport from "@/pages/reports/network/networkCostReport/NetworkCostReport.vue"; export const routes: RouteRecordRaw[] = [ { @@ -53,6 +54,11 @@ export const routes: RouteRecordRaw[] = [ name: "networkDataQuality", components: { reportsView: NetworkDataQualitySummary }, }, + { + path: "network_cost_report", + name: "networkCostReport", + components: { reportsView: NetworkCostReport }, + }, { path: "network_annotations_report", name: "networkAnnotationsReport", diff --git a/frontend/src/processes/exploreReports/model/store/preprocessing/index.ts b/frontend/src/processes/exploreReports/model/store/preprocessing/index.ts index bd67f74e..de5eacc2 100644 --- a/frontend/src/processes/exploreReports/model/store/preprocessing/index.ts +++ b/frontend/src/processes/exploreReports/model/store/preprocessing/index.ts @@ -26,6 +26,7 @@ import { COST_DRILLDOWN, COST_TIMESERIES, COST_DOMAIN_SUMMARY, + NETWORK_COST_INDEX, } from "@/shared/config/files"; import csvParse from "@/processes/exploreReports/model/store/preprocessing/csvParse"; @@ -57,4 +58,5 @@ export default { [COST_DRILLDOWN]: csvParse, [COST_TIMESERIES]: csvParse, [COST_DOMAIN_SUMMARY]: csvParse, + [NETWORK_COST_INDEX]: csvParse, }; diff --git a/frontend/src/shared/api/axios/files.ts b/frontend/src/shared/api/axios/files.ts index 903a4339..443a663c 100644 --- a/frontend/src/shared/api/axios/files.ts +++ b/frontend/src/shared/api/axios/files.ts @@ -49,5 +49,6 @@ export default function getFilePath(params: Params) { [files.COST_DRILLDOWN]: `data/${params.cdm}/${params.release}/cost-drilldown.csv`, [files.COST_DOMAIN_SUMMARY]: `data/${params.cdm}/${params.release}/cost-domain-summary.csv`, [files.COST_CONCEPT]: `data/${params.cdm}/${params.release}/concepts/cost/concept_${params.concept}.json`, + [files.NETWORK_COST_INDEX]: `data/network-cost-index.csv`, }; } diff --git a/frontend/src/shared/config/files.ts b/frontend/src/shared/config/files.ts index 1f5b0e84..83917d28 100644 --- a/frontend/src/shared/config/files.ts +++ b/frontend/src/shared/config/files.ts @@ -45,3 +45,4 @@ export const COHORT_TEMPORAL_COVARIATE_DISTRIBUTION = "cohortTemporalCovariateDistribution"; export const LOCATION = "location"; +export const NETWORK_COST_INDEX = "networkCostIndex"; diff --git a/frontend/src/widgets/error/model/config/errorMessages.ts b/frontend/src/widgets/error/model/config/errorMessages.ts index 693e8143..b70c290b 100644 --- a/frontend/src/widgets/error/model/config/errorMessages.ts +++ b/frontend/src/widgets/error/model/config/errorMessages.ts @@ -6,6 +6,8 @@ export default { networkPerformance: "Network performance file is not found. Please make sure it exists within the data directory then try again", networkDiversityReport: "Requested files not found", + networkCostReport: + "Network Cost Index is not available. Please run AresIndexer and try again", networkUnmappedSourceCodes: "Requested files not found", networkConcept: "Requested files not found", networkDataQuality: "Requested files not found", diff --git a/frontend/src/widgets/explorer/config/reports.ts b/frontend/src/widgets/explorer/config/reports.ts index bd64ed76..0611647c 100644 --- a/frontend/src/widgets/explorer/config/reports.ts +++ b/frontend/src/widgets/explorer/config/reports.ts @@ -254,6 +254,12 @@ export const reports = [ name: "Quality Assessment", routeName: "networkDataQuality", }, + { + folder: "Data Network", + icon: mdiCurrencyUsd, + name: "Network Cost Report", + routeName: "networkCostReport", + }, { folder: "Data Network", icon: mdiChartLine,