Browse Source

Enhance navigation

vbea 3 năm trước cách đây
mục cha
commit
4bd07e85ef
54 tập tin đã thay đổi với 585 bổ sung430 xóa
  1. 3 0
      Strides-Admin/src/icons/svg/access-control-active.svg
  2. 3 0
      Strides-Admin/src/icons/svg/access-control.svg
  3. 3 0
      Strides-Admin/src/icons/svg/partnership.svg
  4. 2 8
      Strides-Admin/src/icons/svg/pos-device-active.svg
  5. 0 6
      Strides-Admin/src/icons/svg/pos-device.svg
  6. 1 0
      Strides-Admin/src/icons/svg/system-settings.svg
  7. 2 1
      Strides-Admin/src/layout/components/Sidebar/Item.vue
  8. 18 0
      Strides-Admin/src/router/AccessRouter.js
  9. 7 18
      Strides-Admin/src/router/ActivityRouter.js
  10. 9 9
      Strides-Admin/src/router/ChargeRouter.js
  11. 25 24
      Strides-Admin/src/router/EnergyRouter.js
  12. 6 6
      Strides-Admin/src/router/FinancialRouter.js
  13. 6 6
      Strides-Admin/src/router/IncidentRouter.js
  14. 53 0
      Strides-Admin/src/router/NotificationRouter.js
  15. 112 0
      Strides-Admin/src/router/PartnershipRouter.js
  16. 0 44
      Strides-Admin/src/router/ProviderRouter.js
  17. 18 0
      Strides-Admin/src/router/ReportsRouter.js
  18. 35 0
      Strides-Admin/src/router/SettingsRouter.js
  19. 26 14
      Strides-Admin/src/router/SiteRouter.js
  20. 56 0
      Strides-Admin/src/router/SupportRouter.js
  21. 28 18
      Strides-Admin/src/router/UserRouter.js
  22. 6 6
      Strides-Admin/src/router/addition/PosRouter.js
  23. 5 5
      Strides-Admin/src/router/addition/RfidRouter.js
  24. 7 0
      Strides-Admin/src/router/addition/index.js
  25. 0 35
      Strides-Admin/src/router/driver.js
  26. 0 55
      Strides-Admin/src/router/fleetCompany.js
  27. 20 108
      Strides-Admin/src/router/index.js
  28. 6 0
      Strides-Admin/src/styles/index.scss
  29. 1 1
      Strides-Admin/src/views/charge/AddStation.vue
  30. 2 2
      Strides-Admin/src/views/charge/RegisteredChargeStations.vue
  31. 7 2
      Strides-Admin/src/views/charging/AddProfile.vue
  32. 2 2
      Strides-Admin/src/views/charging/ChargingProfiles.vue
  33. 1 1
      Strides-Admin/src/views/charging/ConfigureStations.vue
  34. 2 2
      Strides-Admin/src/views/charging/EditProfile.vue
  35. 1 1
      Strides-Admin/src/views/charging/components/DialogClearProfiles.vue
  36. 2 2
      Strides-Admin/src/views/charging/components/DialogSetProfiles.vue
  37. 6 2
      Strides-Admin/src/views/driver/DriverDetail.vue
  38. 24 12
      Strides-Admin/src/views/feedback/Detail.vue
  39. 2 2
      Strides-Admin/src/views/feedback/FeedbackManagement.vue
  40. 4 2
      Strides-Admin/src/views/fleetCompany/FleetCompanyDetail.vue
  41. 2 2
      Strides-Admin/src/views/fleetCompany/index.vue
  42. 1 1
      Strides-Admin/src/views/incident/connectivity.vue
  43. 4 2
      Strides-Admin/src/views/limit/Add.vue
  44. 9 3
      Strides-Admin/src/views/limit/CreditLimit.vue
  45. 2 2
      Strides-Admin/src/views/limit/Detail.vue
  46. 5 1
      Strides-Admin/src/views/notification/add.vue
  47. 2 2
      Strides-Admin/src/views/notification/index.vue
  48. 5 1
      Strides-Admin/src/views/posDevice/detail.vue
  49. 6 2
      Strides-Admin/src/views/posDevice/index.vue
  50. 2 2
      Strides-Admin/src/views/provider/ServiceProviderManagement.vue
  51. 1 1
      Strides-Admin/src/views/provider/detail.vue
  52. 5 1
      Strides-Admin/src/views/rfid/detail.vue
  53. 6 2
      Strides-Admin/src/views/rfid/index.vue
  54. 24 14
      Strides-Admin/src/views/transaction/transactions.vue

+ 3 - 0
Strides-Admin/src/icons/svg/access-control-active.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 1.48047L3 5.48047V11.4805C3 17.0305 6.84 22.2205 12 23.4805C17.16 22.2205 21 17.0305 21 11.4805V5.48047L12 1.48047ZM12 5.48047C12.7956 5.48047 13.5587 5.79654 14.1213 6.35915C14.6839 6.92176 15 7.68482 15 8.48047C15 9.27612 14.6839 10.0392 14.1213 10.6018C13.5587 11.1644 12.7956 11.4805 12 11.4805C11.2044 11.4805 10.4413 11.1644 9.87868 10.6018C9.31607 10.0392 9 9.27612 9 8.48047C9 7.68482 9.31607 6.92176 9.87868 6.35915C10.4413 5.79654 11.2044 5.48047 12 5.48047ZM17.13 17.4805C15.92 19.3305 14.11 20.7205 12 21.4005C9.89 20.7205 8.08 19.3305 6.87 17.4805C6.53 16.9805 6.24 16.4805 6 15.9505C6 14.3005 8.71 12.9505 12 12.9505C15.29 12.9505 18 14.2705 18 15.9505C17.76 16.4805 17.47 16.9805 17.13 17.4805Z" fill="white"/>
+</svg>

+ 3 - 0
Strides-Admin/src/icons/svg/access-control.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M12 1.48047L3 5.48047V11.4805C3 17.0305 6.84 22.2205 12 23.4805C17.16 22.2205 21 17.0305 21 11.4805V5.48047L12 1.48047ZM12 5.48047C12.7956 5.48047 13.5587 5.79654 14.1213 6.35915C14.6839 6.92176 15 7.68482 15 8.48047C15 9.27612 14.6839 10.0392 14.1213 10.6018C13.5587 11.1644 12.7956 11.4805 12 11.4805C11.2044 11.4805 10.4413 11.1644 9.87868 10.6018C9.31607 10.0392 9 9.27612 9 8.48047C9 7.68482 9.31607 6.92176 9.87868 6.35915C10.4413 5.79654 11.2044 5.48047 12 5.48047ZM17.13 17.4805C15.92 19.3305 14.11 20.7205 12 21.4005C9.89 20.7205 8.08 19.3305 6.87 17.4805C6.53 16.9805 6.24 16.4805 6 15.9505C6 14.3005 8.71 12.9505 12 12.9505C15.29 12.9505 18 14.2705 18 15.9505C17.76 16.4805 17.47 16.9805 17.13 17.4805Z" fill="black"/>
+</svg>

+ 3 - 0
Strides-Admin/src/icons/svg/partnership.svg

