7658-devToTest_2428 #508
|
@ -979,6 +979,18 @@ route:
|
||||||
shipped: Preparation date
|
shipped: Preparation date
|
||||||
viewCmr: View CMR
|
viewCmr: View CMR
|
||||||
downloadCmrs: Download CMRs
|
downloadCmrs: Download CMRs
|
||||||
|
columnLabels:
|
||||||
|
ID: Id
|
||||||
|
vehicle: Vehicle
|
||||||
|
description: Description
|
||||||
|
isServed: Served
|
||||||
|
worker: Worker
|
||||||
|
date: Date
|
||||||
|
started: Started
|
||||||
|
actions: Actions
|
||||||
|
agency: Agency
|
||||||
|
volume: Volume
|
||||||
|
finished: Finished
|
||||||
supplier:
|
supplier:
|
||||||
pageTitles:
|
pageTitles:
|
||||||
suppliers: Suppliers
|
suppliers: Suppliers
|
||||||
|
|
|
@ -101,6 +101,7 @@ globals:
|
||||||
zonesList: Zonas
|
zonesList: Zonas
|
||||||
deliveryList: Días de entrega
|
deliveryList: Días de entrega
|
||||||
upcomingList: Próximos repartos
|
upcomingList: Próximos repartos
|
||||||
|
workers: Trabajadores
|
||||||
created: Fecha creación
|
created: Fecha creación
|
||||||
worker: Trabajador
|
worker: Trabajador
|
||||||
now: Ahora
|
now: Ahora
|
||||||
|
@ -967,6 +968,18 @@ route:
|
||||||
shipped: Fecha preparación
|
shipped: Fecha preparación
|
||||||
viewCmr: Ver CMR
|
viewCmr: Ver CMR
|
||||||
downloadCmrs: Descargar CMRs
|
downloadCmrs: Descargar CMRs
|
||||||
|
columnLabels:
|
||||||
|
Id: Id
|
||||||
|
vehicle: Vehículo
|
||||||
|
description: Descripción
|
||||||
|
isServed: Servida
|
||||||
|
worker: Trabajador
|
||||||
|
date: Fecha
|
||||||
|
started: Iniciada
|
||||||
|
actions: Acciones
|
||||||
|
agency: Agencia
|
||||||
|
volume: Volumen
|
||||||
|
finished: Finalizada
|
||||||
supplier:
|
supplier:
|
||||||
pageTitles:
|
pageTitles:
|
||||||
suppliers: Proveedores
|
suppliers: Proveedores
|
||||||
|
|
|
@ -240,4 +240,5 @@ es:
|
||||||
From: Desde
|
From: Desde
|
||||||
To: Hasta
|
To: Hasta
|
||||||
Served: Servida
|
Served: Servida
|
||||||
|
Days Onward: Días en adelante
|
||||||
</i18n>
|
</i18n>
|
||||||
|
|
|
@ -38,7 +38,7 @@ const selectedRows = ref([]);
|
||||||
const columns = computed(() => [
|
const columns = computed(() => [
|
||||||
{
|
{
|
||||||
name: 'ID',
|
name: 'ID',
|
||||||
label: t('ID'),
|
label: 'Id',
|
||||||
field: (row) => row.routeFk,
|
field: (row) => row.routeFk,
|
||||||
sortable: true,
|
sortable: true,
|
||||||
align: 'left',
|
align: 'left',
|
||||||
|
@ -116,7 +116,11 @@ const columns = computed(() => [
|
||||||
|
|
||||||
const refreshKey = ref(0);
|
const refreshKey = ref(0);
|
||||||
|
|
||||||
const total = computed(() => selectedRows.value.reduce((item) => item?.price || 0, 0));
|
const total = ref(() => {
|
||||||
|
console.log('selectedRows.value: ', selectedRows.value);
|
||||||
|
return selectedRows.value.reduce((item) => item?.price || 0, 0);
|
||||||
|
});
|
||||||
|
console.log('total: ', total);
|
||||||
|
|
||||||
const openDmsUploadDialog = async () => {
|
const openDmsUploadDialog = async () => {
|
||||||
dmsDialog.value.rowsToCreateInvoiceIn = selectedRows.value
|
dmsDialog.value.rowsToCreateInvoiceIn = selectedRows.value
|
||||||
|
@ -225,6 +229,7 @@ function navigateToRouteSummary(event, row) {
|
||||||
</QBtn>
|
</QBtn>
|
||||||
</QCard>
|
</QCard>
|
||||||
</div>
|
</div>
|
||||||
|
{{ total }}
|
||||||
<VnPaginate
|
<VnPaginate
|
||||||
:key="refreshKey"
|
:key="refreshKey"
|
||||||
data-key="RouteAutonomousList"
|
data-key="RouteAutonomousList"
|
||||||
|
@ -324,6 +329,13 @@ function navigateToRouteSummary(event, row) {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
th:last-child,
|
||||||
|
td:last-child {
|
||||||
|
background-color: var(--vn-section-color);
|
||||||
|
position: sticky;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
<i18n>
|
<i18n>
|
||||||
es:
|
es:
|
||||||
|
|
|
@ -22,18 +22,27 @@ import RouteListTicketsDialog from 'pages/Route/Card/RouteListTicketsDialog.vue'
|
||||||
import { useQuasar } from 'quasar';
|
import { useQuasar } from 'quasar';
|
||||||
import { useArrayData } from 'composables/useArrayData';
|
import { useArrayData } from 'composables/useArrayData';
|
||||||
|
|
||||||
const stateStore = useStateStore();
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const { validate } = useValidator();
|
const { validate } = useValidator();
|
||||||
|
const { viewSummary } = useSummaryDialog();
|
||||||
|
const stateStore = useStateStore();
|
||||||
const quasar = useQuasar();
|
const quasar = useQuasar();
|
||||||
const session = useSession();
|
const session = useSession();
|
||||||
const { viewSummary } = useSummaryDialog();
|
const paginate = ref();
|
||||||
const visibleColumns = ref([]);
|
const visibleColumns = ref([]);
|
||||||
const selectedRows = ref([]);
|
const selectedRows = ref([]);
|
||||||
|
const workers = ref([]);
|
||||||
|
const agencyList = ref([]);
|
||||||
|
const vehicleList = ref([]);
|
||||||
|
const allColumnNames = ref([]);
|
||||||
|
const confirmationDialog = ref(false);
|
||||||
|
const startingDate = ref(null);
|
||||||
|
const refreshKey = ref(0);
|
||||||
|
|
||||||
const columns = computed(() => [
|
const columns = computed(() => [
|
||||||
{
|
{
|
||||||
name: 'ID',
|
name: 'Id',
|
||||||
label: t('ID'),
|
label: t('Id'),
|
||||||
field: (row) => row.id,
|
field: (row) => row.id,
|
||||||
sortable: true,
|
sortable: true,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
|
@ -108,14 +117,12 @@ const columns = computed(() => [
|
||||||
align: 'right',
|
align: 'right',
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const arrayData = useArrayData('EntryLatestBuys', {
|
const arrayData = useArrayData('EntryLatestBuys', {
|
||||||
url: 'Buys/latestBuysFilter',
|
url: 'Buys/latestBuysFilter',
|
||||||
order: ['itemFk DESC'],
|
order: ['itemFk DESC'],
|
||||||
});
|
});
|
||||||
const refreshKey = ref(0);
|
|
||||||
const workers = ref([]);
|
|
||||||
const agencyList = ref([]);
|
|
||||||
const vehicleList = ref([]);
|
|
||||||
const updateRoute = async (route) => {
|
const updateRoute = async (route) => {
|
||||||
try {
|
try {
|
||||||
return await axios.patch(`Routes/${route.id}`, route);
|
return await axios.patch(`Routes/${route.id}`, route);
|
||||||
|
@ -123,9 +130,6 @@ const updateRoute = async (route) => {
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const allColumnNames = ref([]);
|
|
||||||
const confirmationDialog = ref(false);
|
|
||||||
const startingDate = ref(null);
|
|
||||||
|
|
||||||
const cloneRoutes = () => {
|
const cloneRoutes = () => {
|
||||||
axios.post('Routes/clone', {
|
axios.post('Routes/clone', {
|
||||||
|
@ -134,6 +138,7 @@ const cloneRoutes = () => {
|
||||||
});
|
});
|
||||||
refreshKey.value++;
|
refreshKey.value++;
|
||||||
startingDate.value = null;
|
startingDate.value = null;
|
||||||
|
paginate.value.fetch();
|
||||||
};
|
};
|
||||||
|
|
||||||
const showRouteReport = () => {
|
const showRouteReport = () => {
|
||||||
|
@ -153,15 +158,13 @@ const showRouteReport = () => {
|
||||||
window.open(url, '_blank');
|
window.open(url, '_blank');
|
||||||
};
|
};
|
||||||
|
|
||||||
const markAsServed = () => {
|
function markAsServed() {
|
||||||
selectedRows.value.forEach((row) => {
|
selectedRows.value.forEach(async (row) => {
|
||||||
if (row?.id) {
|
if (row?.id) await axios.patch(`Routes/${row?.id}`, { isOk: true });
|
||||||
axios.patch(`Routes/${row?.id}`, { isOk: true });
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
refreshKey.value++;
|
refreshKey.value++;
|
||||||
startingDate.value = null;
|
startingDate.value = null;
|
||||||
};
|
}
|
||||||
|
|
||||||
const openTicketsDialog = (id) => {
|
const openTicketsDialog = (id) => {
|
||||||
if (!id) {
|
if (!id) {
|
||||||
|
@ -178,11 +181,9 @@ const openTicketsDialog = (id) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(async () => {
|
onMounted(async () => {
|
||||||
stateStore.rightDrawer = true;
|
|
||||||
allColumnNames.value = columns.value.map((col) => col.name);
|
allColumnNames.value = columns.value.map((col) => col.name);
|
||||||
await arrayData.fetch({ append: false });
|
await arrayData.fetch({ append: false });
|
||||||
});
|
});
|
||||||
onUnmounted(() => (stateStore.rightDrawer = false));
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -246,7 +247,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
|
||||||
class="LeftIcon"
|
class="LeftIcon"
|
||||||
:all-columns="allColumnNames"
|
:all-columns="allColumnNames"
|
||||||
table-code="routesList"
|
table-code="routesList"
|
||||||
labels-traductions-path="globals"
|
labels-traductions-path="route.columnLabels"
|
||||||
@on-config-saved="visibleColumns = [...$event]"
|
@on-config-saved="visibleColumns = [...$event]"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
|
@ -274,7 +275,7 @@ onUnmounted(() => (stateStore.rightDrawer = false));
|
||||||
color="primary"
|
color="primary"
|
||||||
class="q-mr-sm"
|
class="q-mr-sm"
|
||||||
:disable="!selectedRows?.length"
|
:disable="!selectedRows?.length"
|
||||||
@click="markAsServed"
|
@click="markAsServed()"
|
||||||
>
|
>
|
||||||
<QTooltip>{{ t('Mark as served') }}</QTooltip>
|
<QTooltip>{{ t('Mark as served') }}</QTooltip>
|
||||||
</QBtn>
|
</QBtn>
|
||||||
|
@ -518,7 +519,6 @@ en:
|
||||||
hourStarted: Started hour
|
hourStarted: Started hour
|
||||||
hourFinished: Finished hour
|
hourFinished: Finished hour
|
||||||
es:
|
es:
|
||||||
ID: ID
|
|
||||||
Worker: Trabajador
|
Worker: Trabajador
|
||||||
Agency: Agencia
|
Agency: Agencia
|
||||||
Vehicle: Vehículo
|
Vehicle: Vehículo
|
||||||
|
@ -539,4 +539,6 @@ es:
|
||||||
Summary: Resumen
|
Summary: Resumen
|
||||||
Route is closed: La ruta está cerrada
|
Route is closed: La ruta está cerrada
|
||||||
Route is not served: La ruta no está servida
|
Route is not served: La ruta no está servida
|
||||||
|
hourStarted: Hora de inicio
|
||||||
|
hourFinished: Hora de fin
|
||||||
</i18n>
|
</i18n>
|
||||||
|
|
|
@ -15,14 +15,11 @@ import VnConfirm from 'components/ui/VnConfirm.vue';
|
||||||
import FetchData from 'components/FetchData.vue';
|
import FetchData from 'components/FetchData.vue';
|
||||||
import { openBuscaman } from 'src/utils/buscaman';
|
import { openBuscaman } from 'src/utils/buscaman';
|
||||||
import SendSmsDialog from 'components/common/SendSmsDialog.vue';
|
import SendSmsDialog from 'components/common/SendSmsDialog.vue';
|
||||||
import RouteSearchbar from 'pages/Route/Card/RouteSearchbar.vue';
|
|
||||||
import { useStateStore } from 'stores/useStateStore';
|
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const quasar = useQuasar();
|
const quasar = useQuasar();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
const stateStore = useStateStore();
|
|
||||||
const selectedRows = ref([]);
|
const selectedRows = ref([]);
|
||||||
const columns = computed(() => [
|
const columns = computed(() => [
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue