diff --git a/src/components/NavBar.vue b/src/components/NavBar.vue index 3051e8b99..e80a293c6 100644 --- a/src/components/NavBar.vue +++ b/src/components/NavBar.vue @@ -7,7 +7,7 @@ import { useQuasar } from 'quasar'; import PinnedModules from './PinnedModules.vue'; import UserPanel from 'components/UserPanel.vue'; import VnBreadcrumbs from './common/VnBreadcrumbs.vue'; -import VnImg from 'src/components/ui/VnImg.vue'; +import VnAvatar from './ui/VnAvatar.vue'; const { t } = useI18n(); const stateStore = useStateStore(); @@ -72,22 +72,13 @@ const pinnedModulesRef = ref(); - - - - + + {{ t('globals.userPanel') }} diff --git a/src/components/UserPanel.vue b/src/components/UserPanel.vue index 589524258..2f191691a 100644 --- a/src/components/UserPanel.vue +++ b/src/components/UserPanel.vue @@ -11,8 +11,8 @@ import VnSelect from 'src/components/common/VnSelect.vue'; import VnRow from 'components/ui/VnRow.vue'; import FetchData from 'components/FetchData.vue'; import { useClipboard } from 'src/composables/useClipboard'; -import VnImg from 'src/components/ui/VnImg.vue'; import { useRole } from 'src/composables/useRole'; +import VnAvatar from './ui/VnAvatar.vue'; const state = useState(); const session = useSession(); @@ -136,7 +136,7 @@ const isEmployee = computed(() => useRole().isEmployee()); @update:model-value="saveLanguage" :label="t(`globals.lang['${userLocale}']`)" icon="public" - color="orange" + color="primary" false-value="es" true-value="en" /> @@ -145,7 +145,7 @@ const isEmployee = computed(() => useRole().isEmployee()); @update:model-value="saveDarkMode" :label="t(`globals.darkMode`)" checked-icon="dark_mode" - color="orange" + color="primary" unchecked-icon="light_mode" /> @@ -153,10 +153,20 @@ const isEmployee = computed(() => useRole().isEmployee());
- - - - + +
{{ user.nickname }}
@@ -168,7 +178,7 @@ const isEmployee = computed(() => useRole().isEmployee());
useRole().isEmployee()); } } + +es: + My account: Mi cuenta + diff --git a/src/components/VnTable/VnTable.vue b/src/components/VnTable/VnTable.vue index 5187cd6be..4acd3ca4f 100644 --- a/src/components/VnTable/VnTable.vue +++ b/src/components/VnTable/VnTable.vue @@ -108,6 +108,8 @@ const CrudModelRef = ref({}); const showForm = ref(false); const splittedColumns = ref({ columns: [] }); const columnsVisibilitySkiped = ref(); +const createForm = ref(); + const tableModes = [ { icon: 'view_column', @@ -139,6 +141,14 @@ onMounted(() => { .map((c) => c.name), ...['tableActions'], ]; + createForm.value = $props.create; + if ($props.create && route?.query?.createForm) { + showForm.value = true; + createForm.value = { + ...createForm.value, + ...{ formInitialData: JSON.parse(route?.query?.createForm) }, + }; + } }); watch( @@ -160,7 +170,7 @@ function setUserParams(watchedParams, watchedOrder) { if (typeof watchedParams == 'string') watchedParams = JSON.parse(watchedParams); const filter = typeof watchedParams?.filter == 'string' - ? JSON.parse(watchedParams?.filter) + ? JSON.parse(watchedParams?.filter ?? '{}') : watchedParams?.filter; const where = filter?.where; const order = watchedOrder ?? filter?.order; @@ -625,14 +635,14 @@ defineExpose({ - {{ create.title }} + {{ createForm.title }} diff --git a/src/components/ui/VnRow.vue b/src/components/ui/VnRow.vue index f68052455..5c01d7216 100644 --- a/src/components/ui/VnRow.vue +++ b/src/components/ui/VnRow.vue @@ -1,15 +1,12 @@ - - + +es: + I do not remember my password: No recuerdo mi contraseña + diff --git a/src/pages/Login/RecoverPassword.vue b/src/pages/Login/RecoverPassword.vue new file mode 100644 index 000000000..5e0fd367a --- /dev/null +++ b/src/pages/Login/RecoverPassword.vue @@ -0,0 +1,59 @@ + + diff --git a/src/pages/Login/ResetPassword.vue b/src/pages/Login/ResetPassword.vue new file mode 100644 index 000000000..eff718e97 --- /dev/null +++ b/src/pages/Login/ResetPassword.vue @@ -0,0 +1,99 @@ + + diff --git a/src/pages/Login/TwoFactor.vue b/src/pages/Login/TwoFactor.vue index 31b4ccc79..dd404094f 100644 --- a/src/pages/Login/TwoFactor.vue +++ b/src/pages/Login/TwoFactor.vue @@ -8,6 +8,7 @@ import axios from 'axios'; import { useSession } from 'src/composables/useSession'; import { useLogin } from 'src/composables/useLogin'; import VnInput from 'src/components/common/VnInput.vue'; +import VnOutForm from 'src/components/ui/VnOutForm.vue'; const quasar = useQuasar(); const session = useSession(); @@ -38,24 +39,22 @@ async function onSubmit() { } - diff --git a/src/pages/Route/Card/RouteFilter.vue b/src/pages/Route/Card/RouteFilter.vue index 24b155389..a6cd149f1 100644 --- a/src/pages/Route/Card/RouteFilter.vue +++ b/src/pages/Route/Card/RouteFilter.vue @@ -119,6 +119,7 @@ const emit = defineEmits(['search']); sort-by="numberPlate ASC" option-value="id" option-label="numberPlate" + option-filter-value="numberPlate" dense outlined rounded diff --git a/src/pages/Route/Card/RouteForm.vue b/src/pages/Route/Card/RouteForm.vue index b80b4536d..8c89718fa 100644 --- a/src/pages/Route/Card/RouteForm.vue +++ b/src/pages/Route/Card/RouteForm.vue @@ -142,11 +142,6 @@ const onSave = (data, response) => { @@ -194,7 +189,7 @@ es: Description: Descripción Is served: Se ha servido Created: Creado - Distance must be lesser than: La distancia debe ser inferior a {maxDistance} + The km can not exceed: La distancia debe ser inferior a {maxDistance} en: - Distance must be lesser than: Distance must be lesser than {maxDistance} + The km can not exceed: Distance must be lesser than {maxDistance} diff --git a/src/pages/Route/RouteList.vue b/src/pages/Route/RouteList.vue index a978d8fda..e24ed33ed 100644 --- a/src/pages/Route/RouteList.vue +++ b/src/pages/Route/RouteList.vue @@ -99,6 +99,7 @@ const columns = computed(() => [ url: 'vehicles', fields: ['id', 'numberPlate'], optionLabel: 'numberPlate', + optionFilterValue: 'numberPlate', find: { value: 'vehicleFk', label: 'vehiclePlateNumber', diff --git a/src/pages/Ticket/Card/TicketBoxing.vue b/src/pages/Ticket/Card/TicketBoxing.vue index 05bde8977..bff95c0e2 100644 --- a/src/pages/Ticket/Card/TicketBoxing.vue +++ b/src/pages/Ticket/Card/TicketBoxing.vue @@ -105,14 +105,14 @@ async function getVideoList(expeditionId, timed) { label markers snap - color="orange" + color="primary" /> {