diff --git a/src/i18n/locale/en.yml b/src/i18n/locale/en.yml
index aa65ce08c..a580f2553 100644
--- a/src/i18n/locale/en.yml
+++ b/src/i18n/locale/en.yml
@@ -90,6 +90,10 @@ globals:
basicData: Basic data
log: Logs
parkingList: Parkings list
+ zones: Zones
+ zonesList: Zones
+ deliveryList: Delivery days
+ upcomingList: Upcoming deliveries
created: Created
worker: Worker
now: Now
diff --git a/src/i18n/locale/es.yml b/src/i18n/locale/es.yml
index da421432d..ef7ebf22b 100644
--- a/src/i18n/locale/es.yml
+++ b/src/i18n/locale/es.yml
@@ -90,6 +90,10 @@ globals:
basicData: Datos básicos
log: Historial
parkingList: Listado de parkings
+ zones: Zonas
+ zonesList: Zonas
+ deliveryList: Días de entrega
+ upcomingList: Próximos repartos
created: Fecha creación
worker: Trabajador
now: Ahora
@@ -287,7 +291,7 @@ customer:
hasSepaVnl: Recibido B2B VNL
entry:
pageTitles:
- entries: Entrasdadas
+ entries: Entradas
list: Listado
summary: Resumen
basicData: Datos básicos
diff --git a/src/pages/Zone/Card/ZoneBasicData.vue b/src/pages/Zone/Card/ZoneBasicData.vue
new file mode 100644
index 000000000..5d57b920e
--- /dev/null
+++ b/src/pages/Zone/Card/ZoneBasicData.vue
@@ -0,0 +1,103 @@
+
+
+
+ (agencyOptions = data)"
+ auto-load
+ url="agencies"
+ />
+ (zoneOptions = data)"
+ auto-load
+ url="zones"
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+es:
+ Name: Nombre
+ Agency: Agencia
+ Max m³: Medida máxima
+ Maximum m³: M³ maximo
+ Traveling days: Dias de viaje
+ Closing: Cierre
+ Price: Precio
+ Bonus: Bonificación
+ Inflation: Inflación
+ Volumetric: Volumétrico
+
diff --git a/src/pages/Zone/Card/ZoneCalendar.vue b/src/pages/Zone/Card/ZoneCalendar.vue
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/pages/Zone/Card/ZoneLocations.vue b/src/pages/Zone/Card/ZoneLocations.vue
new file mode 100644
index 000000000..e69de29bb
diff --git a/src/pages/Zone/Card/ZoneLog.vue b/src/pages/Zone/Card/ZoneLog.vue
new file mode 100644
index 000000000..373d210b5
--- /dev/null
+++ b/src/pages/Zone/Card/ZoneLog.vue
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/src/pages/Zone/Card/ZoneSummary.vue b/src/pages/Zone/Card/ZoneSummary.vue
new file mode 100644
index 000000000..63090b5d4
--- /dev/null
+++ b/src/pages/Zone/Card/ZoneSummary.vue
@@ -0,0 +1,3 @@
+
+ Si
+
diff --git a/src/pages/Zone/Card/ZoneWarehouses.vue b/src/pages/Zone/Card/ZoneWarehouses.vue
new file mode 100644
index 000000000..67a81ba4d
--- /dev/null
+++ b/src/pages/Zone/Card/ZoneWarehouses.vue
@@ -0,0 +1,59 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ t('Remove row') }}
+
+
+
+
+
+
+
+
+
+
+
+ es:
+ Remove row: Eliminar fila
+
diff --git a/src/pages/Zone/Delivery/ZoneDeliveryList.vue b/src/pages/Zone/Delivery/ZoneDeliveryList.vue
index c7a3cbcdb..695388a9b 100644
--- a/src/pages/Zone/Delivery/ZoneDeliveryList.vue
+++ b/src/pages/Zone/Delivery/ZoneDeliveryList.vue
@@ -6,7 +6,6 @@ import { useArrayData } from 'src/composables/useArrayData';
import { useI18n } from 'vue-i18n';
import { useRouter } from 'vue-router';
import CardList from 'components/ui/CardList.vue';
-import VnLv from 'components/ui/VnLv.vue';
const quasar = useQuasar();
const arrayData = useArrayData('ZoneDeliveryList');
@@ -45,7 +44,7 @@ async function remove(row) {
diff --git a/src/pages/Zone/Upcoming/ZoneUpcomingList.vue b/src/pages/Zone/Upcoming/ZoneUpcomingList.vue
index 5c417df8f..2d3016f25 100644
--- a/src/pages/Zone/Upcoming/ZoneUpcomingList.vue
+++ b/src/pages/Zone/Upcoming/ZoneUpcomingList.vue
@@ -6,7 +6,6 @@ import { useArrayData } from 'src/composables/useArrayData';
import { useI18n } from 'vue-i18n';
import { useRouter } from 'vue-router';
import CardList from 'components/ui/CardList.vue';
-import VnLv from 'components/ui/VnLv.vue';
const quasar = useQuasar();
const arrayData = useArrayData('ZoneUpcomingList');
@@ -45,7 +44,7 @@ async function remove(row) {
diff --git a/src/pages/Zone/ZoneCreate.vue b/src/pages/Zone/ZoneCreate.vue
index 8c0ba8c17..93ea9589b 100644
--- a/src/pages/Zone/ZoneCreate.vue
+++ b/src/pages/Zone/ZoneCreate.vue
@@ -96,7 +96,7 @@ function filterType(val, update) {
@@ -116,7 +116,7 @@ function filterType(val, update) {
+import { ref } from 'vue';
+import { useI18n } from 'vue-i18n';
+import VnInput from 'components/common/VnInput.vue';
+import FetchData from 'components/FetchData.vue';
+import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
+import VnSelectFilter from 'components/common/VnSelectFilter.vue';
+
+const { t } = useI18n();
+const props = defineProps({
+ dataKey: {
+ type: String,
+ required: true,
+ },
+ exprBuilder: {
+ type: Function,
+ default: null,
+ },
+});
+const agencies = ref([]);
+
+
+
+ (agencies = data)"
+ auto-load
+ />
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/pages/Zone/ZoneList.vue b/src/pages/Zone/ZoneList.vue
index 00502e1f7..2140c5e14 100644
--- a/src/pages/Zone/ZoneList.vue
+++ b/src/pages/Zone/ZoneList.vue
@@ -7,21 +7,15 @@ import { useI18n } from 'vue-i18n';
import { useRouter } from 'vue-router';
import CardList from 'components/ui/CardList.vue';
import VnLv from 'components/ui/VnLv.vue';
+import FetchData from 'src/components/FetchData.vue';
+import { useSummaryDialog } from 'src/composables/useSummaryDialog';
const quasar = useQuasar();
const arrayData = useArrayData('ZoneList');
const store = arrayData.store;
const router = useRouter();
const { t } = useI18n();
-
-const filter = {
- include: {
- relation: 'type',
- scope: {
- fields: 'name',
- },
- },
-};
+const { viewSummary } = useSummaryDialog();
function navigate(id) {
router.push({ path: `/zone/${id}/edit` });
@@ -44,18 +38,25 @@ async function remove(row) {
//
}
}
+
+function extractHour(dateTime) {
+ const date = new Date(dateTime);
+ const hours = date.getHours().toString().padStart(2, '0');
+ const minutes = date.getMinutes().toString().padStart(2, '0');
+ return `${hours}:${minutes}`;
+}
+ (agencyOptions = data)"
+ :filter="{ fields: ['id', 'name'] }"
+ auto-load
+ />
-
+
-
-
+
+
+
+
+
+
-
+
+ {{ t('zone.list.create') }}
+
diff --git a/src/pages/Zone/ZoneUpcoming.vue b/src/pages/Zone/ZoneUpcoming.vue
new file mode 100644
index 000000000..d405c95f6
--- /dev/null
+++ b/src/pages/Zone/ZoneUpcoming.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
+
+
+
+
+
+
+ {{ t(`${getWeekDay(/*detail.shipped*/)}`) }} -
+ {{ t /*'detail.shipped'*/() }}
+
+
+
+
diff --git a/src/pages/Zone/locale/en.yml b/src/pages/Zone/locale/en.yml
new file mode 100644
index 000000000..e62111d57
--- /dev/null
+++ b/src/pages/Zone/locale/en.yml
@@ -0,0 +1,19 @@
+zone:
+ list:
+ volume: Volume
+ clone: Clone
+ id: Id
+ name: Name
+ agency: Agency
+ close: Close
+ price: Price
+ create: Create zone
+ openSummary: Details
+ create:
+ name: Name
+ agency: Agency
+ close: Close
+ price: Price
+ type:
+ submit: Save
+ reset: Reset
diff --git a/src/pages/Zone/locale/es.yml b/src/pages/Zone/locale/es.yml
new file mode 100644
index 000000000..5d7a265bf
--- /dev/null
+++ b/src/pages/Zone/locale/es.yml
@@ -0,0 +1,19 @@
+zone:
+ list:
+ volume: Volumen
+ clone: Clonar
+ id: Id
+ name: Nombre
+ agency: Agencia
+ close: Cierre
+ price: Precio
+ create: Crear zona
+ openSummary: Detalles
+ create:
+ name: Nombre
+ agency: Agencia
+ close: Cierre
+ price: Precio
+ type:
+ submit: Guardar
+ reset: Reiniciar