0
1
Fork 0

Resolve conflicts

This commit is contained in:
William Buezas 2024-08-23 16:23:14 -03:00
commit 7c4123ca0b
25 changed files with 209 additions and 72 deletions

View File

@ -200,7 +200,10 @@ defineExpose({
</script> </script>
<template> <template>
<QCard class="form-container" v-bind="$attrs"> <QCard
class="form-container"
v-bind="$attrs"
>
<QForm <QForm
v-if="!loading" v-if="!loading"
ref="addressFormRef" ref="addressFormRef"
@ -210,7 +213,14 @@ defineExpose({
<span v-if="title" class="text-h6 text-bold"> <span v-if="title" class="text-h6 text-bold">
{{ title }} {{ title }}
</span> </span>
<slot name="form" :data="formData" /> <slot
name="form"
:data="formData"
/>
<slot
name="extraForm"
:data="formData"
/>
<component <component
v-if="isHeaderMounted" v-if="isHeaderMounted"
:is="showBottomActions ? 'div' : Teleport" :is="showBottomActions ? 'div' : Teleport"
@ -244,11 +254,20 @@ defineExpose({
<slot name="actions" :data="formData" /> <slot name="actions" :data="formData" />
</component> </component>
</QForm> </QForm>
<QSpinner v-else color="primary" size="3em" :thickness="2" /> <QSpinner
v-else
color="primary"
size="3em"
:thickness="2"
/>
</QCard> </QCard>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
.no-form-container {
padding: 0 !important;
box-shadow: none;
border: none;
}
.form-container { .form-container {
width: 100%; width: 100%;
height: max-content; height: max-content;

View File

@ -85,11 +85,17 @@ const inputRules = [
hide-bottom-space hide-bottom-space
@keyup.enter="emit('keyup.enter')" @keyup.enter="emit('keyup.enter')"
> >
<template v-if="$slots.prepend" #prepend> <template
v-if="$slots.prepend"
#prepend
>
<slot name="prepend" /> <slot name="prepend" />
</template> </template>
<template #append> <template #append>
<slot v-if="$slots.append && !$attrs.disabled" name="append" /> <slot
v-if="$slots.append && !$attrs.disabled"
name="append"
/>
<QIcon <QIcon
v-if="hover && value && !$attrs.disabled && props.clearable" v-if="hover && value && !$attrs.disabled && props.clearable"
name="close" name="close"
@ -101,7 +107,10 @@ const inputRules = [
} }
" "
/> />
<QIcon v-if="info" name="info"> <QIcon
v-if="info"
name="info"
>
<QTooltip max-width="350px"> <QTooltip max-width="350px">
{{ info }} {{ info }}
</QTooltip> </QTooltip>

View File

@ -162,7 +162,10 @@ async function filterHandler(val, update) {
:rules="$attrs.required ? [requiredFieldRule] : null" :rules="$attrs.required ? [requiredFieldRule] : null"
virtual-scroll-slice-size="options.length" virtual-scroll-slice-size="options.length"
> >
<template v-if="isClearable" #append> <template
v-if="isClearable"
#append
>
<QIcon <QIcon
v-show="value" v-show="value"
name="close" name="close"
@ -176,7 +179,11 @@ async function filterHandler(val, update) {
#[slotName]="slotData" #[slotName]="slotData"
:key="slotName" :key="slotName"
> >
<slot :name="slotName" v-bind="slotData ?? {}" :key="slotName" /> <slot
:name="slotName"
v-bind="slotData ?? {}"
:key="slotName"
/>
</template> </template>
</QSelect> </QSelect>
</template> </template>

View File

@ -73,8 +73,8 @@ async function confirm() {
/> />
</QCardSection> </QCardSection>
<QCardSection class="row items-center"> <QCardSection class="row items-center">
<span v-html="message"></span> <span v-html="message" />
<slot name="customHTML"></slot> <slot name="customHTML" />
</QCardSection> </QCardSection>
<QCardActions align="right"> <QCardActions align="right">
<QBtn <QBtn

View File

@ -10,7 +10,7 @@ const props = defineProps({
}, },
hideBottom: { hideBottom: {
type: Boolean, type: Boolean,
default: true default: false
}, },
rowsPerPageOptions: { rowsPerPageOptions: {
type: Array, type: Array,
@ -22,12 +22,12 @@ const props = defineProps({
<template> <template>
<QTable <QTable
v-bind="$attrs" v-bind="$attrs"
:no-data-label="props.noDataLabel || t('noInvoicesFound')" :no-data-label="props.noDataLabel || t('noData')"
:hide-bottom="props.hideBottom" :hide-bottom="props.hideBottom"
:rows-per-page-options="props.rowsPerPageOptions" :rows-per-page-options="props.rowsPerPageOptions"
table-header-class="vntable-header-default" table-header-class="vntable-header-default"
> >
<template v-for="(_, slotName) in $slots" v-slot:[slotName]="slotProps"> <template v-for="(_, slotName) in $slots" #[slotName]="slotProps">
<slot :name="slotName" v-bind="slotProps" /> <slot :name="slotName" v-bind="slotProps" />
</template> </template>
</QTable> </QTable>

View File

@ -42,3 +42,12 @@ a.link {
.no-padding { .no-padding {
padding: 0 !important; padding: 0 !important;
} }
input[type='number'] {
-moz-appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
appearance: none;
-webkit-appearance: none;
-moz-appearance: none;
}

View File

@ -63,5 +63,6 @@ export default {
orderLoadedIntoBasket: 'Comanda carregada a la cistella!', orderLoadedIntoBasket: 'Comanda carregada a la cistella!',
at: 'a les', at: 'a les',
back: 'Tornar', back: 'Tornar',
remove: 'Esborrar' remove: 'Esborrar',
noData: 'Sense dades'
}; };

View File

@ -77,6 +77,7 @@ export default {
at: 'at', at: 'at',
back: 'Back', back: 'Back',
remove: 'Remove', remove: 'Remove',
noData: 'No data',
orders: 'Orders', orders: 'Orders',
order: 'Pending order', order: 'Pending order',

View File

@ -83,6 +83,7 @@ export default {
at: 'a las', at: 'a las',
back: 'Volver', back: 'Volver',
remove: 'Borrar', remove: 'Borrar',
noData: 'Sin datos',
orders: 'Pedidos', orders: 'Pedidos',
order: 'Pedido pendiente', order: 'Pedido pendiente',

View File

@ -63,5 +63,6 @@ export default {
orderLoadedIntoBasket: 'Commande chargée dans le panier!', orderLoadedIntoBasket: 'Commande chargée dans le panier!',
at: 'à', at: 'à',
back: 'Retour', back: 'Retour',
remove: 'Effacer' remove: 'Effacer',
noData: 'Aucune donnée'
}; };

View File

@ -64,5 +64,6 @@ export default {
orderLoadedIntoBasket: 'Pedido carregado na cesta!', orderLoadedIntoBasket: 'Pedido carregado na cesta!',
at: 'às', at: 'às',
back: 'Voltar', back: 'Voltar',
remove: 'Eliminar' remove: 'Eliminar',
noData: 'Sem dados'
}; };

View File

@ -17,6 +17,7 @@ const appStore = useAppStore();
const { isHeaderMounted } = storeToRefs(appStore); const { isHeaderMounted } = storeToRefs(appStore);
const vnFormRef = ref(null); const vnFormRef = ref(null);
const vnFormRef2 = ref(null);
const changePasswordFormDialog = ref(null); const changePasswordFormDialog = ref(null);
const showChangePasswordForm = ref(false); const showChangePasswordForm = ref(false);
const langOptions = ref([]); const langOptions = ref([]);
@ -101,6 +102,26 @@ onMounted(() => fetchLanguagesSql());
@update:model-value="vnFormRef.submit()" @update:model-value="vnFormRef.submit()"
/> />
</template> </template>
<template #extraForm>
<VnForm
class="no-form-container"
ref="vnFormRef2"
:pks="pks"
table="myClient"
schema="hedera"
:fetch-form-data-sql="fetchConfigDataSql"
:default-actions="false"
>
<template #form="{ data }">
<QCheckbox
v-model="data.isToBeMailed"
:label="t('isToBeMailed')"
@update:model-value="vnFormRef2.submit()"
dense
/>
</template>
</VnForm>
</template>
</VnForm> </VnForm>
</QPage> </QPage>
<QDialog <QDialog
@ -117,6 +138,7 @@ onMounted(() => fetchLanguagesSql());
<i18n lang="yaml"> <i18n lang="yaml">
en-US: en-US:
personalInformation: Personal Information personalInformation: Personal Information
isToBeMailed: Receive invoices by email
name: Name name: Name
email: Email email: Email
nickname: Display name nickname: Display name
@ -126,6 +148,7 @@ en-US:
changePassword: Change password changePassword: Change password
es-ES: es-ES:
personalInformation: Datos personales personalInformation: Datos personales
isToBeMailed: Recibir facturas por correo electrónico
name: Nombre name: Nombre
email: Correo electrónico email: Correo electrónico
nickname: Nombre a mostrar nickname: Nombre a mostrar
@ -135,6 +158,7 @@ es-ES:
changePassword: Cambiar contraseña changePassword: Cambiar contraseña
ca-ES: ca-ES:
personalInformation: Dades personals personalInformation: Dades personals
isToBeMailed: Rebre factures per correu electrònic
name: Nom name: Nom
email: Correu electrònic email: Correu electrònic
nickname: Nom a mostrar nickname: Nom a mostrar
@ -144,6 +168,7 @@ ca-ES:
changePassword: Canviar contrasenya changePassword: Canviar contrasenya
fr-FR: fr-FR:
personalInformation: Informations personnelles personalInformation: Informations personnelles
isToBeMailed: Recevoir des factures par e-mail
name: Nom name: Nom
email: E-mail email: E-mail
nickname: Nom à afficher nickname: Nom à afficher
@ -153,6 +178,7 @@ fr-FR:
changePassword: Changer le mot de passe changePassword: Changer le mot de passe
pt-PT: pt-PT:
personalInformation: Dados pessoais personalInformation: Dados pessoais
isToBeMailed: Receber facturas por e-mail
name: Nome name: Nome
email: E-mail email: E-mail
nickname: Nom à afficher nickname: Nom à afficher

View File

@ -90,10 +90,22 @@ onMounted(() => getCountries());
@on-data-saved="goBack()" @on-data-saved="goBack()"
> >
<template #form="{ data }"> <template #form="{ data }">
<VnInput v-model="data.nickname" :label="t('name')" /> <VnInput
<VnInput v-model="data.street" :label="t('address')" /> v-model="data.nickname"
<VnInput v-model="data.city" :label="t('city')" /> :label="t('name')"
<VnInput v-model="data.postalCode" :label="t('postalCode')" /> />
<VnInput
v-model="data.street"
:label="t('address')"
/>
<VnInput
v-model="data.city"
:label="t('city')"
/>
<VnInput
v-model="data.postalCode"
:label="t('postalCode')"
/>
<VnSelect <VnSelect
v-model="data.countryFk" v-model="data.countryFk"
:label="t('country')" :label="t('country')"
@ -122,7 +134,6 @@ onMounted(() => getCountries());
<i18n lang="yaml"> <i18n lang="yaml">
en-US: en-US:
accept: Accept accept: Accept
addEditAddress: Add or edit address
name: Consignee name: Consignee
address: Address address: Address
city: City city: City
@ -134,7 +145,6 @@ en-US:
editAddress: Edit address editAddress: Edit address
es-ES: es-ES:
accept: Aceptar accept: Aceptar
addEditAddress: Añadir o modificar dirección
name: Consignatario name: Consignatario
address: Dirección address: Dirección
city: Ciudad city: Ciudad
@ -146,7 +156,6 @@ es-ES:
editAddress: Modificar dirección editAddress: Modificar dirección
ca-ES: ca-ES:
accept: Acceptar accept: Acceptar
addEditAddress: Afegir o modificar adreça
name: Consignatari name: Consignatari
address: Direcció address: Direcció
city: Ciutat city: Ciutat
@ -158,7 +167,6 @@ ca-ES:
editAddress: Modificar adreça editAddress: Modificar adreça
fr-FR: fr-FR:
accept: Accepter accept: Accepter
addEditAddress: Ajouter ou modifier l'adresse
name: Destinataire name: Destinataire
address: Numéro Rue address: Numéro Rue
city: Ville city: Ville
@ -170,7 +178,6 @@ fr-FR:
editAddress: Modifier adresse editAddress: Modifier adresse
pt-PT: pt-PT:
accept: Aceitar accept: Aceitar
addEditAddress: Adicionar ou modificar morada
name: Consignatario name: Consignatario
address: Morada address: Morada
city: Concelho city: Concelho

View File

@ -104,7 +104,10 @@ onMounted(async () => {
</QBtn> </QBtn>
</Teleport> </Teleport>
<QPage class="vn-w-sm"> <QPage class="vn-w-sm">
<QList class="rounded-borders shadow-1 shadow-transition" separator> <QList
class="rounded-borders shadow-1 shadow-transition"
separator
>
<CardList <CardList
v-for="(address, index) in addresses" v-for="(address, index) in addresses"
:key="index" :key="index"

View File

@ -45,10 +45,10 @@ const supplantUser = async user => {
<template> <template>
<Teleport v-if="isHeaderMounted" to="#actions"> <Teleport v-if="isHeaderMounted" to="#actions">
<VnSearchBar <VnSearchBar
:sqlQuery="query" :sql-query="query"
searchField="user" search-field="user"
@onSearch="onSearch" @on-search="onSearch"
@onSearchError="users = []" @on-search-error="users = []"
/> />
</Teleport> </Teleport>
<QPage class="vn-w-xs"> <QPage class="vn-w-xs">
@ -93,31 +93,26 @@ const supplantUser = async user => {
<i18n lang="yaml"> <i18n lang="yaml">
en-US: en-US:
noData: No data
User management: User management User management: User management
Disabled: Disabled Disabled: Disabled
Impersonate user: Impersonate user Impersonate user: Impersonate user
Access log: Access log Access log: Access log
es-ES: es-ES:
noData: Sin datos
User management: Gestión de usuarios User management: Gestión de usuarios
Disabled: Desactivado Disabled: Desactivado
Impersonate user: Suplantar usuario Impersonate user: Suplantar usuario
Access log: Registro de accesos Access log: Registro de accesos
ca-ES: ca-ES:
noData: Sense dades
User management: Gestió d'usuaris User management: Gestió d'usuaris
Disabled: Deshabilitat Disabled: Deshabilitat
Impersonate user: Suplantar usuari Impersonate user: Suplantar usuari
Access log: Registre d'accessos Access log: Registre d'accessos
fr-FR: fr-FR:
noData: Aucune donnée
User management: Gestion des utilisateurs User management: Gestion des utilisateurs
Disabled: Désactivé Disabled: Désactivé
Impersonate user: Accès utilisateur Impersonate user: Accès utilisateur
Access log: Journal des accès Access log: Journal des accès
pt-PT: pt-PT:
noData: Sem dados
User management: Gestão de usuarios User management: Gestão de usuarios
Disabled: Desativado Disabled: Desativado
Impersonate user: Suplantar usuario Impersonate user: Suplantar usuario

View File

@ -20,15 +20,27 @@ onMounted(async () => await fetchData());
<template> <template>
<div style="padding: 0"> <div style="padding: 0">
<div class="q-pa-sm row items-start"> <div class="q-pa-sm row items-start">
<div class="new-card q-pa-sm" v-for="myNew in news" :key="myNew.id"> <div
class="new-card q-pa-sm"
v-for="myNew in news"
:key="myNew.id"
>
<QCard> <QCard>
<VnImg :id="myNew.image" storage="news" /> <VnImg
:id="myNew.image"
storage="news"
/>
<QCardSection> <QCardSection>
<div class="text-h5">{{ myNew.title }}</div> <div class="text-h5">
{{ myNew.title }}
</div>
</QCardSection> </QCardSection>
<QCardSection class="new-body"> <QCardSection class="new-body">
<div v-html="myNew.text" class="card-text" /> <div
v-html="myNew.text"
class="card-text"
/>
</QCardSection> </QCardSection>
</QCard> </QCard>
</div> </div>
@ -43,7 +55,10 @@ onMounted(async () => await fetchData());
/> />
</QPageSticky> </QPageSticky>
</div> </div>
<QDialog v-model="showPreview" @hide="selectedImageSrc = ''"> <QDialog
v-model="showPreview"
@hide="selectedImageSrc = ''"
>
<QImg :src="selectedImageSrc" /> <QImg :src="selectedImageSrc" />
</QDialog> </QDialog>
</template> </template>

View File

@ -166,8 +166,7 @@
:disable="disableScroll" :disable="disableScroll"
> >
<div class="q-pa-md row justify-center q-gutter-md"> <div class="q-pa-md row justify-center q-gutter-md">
<QSpinner v-if="isLoading" color="primary" size="50px"> <QSpinner v-if="isLoading" color="primary" size="50px" />
</QSpinner>
<div <div
v-if="items && !items.length" v-if="items && !items.length"
class="text-subtitle1 text-grey-7 q-pa-md" class="text-subtitle1 text-grey-7 q-pa-md"
@ -180,19 +179,21 @@
> >
{{ $t('pleaseSetFilter') }} {{ $t('pleaseSetFilter') }}
</div> </div>
<QCard class="my-card" v-for="item in items" :key="item.id"> <QCard class="my-card" v-for="_item in items" :key="_item.id">
<img :src="`${$imageBase}/catalog/200x200/${item.image}`" /> <img
:src="`${$imageBase}/catalog/200x200/${_item.image}`"
/>
<QCardSection> <QCardSection>
<div class="name text-subtitle1"> <div class="name text-subtitle1">
{{ item.longName }} {{ _item.longName }}
</div> </div>
<div <div
class="sub-name text-uppercase text-subtitle1 text-grey-7 ellipsize q-pt-xs" class="sub-name text-uppercase text-subtitle1 text-grey-7 ellipsize q-pt-xs"
> >
{{ item.subName }} {{ _item.subName }}
</div> </div>
<div class="tags q-pt-xs"> <div class="tags q-pt-xs">
<div v-for="tag in item.tags" :key="tag.tagFk"> <div v-for="tag in _item.tags" :key="tag.tagFk">
<span class="text-grey-7">{{ <span class="text-grey-7">{{
tag.tag.name tag.tag.name
}}</span> }}</span>
@ -203,20 +204,19 @@
<QCardActions class="actions justify-between"> <QCardActions class="actions justify-between">
<div class="q-pl-sm"> <div class="q-pl-sm">
<span class="available bg-green text-white">{{ <span class="available bg-green text-white">{{
item.available _item.available
}}</span> }}</span>
{{ $t('from') }} {{ $t('from') }}
<span class="price">{{ <span class="price">{{
currency(item.buy?.price3) currency(_item.buy?.price3)
}}</span> }}</span>
</div> </div>
<QBtn <QBtn
icon="add_shopping_cart" icon="add_shopping_cart"
:title="$t('buy')" :title="$t('buy')"
@click="showItem(item)" @click="showItem(_item)"
flat flat
> />
</QBtn>
</QCardActions> </QCardActions>
</QCard> </QCard>
</div> </div>

View File

@ -40,6 +40,7 @@ const columns = computed(() => [
label: t('amount'), label: t('amount'),
field: 'amount', field: 'amount',
align: 'right', align: 'right',
sortable: true,
format: val => currency(val) format: val => currency(val)
}, },
{ {
@ -62,6 +63,7 @@ const fetchInvoices = async () => {
LIMIT 100`, LIMIT 100`,
params params
); );
console.log(invoices.value);
}; };
onMounted(async () => { onMounted(async () => {

View File

@ -84,9 +84,11 @@ onMounted(async () => {
:to="{ name: 'basket', params: { id: order.id } }" :to="{ name: 'basket', params: { id: order.id } }"
> >
<template #content> <template #content>
<QItemLabel class="text-bold q-mb-sm">{{ <QItemLabel class="text-bold q-mb-sm">
formatDateTitle(order.sent) {{
}}</QItemLabel> formatDateTitle(order.sent)
}}
</QItemLabel>
<QItemLabel> #{{ order.id }} </QItemLabel> <QItemLabel> #{{ order.id }} </QItemLabel>
<QItemLabel>{{ order.nickname }}</QItemLabel> <QItemLabel>{{ order.nickname }}</QItemLabel>
<QItemLabel>{{ order.agency }}</QItemLabel> <QItemLabel>{{ order.agency }}</QItemLabel>

View File

@ -25,9 +25,14 @@ const lineSubtotal = line =>
</script> </script>
<template> <template>
<QCard class="vn-w-sm" style="padding: 32px"> <QCard
class="vn-w-sm"
style="padding: 32px"
>
<QCardSection class="no-padding q-mb-md"> <QCardSection class="no-padding q-mb-md">
<div class="text-h6">#{{ ticket.id }}</div> <div class="text-h6">
#{{ ticket.id }}
</div>
</QCardSection> </QCardSection>
<QCardSection class="no-padding q-mb-md q-gutter-y-xs"> <QCardSection class="no-padding q-mb-md q-gutter-y-xs">
<div class="text-subtitle1 text-bold"> <div class="text-subtitle1 text-bold">
@ -69,7 +74,10 @@ const lineSubtotal = line =>
</span> </span>
</QCardSection> </QCardSection>
<QSeparator inset /> <QSeparator inset />
<QList v-for="row in rows" :key="row.itemFk"> <QList
v-for="row in rows"
:key="row.itemFk"
>
<QItem> <QItem>
<QItemSection avatar> <QItemSection avatar>
<VnImg <VnImg
@ -83,16 +91,25 @@ const lineSubtotal = line =>
<QItemLabel lines="1"> <QItemLabel lines="1">
{{ row.concept }} {{ row.concept }}
</QItemLabel> </QItemLabel>
<QItemLabel lines="1" caption> <QItemLabel
lines="1"
caption
>
{{ row.value5 }} {{ row.value6 }} {{ row.value7 }} {{ row.value5 }} {{ row.value6 }} {{ row.value7 }}
</QItemLabel> </QItemLabel>
<QItemLabel lines="1"> <QItemLabel lines="1">
{{ row.quantity }} x {{ currency(row.price) }} {{ row.quantity }} x {{ currency(row.price) }}
</QItemLabel> </QItemLabel>
</QItemSection> </QItemSection>
<QItemSection side class="total"> <QItemSection
side
class="total"
>
<QItemLabel> <QItemLabel>
<span class="discount" v-if="row.discount"> <span
class="discount"
v-if="row.discount"
>
{{ currency(lineDiscountSubtotal(row)) }} - {{ currency(lineDiscountSubtotal(row)) }} -
{{ currency(row.discount) }} = {{ currency(row.discount) }} =
</span> </span>

View File

@ -60,7 +60,10 @@ const onPrintClick = () => {
/> />
</Teleport> </Teleport>
<QPage> <QPage>
<TicketDetails :rows="rows" :ticket="ticket" /> <TicketDetails
:rows="rows"
:ticket="ticket"
/>
</QPage> </QPage>
</template> </template>

View File

@ -3,9 +3,14 @@
class="fullscreen bg-accent text-white text-center q-pa-md flex flex-center" class="fullscreen bg-accent text-white text-center q-pa-md flex flex-center"
> >
<div> <div>
<div style="font-size: 30vh">404</div> <div style="font-size: 30vh">
404
</div>
<div class="text-h2" style="opacity: 0.4"> <div
class="text-h2"
style="opacity: 0.4"
>
Oops. Nothing here... Oops. Nothing here...
</div> </div>

View File

@ -49,7 +49,7 @@ async function onLogin() {
:label="$t('password')" :label="$t('password')"
:type="!showPwd ? 'password' : 'text'" :type="!showPwd ? 'password' : 'text'"
> >
<template v-slot:append> <template #append>
<QIcon <QIcon
:name="showPwd ? 'visibility_off' : 'visibility'" :name="showPwd ? 'visibility_off' : 'visibility'"
class="cursor-pointer" class="cursor-pointer"

View File

@ -8,7 +8,10 @@
/> />
</div> </div>
<div> <div>
<QForm @submit="onSend" class="q-gutter-y-md text-grey-8"> <QForm
@submit="onSend"
class="q-gutter-y-md text-grey-8"
>
<div class="text-h5"> <div class="text-h5">
<div> <div>
{{ $t('dontWorry') }} {{ $t('dontWorry') }}
@ -37,7 +40,10 @@
unelevated unelevated
/> />
<div class="text-center q-mt-md"> <div class="text-center q-mt-md">
<router-link to="/login" class="link"> <router-link
to="/login"
class="link"
>
{{ $t('return') }} {{ $t('return') }}
</router-link> </router-link>
</div> </div>

View File

@ -8,7 +8,11 @@
/> />
</QCard-section> </QCard-section>
<QCard-section> <QCard-section>
<QForm @submit="onRegister" ref="form" class="q-gutter-y-md"> <QForm
@submit="onRegister"
ref="form"
class="q-gutter-y-md"
>
<div class="text-grey-8 text-h5 text-center"> <div class="text-grey-8 text-h5 text-center">
{{ $t('fillData') }} {{ $t('fillData') }}
</div> </div>
@ -21,7 +25,7 @@
hint="" hint=""
filled filled
> >
<template v-slot:append> <template #append>
<QIcon <QIcon
:name=" :name="
showPwd ? 'visibility_off' : 'visibility' showPwd ? 'visibility_off' : 'visibility'
@ -42,7 +46,7 @@
hint="" hint=""
filled filled
> >
<template v-slot:append> <template #append>
<QIcon <QIcon
:name=" :name="
showRpPwd ? 'visibility_off' : 'visibility' showRpPwd ? 'visibility_off' : 'visibility'
@ -61,7 +65,10 @@
color="primary" color="primary"
/> />
<div class="text-center q-mt-xs"> <div class="text-center q-mt-xs">
<router-link to="/login" class="link"> <router-link
to="/login"
class="link"
>
{{ $t('return') }} {{ $t('return') }}
</router-link> </router-link>
</div> </div>