0
0
Fork 0

Merge pull request '#7130 - addFieldInRoutes' (!259) from 7130-addFieldInRoutes into dev

Reviewed-on: verdnatura/salix-front#259
Reviewed-by: Javi Gallego <jgallego@verdnatura.es>
Reviewed-by: Alex Moreno <alexm@verdnatura.es>
This commit is contained in:
Jon Elias 2024-04-18 09:34:31 +00:00
commit bb97acc261
6 changed files with 68 additions and 8 deletions

View File

@ -22,6 +22,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- (Tickets) => Se añade la opción de clonar ticket. #6951
- (Parking) => Se añade la sección Parking. #5186
- (Rutas) => Se añade el campo "servida" a la tabla y se añade también a los filtros. #7130
### Changed
### Fixed

View File

@ -257,7 +257,7 @@ const requiredFieldRule = (val) => val || t('globals.requiredField');
const isAdministrative = () => hasAny(['administrative']);
const isAgricultural = () =>
invoiceIn.value.supplier.sageWithholdingFk == config.value[0].sageWithholdingFk;
invoiceIn.value?.supplier?.sageWithholdingFk === config.value[0]?.sageWithholdingFk;
function showPdfInvoice() {
if (isAgricultural()) openReport(`InvoiceIns/${entityId.value}/invoice-in-pdf`);

View File

@ -197,6 +197,15 @@ const warehouseList = ref([]);
/>
</QItemSection>
</QItem>
<QItem>
<QItemSection>
<QCheckbox
v-model="params.isOk"
:label="t('Served')"
toggle-indeterminate
/>
</QItemSection>
</QItem>
</template>
</VnFilterPanel>
</template>
@ -212,6 +221,7 @@ en:
workerFk: Worker
from: From
to: To
Served: Served
es:
params:
warehouseFk: Almacén
@ -229,4 +239,5 @@ es:
Worker: Trabajador
From: Desde
To: Hasta
Served: Servida
</i18n>

View File

@ -11,8 +11,8 @@ import VnInputDate from 'components/common/VnInputDate.vue';
import VnInput from 'components/common/VnInput.vue';
import axios from 'axios';
import VnInputTime from 'components/common/VnInputTime.vue';
import RouteSearchbar from "pages/Route/Card/RouteSearchbar.vue";
import {useStateStore} from "stores/useStateStore";
import RouteSearchbar from 'pages/Route/Card/RouteSearchbar.vue';
import { useStateStore } from 'stores/useStateStore';
const { t } = useI18n();
const route = useRoute();
@ -26,6 +26,7 @@ const defaultInitialData = {
description: '',
vehicleFk: null,
workerFk: null,
isOk: false,
};
const workerList = ref([]);
@ -211,6 +212,7 @@ const onSave = (data, response) => {
size="sm"
v-model="data.isOk"
:label="t('Is served')"
clearable
/>
</div>
</VnRow>

View File

@ -187,6 +187,15 @@ const ticketColumns = ref([
:label="t('route.summary.packages')"
:value="getTotalPackages(entity.tickets)"
/>
<QCheckbox
:label="
entity.route.isOk
? t('route.summary.closed')
: t('route.summary.open')
"
v-model="entity.route.isOk"
:disable="true"
/>
</QCard>
<QCard class="vn-one">
<div class="header">
@ -278,6 +287,10 @@ en:
m3:
packaging: Packaging
ticket: Ticket
closed: Closed
open: Open
yes: Yes
no: No
es:
route:
summary:
@ -301,4 +314,8 @@ es:
client: Cliente
warehouse: Almacén
packaging: Encajado
closed: Cerrada
open: Abierta
yes:
no: No
</i18n>

View File

@ -95,6 +95,13 @@ const columns = computed(() => [
sortable: true,
align: 'left',
},
{
name: 'isServed',
label: t('Served'),
field: (row) => Boolean(row.isOk),
sortable: true,
align: 'left',
},
{
name: 'actions',
label: '',
@ -265,7 +272,7 @@ const openTicketsDialog = (id) => {
auto-load
>
<template #body="{ rows }">
<div class="q-pa-md">
<div class="q-pa-md route-table">
<QTable
v-model:selected="selectedRows"
:columns="columns"
@ -279,7 +286,7 @@ const openTicketsDialog = (id) => {
:no-data-label="t('globals.noResults')"
>
<template #body-cell-worker="{ row }">
<QTd>
<QTd class="table-input-cell">
<VnSelectFilter
:label="t('Worker')"
v-model="row.workerFk"
@ -312,7 +319,7 @@ const openTicketsDialog = (id) => {
</QTd>
</template>
<template #body-cell-agency="{ row }">
<QTd>
<QTd class="table-input-cell">
<VnSelectFilter
:label="t('Agency')"
v-model="row.agencyModeFk"
@ -329,7 +336,7 @@ const openTicketsDialog = (id) => {
</QTd>
</template>
<template #body-cell-vehicle="{ row }">
<QTd>
<QTd class="table-input-cell">
<VnSelectFilter
:label="t('Vehicle')"
v-model="row.vehicleFk"
@ -397,6 +404,19 @@ const openTicketsDialog = (id) => {
/>
</QTd>
</template>
<template #body-cell-isServed="props">
<QTd>
<QCheckbox v-model="props.value" disable>
<QTooltip>
{{
props.value
? t('Route is closed')
: t('Route is not served')
}}
</QTooltip>
</QCheckbox>
</QTd>
</template>
<template #body-cell-actions="props">
<QTd :props="props">
<div class="flex items-center no-wrap table-actions">
@ -455,7 +475,7 @@ const openTicketsDialog = (id) => {
<style lang="scss" scoped>
.table-input-cell {
min-width: 150px;
max-width: 143px;
}
.route-list {
@ -466,6 +486,11 @@ const openTicketsDialog = (id) => {
.table-actions {
gap: 12px;
}
.lock-icon-cell {
text-align: center;
margin-left: -20%;
}
</style>
<i18n>
en:
@ -479,6 +504,7 @@ es:
Description: Descripción
Hour started: Hora inicio
Hour finished: Hora fin
Served: Servida
newRoute: Nueva Ruta
Clone Selected Routes: Clonar rutas seleccionadas
Select the starting date: Seleccione la fecha de inicio
@ -490,4 +516,6 @@ es:
Add ticket: Añadir tickets
Preview: Vista previa
Summary: Resumen
Route is closed: La ruta está cerrada
Route is not served: La ruta no está servida
</i18n>