PR-CUSTOMER #186

Merged
jsegarra merged 105 commits from :PR-CUSTOMER into dev 2024-04-19 15:55:53 +00:00
20 changed files with 153 additions and 39 deletions
Showing only changes of commit 7f1c4690e8 - Show all commits

View File

@ -66,10 +66,11 @@ const filterOptions = {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput
v-model="data.socialName"
:label="t('customer.basicData.socialName')"
:rules="validate('client.socialName')"
autofocus
clearable
v-model="data.socialName"
/>
</div>
<div class="col">
@ -89,37 +90,37 @@ const filterOptions = {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput
v-model="data.contact"
:label="t('customer.basicData.contact')"
:rules="validate('client.contact')"
clearable
v-model="data.contact"
/>
</div>
<div class="col">
<VnInput
v-model="data.email"
type="email"
:label="t('customer.basicData.email')"
:rules="validate('client.email')"
clearable
type="email"
v-model="data.email"
/>
</div>
</VnRow>
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput
v-model="data.phone"
:label="t('customer.basicData.phone')"
:rules="validate('client.phone')"
clearable
v-model="data.phone"
/>
</div>
<div class="col">
<VnInput
v-model="data.mobile"
:label="t('customer.basicData.mobile')"
:rules="validate('client.mobile')"
clearable
v-model="data.mobile"
/>
</div>
</VnRow>

View File

@ -61,6 +61,7 @@ const getBankEntities = () => {
<VnInput
:label="t('Due day')"
:rules="validate('client.socialName')"
clearable
v-model="data.dueDay"
/>
</div>
@ -68,7 +69,7 @@ const getBankEntities = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('IBAN')" v-model="data.iban">
<VnInput :label="t('IBAN')" clearable v-model="data.iban">
jsegarra marked this conversation as resolved Outdated

mmm...se ha eliminado el icono de info??
#186 (comment)

mmm...se ha eliminado el icono de info?? https://gitea.verdnatura.es/verdnatura/salix-front/pulls/186#issuecomment-41629
<template #append>
<QIcon name="info" class="cursor-info">
<QTooltip>{{ t('components.iban_tooltip') }}</QTooltip>
jsegarra marked this conversation as resolved Outdated

componente CreateBankEntityForm despues de crear un bankEntity lo debe insertar en el textField tal como hace salix

componente CreateBankEntityForm despues de crear un bankEntity lo debe insertar en el textField tal como hace salix

@cfonseca He visto modificado este componente en otro commit, revisa por favor y si no está abordado, cógelo. gracias

@cfonseca He visto modificado este componente en otro commit, revisa por favor y si no está abordado, cógelo. gracias

Corregido: b12968f982

Corregido: b12968f982

La funcionalidad está OK pero adjunto imagen porque al cargar el formulario esta validado y en vencimiento hay un 0 pero lo pone en rojo
Si limpio el campo y le doy a restaurar, se vuelve a poner en rojo

La funcionalidad está OK pero adjunto imagen porque al cargar el formulario esta validado y en vencimiento hay un 0 pero lo pone en rojo Si limpio el campo y le doy a restaurar, se vuelve a poner en rojo

Corregido: 5ff90d127b

Corregido: 5ff90d127b

View File

@ -82,11 +82,11 @@ const onSubmit = async () => {
v-for="(note, index) in notes"
>
<div class="col">
<VnInput :label="t('Name')" v-model="note.name" />
<VnInput :label="t('Name')" clearable v-model="note.name" />
</div>
<div class="col">
<VnInput :label="t('Phone')" v-model="note.phone" />
<VnInput :label="t('Phone')" clearable v-model="note.phone" />
jsegarra marked this conversation as resolved Outdated

Te deja cualquier cosa

Te deja cualquier cosa

Corregido: ab20ec1738

Corregido: ab20ec1738
</div>
<div class="flex items-center">
jsegarra marked this conversation as resolved Outdated

No funciona si has dado a guardar.
Puedes eliminar la primera pero si añades una fila y le das a guardar, reaparece.

No funciona si has dado a guardar. Puedes eliminar la primera pero si añades una fila y le das a guardar, reaparece.

Corregido: d0e98010a5

Corregido: d0e98010a5

View File

@ -52,6 +52,7 @@ const initialData = reactive({
<div class="col">
<VnInput
:label="t('Rating')"
clearable
type="number"
v-model.number="data.rating"
/>
@ -59,6 +60,7 @@ const initialData = reactive({
<div class="col">

no inserta, en salix añado una clasificacion ej: 234 sin credito recomendado, lo inserta y lo muestra bajo,
en lilium da un error y no lo muestra, aun teniendo datos en la tabla insertados via salix no son mostrados en lilium

no inserta, en salix añado una clasificacion ej: 234 sin credito recomendado, lo inserta y lo muestra bajo, en lilium da un error y no lo muestra, aun teniendo datos en la tabla insertados via salix no son mostrados en lilium

Hice la prueba y me muestra este error: message: "La razón social debe ir en mayúscula", fui a la pantalla de Datos fiscales y modifique el campo de Razón social y Dirección fiscal y ya con estos cambios se pudo guardar el valor de Clasificación en la pantalla de Opinión de crédito sin problemas, por favor revisar, quedo pendiente

Hice la prueba y me muestra este error: **message: "La razón social debe ir en mayúscula"**, fui a la pantalla de **Datos fiscales** y modifique el campo de **Razón social** y **Dirección fiscal** y ya con estos cambios se pudo guardar el valor de **Clasificación** en la pantalla de **Opinión de crédito** sin problemas, por favor revisar, quedo pendiente

@cfonseca Esto es lo que vimos en la daily antes de Luciano no? Puedes confirmar? Gracias

@cfonseca Esto es lo que vimos en la daily antes de Luciano no? Puedes confirmar? Gracias
<VnInput
:label="t('Recommended credit')"
clearable
type="number"
v-model.number="data.recommendedCredit"
/>

View File

@ -75,17 +75,26 @@ const onPostcodeCreated = async ({ code, provinceFk, townFk, countryFk }, formDa
:label="t('Social name')"
:required="true"
:rules="validate('client.socialName')"
clearable
v-model="data.socialName"
/>
>
<template #append>
<QIcon name="info" class="cursor-info">
<QTooltip>{{
t('Only letters, numbers and spaces can be used')
}}</QTooltip>
</QIcon>
</template>
</VnInput>
</div>
<div class="col">
<VnInput :label="t('Tax number')" v-model="data.fi" />
<VnInput :label="t('Tax number')" clearable v-model="data.fi" />
</div>
</VnRow>
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Street')" v-model="data.street" />
<VnInput :label="t('Street')" clearable v-model="data.street" />
</div>
</VnRow>
@ -220,6 +229,15 @@ const onPostcodeCreated = async ({ code, provinceFk, townFk, countryFk }, formDa
</div>
<div class="col">
<QCheckbox :label="t('Vies')" v-model="data.isVies" />
<QIcon name="info" class="cursor-info q-ml-sm" size="sm">
<QTooltip>
{{
t(
'When activating it, do not enter the country code in the ID field'
)
}}
</QTooltip>
</QIcon>
</div>
</VnRow>
@ -244,6 +262,15 @@ const onPostcodeCreated = async ({ code, provinceFk, townFk, countryFk }, formDa
:label="t('Is equalizated')"
v-model="data.isEqualizated"
/>
<QIcon class="cursor-info q-ml-sm" name="info" size="sm">
<QTooltip>
{{
t(
"In order to invoice, this field is not contulted, but the consignee's ET. When modifiying this field if the invoice by address option is not checked, the change will be automatically propagated to all addresses, otherwise the user will be asked if he wants to propagate it or not"
)
}}
</QTooltip>

el modelo se llama address. Reemplazar todos los textos y rutas donde aparezca consignee y poner address
En salix esta así http://localhost:5000/#!/client/1101/address/create

el modelo se llama address. Reemplazar todos los textos y rutas donde aparezca consignee y poner address En salix esta así http://localhost:5000/#!/client/1101/address/create

Corregido: ab20ec1738

Corregido: ab20ec1738

Yo lo he visto OK

Yo lo he visto OK
</QIcon>
</div>
<div class="col">
<QCheckbox
@ -274,6 +301,7 @@ const onPostcodeCreated = async ({ code, provinceFk, townFk, countryFk }, formDa
<i18n>
es:
Social name: Razón social
Only letters, numbers and spaces can be used: Sólo se pueden usar letras, números y espacios
Tax number: NIF / CIF
Street: Dirección fiscal
Sage tax type: Tipo de impuesto Sage
@ -286,9 +314,11 @@ es:
Frozen: Congelado
Has to invoice: Factura
Vies: Vies
When activating it, do not enter the country code in the ID field: Al activarlo, no informar el código del país en el campo nif.
Notify by email: Notificar vía e-mail
Invoice by address: Facturar por consignatario
Is equalizated: Recargo de equivalencia
jsegarra marked this conversation as resolved Outdated

Uff, en el limite. Si no es muy costoso (en tiempo), aplicar el mismo cambio que más abajo

Uff, en el limite. Si no es muy costoso (en tiempo), aplicar el mismo cambio que más abajo

Corregido: 86199d8197

Corregido: 86199d8197
In order to invoice, this field is not contulted, but the consignee's ET. When modifiying this field if the invoice by address option is not checked, the change will be automatically propagated to all addresses, otherwise the user will be asked if he wants to propagate it or not: Para facturar no se consulta este campo, sino el RE de consignatario. Al modificar este campo si no esta marcada la casilla Facturar por consignatario, se propagará automaticamente el cambio a todos lo consignatarios, en caso contrario preguntará al usuario si quiere o no propagar.
Verified data: Datos comprobados
Incoterms authorization: Autorización incoterms
Electronic invoice: Factura electrónica
jsegarra marked this conversation as resolved Outdated

Reemplazar la key de la traduccion por una palabra camelCase, tipo "inOrderToInvoice".

El exto en inglés deberá estar en la etiqueta en

Reemplazar la key de la traduccion por una palabra camelCase, tipo "inOrderToInvoice". El exto en inglés deberá estar en la etiqueta en

Corregido: 86199d8197

Corregido: 86199d8197

View File

@ -130,7 +130,7 @@ const setInq = (value, status) => {
<QDrawer :width="256" show-if-above side="right" v-model="stateStore.rightDrawer">
<div class="q-mt-sm q-px-md">
<VnInput :label="t('Search')">
<VnInput :label="t('Search')" clearable>
<template #append>
<QIcon name="info" class="cursor-pointer">
<QTooltip>
@ -187,7 +187,7 @@ const setInq = (value, status) => {
option-label="name"
option-value="id"
/>
<VnInput :label="t('Changes')" class="q-mt-sm">
<VnInput :label="t('Changes')" clearable class="q-mt-sm">
<template #append>
<QIcon name="info" class="cursor-pointer">
<QTooltip>
@ -227,7 +227,7 @@ const setInq = (value, status) => {
</div>
<VnInputDate :label="t('Date')" class="q-mt-sm" />
<VnInput :label="t('To')" class="q-mt-md" />
<VnInput :label="t('To')" clearable class="q-mt-md" />
</div>
</QDrawer>

View File

@ -42,7 +42,12 @@ const onFetch = () => {
<VnInputDate :label="t('Date')" v-model="data.dated" />

salix pone una fecha por defecto, emular comportamiento

salix pone una fecha por defecto, emular comportamiento

Corregido: 90ee50eab5

Corregido: 90ee50eab5

Lo veo OK

Lo veo OK
</div>
<div class="col">
<VnInput :label="t('Amount')" type="number" v-model="data.amount" />
<VnInput
:label="t('Amount')"
clearable
type="number"
v-model="data.amount"
/>
</div>
jsegarra marked this conversation as resolved Outdated

Porque haces un find por id, si ya lo has hecho en la query/filter? Te devoilverá el resultado
Si filtras por 1101, te llegará [1101]

Porque haces un find por id, si ya lo has hecho en la query/filter? Te devoilverá el resultado Si filtras por 1101, te llegará [1101]

Corregido: 93015d9f98

Corregido: 93015d9f98
</VnRow>
jsegarra marked this conversation as resolved Outdated

Mi propuesta es si data.length>0

Mi propuesta es si data.length>0

Corregido: 93015d9f98

Corregido: 93015d9f98
</template>

View File

@ -40,10 +40,14 @@ const filter = { where: { id: `${route.params.id}` } };
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('User')" v-model="item.name" />
<VnInput :label="t('User')" clearable v-model="item.name" />
</div>
<div class="col">
<VnInput :label="t('Recovery email')" v-model="item.email">
<VnInput
:label="t('Recovery email')"
clearable
v-model="item.email"
>
<template #append>
<QIcon name="info" class="cursor-pointer">
<QTooltip>{{

View File

@ -119,6 +119,7 @@ const authors = ref();
<QItemSection>
<VnInput
:label="t('P. Method')"
clearable
is-outlined
v-model="params.paymentMethod"
/>
@ -129,6 +130,7 @@ const authors = ref();
<QItemSection>
<VnInput
:label="t('Balance D.')"
clearable
is-outlined
v-model="params.balance"
/>
@ -160,7 +162,12 @@ const authors = ref();
<QItem class="q-mb-sm">
<QItemSection>
<VnInput :label="t('L. O. Date')" is-outlined v-model="params.date" />
<VnInput
:label="t('L. O. Date')"
clearable
is-outlined
v-model="params.date"
/>
</QItemSection>
</QItem>
@ -168,6 +175,7 @@ const authors = ref();
<QItemSection>
<VnInput
:label="t('Credit I.')"
clearable
is-outlined
v-model="params.credit"
/>

View File

@ -40,6 +40,7 @@ const clients = ref();
<QItemSection>
<VnInput
:label="t('Identifier')"
clearable
is-outlined
v-model="params.identifier"
/>
@ -96,13 +97,23 @@ const clients = ref();
<QItem class="q-mb-sm">
<QItemSection>
<VnInput :label="t('Phone')" is-outlined v-model="params.phone" />
<VnInput
:label="t('Phone')"
clearable
is-outlined
v-model="params.phone"
/>
</QItemSection>
</QItem>
<QItem class="q-mb-sm">
<QItemSection>
<VnInput :label="t('Email')" is-outlined v-model="params.email" />
<VnInput
:label="t('Email')"
clearable
is-outlined
v-model="params.email"
/>
</QItemSection>
</QItem>
<QSeparator />

View File

@ -104,10 +104,14 @@ const toCustomerConsignees = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Consignee')" v-model="data.nickname" />
<VnInput :label="t('Consignee')" clearable v-model="data.nickname" />
</div>
<div class="col">
<VnInput :label="t('Street address')" v-model="data.street" />
<VnInput
:label="t('Street address')"
clearable
v-model="data.street"
/>
</div>
</VnRow>
@ -204,10 +208,10 @@ const toCustomerConsignees = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Phone')" v-model="data.phone" />
<VnInput :label="t('Phone')" clearable v-model="data.phone" />
</div>
<div class="col">
<VnInput :label="t('Mobile')" v-model="data.mobile" />
<VnInput :label="t('Mobile')" clearable v-model="data.mobile" />
</div>
</VnRow>

View File

@ -159,10 +159,14 @@ const onDataSaved = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Consignee')" v-model="data.nickname" />
<VnInput :label="t('Consignee')" clearable v-model="data.nickname" />
</div>
<div class="col">
<VnInput :label="t('Street address')" v-model="data.street" />
<VnInput
:label="t('Street address')"
clearable
v-model="data.street"
/>
</div>
</VnRow>
@ -259,10 +263,10 @@ const onDataSaved = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Phone')" v-model="data.phone" />
<VnInput :label="t('Phone')" clearable v-model="data.phone" />
</div>
<div class="col">
<VnInput :label="t('Mobile')" v-model="data.mobile" />
<VnInput :label="t('Mobile')" clearable v-model="data.mobile" />
</div>
</VnRow>
@ -310,7 +314,11 @@ const onDataSaved = () => {
/>
</div>
<div class="col">
<VnInput :label="t('Description')" v-model="note.description" />
<VnInput
:label="t('Description')"
clearable
v-model="note.description"
/>
</div>
<div class="flex items-center">
<QIcon

View File

@ -34,6 +34,7 @@ const onDataSaved = () => {
<div class="col">
<VnInput
:label="t('Credit')"
clearable
type="number"
v-model.number="data.credit"
/>
@ -41,6 +42,7 @@ const onDataSaved = () => {
<div class="col">
<VnInput
:label="t('Grade')"
clearable
type="number"
v-model.number="data.grade"
/>

View File

@ -115,7 +115,11 @@ const inputFileRef = ref();
<QCardSection>
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Reference')" v-model="dms.reference" />
<VnInput
:label="t('Reference')"
clearable
v-model="dms.reference"
/>
</div>
<div class="col">
<VnSelectFilter
@ -153,6 +157,7 @@ const inputFileRef = ref();
<div class="col">
<VnInput
:label="t('Description')"
clearable
type="textarea"
v-model="dms.description"
/>

View File

@ -93,7 +93,11 @@ const inputFileRef = ref();
<QCardSection>
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Reference')" v-model="dms.reference" />
<VnInput
:label="t('Reference')"
clearable
v-model="dms.reference"
/>
</div>
<div class="col">
<VnSelectFilter
@ -131,6 +135,7 @@ const inputFileRef = ref();
<div class="col">
<VnInput
:label="t('Description')"
clearable
type="textarea"
v-model="dms.description"
/>

View File

@ -50,7 +50,12 @@ const toCustomerGreuges = () => {
<template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Amount')" type="number" v-model="data.amount" />
<VnInput
:label="t('Amount')"
clearable
type="number"
v-model="data.amount"
/>
</div>
<div class="col">
<VnInputDate :label="t('Date')" v-model="data.shipped" />
@ -59,7 +64,7 @@ const toCustomerGreuges = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Comment')" v-model="data.description" />
<VnInput :label="t('Comment')" clearable v-model="data.description" />
</div>
<div class="col">
<VnSelectFilter

View File

@ -33,22 +33,28 @@ const onDataSaved = (dataSaved) => {
<template #form-inputs="{ data }">
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('NIF')" :required="true" v-model="data.nif" />
<VnInput
:label="t('NIF')"
:required="true"
clearable
v-model="data.nif"
/>
</div>
<div class="col">
<VnInput
:label="t('Fiscal name')"
:required="true"
clearable
v-model="data.fiscalName"
/>
</div>
</VnRow>
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Street')" v-model="data.street" />
<VnInput :label="t('Street')" clearable v-model="data.street" />
</div>
<div class="col">
<VnInput :label="t('Phone')" v-model="data.phone" />
<VnInput :label="t('Phone')" clearable v-model="data.phone" />
</div>
</VnRow>
</template>

View File

@ -189,6 +189,7 @@ const onDataSaved = async () => {
:label="t('Amount')"
:required="true"
@update:model-value="calculateFromAmount($event)"
clearable
type="number"
v-model.number="data.amountPaid"
/>
@ -203,6 +204,7 @@ const onDataSaved = async () => {
<div class="col" v-if="data.bankFk === 3 || data.bankFk === 3117">
<VnInput
:label="t('Compensation account')"
clearable
v-model="data.compensationAccount"
/>
</div>
@ -210,6 +212,7 @@ const onDataSaved = async () => {
<VnInput
:label="t('Reference')"
:required="true"
clearable
v-model="data.description"
/>
</div>
@ -223,6 +226,7 @@ const onDataSaved = async () => {
<VnInput
:label="t('Delivered amount')"
@update:model-value="calculateFromDeliveredAmount($event)"
clearable
type="number"
v-model="deliveredAmount"
/>
@ -230,6 +234,7 @@ const onDataSaved = async () => {
<div class="col">
<VnInput
:label="t('Amount to return')"
clearable
disable
type="number"
v-model="amountToReturn"

View File

@ -53,10 +53,20 @@ const toCustomerRecoveries = () => {
<VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Amount')" type="number" v-model="data.amount" />
<VnInput
:label="t('Amount')"
clearable
type="number"
v-model="data.amount"
/>
</div>
<div class="col">
<VnInput :label="t('Period')" type="number" v-model="data.period" />
<VnInput
:label="t('Period')"
clearable
type="number"
v-model="data.period"
/>
</div>
</VnRow>
</template>

View File

@ -143,6 +143,7 @@ const onDataSaved = async ({
<div class="col">
<VnInput
:label="t('Recipient')"
clearable
required="true"
v-model="data.recipient"
>
@ -158,6 +159,7 @@ const onDataSaved = async ({
<div class="col">
<VnInput
:label="t('Reply to')"
clearable
required="true"
v-model="data.replyTo"
>