@@ -0,0 +1,3 @@
+<svg width="24" height="25" viewBox="0 0 24 25" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M21.7099 9.19015C22.9599 7.94015 22.3899 6.48015 21.7099 5.77015L18.7099 2.77015C17.4499 1.52015 15.9999 2.09015 15.2899 2.77015L13.5899 4.48015H10.9999C9.09993 4.48015 7.99993 5.48015 7.43993 6.63015L2.99993 11.0702V15.0702L2.28993 15.7702C1.03993 17.0302 1.60993 18.4802 2.28993 19.1902L5.28993 22.1902C5.82993 22.7302 6.40993 22.9302 6.95993 22.9302C7.66993 22.9302 8.31993 22.5802 8.70993 22.1902L11.4099 19.4802H14.9999C16.6999 19.4802 17.5599 18.4202 17.8699 17.3802C18.9999 17.0802 19.6199 16.2202 19.8699 15.3802C21.4199 14.9802 21.9999 13.5102 21.9999 12.4802V9.48015H21.4099L21.7099 9.19015ZM19.9999 12.4802C19.9999 12.9302 19.8099 13.4802 18.9999 13.4802H17.9999V14.4802C17.9999 14.9302 17.8099 15.4802 16.9999 15.4802H15.9999V16.4802C15.9999 16.9302 15.8099 17.4802 14.9999 17.4802H10.5899L7.30993 20.7602C6.99993 21.0502 6.81993 20.8802 6.70993 20.7702L3.71993 17.7902C3.42993 17.4802 3.59993 17.3002 3.70993 17.1902L4.99993 15.8902V11.8902L6.99993 9.89015V11.4802C6.99993 12.6902 7.79993 14.4802 9.99993 14.4802C12.1999 14.4802 12.9999 12.6902 12.9999 11.4802H19.9999V12.4802ZM20.2899 7.77015L18.5899 9.48015H10.9999V11.4802C10.9999 11.9302 10.8099 12.4802 9.99993 12.4802C9.18993 12.4802 8.99993 11.9302 8.99993 11.4802V8.48015C8.99993 8.02015 9.16993 6.48015 10.9999 6.48015H14.4099L16.6899 4.20015C16.9999 3.91015 17.1799 4.08015 17.2899 4.19015L20.2799 7.17015C20.5699 7.48015 20.3999 7.66015 20.2899 7.77015Z" fill="black"/>
+</svg>

+ 2 - 8
Strides-Admin/src/icons/svg/pos-device-active.svg

@@ -1,9 +1,3 @@
-<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
-<rect width="26" height="26" fill="url(#pattern0)"/>
-<defs>
-<pattern id="pattern0" patternContentUnits="objectBoundingBox" width="1" height="1">
-<use xlink:href="#image0_2301_324" transform="scale(0.00195312)"/>
-</pattern>
-<image id="image0_2301_324" width="512" height="512" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAYAAACpSkzOAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAlZJREFUeNqslk1IlEEYx1eptMhaPQRllEggQQftVBczOkSn8qJQh61DEQTm10UhqksnDyUSHQKtQ9c6VVBgiAiFkoXZQWRXXaI8iJogrsr6e+AvjOK++76DAz+ed+admWfmmf98FGSz2ViudHCs/QHmLhxQ0fy2KnHn++nSma7HufoqDHBShLlH43JsDUxAK9wUbfALqqlTir2lNtEckYph1j7oKIVpgFrH0QW4wb8p1V9Umx3TnljIJGctMc9UmCNsFZgvHv2N0PZUlNC9hA4PR7aG3VEcHYFxD0ejcDyqGHY1BTmyDbYvYn/rPqozuQ6xuMmQTr6bOH3lbZvykOQ9hVM7CQ7r31/KVig7qfxCUEdBjmyXfzXJwmk67MTe1qbMwDJlr7FP4Decg7M+a2Trsx8GYQb2wqry36AMSvVvMJ+wgmb0H5rhKLyDzzAM9fp/H6Y1czt0m2DFd43OQ7kU+AGuqMxGPyfB1MrZH/jkEzpb9IvQDmmo08H6HHp0sNbp4LU6lx2hRJqRSXUN+pXv1f3Tq/wbmFR4r2kwCz6ObPM1wjHJ+ycqm9YxY2mSsjRlCQ0g5SsGk/EAfLTLjQ5NxnfcTUlZH+aRnNusqnzWqECkdIVn5CQl4pL3vPIZnxmlNbrrcAJewXv4IQFY6oJ/chRXmCs3b+WwjpoUshmnLLGtTmKHUBc5+2xrePK8guymfasr3F1sU6K9eK7CM3hojxNd99E3rDXEmYUm6TxCbABmks76xIKc7NbFVxKmUphXkJ1zo5rZZrKQ9kkEl+BFvk42BBgAr/eucJ1sGSEAAAAASUVORK5CYII="/>
-</defs>
+<svg width="24" height="27" viewBox="0 0 24 27" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path d="M16 16.8407H8V5.93328H16M16 1.57031H8C6.89 1.57031 6 2.54107 6 3.75179V19.0222C6 19.6007 6.21071 20.1556 6.58579 20.5647C6.96086 20.9738 7.46957 21.2036 8 21.2036H16C16.5304 21.2036 17.0391 20.9738 17.4142 20.5647C17.7893 20.1556 18 19.6007 18 19.0222V3.75179C18 2.54107 17.1 1.57031 16 1.57031ZM8 25.5666H16V23.3851H8V25.5666Z" fill="#ffffff"/>
 </svg>

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 0 - 6
Strides-Admin/src/icons/svg/pos-device.svg


Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 1 - 0
Strides-Admin/src/icons/svg/system-settings.svg


+ 2 - 1
Strides-Admin/src/layout/components/Sidebar/Item.vue

