diff --git a/src/components/common/VnCard.vue b/src/components/common/VnCard.vue
index 12e7d8f52d..2d317ce30a 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 38dcf97d16..e5b2f02d26 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 928d045e9f..34340b019b 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 f435893c0e..1abbb78bfa 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 e4305c8983..76a216215c 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 0000000000..a421115927
--- /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 bae89fda95..a1d741b84b 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 d74238a6e0..d12c4f2046 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 c355856b1b..cf2e5321eb 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'),
},
diff --git a/test/cypress/integration/worker/workerLocker.spec.js b/test/cypress/integration/worker/workerLocker.spec.js
index d4cbd5534c..ef2f883006 100644
--- a/test/cypress/integration/worker/workerLocker.spec.js
+++ b/test/cypress/integration/worker/workerLocker.spec.js
@@ -1,6 +1,6 @@
describe('WorkerLocker', () => {
const workerId = 1109;
- const lockerCode = '201A';
+ const lockerCode = '2F';
const input = '.q-card input';
const firstOpt = '[role="listbox"] .q-item:nth-child(1)';
beforeEach(() => {