diff --git a/src/components/Navbar.vue b/src/components/Navbar.vue
index f42807b..0b42a33 100644
--- a/src/components/Navbar.vue
+++ b/src/components/Navbar.vue
@@ -184,6 +184,13 @@ export default {
break;
}
break;
+ case 'COMPARE':
+ switch(name) {
+ case 'CompareDashboard':
+ this.isActive = 'DASHBOARD'
+ break;
+ }
+ break;
}
// if(this.navViewName === 'DISCOVER') {
// if(name === 'Map' || name === 'CheckMap') this.isActive = 'MAP';
diff --git a/src/router/index.js b/src/router/index.js
index f33d4ea..b1aa365 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -88,9 +88,15 @@ const routes = [
]
},
{
- path: "/compare/dashboard",
- name: "CompareDashboard",
- component: CompareDashboard,
+ path: "/compare",
+ name: "Compare",
+ children: [
+ {
+ path: "/compare/dashboard/:primaryType/:primaryId/:secondaryType/:secondaryId",
+ name: "CompareDashboard",
+ component: CompareDashboard,
+ }
+ ]
}
]
},
@@ -99,11 +105,6 @@ const routes = [
name: "NotFound404",
component: NotFound404,
},
- // {
- // path: "/compare/dashboard",
- // name: "CompareDashboard",
- // component: CompareDashboard,
- // }
];
const base_url = import.meta.env.BASE_URL;
diff --git a/src/stores/compare.js b/src/stores/compare.js
new file mode 100644
index 0000000..b3fbfb1
--- /dev/null
+++ b/src/stores/compare.js
@@ -0,0 +1,31 @@
+import { defineStore } from "pinia";
+import apiError from '@/module/apiError.js';
+
+export default defineStore('compareStore', {
+ state: () => ({
+ allCompareDashboardData: null,
+ }),
+ getters: {
+ compareDashboardData: state => {
+ return state.allCompareDashboardData;
+ },
+ },
+ actions: {
+ /**
+ * Get Performance
+ * @param { array } queryParams
+ */
+ async getCompare(queryParams) {
+ // encodeURIComponent 函數用於將字串中的特殊字符進行編碼,以確保 URL 的正確性。
+ const queryString = JSON.stringify(queryParams);
+ const api = `/api/compare?datasets=${encodeURIComponent(queryString)}`;
+
+ try {
+ const response = await this.$axios.get(api);
+ this.allCompareDashboardData = response.data;
+ } catch(error) {
+ apiError(error, 'Failed to load the Compare.');
+ }
+ }
+ },
+})
diff --git a/src/stores/performance.js b/src/stores/performance.js
index ab4adfa..a3913f9 100644
--- a/src/stores/performance.js
+++ b/src/stores/performance.js
@@ -1,7 +1,4 @@
import { defineStore } from "pinia";
-// import moment from "moment";
-// import { Decimal } from 'decimal.js';
-// import abbreviateNumber from '@/module/abbreviateNumber.js';
import apiError from '@/module/apiError.js';
export default defineStore('performanceStore', {
diff --git a/src/views/Compare/Dashboard/index.vue b/src/views/Compare/Dashboard/index.vue
index a9b2c0c..fb5df17 100644
--- a/src/views/Compare/Dashboard/index.vue
+++ b/src/views/Compare/Dashboard/index.vue
@@ -100,20 +100,20 @@