@@ -52,7 +52,8 @@ export default {
 .menu-icon-additional::before {
   width: 10px;
   height: 10px;
-  right: -5px;
+  right: -2px;
+  bottom: 0;
   content: " ";
   border-radius: 10px;
   position: absolute;

+ 18 - 0
Strides-Admin/src/router/AccessRouter.js

@@ -0,0 +1,18 @@
+import Layout from '@/layout'
+
+export default {
+  path: '/access-control',
+  component: Layout,
+  children: [
+    {
+      path: '/access-control',
+      component: () => import('@/views/Reports'),
+      name: 'reports',
+      meta: {
+        title: 'Access Control',
+        icon: 'access-control',
+        activeIcon: 'access-control-active',
+      }
+    }
+  ],
+}

+ 7 - 18
Strides-Admin/src/router/Transactions.js → Strides-Admin/src/router/ActivityRouter.js

@@ -1,17 +1,17 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/transactions-reservations',
-  redirect: '/transactions-reservations/transactions',
+  path: '/station-activities',
+  redirect: '/station-activities/transactions',
   component: Layout,
   meta: {
-    title: 'Transactions/Reservations',
+    title: 'Station Activities',
     icon: 'transactions-reservations',
     affix: false
   },
   children: [
     {
-      path: 'transactions',
+      path: '/station-activities/transactions',
       component: () => import('@/views/transaction/transactions'),
       name: 'transactions',
       meta: {
@@ -22,18 +22,7 @@ export default {
       }
     },
     {
-      path: 'transactions/invoice',
-      component: () => import('@/views/transaction/transactions_invoice'),
-      name: 'transactionsInvoice',
-      meta: {
-        title: 'Transactions',
-        icon: 'sidebar-submenu-item',
-        activeIcon: 'sidebar-submenu-item-active',
-        affix: false,
-      }
-    },
-    {
-      path: 'reservations',
+      path: '/station-activities/reservations',
       component: () => import('@/views/transaction/reservations'),
       name: 'reservations',
       meta: {
@@ -44,14 +33,14 @@ export default {
       }
     },
     {
-      path: 'transactions/:id',
+      path: '/station-activities/transactions/:id',
       component: () => import('@/views/transaction/view_transaction'),
       name: 'view-transaction',
       meta: {
         title: 'View Transaction',
         icon: 'sidebar-submenu-item',
         activeIcon: 'sidebar-submenu-item-active',
-        activeMenu: '/transactions-reservations/transactions'
+        activeMenu: '/station-activities/transactions'
       },
       hidden: true
     }

+ 9 - 9
Strides-Admin/src/router/ChargeRouter.js

@@ -1,9 +1,9 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/charge',
+  path: '/charge-station-management',
   component: Layout,
-  redirect: '/charge/registered-charge-stations',
+  redirect: '/charge-station-management /registered-charge-stations',
   meta: {
     title: 'Charge Station Management',
     icon: 'charge-station-management',
@@ -12,7 +12,7 @@ export default {
   },
   children: [
     {
-      path: 'registered-charge-stations',
+      path: '/charge-station-management/registered-charge-stations',
       component: () => import('@/views/charge/RegisteredChargeStations'),
       name: 'registered-charge-stations',
       meta: {
@@ -23,7 +23,7 @@ export default {
       }
     },
     {
-      path: 'unknown-charge-stations',
+      path: '/charge-station-management/unknown-charge-stations',
       component: () => import('@/views/charge/UnknownChargeStations'),
       name: 'unknown-charge-stations',
       meta: {
@@ -34,7 +34,7 @@ export default {
       }
     },
     {
-      path: 'connectors',
+      path: '/charge-station-management/connectors',
       component: () => import('@/views/charge/Connectors'),
       name: 'connectors',
       meta: {
@@ -45,22 +45,22 @@ export default {
       }
     },
     {
-      path: 'add-station',
+      path: '/charge-station-management/add-station',
       component: () => import('@/views/charge/AddStation'),
       name: 'add-charge-stations',
       meta: {
         title: 'Add Station',
-        activeMenu: '/charge/registered-charge-stations'
+        activeMenu: '/charge-station-management/registered-charge-stations'
       },
       hidden: true
     },
     {
-      path: 'edit-station/:id',
+      path: '/charge-station-management/edit-station/:id',
       component: () => import('@/views/charge/AddStation'),
       name: 'edit-charge-stations',
       meta: {
         title: 'Edit Station',
-        activeMenu: '/charge/registered-charge-stations'
+        activeMenu: '/charge-station-management/registered-charge-stations'
       },
       hidden: true
     }

+ 25 - 24
Strides-Admin/src/router/ChargingProfile.js → Strides-Admin/src/router/EnergyRouter.js

@@ -1,29 +1,29 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/charging-profiles',
-  redirect: '/charging-profiles/index',
+  path: '/smart-energy-management',
+  redirect: '/smart-energy-management/charging-profiles',
   component: Layout,
   meta: {
-    title: 'Charging Profiles',
+    title: 'Smart Energy Management',
     icon: 'charging-profiles',
     //activeIcon: 'charging-profiles-active',
     affix: true,
   },
   children: [
     {
-      path: '/charging-profiles/index',
+      path: '/smart-energy-management/charging-profiles',
       component: () => import('@/views/charging/ChargingProfiles'),
       name: 'charging-profiles',
       meta: {
         title: 'Charging Profiles',
         icon: 'sidebar-submenu-item',
         activeIcon: 'sidebar-submenu-item-active',
-        breadcrumb: false
+        breadcrumb: true
       }
     },
     {
-      path: '/charging-profiles/config-stations',
+      path: '/smart-energy-management/config-stations',
       component: () => import('@/views/charging/ConfigureStations'),
       name: 'config-stations',
       meta: {
@@ -31,49 +31,50 @@ export default {
         icon: 'sidebar-submenu-item',
         activeIcon: 'sidebar-submenu-item-active',
         breadcrumb: true
+      }
+    },
+    {
+      path: '/smart-energy-management/site-load-balancing',
+      component: () => import('@/views/charging/ConfigureStations'),
+      name: 'site-load-balancing',
+      meta: {
+        title: 'Site Load Balancing',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+        breadcrumb: true
       },
-      /*children: [{
-        path: '/charging-profiles/config-stations/view/:id',
-        component: () => import('@/views/charging/EditProfile'),
-        name: 'view-charging-profile',
-        meta: {
-          title: 'View Charging Profile',
-          activeMenu: '/charging-profiles/config-stations',
-          breadcrumb: false
-        },
-        hidden: true
-      }]*/
+      hidden: true
     },
     {
-      path: '/charging-profiles/add',
+      path: '/smart-energy-management/charging-profiles/add',
       component: () => import('@/views/charging/AddProfile'),
       name: 'add-charging-profile',
       meta: {
         title: 'Add Charging Profile',
-        activeMenu: '/charging-profiles/index'
+        activeMenu: '/smart-energy-management/charging-profiles'
       },
       hidden: true
     },
     {
-      path: '/charging-profiles/edit',
+      path: '/smart-energy-management/charging-profiles/edit',
       component: () => import('@/views/charging/EditProfile'),
       name: 'edit-charging-profile',
       meta: {
         title: 'Edit Charging Profile',
-        activeMenu: '/charging-profiles/index'
+        activeMenu: '/smart-energy-management/charging-profiles'
       },
       hidden: true
     },
     {
-      path: '/charging-profiles/view/:id',
+      path: '/smart-energy-management/charging-profiles/view/:id',
       component: () => import('@/views/charging/EditProfile'),
       name: 'view-charging-profile',
       meta: {
         title: 'View Charging Profile',
-        activeMenu: '/charging-profiles/config-stations',
+        activeMenu: '/smart-energy-management/config-stations',
         parent: {
           title: 'Configure Stations',
-          path: "/charging-profiles/config-stations"
+          path: "/smart-energy-management/config-stations"
         }
       },
       hidden: true

+ 6 - 6
Strides-Admin/src/router/FinancialRouter.js

@@ -1,9 +1,9 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/financial',
+  path: '/financial-management',
   component: Layout,
-  redirect: '/financial/transactions',
+  redirect: '/financial-management/charging-transactions',
   meta: {
     title: 'Financial Management',
     affix: false,
@@ -11,9 +11,9 @@ export default {
   },
   children: [
     {
-      path: '/financial/transactions',
+      path: '/financial-management/charging-transactions',
       component: () => import('@/views/financial/index'),
-      name: 'FinancialTransactions',
+      name: 'ChargingTransactions',
       meta: {
         title: 'Charging Transactions',
         icon: 'sidebar-submenu-item',
@@ -22,7 +22,7 @@ export default {
       }
     },
     {
-      path: '/financial/idle',
+      path: '/financial-management/idle-fee',
       component: () => import('@/views/financial/IdleFee'),
       name: 'FinancialIdleFee',
       meta: {
@@ -33,7 +33,7 @@ export default {
       }
     },
     {
-      path: '/financial/topup',
+      path: '/financial-management/top-up',
       component: () => import('@/views/financial/TopUp'),
       name: 'FinancialTopup',
       meta: {

+ 6 - 6
Strides-Admin/src/router/IncidentRouter.js

@@ -1,8 +1,8 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/incident',
-  redirect: '/incident/charger-connectivity',
+  path: '/incident-management',
+  redirect: '/incident-management/charger-connectivity',
   component: Layout,
   meta: {
     title: 'Incident Management',
@@ -11,7 +11,7 @@ export default {
   },
   children: [
     {
-      path: '/incident/charger-connectivity',
+      path: '/incident-management/charger-connectivity',
       component: () => import('@/views/incident/connectivity'),
       name: 'charger-connectivity',
       meta: {
@@ -22,18 +22,18 @@ export default {
       }
     },
     {
-      path: '/incident/charger-connectivity/info/:id',
+      path: '/incident-management/charger-connectivity/info/:id',
       component: () => import('@/views/incident/info'),
       name: 'error-table',
       meta: {
         title: 'View Details',
         icon: 'sidebar-submenu-item',
-        activeMenu: '/incident/charger-connectivity',
+        activeMenu: '/incident-management/charger-connectivity',
         hidden: true
       }
     },
     {
-      path: '/incident/error-table',
+      path: '/incident-management/error-table',
       component: () => import('@/views/incident/error_table'),
       name: 'error-table',
       meta: {

+ 53 - 0
Strides-Admin/src/router/NotificationRouter.js

@@ -0,0 +1,53 @@
+import Layout from '@/layout'
+
+export default {
+  path: '/notification-management',
+  redirect: '/notification-management/in-app-notification',
+  component: Layout,
+  meta: {
+    title: 'Notification Management',
+    icon: 'notification',
+    activeIcon: 'notification-active',
+    affix: true
+  },
+  children: [
+    {
+      path: '/notification-management/in-app-notification',
+      component: () => import('@/views/notification/index'),
+      name: 'notification',
+      meta: {
+        title: 'In-App Notification',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    },
+    {
+      path: '/notification-management/email-notification',
+      component: () => import('@/views/notification/index'),
+      name: 'email-notification',
+      meta: {
+        title: 'Email Notification',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    },
+    {
+      path: '/notification-management/in-app-notification/add',
+      component: () => import('@/views/notification/add'),
+      name: 'notification-add',
+      meta: {
+        title: 'Add Notification',
+        activeMenu: '/notification-management/in-app-notification'
+      }
+    },
+    {
+      path: '/notification-management/in-app-notification/:id',
+      component: () => import('@/views/notification/add'),
+      name: 'notification-add',
+      meta: {
+        title: 'View Notification',
+        activeMenu: '/notification-management/in-app-notification'
+      }
+    }
+  ]
+}

+ 112 - 0
Strides-Admin/src/router/PartnershipRouter.js

@@ -0,0 +1,112 @@
+import Layout from '@/layout'
+
+export default {
+  path: '/partnership-management',
+  component: Layout,
+  redirect: '/partnership-management/service-provider-management',
+  meta: {
+    title: 'Partnership Management',
+    icon: 'partnership',
+  },
+  children: [
+    {
+      path: '/partnership-management/service-provider-management',
+      component: () => import('@/views/provider/ServiceProviderManagement'),
+      name: 'service-provider-management',
+      meta: {
+        title: 'Service Provider',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    },
+    {
+      path: '/partnership-management/group-management',
+      component: () => import('@/views/fleetCompany/index'),
+      name: 'group-management',
+      meta: {
+        title: 'Group Management',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    },
+    {
+      path: '/partnership-management/monthly-credit-management',
+      component: () => import('@/views/limit/CreditLimit'),
+      name: 'group-management',
+      meta: {
+        title: 'Monthly Credit Limit',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    },
+    {
+      path: '/partnership-management/service-provider-management/add',
+      component: () => import('@/views/provider/detail'),
+      name: 'add-service-provider',
+      meta: {
+        title: 'Add New Provider',
+        activeMenu: '/partnership-management/service-provider-management'
+      },
+      hidden: true
+    },
+    {
+      path: '/partnership-management/service-provider-management/edit/:id',
+      component: () => import('@/views/provider/detail/'),
+      name: 'edit-service-provider',
+      meta: {
+        title: 'Edit Provider',
+        activeMenu: '/partnership-management/service-provider-management'
+      },
+      hidden: true
+    },
+    {
+      path: '/partnership-management/group-management/add',
+      component: () => import('@/views/fleetCompany/FleetCompanyDetail'),
+      name: 'group-management',
+      meta: {
+        title: 'Add Fleet Company',
+        activeMenu: '/partnership-management/group-management'
+      }
+    },
+    {
+      path: '/partnership-management/group-management/edit/:id',
+      component: () => import('@/views/fleetCompany/FleetCompanyDetail'),
+      name: 'group-management',
+      meta: {
+        title: 'Edit Fleet Company',
+        activeMenu: '/partnership-management/group-management'
+      },
+      hidden: true
+    },
+    {
+      path: '/partnership-management/monthly-credit-management/limit/:id',
+      component: () => import('@/views/limit/Detail'),
+      name: 'credit-limit-view',
+      meta: {
+        title: 'View Credit Limit',
+        activeMenu: '/partnership-management/monthly-credit-management'
+      },
+      hidden: true
+    },
+    {
+      path: '/partnership-management/monthly-credit-management/add',
+      component: () => import('@/views/limit/Add'),
+      name: 'credit-limit-add',
+      meta: {
+        title: 'Add Credit Limit',
+        activeMenu: '/partnership-management/monthly-credit-management'
+      },
+      hidden: true
+    },
+    {
+      path: '/partnership-management/monthly-credit-management/edit/:id',
+      component: () => import('@/views/limit/Add'),
+      name: 'credit-limit-edit',
+      meta: {
+        title: 'Edit Credit Limit',
+        activeMenu: '/partnership-management/monthly-credit-management'
+      },
+      hidden: true
+    }
+  ]
+}

+ 0 - 44
Strides-Admin/src/router/ProviderRouter.js

@@ -1,44 +0,0 @@
-import Layout from '@/layout'
-
-export default {
-  path: '/service-provider-management',
-  component: Layout,
-  redirect: '/service-provider-management/index',
-  meta: {
-    title: 'Service Provider Management',
-    icon: 'site-management',
-  },
-  children: [
-    {
-      path: '/service-provider-management/index',
-      component: () => import('@/views/provider/ServiceProviderManagement'),
-      name: 'service-provider-management',
-      meta: {
-        title: 'Service Provider Management',
-        icon: 'service-provider-management',
-        activeIcon: 'service-provider-management-active',
-        breadcrumb: false
-      }
-    },
-    {
-      path: '/service-provider-management/add',
-      component: () => import('@/views/provider/detail'),
-      name: 'add-service-provider',
-      meta: {
-        title: 'Add New Provider',
-        activeMenu: '/service-provider-management/index'
-      },
-      hidden: true
-    },
-    {
-      path: '/service-provider-management/edit/:id',
-      component: () => import('@/views/provider/detail/'),
-      name: 'edit-service-provider',
-      meta: {
-        title: 'Edit Provider',
-        activeMenu: '/service-provider-management/index'
-      },
-      hidden: true
-    }
-  ],
-}

+ 18 - 0
Strides-Admin/src/router/ReportsRouter.js

@@ -0,0 +1,18 @@
+import Layout from '@/layout'
+
+export default {
+  path: '/reports',
+  component: Layout,
+  children: [
+    {
+      path: '/reports',
+      component: () => import('@/views/Reports'),
+      name: 'reports',
+      meta: {
+        title: 'Reports',
+        icon: 'reports',
+        activeIcon: 'reports-active',
+      }
+    }
+  ],
+}

+ 35 - 0
Strides-Admin/src/router/SettingsRouter.js

@@ -0,0 +1,35 @@
+import Layout from '@/layout'
+
+export default {
+  path: '/system-settings',
+  redirect: '/system-settings/mail-settings',
+  component: Layout,
+  meta: {
+    title: 'System Settings',
+    icon: 'system-settings',
+    affix: true,
+    additional: true
+  },
+  children: [
+    {
+      path: '/system-settings/mail-settings',
+      component: () => import('@/views/Administrator'),
+      name: 'system-mail-settings',
+      meta: {
+        title: 'Mail Settings',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    },
+    {
+      path: '/system-settings/charge-type-configuration',
+      component: () => import('@/views/Administrator'),
+      name: 'system-charge-type-configuration',
+      meta: {
+        title: 'Charge Type Configuration',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active'
+      }
+    }
+  ]
+}

+ 26 - 14
Strides-Admin/src/router/SiteRouter.js

@@ -3,22 +3,34 @@ import Layout from '@/layout'
 export default {
   path: '/site-management',
   component: Layout,
-  redirect: '/site-management/index',
+  redirect: '/site-management/site-configuration',
   meta: {
     title: 'Site Management',
     icon: 'site-management',
   },
   children: [
     {
-      path: '/site-management/index',
+      path: '/site-management/site-configuration',
       component: () => import('@/views/site/SiteManagement'),
-      name: 'site-management',
+      name: 'site-configuration',
       meta: {
-        breadcrumb: false,
-        title: 'Site Management',
-        icon: 'site-management',
-        activeIcon: 'site-management-active',
-      },
+        breadcrumb: true,
+        title: 'Site Configuration',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+      }
+    },
+    {
+      path: '/site-management/dynamic-rate-configuration',
+      component: () => import('@/views/site/SiteManagement'),
+      hidden: true,
+      name: 'dynamic-rate-configuration',
+      meta: {
+        breadcrumb: true,
+        title: 'Dynamic Rate Configuration',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+      }
     },
     {
       path: '/site-management/update-site',
@@ -26,7 +38,7 @@ export default {
       hidden: true,
       meta: {
         title: 'Edit Site',
-        activeMenu: '/site-management/index'
+        activeMenu: '/site-management/site-configuration'
       },
     },
     {
@@ -35,7 +47,7 @@ export default {
       hidden: true,
       meta: {
         title: 'Add Site',
-        activeMenu: '/site-management/index'
+        activeMenu: '/site-management/site-configuration'
       }
     },
     {
@@ -44,7 +56,7 @@ export default {
       hidden: true,
       meta: {
         title: 'Edit Site',
-        activeMenu: '/site-management/index'
+        activeMenu: '/site-management/site-configuration'
       },
     },
     {
@@ -53,7 +65,7 @@ export default {
       hidden: true,
       meta: {
         title: 'Add Site',
-        activeMenu: '/site-management/index'
+        activeMenu: '/site-management/site-configuration'
       }
     },
     {
@@ -62,7 +74,7 @@ export default {
       hidden: true,
       meta: {
         title: 'Manage Chargers',
-        activeMenu: '/site-management/index'
+        activeMenu: '/site-management/site-configuration'
       }
     },
     {
@@ -71,7 +83,7 @@ export default {
       hidden: true,
       meta: {
         title: 'Manage Connectors',
-        activeMenu: '/site-management/index'
+        activeMenu: '/site-management/site-configuration'
       }
     }
   ]

+ 56 - 0
Strides-Admin/src/router/SupportRouter.js

@@ -0,0 +1,56 @@
+import Layout from '@/layout'
+
+export default {
+  path: '/support-management',
+  redirect: '/support-management/feedbacks',
+  component: Layout,
+  meta: {
+    title: 'Support Management',
+    icon: 'feedback-management',
+    affix: false
+  },
+  children: [
+    {
+      path: '/support-management/feedbacks',
+      component: () => import('@/views/feedback/FeedbackManagement'),
+      name: 'transactions',
+      meta: {
+        title: 'Feedbacks',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+        affix: false,
+      }
+    },
+    {
+      path: '/support-management/tickets',
+      component: () => import('@/views/feedback/FeedbackManagement'),
+      name: 'reservations',
+      meta: {
+        title: 'Ticket Management',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+        affix: true,
+      }
+    },
+    {
+      path: '/support-management/maintenance',
+      component: () => import('@/views/feedback/FeedbackManagement'),
+      name: 'reservations',
+      meta: {
+        title: 'Maintenance Management',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+        affix: true,
+      }
+    },
+    {
+      path: '/support-management/feedback/:id',
+      component: () => import('@/views/feedback/Detail'),
+      name: 'feedback-view',
+      meta: {
+        title: 'View Feedback',
+        activeMenu: '/support-management/feedbacks'
+      }
+    }
+  ]
+}

+ 28 - 18
Strides-Admin/src/router/UserRouter.js

@@ -2,7 +2,7 @@ import Layout from '@/layout'
 
 export default {
   path: '/user-management',
-  redirect: '/user-management/index',
+  redirect: '/user-management/public',
   component: Layout,
   meta: {
     title: 'User Management',
@@ -10,7 +10,7 @@ export default {
   },
   children: [
     {
-      path: '/user-management/index',
+      path: '/user-management/public',
       component: () => import('@/views/user/UserManagement'),
       name: 'user-management',
       meta: {
@@ -20,32 +20,42 @@ export default {
       },
     },
     {
-      path: '/driver',
+      path: '/user-management/group',
       component: () => import('@/views/driver/index'),
       name: 'DriverList',
       meta: {
-        title: 'PH Driver',
+        title: 'Group User',
         icon: 'sidebar-submenu-item',
         activeIcon: 'sidebar-submenu-item-active',
       }
     },
     {
-      path: '/driver/driver-detail',
+      path: '/user-management/blacklist',
+      component: () => import('@/views/driver/index'),
+      name: 'BlackList',
+      meta: {
+        title: 'Blacklist/Suspension',
+        icon: 'sidebar-submenu-item',
+        activeIcon: 'sidebar-submenu-item-active',
+      }
+    },
+    {
+      path: '/user-management/group/detail',
       component: () => import('@/views/driver/DriverDetail'),
       name: 'DriverDetail',
       meta: {
-        title: 'Driver Detail',
+        title: 'Details',
         breadcrumb: true,
-        activeMenu: '/driver',
+        activeMenu: '/user-management/group',
         parent: {
-          title: 'PH Driver',
-          path: "/driver"
+          title: 'Group User',
+          path: "/user-management/group"
         }
       },
       hidden: true
     },
     {
-      path: 'add-user',
+      path: '/user-management/add-user',
       component: () => import('@/views/user/UserDetail'),
       name: 'addUser',
       hidden: true,
@@ -53,11 +63,11 @@ export default {
         title: 'Add User',
         icon: 'user-management',
         affix: true,
-        activeMenu: '/user-management/index'
+        activeMenu: '/user-management/public'
       }
     },
     {
-      path: 'update-user/:id',
+      path: '/user-management/update-user/:id',
       component: () => import('@/views/user/UserDetail'),
       name: 'userDetail',
       hidden: true,
@@ -65,10 +75,10 @@ export default {
         title: 'Edit User',
         icon: 'user-management',
         affix: true,
-        activeMenu: '/user-management/index'
+        activeMenu: '/user-management/public'
       }
     },{
-      path: 'topup-history/:id',
+      path: '/user-management/topup-history/:id',
       component: () => import('@/views/user/hisTopUp'),
       name: 'userDetail',
       hidden: true,
@@ -76,10 +86,10 @@ export default {
         title: 'Top Up History',
         icon: 'user-management',
         affix: true,
-        activeMenu: '/user-management/index'
+        activeMenu: '/user-management/public'
       }
     },{
-      path: 'charging-history/:id',
+      path: '/user-management/charging-history/:id',
       component: () => import('@/views/user/hisCharge'),
       name: 'userDetail',
       hidden: true,
@@ -87,8 +97,8 @@ export default {
         title: 'Charging History',
         icon: 'user-management',
         affix: true,
-        activeMenu: '/user-management/index'
+        activeMenu: '/user-management/public'
       }
     }
-  ],
+  ]
 }

+ 6 - 6
Strides-Admin/src/router/PosRouter.js → Strides-Admin/src/router/addition/PosRouter.js

@@ -1,7 +1,7 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/pos-device',
+  path: '/pos-device-management',
   component: Layout,
   meta: {
     title: 'POS Device Management',
@@ -11,7 +11,7 @@ export default {
   },
   children: [
     {
-      path: '/pos-device',
+      path: '/pos-device-management',
       component: () => import('@/views/posDevice/index'),
       name: 'pos-device-index',
       meta: {
@@ -23,21 +23,21 @@ export default {
       }
     },
     {
-      path: '/pos-device/add',
+      path: '/pos-device-management/add',
       component: () => import('@/views/posDevice/detail'),
       name: 'pos-device-add',
       meta: {
         title: 'Add Device',
-        activeMenu: '/pos-device'
+        activeMenu: '/pos-device-management'
       }
     },
     {
-      path: '/pos-device/:deviceId',
+      path: '/pos-device-management/edit/:deviceId',
       component: () => import('@/views/posDevice/detail'),
       name: 'pos-device-edit',
       meta: {
         title: 'Edit Device',
-        activeMenu: '/pos-device'
+        activeMenu: '/pos-device-management'
       }
     }
   ]

+ 5 - 5
Strides-Admin/src/router/RfidRouter.js → Strides-Admin/src/router/addition/RfidRouter.js

@@ -1,7 +1,7 @@
 import Layout from '@/layout'
 
 export default {
-  path: '/rfid-management',
+  path: '/rfid-card-management',
   component: Layout,
   meta: {
     title: 'RFID Card Management',
@@ -11,7 +11,7 @@ export default {
   },
   children: [
     {
-      path: '/rfid-management',
+      path: '/rfid-card-management',
       component: () => import('@/views/rfid/index'),
       name: 'rfid-management-index',
       meta: {
@@ -23,7 +23,7 @@ export default {
       }
     },
     {
-      path: '/rfid-management/add',
+      path: '/rfid-card-management/add',
       component: () => import('@/views/rfid/detail'),
       name: 'rfid-management-add',
       meta: {
@@ -32,12 +32,12 @@ export default {
       }
     },
     {
-      path: '/rfid-management/:id',
+      path: '/rfid-card-management/edit/:id',
       component: () => import('@/views/rfid/detail'),
       name: 'rfid-management-edit',
       meta: {
         title: 'Edit User',
-        activeMenu: '/rfid-management'
+        activeMenu: '/rfid-card-management'
       }
     }
   ]

+ 7 - 0
Strides-Admin/src/router/addition/index.js

@@ -0,0 +1,7 @@
+import PosRouter from './PosRouter'
+import RfidRouter from './RfidRouter'
+
+export default [
+  PosRouter,
+  RfidRouter
+]

+ 0 - 35
Strides-Admin/src/router/driver.js

@@ -1,35 +0,0 @@
-import Layout from '@/layout'
-
-export default {
-  path: '/driver',
-  component: Layout,
-  meta: {
-    title: 'PH Driver Management',
-    icon: 'user-management',
-    activeIcon: 'user-management-active',
-    affix: true,
-  },
-  children: [
-    {
-      path: '/driver',
-      component: () => import('@/views/driver/index'),
-      name: 'DriverList',
-      meta: {
-        title: 'PH Driver Management',
-        breadcrumb: false,
-      },
-      hidden: true
-    },
-    {
-      path: 'driver-detail',
-      component: () => import('@/views/driver/DriverDetail'),
-      name: 'DriverDetail',
-      meta: {
-        title: 'Driver Detail',
-        breadcrumb: true,
-        activeMenu: '/driver'
-      },
-      hidden: true
-    },
-  ]
-}

+ 0 - 55
Strides-Admin/src/router/fleetCompany.js

@@ -1,55 +0,0 @@
-import Layout from '@/layout'
-
-export default {
-  path: '/fleetCompany',
-  component: Layout,
-  meta: {
-    title: 'Fleet Company Management',
-    icon: 'service-provider-management',
-    activeIcon: 'service-provider-management-active',
-    affix: true,
-  },
-  children: [
-    {
-      path: '/fleetCompany',
-      component: () => import('@/views/fleetCompany/index'),
-      name: 'FleetCompanyList',
-      meta: {
-        title: 'Fleet Company Management',
-        icon: 'service-provider-management',
-        activeIcon: 'service-provider-management-active',
-        affix: true,
-        breadcrumb: false,
-      },
-      hidden: true
-    },
-    {
-      path: '/fleetCompany/add',
-      component: () => import('@/views/fleetCompany/FleetCompanyDetail'),
-      name: 'AddFleetCompany',
-      meta: {
-        title: 'Add Fleet Company',
-        icon: 'sidebar-submenu-item',
-        activeIcon: 'sidebar-submenu-item-active',
-        affix: true,
-        breadcrumb: true,
-        activeMenu: '/fleetCompany'
-      },
-      hidden: true
-    },
-    {
-      path: '/fleetCompany/edit/:id',
-      component: () => import('@/views/fleetCompany/FleetCompanyDetail'),
-      name: 'EditFleetCompany',
-      meta: {
-        title: 'Edit Fleet Company',
-        icon: 'sidebar-submenu-item',
-        activeIcon: 'sidebar-submenu-item-active',
-        affix: true,
-        breadcrumb: true,
-        activeMenu: '/fleetCompany'
-      },
-      hidden: true
-    },
-  ]
-}

+ 20 - 108
Strides-Admin/src/router/index.js

@@ -1,21 +1,21 @@
 import Vue from 'vue'
 import VueRouter from 'vue-router'
 import Layout from '@/layout'
-
 import SiteRouter from './SiteRouter'
 import ChargeRouter from './ChargeRouter'
 import UserRouter from './UserRouter'
-import ProviderRouter from './ProviderRouter'
-import Transactions from './Transactions'
-import ChargingProfile from './ChargingProfile'
+import PartnershipRouter from './PartnershipRouter'
+import EnergyRouter from './EnergyRouter'
 import OCPPRouter from './OCPPRouter'
-import driver from './driver'
-import fleetCompanyRoute from './fleetCompany'
-import CreditLimit from './CreditLimit'
 import FinancialRouter from './FinancialRouter'
-import PosRouter from './PosRouter'
-import RfidRouter from './RfidRouter'
 import IncidentRouter from './IncidentRouter'
+import ActivityRouter from './ActivityRouter'
+import SupportRouter from './SupportRouter'
+import ReportsRouter from './ReportsRouter'
+import NotificationRouter from './NotificationRouter'
+import AccessRouter from './AccessRouter'
+import SettingsRouter from './SettingsRouter'
+import additionalRoute from './addition'
 
 Vue.use(VueRouter)
 
@@ -43,7 +43,7 @@ const constantRoutes = [
     },
     hidden: true
   },
-  {
+  /*{
     path: '/administrator',
     component: Layout,
     meta: {
@@ -66,7 +66,7 @@ const constantRoutes = [
         }
       }
     ],
-  },
+  },*/
   {
     path: '/dashboard',
     component: Layout,
@@ -101,108 +101,20 @@ const constantRoutes = [
   },
   SiteRouter,
   ChargeRouter,
-  Transactions,
+  ActivityRouter,
   IncidentRouter,
-  ChargingProfile,
+  EnergyRouter,
   FinancialRouter,
   UserRouter,
-  //driver,
-  {
-    path: '/feedback-management',
-    component: Layout,
-    meta: {
-      title: 'Feedback Management',
-      icon: 'feedback-management',
-      activeIcon: 'feedback-management-active',
-      affix: true 
-    },
-    children: [
-      {
-        path: '/feedback-management',
-        component: () => import('@/views/feedback/FeedbackManagement'),
-        name: 'feedback-management',
-        meta: {
-          title: 'Feedback Management',
-          breadcrumb: false
-        }
-      },
-      {
-        path: '/feedback-management/view/:id',
-        component: () => import('@/views/feedback/Detail'),
-        name: 'feedback-view',
-        meta: {
-          title: 'View Feedback',
-          activeMenu: '/feedback-management'
-        }
-      }
-    ],
-  },
+  SupportRouter,
   OCPPRouter,
-  {
-    path: '/reports',
-    component: Layout,
-    children: [
-      {
-        path: '/reports/index',
-        component: () => import('@/views/Reports'),
-        name: 'reports',
-        meta: {
-          title: 'Reports',
-          icon: 'reports',
-          activeIcon: 'reports-active',
-        }
-      }
-    ],
-  },
-  {
-    path: '/notification',
-    component: Layout,
-    meta: {
-      title: 'Notification Management',
-      icon: 'notification',
-      activeIcon: 'notification-active',
-      affix: true
-    },
-    children: [
-      {
-        path: '/notification',
-        component: () => import('@/views/notification/index'),
-        name: 'notification',
-        meta: {
-          title: 'Notification Management',
-          icon: 'notification',
-          activeIcon: 'notification-active',
-          breadcrumb: false
-        }
-      },
-      {
-        path: '/notification/add',
-        component: () => import('@/views/notification/add'),
-        name: 'notification-add',
-        meta: {
-          title: 'Add Notification',
-          activeMenu: '/notification',
-          icon: 'notification',
-          activeIcon: 'notification-active'
-        }
-      },
-      {
-        path: '/notification/:id',
-        component: () => import('@/views/notification/add'),
-        name: 'notification-add',
-        meta: {
-          title: 'View Notification',
-          activeMenu: '/notification'
-        }
-      }
-    ],
-  },
-  ProviderRouter,
-  fleetCompanyRoute,
-  CreditLimit,
-  PosRouter,
-  RfidRouter
+  ReportsRouter,
+  NotificationRouter,
+  PartnershipRouter,
+  AccessRouter,
+  ...additionalRoute,
   /*OCPI*/
+  SettingsRouter
 ]
 
 const asyncRoutes = []

+ 6 - 0
Strides-Admin/src/styles/index.scss

@@ -360,4 +360,10 @@ aside {
 }
 .el-dropdown-menu.el-popper {
   margin-top: 6px;
+}
+input:-webkit-autofill,
+input:-webkit-autofill:hover, 
+input:-webkit-autofill:focus, 
+input:-webkit-autofill:active  {
+  -webkit-box-shadow: 0 0 0 68px white inset;
 }

+ 1 - 1
Strides-Admin/src/views/charge/AddStation.vue

@@ -547,7 +547,7 @@
         this.loading = false;
         this.$nextTick(() => {
           this.$router.replace({
-            path: "/charge/registered-charge-stations"
+            path: "/charge-station-management/registered-charge-stations"
           })
         })
       },

+ 2 - 2
Strides-Admin/src/views/charge/RegisteredChargeStations.vue

@@ -266,14 +266,14 @@ export default {
     },
     addStation() {
       this.$router.push({
-        path: '/charge/add-station',
+        path: '/charge-station-management/add-station',
       });
     },
     editStation(row) {
       //console.log('row', row);
       //this.$store.commit('charge/SET_StationId', row.chargeBoxPk)
       this.$router.push({
-        path: '/charge/edit-station/' + row.chargeBoxPk,
+        path: '/charge-station-management/edit-station/' + row.chargeBoxPk,
       });
     },
     softReset(row) {

+ 7 - 2
Strides-Admin/src/views/charging/AddProfile.vue

@@ -421,7 +421,8 @@
             message: 'Add charging profile successfully',
             type: 'success'
           })
-          this.$router.go(-1)
+          this.loading = false;
+          this.handleClickCancleButton()
         }).catch(err => {
           this.loading = false;
           this.$message({
@@ -431,7 +432,11 @@
         });
       },
       handleClickCancleButton() {
-        this.$router.go(-1)
+        this.$nextTick(() => {
+          this.$router.replace({
+            path: "/smart-energy-management/charging-profiles"
+          })
+        })
       }
     }
   }

+ 2 - 2
Strides-Admin/src/views/charging/ChargingProfiles.vue

@@ -95,7 +95,7 @@
     },
     methods: {
       toAddPage() {
-        this.$router.push({path: '/charging-profiles/add'})
+        this.$router.push({path: '/smart-energy-management/charging-profiles/add'})
       },
       handlePageChange() {
         this.listLoading = true;
@@ -114,7 +114,7 @@
       },
       editProfile(row) {
         this.$store.commit('charge/SET_ProfileId', row.chargingProfilePk)
-        this.$router.push({path: '/charging-profiles/edit'});
+        this.$router.push({path: '/smart-energy-management/charging-profiles/edit'});
       },
       delProfile(row) {
         this.$confirm('Are you sure you want to delete this profile ?', 'Delete', {

+ 1 - 1
Strides-Admin/src/views/charging/ConfigureStations.vue

@@ -136,7 +136,7 @@ export default {
     },
     viewProfiles(row) {
       this.$router.push(({
-        path: "/charging-profiles/view/" + row.chargingProfilePk
+        path: "/smart-energy-management/charging-profiles/view/" + row.chargingProfilePk
       }))
     },
     handleCommand(cb, item) {

+ 2 - 2
Strides-Admin/src/views/charging/EditProfile.vue

@@ -469,11 +469,11 @@
       handleClickCancleButton() {
         if (this.isView) {
           this.$router.push({
-            path: "/charging-profiles/config-stations"
+            path: "/smart-energy-management/config-stations"
           })
         } else {
           this.$router.push({
-            path: "/charging-profiles/index"
+            path: "/smart-energy-management/charging-profiles"
           })
         }
       }

+ 1 - 1
Strides-Admin/src/views/charging/components/DialogClearProfiles.vue

@@ -157,7 +157,7 @@ export default {
       })
     },
     viewProfiles() {
-      this.$openRoute("/charging-profiles/view/" + this.item.chargingProfilePk);
+      this.$openRoute("/smart-energy-management/charging-profiles/view/" + this.item.chargingProfilePk);
     },
     changeFilterType() {
       //ChargingProfileId

+ 2 - 2
Strides-Admin/src/views/charging/components/DialogSetProfiles.vue

@@ -107,9 +107,9 @@ export default {
       })
     },
     viewProfiles() {
-      this.$openRoute("/charging-profiles/view/" + this.item.chargingProfilePk)
+      this.$openRoute("/smart-energy-management/charging-profiles/view/" + this.item.chargingProfilePk)
       /*this.$router.push(({
-        path: "/charging-profiles/view/" + this.item.chargingProfilePk
+        path: "/smart-energy-management/charging-profiles/view/" + this.item.chargingProfilePk
       }))*/
     },
     onSetProfiles() {

+ 6 - 2
Strides-Admin/src/views/driver/DriverDetail.vue

@@ -377,7 +377,11 @@ export default {
       this.rejectButtonLoading = false
     },
     onClickCancelButton() {
-      this.$router.back()
+      this.$nextTick(() => {
+        this.$router.replace({
+          path: "/user-management/group"
+        })
+      })
     },
     onClickConfirmButton() {
       this.confirmButtonLoading = true
@@ -418,7 +422,7 @@ export default {
             }
             if (result.success) {
               this.$notify.success(result.msg)
-              this.$router.back()
+              this.onClickCancelButton();
             }
           } catch (error) {
             if (error) {

+ 24 - 12
Strides-Admin/src/views/feedback/Detail.vue

@@ -1,6 +1,6 @@
 <template>
   <div class="card-container">
-    <div class="card-content">
+    <div class="card-content" v-loading="loading">
       <el-form
         label-position="left"
         label-width="140px"
@@ -109,36 +109,48 @@
 </template>
 
 <script>
-  import { mapState } from 'vuex'
+  //import { mapState } from 'vuex'
   import {baseURL} from '../../http/http'
   import feedback from '../../http/api/feedback'
   export default {
     data() {
       return {
         baseURL: baseURL,
+        loading: false,
         autosize: {
           minRows: 3,
           maxRows: 10,
-        }
+        },
+        feedbackInfo: {}
       }
     },
-    computed: {
-      ...mapState('provider', ['feedbackInfo'])
-    },
     created() {
-      this.readedFeedback()
+      if (this.$route.params.id) {
+        this.readedFeedback()
+      }
     },
     methods: {
       readedFeedback() {
-        feedback.readFeedback(this.feedbackInfo.feedbackPk)
-        .then(res => {
-          
+        this.loading = true;
+        feedback.readFeedback(this.$route.params.id).then(res => {
+          if (res.data) {
+            this.feedbackInfo = res.data
+          }
         }).catch(err => {
-          
+          this.$message({
+            message: err,
+            type: 'error'
+          })
+        }).finally(() => {
+          this.loading = false;
         })
       },      
       handleBackClick() {
-        this.$router.go(-1)
+        this.$nextTick(() => {
+          this.$router.replace({
+            path: "/support-management/feedbacks"
+          })
+        })
       }
     }
   }

+ 2 - 2
Strides-Admin/src/views/feedback/FeedbackManagement.vue

@@ -157,8 +157,8 @@
         })
       },
       viewFeedback(row) {
-        this.$store.commit('provider/SET_Feedback', row)
-        this.$router.push({path: '/feedback-management/view/'+row.feedbackPk})
+        //this.$store.commit('provider/SET_Feedback', row)
+        this.$router.push({path: '/support-management/feedback/'+row.feedbackPk})
       },
       deleteFeedback(row) {
         this.$confirm('Are you sure you want to delete this feedback?', 'Delete', {

+ 4 - 2
Strides-Admin/src/views/fleetCompany/FleetCompanyDetail.vue

@@ -205,8 +205,10 @@ export default {
       })
     },
     onClickCancelButton() {
-      this.$router.push({
-        path: "/fleetCompany"
+      this.$nextTick(() => {
+        this.$router.replace({
+          path: "/partnership-management/group-management"
+        })
       })
     },
     onClickConfirmButton() {

+ 2 - 2
Strides-Admin/src/views/fleetCompany/index.vue

@@ -126,7 +126,7 @@ export default {
     },
     onClickAdd() {
       this.$router.push({
-        path: "/fleetCompany/add"
+        path: "/partnership-management/group-management/add"
       })
     },
     onClickDeleteButton(fleetCompany) {
@@ -140,7 +140,7 @@ export default {
     },
     onClickEditButton(row) {
       this.$router.push({
-        path: "/fleetCompany/edit/" + row.fleetCompanyId
+        path: "/partnership-management/group-management/edit/" + row.fleetCompanyId
       })
     },
     onDeleteCompany(fleetCompany) {

+ 1 - 1
Strides-Admin/src/views/incident/connectivity.vue

@@ -166,7 +166,7 @@ export default {
         chargeBoxId: row.chargeBoxId
       }
       this.$router.push({
-        path: "/incident/charger-connectivity/info/" + Base64.encode(JSON.stringify(params))
+        path: "/incident-management/charger-connectivity/info/" + Base64.encode(JSON.stringify(params))
       })
     }
   }

+ 4 - 2
Strides-Admin/src/views/limit/Add.vue

@@ -324,8 +324,10 @@
         });
       },
       handleClickCancleButton() {
-        this.$router.push({
-          path: "/credit-limit"
+        this.$nextTick(() => {
+          this.$router.push({
+            path: "/partnership-management/monthly-credit-management"
+          })
         })
       },
       handleClickSaveButton() {

+ 9 - 3
Strides-Admin/src/views/limit/CreditLimit.vue

@@ -121,15 +121,21 @@
         });
       },
       addCreditLimit() {
-        this.$router.push({path: 'credit-limit/add'});
+        this.$router.push({
+          path: '/partnership-management/monthly-credit-management/add'
+        });
       },
       editLimit(row) {
         //this.$store.commit('provider/SET_CreditLimit', row);
-        this.$router.push({path: '/credit-limit/edit/' + row.creditLimitId});
+        this.$router.push({
+          path: '/partnership-management/monthly-credit-management/edit/' + row.creditLimitId
+        });
       },
       viewCreditLimit(row) {
         this.$store.commit('provider/SET_CreditLimit', row);
-        this.$router.push({path: '/credit-limit/CL' + row.creditLimitId});
+        this.$router.push({
+          path: '/partnership-management/monthly-credit-management/limit/' + row.creditLimitId
+        });
       },
       deleteLimit(row) {
         this.$confirm('Are you sure you want to delete this credit limit?', 'Delete', {

+ 2 - 2
Strides-Admin/src/views/limit/Detail.vue

@@ -166,8 +166,8 @@
         });
       },
       handleClickCancleButton() {
-        this.$router.push({
-          path: "/credit-limit"
+        this.$router.replace({
+          path: "/partnership-management/monthly-credit-management"
         })
       }
     }

+ 5 - 1
Strides-Admin/src/views/notification/add.vue

@@ -129,7 +129,11 @@ export default {
   },
   methods: {
     onBack() {
-      this.$router.push({path: '/notification'})
+      this.$nextTick(() => {
+        this.$router.replace({
+          path: '/notification-management/in-app-notification'
+        })
+      })
     },
     onSend() {
       this.$refs['addForm'].validate(result => {

+ 2 - 2
Strides-Admin/src/views/notification/index.vue

@@ -127,10 +127,10 @@ export default {
       })
     },
     creatNotification() {
-      this.$router.push({path: '/notification/add'})
+      this.$router.push({path: '/notification-management/in-app-notification/add'})
     },
     viewNotification(row) {
-      this.$router.push({path: '/notification/' + row.notificationId})
+      this.$router.push({path: '/notification-management/in-app-notification/' + row.notificationId})
     },
     handlePageChange() {
       this.getTableData();

+ 5 - 1
Strides-Admin/src/views/posDevice/detail.vue

@@ -296,7 +296,11 @@ export default {
       });
     },
     handleClickCancleButton() {
-      this.$router.push({path: '/pos-device'});
+      this.$nextTick(() => {
+        this.$router.replace({
+          path: '/pos-device-management'
+        });
+      })
     },
     handleClickSaveButton() {
       this.$refs['addForm'].validate(result => {

+ 6 - 2
Strides-Admin/src/views/posDevice/index.vue

@@ -111,10 +111,14 @@ export default {
       });
     },
     addDevice() {
-      this.$router.push({path: 'pos-device/add'});
+      this.$router.push({
+        path: '/pos-device-management/add'
+      });
     },
     viewDevice({deviceId}) {
-      this.$router.push(`pos-device/${deviceId}`);
+      this.$router.push({
+        path: "/pos-device-management/edit/" + deviceId
+      });
     },
     handleDelete(row) {
       this.$confirm('Are you sure you want to delete this device?', 'Delete', {

+ 2 - 2
Strides-Admin/src/views/provider/ServiceProviderManagement.vue

@@ -141,12 +141,12 @@
         })
       },
       addProvider() {
-        this.$router.push({path: '/service-provider-management/add'})
+        this.$router.push({path: '/partnership-management/service-provider-management/add'})
       },
       editProvider(row) {
         //this.$store.commit('provider/SET_ProviderInfo', row)
         this.$router.push({
-          path: '/service-provider-management/edit/' + row.providerPk,
+          path: '/partnership-management/service-provider-management/edit/' + row.providerPk,
         });
       },
       deleteProvider(row) {

+ 1 - 1
Strides-Admin/src/views/provider/detail.vue

@@ -262,7 +262,7 @@
         this.loading = false;
         this.$nextTick(() => {
           this.$router.replace({
-            path: "/service-provider-management/index"
+            path: "/partnership-management/service-provider-management"
           })
         });
       }

+ 5 - 1
Strides-Admin/src/views/rfid/detail.vue

@@ -234,7 +234,11 @@ export default {
       });
     },
     handleClickCancleButton() {
-      this.$router.push({path: '/rfid-management'});
+      this.$nextTick(() => {
+        this.$router.push({
+          path: '/rfid-card-management'
+        });
+      });
     },
     handleClickSaveButton() {
       this.$refs['addForm'].validate(result => {

+ 6 - 2
Strides-Admin/src/views/rfid/index.vue

@@ -128,10 +128,14 @@ export default {
       });
     },
     addRfid() {
-      this.$router.push({path: '/rfid-management/add'});
+      this.$router.push({
+        path: '/rfid-card-management/add'
+      });
     },
     viewDevice({ocppTagPk}) {
-      this.$router.push(`rfid-management/${ocppTagPk}`);
+      this.$router.push({
+        path: '/rfid-card-management/edit/' + ocppTagPk
+      });
     },
     handleDelete(row) {
       this.$confirm('Are you sure you want to delete this rfid?', 'Delete', {

+ 24 - 14
Strides-Admin/src/views/transaction/transactions.vue

@@ -70,7 +70,7 @@
         align="center"
         class-name="fixed-width">
         <template slot-scope="{row}">
-          <router-link :to="'/transactions-reservations/transactions/'+row.transactionPk" class="table-link">{{ row.transactionPk }}</router-link>
+          <router-link :to="'/station-activities/transactions/'+row.transactionPk" class="table-link">{{ row.transactionPk }}</router-link>
         </template>
       </el-table-column>
       <!--el-table-column
@@ -122,7 +122,7 @@
         class-name="fixed-width">
           <template slot-scope="{row}">
             <router-link
-              :to="'/transactions-reservations/transactions/'+row.transactionPk"
+              :to="'/station-activities/transactions/'+row.transactionPk"
               class="table-link"
               :title="row.chargeBoxId">
               {{ row.chargeBoxId }}
@@ -194,14 +194,17 @@
             <span :title="row.charges">{{ row.charges }}</span>
           </template>
       </el-table-column>
-      <!--<el-table-column
+      <el-table-column
         label="Invoice"
         align="center"
         class-name="fixed-width">
           <template slot-scope="{row}">
-            <i class="download-invoice el-icon-download" @click="downloadPdf(row.transactionPk)"></i>
+            <i
+              class="download-invoice el-icon-download"
+              title="Download"
+              @click="downloadPdf(row.transactionPk)"></i>
           </template>
-      </el-table-column>-->
+      </el-table-column>
     </el-table>
     <div class="right">
       <pagination
@@ -261,19 +264,26 @@ export default {
       }
     },
     async getList() {
-      const data = await api.getTransactionPages({
+      api.getTransactionPages({
         pageSize: this.listQuery.limit,
         pageNo: this.listQuery.page,
         pageVo: this.filter
+      }).then(res => {
+        if (res.data && res.total) {
+          this.tableList = res.data
+          this.total = res.total
+        } else {
+          this.tableList = []
+          this.total = 0
+        }
+      }).catch(err => {
+        this.$message({
+          type: "error",
+          message: err
+        })
+      }).finally(() => {
+        this.listLoading = false
       })
-      if (data.success && data.total) {
-        this.tableList = data.data
-        this.total = data.total
-      } else {
-        this.tableList = []
-        this.total = 0
-      }
-      this.listLoading = false
     },
     async downloadPdf(id) {
       try {

Một số tệp đã không được hiển thị bởi vì quá nhiều tập tin thay đổi trong này khác