diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue
index 58cb12708..e836badec 100644
--- a/src/components/common/VnCard.vue
+++ b/src/components/common/VnCard.vue
@@ -20,6 +20,8 @@ const props = defineProps({
searchUrl: { type: String, default: undefined },
searchbarLabel: { type: String, default: '' },
searchbarInfo: { type: String, default: '' },
+ searchCustomRouteRedirect: { type: String, default: undefined },
+ searchRedirect: { type: Boolean, default: false },
});
const stateStore = useStateStore();
@@ -62,6 +64,8 @@ watchEffect(() => {
:url="props.searchUrl"
:label="props.searchbarLabel"
:info="props.searchbarInfo"
+ :custom-route-redirect-name="searchCustomRouteRedirect"
+ :redirect="searchRedirect"
/>
diff --git a/src/components/ui/VnSearchbar.vue b/src/components/ui/VnSearchbar.vue
index 38dcf97d1..e5b2f02d2 100644
--- a/src/components/ui/VnSearchbar.vue
+++ b/src/components/ui/VnSearchbar.vue
@@ -1,5 +1,5 @@
-
+
diff --git a/src/components/ui/VnTree.vue b/src/pages/Worker/WorkerDepartmentTree.vue
similarity index 99%
rename from src/components/ui/VnTree.vue
rename to src/pages/Worker/WorkerDepartmentTree.vue
index 928d045e9..34340b019 100644
--- a/src/components/ui/VnTree.vue
+++ b/src/pages/Worker/WorkerDepartmentTree.vue
@@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n';
import { useState } from 'src/composables/useState';
import { useQuasar } from 'quasar';
import DepartmentDescriptorProxy from 'src/pages/Department/Card/DepartmentDescriptorProxy.vue';
-import CreateDepartmentChild from '../CreateDepartmentChild.vue';
+import CreateDepartmentChild from './CreateDepartmentChild.vue';
import axios from 'axios';
import useNotify from 'src/composables/useNotify.js';
import { useRouter } from 'vue-router';
diff --git a/src/pages/Zone/Card/ZoneCard.vue b/src/pages/Zone/Card/ZoneCard.vue
index f435893c0..1abbb78bf 100644
--- a/src/pages/Zone/Card/ZoneCard.vue
+++ b/src/pages/Zone/Card/ZoneCard.vue
@@ -5,38 +5,29 @@ import { computed } from 'vue';
import VnCard from 'components/common/VnCard.vue';
import ZoneDescriptor from './ZoneDescriptor.vue';
-import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
-
-import { useStateStore } from 'stores/useStateStore';
const { t } = useI18n();
-const stateStore = useStateStore();
const route = useRoute();
const routeName = computed(() => route.name);
+const customRouteRedirectName = computed(() => {
+ if (routeName.value === 'ZoneLocations') return null;
+ return routeName.value;
+});
const searchBarDataKeys = {
ZoneWarehouses: 'ZoneWarehouses',
ZoneSummary: 'ZoneSummary',
+ ZoneLocations: 'ZoneLocations',
};
-
-
-
-
-
diff --git a/src/pages/Zone/Card/ZoneLocations.vue b/src/pages/Zone/Card/ZoneLocations.vue
index e4305c898..76a216215 100644
--- a/src/pages/Zone/Card/ZoneLocations.vue
+++ b/src/pages/Zone/Card/ZoneLocations.vue
@@ -1 +1,80 @@
-Zone Locations
+
+
+
+
+
+
+
+ onSelected($event, node)"
+ toggle-indeterminate
+ color="transparent"
+ :class="[
+ 'checkbox',
+ node.selected
+ ? '--checked'
+ : node.selected == false
+ ? '--unchecked'
+ : '--indeterminate',
+ ]"
+ />
+
+
+
+
+
+
+
diff --git a/src/pages/Zone/Card/ZoneLocationsTree.vue b/src/pages/Zone/Card/ZoneLocationsTree.vue
new file mode 100644
index 000000000..a42111592
--- /dev/null
+++ b/src/pages/Zone/Card/ZoneLocationsTree.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+ {{ node.name }}
+
+
+
+
+
diff --git a/src/pages/Zone/locale/en.yml b/src/pages/Zone/locale/en.yml
index bae89fda9..a1d741b84 100644
--- a/src/pages/Zone/locale/en.yml
+++ b/src/pages/Zone/locale/en.yml
@@ -42,6 +42,8 @@ summary:
filterPanel:
name: Name
agencyModeFk: Agency
+zoneLocations:
+ locations: Locations
deliveryPanel:
pickup: Pick up
delivery: Delivery
diff --git a/src/pages/Zone/locale/es.yml b/src/pages/Zone/locale/es.yml
index d74238a6e..d12c4f204 100644
--- a/src/pages/Zone/locale/es.yml
+++ b/src/pages/Zone/locale/es.yml
@@ -42,6 +42,8 @@ summary:
filterPanel:
name: Nombre
agencyModeFk: Agencia
+zoneLocations:
+ locations: Localizaciones
deliveryPanel:
pickup: Recogida
delivery: Entrega
diff --git a/src/router/modules/zone.js b/src/router/modules/zone.js
index c355856b1..cf2e5321e 100644
--- a/src/router/modules/zone.js
+++ b/src/router/modules/zone.js
@@ -106,7 +106,7 @@ export default {
path: 'location',
meta: {
title: 'locations',
- icon: 'vn:greuge',
+ icon: 'my_location',
},
component: () => import('src/pages/Zone/Card/ZoneLocations.vue'),
},