diff --git a/src/pages/Route/Card/RouteListTicketsDialog.vue b/src/pages/Route/Card/RouteListTicketsDialog.vue new file mode 100644 index 0000000000..9e3aad76d1 --- /dev/null +++ b/src/pages/Route/Card/RouteListTicketsDialog.vue @@ -0,0 +1,244 @@ + + + + + (!value ? (selectedTicket = null) : null)" + class="confirmation-dialog" + > + + + {{ t('Unlink selected zone?') }} + + + + + {{ t('Unlink') }} + + + + + + + + {{ t('Tickets to add') }} + + + + + + + + + {{ props.value }} + + + + + + + + {{ props.value }} + + + + + + + + {{ + t('Unlink zone', { + zone: props?.row?.zone?.name, + agency: props?.row?.agencyMode?.name, + }) + }} + + + + + + + + {{ t('globals.cancel') }} + + {{ t('globals.add') }} + + + + + + + + +en: + Unlink zone: Unlink zone {zone} from agency {agency} +es: + Tickets to add: Tickets a añadir + Client: Cliente + Province: Provincia + Population: Población + PC: CP + Address: Dirección + Zone: Zona + Unlink zone: Desvincular zona {zone} de agencia {agency} + Unlink: Desvincular + diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue index c4ae6c8b6c..59803abbca 100644 --- a/src/pages/Route/RouteList.vue +++ b/src/pages/Route/RouteList.vue @@ -15,12 +15,15 @@ import RouteSearchbar from 'pages/Route/Card/RouteSearchbar.vue'; import RouteFilter from 'pages/Route/Card/RouteFilter.vue'; import RouteSummary from 'pages/Route/Card/RouteSummary.vue'; import VnSubToolbar from 'src/components/ui/VnSubToolbar.vue'; -import {useSession} from "composables/useSession"; +import { useSession } from 'composables/useSession'; import { useSummaryDialog } from 'src/composables/useSummaryDialog'; +import RouteListTicketsDialog from 'pages/Route/Card/RouteListTicketsDialog.vue'; +import { useQuasar } from 'quasar'; const stateStore = useStateStore(); const { t } = useI18n(); const { validate } = useValidator(); +const quasar = useQuasar(); const session = useSession(); const { viewSummary } = useSummaryDialog(); @@ -143,8 +146,8 @@ const cloneRoutes = () => { }; const showRouteReport = () => { - const ids = selectedRows.value.map(row => row?.id) - const idString = ids.join(',') + const ids = selectedRows.value.map((row) => row?.id); + const idString = ids.join(','); let url; if (selectedRows.value.length <= 1) { @@ -152,12 +155,12 @@ const showRouteReport = () => { } else { const params = new URLSearchParams({ access_token: session.getToken(), - id: idString - }) + id: idString, + }); url = `api/Routes/downloadZip?${params.toString()}`; } window.open(url, '_blank'); -} +}; const markAsServed = () => { selectedRows.value.forEach((row) => { @@ -168,6 +171,20 @@ const markAsServed = () => { refreshKey.value++; startingDate.value = null; }; + +const openTicketsDialog = (id) => { + if (!id) { + return; + } + quasar + .dialog({ + component: RouteListTicketsDialog, + componentProps: { + id, + }, + }) + .onOk(() => refreshKey.value++); +}; @@ -470,6 +487,7 @@ const markAsServed = () => { size="xs" color="primary" class="cursor-pointer" + @click="openTicketsDialog(props?.row?.id)" > {{ t('Add ticket') }}
{{ t('Unlink selected zone?') }}