0
0
Fork 0

Merge branch 'dev' into 5919-locker

This commit is contained in:
Javier Segarra 2024-05-13 06:47:54 +00:00
commit 05698af75d
51 changed files with 2171 additions and 2800 deletions

View File

@ -58,15 +58,12 @@ onMounted(async () => {
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('name')" :label="t('name')"
v-model="data.name" v-model="data.name"
:required="true" :required="true"
:rules="validate('bankEntity.name')" :rules="validate('bankEntity.name')"
/> />
</div>
<div class="col">
<VnInput <VnInput
ref="bicInputRef" ref="bicInputRef"
:label="t('swift')" :label="t('swift')"
@ -74,7 +71,6 @@ onMounted(async () => {
:required="true" :required="true"
:rules="validate('bankEntity.bic')" :rules="validate('bankEntity.bic')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <div class="col">

View File

@ -52,9 +52,7 @@ onMounted(() => {
</span> </span>
<h1 class="title">{{ t('New department') }}</h1> <h1 class="title">{{ t('New department') }}</h1>
<VnRow class="row q-gutter-md q-mb-md" style="min-width: 250px"> <VnRow class="row q-gutter-md q-mb-md" style="min-width: 250px">
<div class="col">
<VnInput :label="t('Name')" v-model="data.name" /> <VnInput :label="t('Name')" v-model="data.name" />
</div>
</VnRow> </VnRow>
<div class="q-mt-lg row justify-end"> <div class="q-mt-lg row justify-end">
<QBtn <QBtn

View File

@ -72,7 +72,6 @@ const onDataSaved = async (formData, requestResponse) => {
{{ t('Invoicing in progress...') }} {{ t('Invoicing in progress...') }}
</span> </span>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Ticket')" :label="t('Ticket')"
:options="ticketsOptions" :options="ticketsOptions"
@ -86,18 +85,14 @@ const onDataSaved = async (formData, requestResponse) => {
<QItem v-bind="scope.itemProps"> <QItem v-bind="scope.itemProps">
<QItemSection> <QItemSection>
<QItemLabel> #{{ scope.opt?.id }} </QItemLabel> <QItemLabel> #{{ scope.opt?.id }} </QItemLabel>
<QItemLabel caption>{{ <QItemLabel caption>{{ scope.opt?.nickname }}</QItemLabel>
scope.opt?.nickname
}}</QItemLabel>
</QItemSection> </QItemSection>
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<span class="row items-center" style="max-width: max-content">{{ <span class="row items-center" style="max-width: max-content">{{
t('Or') t('Or')
}}</span> }}</span>
<div class="col">
<VnSelect <VnSelect
:label="t('Client')" :label="t('Client')"
:options="clientsOptions" :options="clientsOptions"
@ -107,13 +102,9 @@ const onDataSaved = async (formData, requestResponse) => {
v-model="data.clientFk" v-model="data.clientFk"
@update:model-value="data.ticketFk = null" @update:model-value="data.ticketFk = null"
/> />
</div>
<div class="col">
<VnInputDate :label="t('Max date')" v-model="data.maxShipped" /> <VnInputDate :label="t('Max date')" v-model="data.maxShipped" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Serial')" :label="t('Serial')"
:options="invoiceOutSerialsOptions" :options="invoiceOutSerialsOptions"
@ -123,8 +114,6 @@ const onDataSaved = async (formData, requestResponse) => {
v-model="data.serial" v-model="data.serial"
:required="true" :required="true"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Area')" :label="t('Area')"
:options="taxAreasOptions" :options="taxAreasOptions"
@ -134,7 +123,6 @@ const onDataSaved = async (formData, requestResponse) => {
v-model="data.taxArea" v-model="data.taxArea"
:required="true" :required="true"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<VnInput <VnInput

View File

@ -40,14 +40,11 @@ const onDataSaved = (dataSaved) => {
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Name')" :label="t('Name')"
v-model="data.name" v-model="data.name"
:rules="validate('city.name')" :rules="validate('city.name')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Province')" :label="t('Province')"
:options="provincesOptions" :options="provincesOptions"
@ -57,7 +54,6 @@ const onDataSaved = (dataSaved) => {
v-model="data.provinceFk" v-model="data.provinceFk"
:rules="validate('city.provinceFk')" :rules="validate('city.provinceFk')"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModelPopup> </FormModelPopup>

View File

@ -30,18 +30,18 @@ const townsLocationOptions = ref([]);
const onDataSaved = (formData) => { const onDataSaved = (formData) => {
const newPostcode = { const newPostcode = {
...formData ...formData,
}; };
const townObject = townsLocationOptions.value.find( const townObject = townsLocationOptions.value.find(
({id}) => id === formData.townFk ({ id }) => id === formData.townFk
); );
newPostcode.town = townObject?.name; newPostcode.town = townObject?.name;
const provinceObject = provincesOptions.value.find( const provinceObject = provincesOptions.value.find(
({id}) => id === formData.provinceFk ({ id }) => id === formData.provinceFk
); );
newPostcode.province = provinceObject?.name; newPostcode.province = provinceObject?.name;
const countryObject = countriesOptions.value.find( const countryObject = countriesOptions.value.find(
({id}) => id === formData.countryFk ({ id }) => id === formData.countryFk
); );
newPostcode.country = countryObject?.country; newPostcode.country = countryObject?.country;
emit('onDataSaved', newPostcode); emit('onDataSaved', newPostcode);
@ -92,14 +92,11 @@ const onProvinceCreated = async ({ name }, formData) => {
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Postcode')" :label="t('Postcode')"
v-model="data.code" v-model="data.code"
:rules="validate('postcode.code')" :rules="validate('postcode.code')"
/> />
</div>
<div class="col">
<VnSelectDialog <VnSelectDialog
:label="t('City')" :label="t('City')"
:options="townsLocationOptions" :options="townsLocationOptions"
@ -111,15 +108,11 @@ const onProvinceCreated = async ({ name }, formData) => {
:roles-allowed-to-create="['deliveryAssistant']" :roles-allowed-to-create="['deliveryAssistant']"
> >
<template #form> <template #form>
<CreateNewCityForm <CreateNewCityForm @on-data-saved="onCityCreated($event, data)" />
@on-data-saved="onCityCreated($event, data)"
/>
</template> </template>
</VnSelectDialog> </VnSelectDialog>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-xl"> <VnRow class="row q-gutter-md q-mb-xl">
<div class="col">
<VnSelectDialog <VnSelectDialog
:label="t('Province')" :label="t('Province')"
:options="provincesOptions" :options="provincesOptions"
@ -136,8 +129,6 @@ const onProvinceCreated = async ({ name }, formData) => {
/> />
</template> </template>
</VnSelectDialog> </VnSelectDialog>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Country')" :label="t('Country')"
:options="countriesOptions" :options="countriesOptions"
@ -147,8 +138,8 @@ const onProvinceCreated = async ({ name }, formData) => {
v-model="data.countryFk" v-model="data.countryFk"
:rules="validate('postcode.countryFk')" :rules="validate('postcode.countryFk')"
/> />
</div> </VnRow </VnRow>
></template> </template>
</FormModelPopup> </FormModelPopup>
</template> </template>

View File

@ -40,14 +40,11 @@ const onDataSaved = (dataSaved) => {
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Name')" :label="t('Name')"
v-model="data.name" v-model="data.name"
:rules="validate('province.name')" :rules="validate('province.name')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Autonomy')" :label="t('Autonomy')"
:options="autonomiesOptions" :options="autonomiesOptions"
@ -57,7 +54,6 @@ const onDataSaved = (dataSaved) => {
v-model="data.autonomyFk" v-model="data.autonomyFk"
:rules="validate('province.autonomyFk')" :rules="validate('province.autonomyFk')"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModelPopup> </FormModelPopup>

View File

@ -54,16 +54,12 @@ const onDataSaved = (dataSaved) => {
> >
<template #form-inputs="{ data, validate }"> <template #form-inputs="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Identifier')" :label="t('Identifier')"
v-model="data.thermographId" v-model="data.thermographId"
:required="true" :required="true"
:rules="validate('thermograph.id')" :rules="validate('thermograph.id')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Model')" :label="t('Model')"
:options="thermographsModels" :options="thermographsModels"
@ -74,10 +70,8 @@ const onDataSaved = (dataSaved) => {
:required="true" :required="true"
:rules="validate('thermograph.model')" :rules="validate('thermograph.model')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-xl"> <VnRow class="row q-gutter-md q-mb-xl">
<div class="col">
<VnSelect <VnSelect
:label="t('Warehouse')" :label="t('Warehouse')"
:options="warehousesOptions" :options="warehousesOptions"
@ -87,8 +81,6 @@ const onDataSaved = (dataSaved) => {
v-model="data.warehouseId" v-model="data.warehouseId"
:required="true" :required="true"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Temperature')" :label="t('Temperature')"
:options="temperaturesOptions" :options="temperaturesOptions"
@ -98,7 +90,6 @@ const onDataSaved = (dataSaved) => {
v-model="data.temperatureFk" v-model="data.temperatureFk"
:required="true" :required="true"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModelPopup> </FormModelPopup>

View File

@ -246,16 +246,13 @@ const makeRequest = async () => {
<div class="column"> <div class="column">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QOptionGroup <QOptionGroup
:options="uploadMethodsOptions" :options="uploadMethodsOptions"
type="radio" type="radio"
v-model="uploadMethodSelected" v-model="uploadMethodSelected"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QFile <QFile
v-if="uploadMethodSelected === 'computer'" v-if="uploadMethodSelected === 'computer'"
ref="inputFileRef" ref="inputFileRef"
@ -289,10 +286,8 @@ const makeRequest = async () => {
@update:model-value="updatePhotoPreview($event)" @update:model-value="updatePhotoPreview($event)"
placeholder="https://" placeholder="https://"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Orientation')" :label="t('Orientation')"
:options="viewportTypes" :options="viewportTypes"
@ -300,7 +295,6 @@ const makeRequest = async () => {
option-label="description" option-label="description"
v-model="viewportSelection" v-model="viewportSelection"
/> />
</div>
</VnRow> </VnRow>
<div class="q-mt-lg row justify-end"> <div class="q-mt-lg row justify-end">
<QBtn <QBtn

View File

@ -152,19 +152,8 @@ const selectItem = ({ id }) => {
</span> </span>
<h1 class="title">{{ t('Filter item') }}</h1> <h1 class="title">{{ t('Filter item') }}</h1>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <VnInput :label="t('entry.buys.name')" v-model="itemFilterParams.name" />
<VnInput <VnInput :label="t('entry.buys.size')" v-model="itemFilterParams.size" />
:label="t('entry.buys.name')"
v-model="itemFilterParams.name"
/>
</div>
<div class="col">
<VnInput
:label="t('entry.buys.size')"
v-model="itemFilterParams.size"
/>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('entry.buys.producer')" :label="t('entry.buys.producer')"
:options="producersOptions" :options="producersOptions"
@ -173,8 +162,6 @@ const selectItem = ({ id }) => {
option-value="id" option-value="id"
v-model="itemFilterParams.producerFk" v-model="itemFilterParams.producerFk"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('entry.buys.type')" :label="t('entry.buys.type')"
:options="ItemTypesOptions" :options="ItemTypesOptions"
@ -183,8 +170,6 @@ const selectItem = ({ id }) => {
option-value="id" option-value="id"
v-model="itemFilterParams.typeFk" v-model="itemFilterParams.typeFk"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('entry.buys.color')" :label="t('entry.buys.color')"
:options="InksOptions" :options="InksOptions"
@ -193,7 +178,6 @@ const selectItem = ({ id }) => {
option-value="id" option-value="id"
v-model="itemFilterParams.inkFk" v-model="itemFilterParams.inkFk"
/> />
</div>
</VnRow> </VnRow>
<div class="q-mt-lg row justify-end"> <div class="q-mt-lg row justify-end">
<QBtn <QBtn

View File

@ -145,7 +145,6 @@ const selectTravel = ({ id }) => {
</span> </span>
<h1 class="title">{{ t('Filter travels') }}</h1> <h1 class="title">{{ t('Filter travels') }}</h1>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('entry.basicData.agency')" :label="t('entry.basicData.agency')"
:options="agenciesOptions" :options="agenciesOptions"
@ -154,8 +153,6 @@ const selectTravel = ({ id }) => {
option-value="id" option-value="id"
v-model="travelFilterParams.agencyModeFk" v-model="travelFilterParams.agencyModeFk"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('entry.basicData.warehouseOut')" :label="t('entry.basicData.warehouseOut')"
:options="warehousesOptions" :options="warehousesOptions"
@ -164,8 +161,6 @@ const selectTravel = ({ id }) => {
option-value="id" option-value="id"
v-model="travelFilterParams.warehouseOutFk" v-model="travelFilterParams.warehouseOutFk"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('entry.basicData.warehouseIn')" :label="t('entry.basicData.warehouseIn')"
:options="warehousesOptions" :options="warehousesOptions"
@ -174,19 +169,14 @@ const selectTravel = ({ id }) => {
option-value="id" option-value="id"
v-model="travelFilterParams.warehouseInFk" v-model="travelFilterParams.warehouseInFk"
/> />
</div>
<div class="col">
<VnInputDate <VnInputDate
:label="t('entry.basicData.shipped')" :label="t('entry.basicData.shipped')"
v-model="travelFilterParams.shipped" v-model="travelFilterParams.shipped"
/> />
</div>
<div class="col">
<VnInputDate <VnInputDate
:label="t('entry.basicData.landed')" :label="t('entry.basicData.landed')"
v-model="travelFilterParams.landed" v-model="travelFilterParams.landed"
/> />
</div>
</VnRow> </VnRow>
<div class="q-mt-lg row justify-end"> <div class="q-mt-lg row justify-end">
<QBtn <QBtn

View File

@ -50,13 +50,11 @@ const onDataSaved = (data) => {
> >
<template #form-inputs="{ data }"> <template #form-inputs="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Type the visible quantity')" :label="t('Type the visible quantity')"
v-model.number="data.quantity" v-model.number="data.quantity"
autofocus autofocus
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <div class="col">

View File

@ -83,7 +83,6 @@ const transferInvoice = async () => {
> >
<template #form-inputs> <template #form-inputs>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Client')" :label="t('Client')"
:options="clientsOptions" :options="clientsOptions"
@ -104,8 +103,6 @@ const transferInvoice = async () => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Rectificative type')" :label="t('Rectificative type')"
:options="rectificativeTypeOptions" :options="rectificativeTypeOptions"
@ -115,10 +112,8 @@ const transferInvoice = async () => {
v-model="transferInvoiceParams.cplusRectificationTypeFk" v-model="transferInvoiceParams.cplusRectificationTypeFk"
:required="true" :required="true"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Class')" :label="t('Class')"
:options="siiTypeInvoiceOutsOptions" :options="siiTypeInvoiceOutsOptions"
@ -139,8 +134,6 @@ const transferInvoice = async () => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Type')" :label="t('Type')"
:options="invoiceCorrectionTypesOptions" :options="invoiceCorrectionTypesOptions"
@ -150,7 +143,6 @@ const transferInvoice = async () => {
v-model="transferInvoiceParams.invoiceCorrectionTypeFk" v-model="transferInvoiceParams.invoiceCorrectionTypeFk"
:required="true" :required="true"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormPopup> </FormPopup>

View File

@ -1,29 +1,17 @@
<template> <template>
<div class="q-pa-md"> <div class="q-pa-md">
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div> </div>
</div>
<div class="row q-gutter-md"> <div class="row q-gutter-md">
<QSkeleton type="QBtn" /> <QSkeleton type="QBtn" />
<QSkeleton type="QBtn" /> <QSkeleton type="QBtn" />

View File

@ -3,39 +3,30 @@
<QSkeleton type="rect" square /> <QSkeleton type="rect" square />
</div> </div>
<div class="row q-pa-md q-col-gutter-md q-mb-md"> <div class="row q-pa-md q-col-gutter-md q-mb-md">
<div class="col">
<QSkeleton type="rect" class="q-mb-md" square /> <QSkeleton type="rect" class="q-mb-md" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
</div>
<div class="col">
<QSkeleton type="rect" class="q-mb-md" square /> <QSkeleton type="rect" class="q-mb-md" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
</div>
<div class="col">
<QSkeleton type="rect" class="q-mb-md" square /> <QSkeleton type="rect" class="q-mb-md" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
</div>
<div class="col">
<QSkeleton type="rect" class="q-mb-md" square /> <QSkeleton type="rect" class="q-mb-md" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
</div>
<div class="col">
<QSkeleton type="rect" class="q-mb-md" square /> <QSkeleton type="rect" class="q-mb-md" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
@ -43,7 +34,6 @@
<QSkeleton type="text" square /> <QSkeleton type="text" square />
<QSkeleton type="text" square /> <QSkeleton type="text" square />
</div> </div>
</div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -1,47 +1,22 @@
<template> <template>
<div class="q-pa-md w"> <div class="q-pa-md w">
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col-1"> <QSkeleton type="rect" square />
<QSkeleton type="rect" square />
<QSkeleton type="rect" square />
<QSkeleton type="rect" square />
<QSkeleton type="rect" square />
<QSkeleton type="rect" square /> <QSkeleton type="rect" square />
</div> </div>
<div class="col">
<QSkeleton type="rect" square />
</div>
<div class="col">
<QSkeleton type="rect" square />
</div>
<div class="col">
<QSkeleton type="rect" square />
</div>
<div class="col">
<QSkeleton type="rect" square />
</div>
<div class="col">
<QSkeleton type="rect" square />
</div>
</div>
<div class="row q-gutter-md q-mb-md" v-for="n in 5" :key="n"> <div class="row q-gutter-md q-mb-md" v-for="n in 5" :key="n">
<div class="col-1">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div>
<div class="col">
<QSkeleton type="QInput" square /> <QSkeleton type="QInput" square />
</div> </div>
</div> </div>
</div>
</template> </template>
<style lang="scss" scoped> <style lang="scss" scoped>
.w { .w {

View File

@ -95,22 +95,17 @@ const statesFilter = {
> >
<template #form="{ data, validate, filter }"> <template #form="{ data, validate, filter }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.client.name" v-model="data.client.name"
:label="t('claim.basicData.customer')" :label="t('claim.basicData.customer')"
disable disable
/> />
</div>
<div class="col">
<VnInputDate <VnInputDate
v-model="data.created" v-model="data.created"
:label="t('claim.basicData.created')" :label="t('claim.basicData.created')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('claim.basicData.assignedTo')" :label="t('claim.basicData.assignedTo')"
v-model="data.workerFk" v-model="data.workerFk"
@ -131,8 +126,6 @@ const statesFilter = {
</QAvatar> </QAvatar>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<QSelect <QSelect
v-model="data.claimStateFk" v-model="data.claimStateFk"
:options="claimStates" :options="claimStates"
@ -147,18 +140,14 @@ const statesFilter = {
:input-debounce="0" :input-debounce="0"
> >
</QSelect> </QSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
v-model.number="data.packages" v-model.number="data.packages"
:label="t('globals.packages')" :label="t('globals.packages')"
:rules="validate('claim.packages')" :rules="validate('claim.packages')"
type="number" type="number"
/> />
</div>
<div class="col">
<QSelect <QSelect
v-model="data.pickup" v-model="data.pickup"
:options="optionsList" :options="optionsList"
@ -171,7 +160,6 @@ const statesFilter = {
:input-debounce="0" :input-debounce="0"
> >
</QSelect> </QSelect>
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -70,7 +70,6 @@ const filterOptions = {
<FormModel :url="`Clients/${route.params.id}`" auto-load model="customer"> <FormModel :url="`Clients/${route.params.id}`" auto-load model="customer">
<template #form="{ data, validate, filter }"> <template #form="{ data, validate, filter }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Comercial name')" :label="t('Comercial name')"
:rules="validate('client.socialName')" :rules="validate('client.socialName')"
@ -78,8 +77,7 @@ const filterOptions = {
clearable clearable
v-model="data.name" v-model="data.name"
/> />
</div>
<div class="col">
<QSelect <QSelect
:input-debounce="0" :input-debounce="0"
:label="t('customer.basicData.businessType')" :label="t('customer.basicData.businessType')"
@ -91,18 +89,14 @@ const filterOptions = {
option-value="code" option-value="code"
v-model="data.businessTypeFk" v-model="data.businessTypeFk"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('customer.basicData.contact')" :label="t('customer.basicData.contact')"
:rules="validate('client.contact')" :rules="validate('client.contact')"
clearable clearable
v-model="data.contact" v-model="data.contact"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('customer.basicData.email')" :label="t('customer.basicData.email')"
:rules="validate('client.email')" :rules="validate('client.email')"
@ -118,28 +112,22 @@ const filterOptions = {
</QIcon> </QIcon>
</template> </template>
</VnInput> </VnInput>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('customer.basicData.phone')" :label="t('customer.basicData.phone')"
:rules="validate('client.phone')" :rules="validate('client.phone')"
clearable clearable
v-model="data.phone" v-model="data.phone"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('customer.basicData.mobile')" :label="t('customer.basicData.mobile')"
:rules="validate('client.mobile')" :rules="validate('client.mobile')"
clearable clearable
v-model="data.mobile" v-model="data.mobile"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QSelect <QSelect
:input-debounce="0" :input-debounce="0"
:label="t('customer.basicData.salesPerson')" :label="t('customer.basicData.salesPerson')"
@ -163,23 +151,19 @@ const filterOptions = {
</QAvatar> </QAvatar>
</template> </template>
</QSelect> </QSelect>
</div>
<div class="col">
<QSelect <QSelect
:input-debounce="0"
:label="t('customer.basicData.contactChannel')"
:options="contactChannels"
:rules="validate('client.contactChannelFk')"
emit-value
map-options
option-label="name"
option-value="id"
v-model="data.contactChannelFk" v-model="data.contactChannelFk"
:options="contactChannels"
option-value="id"
option-label="name"
emit-value
:label="t('customer.basicData.contactChannel')"
map-options
:rules="validate('client.contactChannelFk')"
:input-debounce="0"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QSelect <QSelect
:input-debounce="0" :input-debounce="0"
:label="t('customer.basicData.previousClient')" :label="t('customer.basicData.previousClient')"
@ -201,7 +185,6 @@ const filterOptions = {
</QIcon> </QIcon>
</template> </template>
</QSelect> </QSelect>
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -48,7 +48,6 @@ const getBankEntities = (data, formData) => {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Billing data')" :label="t('Billing data')"
:options="payMethods" :options="payMethods"
@ -57,14 +56,10 @@ const getBankEntities = (data, formData) => {
option-value="id" option-value="id"
v-model="data.payMethod" v-model="data.payMethod"
/> />
</div>
<div class="col">
<VnInput :label="t('Due day')" clearable v-model="data.dueDay" /> <VnInput :label="t('Due day')" clearable v-model="data.dueDay" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('IBAN')" clearable v-model="data.iban"> <VnInput :label="t('IBAN')" clearable v-model="data.iban">
<template #append> <template #append>
<QIcon name="info" class="cursor-info"> <QIcon name="info" class="cursor-info">
@ -72,8 +67,6 @@ const getBankEntities = (data, formData) => {
</QIcon> </QIcon>
</template> </template>
</VnInput> </VnInput>
</div>
<div class="col">
<VnSelectDialog <VnSelectDialog
:label="t('Swift / BIC')" :label="t('Swift / BIC')"
:options="bankEntitiesOptions" :options="bankEntitiesOptions"
@ -93,29 +86,18 @@ const getBankEntities = (data, formData) => {
<QItem v-bind="scope.itemProps"> <QItem v-bind="scope.itemProps">
<QItemSection v-if="scope.opt"> <QItemSection v-if="scope.opt">
<QItemLabel <QItemLabel
>{{ scope.opt.bic }} >{{ scope.opt.bic }} {{ scope.opt.name }}</QItemLabel
{{ scope.opt.name }}</QItemLabel
> >
</QItemSection> </QItemSection>
</QItem> </QItem>
</template> </template>
</VnSelectDialog> </VnSelectDialog>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox :label="t('Received LCR')" v-model="data.hasLcr" /> <QCheckbox :label="t('Received LCR')" v-model="data.hasLcr" />
</div> <QCheckbox :label="t('VNL core received')" v-model="data.hasCoreVnl" />
<div class="col">
<QCheckbox
:label="t('VNL core received')"
v-model="data.hasCoreVnl"
/>
</div>
<div class="col">
<QCheckbox :label="t('VNL B2B received')" v-model="data.hasSepaVnl" /> <QCheckbox :label="t('VNL B2B received')" v-model="data.hasSepaVnl" />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -41,7 +41,6 @@ function handleLocation(data, location) {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Social name')" :label="t('Social name')"
:required="true" :required="true"
@ -55,20 +54,14 @@ function handleLocation(data, location) {
</QIcon> </QIcon>
</template> </template>
</VnInput> </VnInput>
</div>
<div class="col">
<VnInput :label="t('Tax number')" clearable v-model="data.fi" /> <VnInput :label="t('Tax number')" clearable v-model="data.fi" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Street')" clearable v-model="data.street" /> <VnInput :label="t('Street')" clearable v-model="data.street" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Sage tax type')" :label="t('Sage tax type')"
:options="typesTaxes" :options="typesTaxes"
@ -77,8 +70,6 @@ function handleLocation(data, location) {
option-value="id" option-value="id"
v-model="data.sageTaxTypeFk" v-model="data.sageTaxTypeFk"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Sage transaction type')" :label="t('Sage transaction type')"
:options="typesTransactions" :options="typesTransactions"
@ -98,11 +89,9 @@ function handleLocation(data, location) {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnLocation <VnLocation
:rules="validate('Worker.postcode')" :rules="validate('Worker.postcode')"
:roles-allowed-to-create="['deliveryAssistant']" :roles-allowed-to-create="['deliveryAssistant']"
@ -111,80 +100,50 @@ function handleLocation(data, location) {
@update:model-value="(location) => handleLocation(data, location)" @update:model-value="(location) => handleLocation(data, location)"
> >
</VnLocation> </VnLocation>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox :label="t('Active')" v-model="data.isActive" /> <QCheckbox :label="t('Active')" v-model="data.isActive" />
</div>
<div class="col">
<QCheckbox :label="t('Frozen')" v-model="data.isFreezed" /> <QCheckbox :label="t('Frozen')" v-model="data.isFreezed" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox :label="t('Has to invoice')" v-model="data.hasToInvoice" /> <QCheckbox :label="t('Has to invoice')" v-model="data.hasToInvoice" />
</div>
<div class="col">
<QCheckbox :label="t('Vies')" v-model="data.isVies" /> <QCheckbox :label="t('Vies')" v-model="data.isVies" />
<QIcon name="info" class="cursor-info q-ml-sm" size="sm"> <QIcon name="info" class="cursor-info q-ml-sm" size="sm">
<QTooltip> <QTooltip>
{{ t('whenActivatingIt') }} {{ t('whenActivatingIt') }}
</QTooltip> </QTooltip>
</QIcon> </QIcon>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <QCheckbox :label="t('Notify by email')" v-model="data.isToBeMailed" />
<QCheckbox
:label="t('Notify by email')"
v-model="data.isToBeMailed"
/>
</div>
<div class="col">
<QCheckbox <QCheckbox
:label="t('Invoice by address')" :label="t('Invoice by address')"
v-model="data.hasToInvoiceByAddress" v-model="data.hasToInvoiceByAddress"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <QCheckbox :label="t('Is equalizated')" v-model="data.isEqualizated" />
<QCheckbox
:label="t('Is equalizated')"
v-model="data.isEqualizated"
/>
<QIcon class="cursor-info q-ml-sm" name="info" size="sm"> <QIcon class="cursor-info q-ml-sm" name="info" size="sm">
<QTooltip> <QTooltip>
{{ t('inOrderToInvoice') }} {{ t('inOrderToInvoice') }}
</QTooltip> </QTooltip>
</QIcon> </QIcon>
</div> <QCheckbox :label="t('Verified data')" v-model="data.isTaxDataChecked" />
<div class="col">
<QCheckbox
:label="t('Verified data')"
v-model="data.isTaxDataChecked"
/>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
:label="t('Incoterms authorization')" :label="t('Incoterms authorization')"
v-model="data.hasIncoterms" v-model="data.hasIncoterms"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
:label="t('Electronic invoice')" :label="t('Electronic invoice')"
v-model="data.hasElectronicInvoice" v-model="data.hasElectronicInvoice"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -49,10 +49,7 @@ function handleLocation(data, location) {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput :label="t('Comercial name')" v-model="data.name" /> <QInput :label="t('Comercial name')" v-model="data.name" />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Salesperson')" :label="t('Salesperson')"
:options="workersOptions" :options="workersOptions"
@ -61,10 +58,8 @@ function handleLocation(data, location) {
option-value="id" option-value="id"
v-model="data.salesPersonFk" v-model="data.salesPersonFk"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Business type')" :label="t('Business type')"
:options="businessTypesOptions" :options="businessTypesOptions"
@ -73,49 +68,35 @@ function handleLocation(data, location) {
option-value="code" option-value="code"
v-model="data.businessTypeFk" v-model="data.businessTypeFk"
/> />
</div>
<div class="col">
<QInput v-model="data.fi" :label="t('Tax number')" /> <QInput v-model="data.fi" :label="t('Tax number')" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Business name')" :label="t('Business name')"
:rules="validate('client.socialName')" :rules="validate('client.socialName')"
v-model="data.socialName" v-model="data.socialName"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Street')" :label="t('Street')"
:rules="validate('client.street')" :rules="validate('client.street')"
v-model="data.street" v-model="data.street"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnLocation <VnLocation
:rules="validate('Worker.postcode')" :rules="validate('Worker.postcode')"
:roles-allowed-to-create="['deliveryAssistant']" :roles-allowed-to-create="['deliveryAssistant']"
:options="postcodesOptions" :options="postcodesOptions"
v-model="data.location" v-model="data.location"
@update:model-value=" @update:model-value="(location) => handleLocation(data, location)"
(location) => handleLocation(data, location)
"
> >
</VnLocation> </VnLocation>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput v-model="data.userName" :label="t('Web user')" /> <QInput v-model="data.userName" :label="t('Web user')" />
</div>
<div class="col">
<QInput <QInput
:label="t('Email')" :label="t('Email')"
:rules="validate('client.email')" :rules="validate('client.email')"
@ -131,7 +112,6 @@ function handleLocation(data, location) {
</QIcon> </QIcon>
</template> </template>
</QInput> </QInput>
</div>
</VnRow> </VnRow>
<QCheckbox <QCheckbox
:label="t('Is equalizated')" :label="t('Is equalizated')"

View File

@ -61,13 +61,11 @@ const onSubmit = async () => {
}} }}
</div> </div>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Message')" :label="t('Message')"
type="textarea" type="textarea"
v-model="newObservation" v-model="newObservation"
/> />
</div>
</VnRow> </VnRow>
<div class="q-mt-lg row justify-end"> <div class="q-mt-lg row justify-end">
<QBtn <QBtn

View File

@ -56,24 +56,17 @@ const toCustomerGreuges = () => {
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Amount')" :label="t('Amount')"
clearable clearable
type="number" type="number"
v-model="data.amount" v-model="data.amount"
/> />
</div>
<div class="col">
<VnInputDate :label="t('Date')" v-model="data.shipped" /> <VnInputDate :label="t('Date')" v-model="data.shipped" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput :label="t('Comment')" clearable v-model="data.description" /> <VnInput :label="t('Comment')" clearable v-model="data.description" />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Type')" :label="t('Type')"
:options="greugeTypes" :options="greugeTypes"
@ -82,7 +75,6 @@ const toCustomerGreuges = () => {
option-value="id" option-value="id"
v-model="data.greugeTypeFk" v-model="data.greugeTypeFk"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

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

View File

@ -135,14 +135,11 @@ const onDataSaved = async () => {
<h5 class="q-mt-none">{{ t('New payment') }}</h5> <h5 class="q-mt-none">{{ t('New payment') }}</h5>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInputDate <VnInputDate
:label="t('Date')" :label="t('Date')"
:required="true" :required="true"
v-model="data.payed" v-model="data.payed"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Company')" :label="t('Company')"
:options="companyOptions" :options="companyOptions"
@ -153,11 +150,9 @@ const onDataSaved = async () => {
option-value="id" option-value="id"
v-model="data.companyFk" v-model="data.companyFk"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Bank')" :label="t('Bank')"
:options="bankOptions" :options="bankOptions"
@ -178,8 +173,6 @@ const onDataSaved = async () => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnInput <VnInput
:label="t('Amount')" :label="t('Amount')"
:required="true" :required="true"
@ -188,7 +181,6 @@ const onDataSaved = async () => {
type="number" type="number"
v-model.number="data.amountPaid" v-model.number="data.amountPaid"
/> />
</div>
</VnRow> </VnRow>
<div class="text-h6" v-if="data.bankFk === 3 || data.bankFk === 3117"> <div class="text-h6" v-if="data.bankFk === 3 || data.bankFk === 3117">
@ -203,21 +195,18 @@ const onDataSaved = async () => {
v-model="data.compensationAccount" v-model="data.compensationAccount"
/> />
</div> </div>
<div class="col">
<VnInput <VnInput
:label="t('Reference')" :label="t('Reference')"
:required="true" :required="true"
clearable clearable
v-model="data.description" v-model="data.description"
/> />
</div>
</VnRow> </VnRow>
<div class="q-mt-lg" v-if="data.bankFk === 2"> <div class="q-mt-lg" v-if="data.bankFk === 2">
<div class="text-h6">{{ t('Cash') }}</div> <div class="text-h6">{{ t('Cash') }}</div>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Delivered amount')" :label="t('Delivered amount')"
@update:model-value="calculateFromDeliveredAmount($event)" @update:model-value="calculateFromDeliveredAmount($event)"
@ -225,8 +214,6 @@ const onDataSaved = async () => {
type="number" type="number"
v-model="deliveredAmount" v-model="deliveredAmount"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('Amount to return')" :label="t('Amount to return')"
clearable clearable
@ -234,16 +221,11 @@ const onDataSaved = async () => {
type="number" type="number"
v-model="amountToReturn" v-model="amountToReturn"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox v-model="viewRecipt" /> <QCheckbox v-model="viewRecipt" />
</div>
<div class="col">
<QCheckbox v-model="sendEmail" /> <QCheckbox v-model="sendEmail" />
</div>
</VnRow> </VnRow>
</div> </div>

View File

@ -45,9 +45,7 @@ const toCustomerNotes = () => {
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput :label="t('Note')" type="textarea" v-model="data.text" /> <QInput :label="t('Note')" type="textarea" v-model="data.text" />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -50,31 +50,23 @@ const toCustomerRecoveries = () => {
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInputDate :label="t('Since')" v-model="data.started" /> <VnInputDate :label="t('Since')" v-model="data.started" />
</div>
<div class="col">
<VnInputDate :label="t('To')" v-model="data.finished" /> <VnInputDate :label="t('To')" v-model="data.finished" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('Amount')" :label="t('Amount')"
clearable clearable
type="number" type="number"
v-model="data.amount" v-model="data.amount"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('Period')" :label="t('Period')"
clearable clearable
type="number" type="number"
v-model="data.period" v-model="data.period"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -30,7 +30,6 @@ const clientsOptions = ref([]);
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('department.name')" :label="t('department.name')"
v-model="data.name" v-model="data.name"
@ -38,36 +37,28 @@ const clientsOptions = ref([]);
clearable clearable
autofocus autofocus
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.code" v-model="data.code"
:label="t('department.code')" :label="t('department.code')"
:rules="validate('department.code')" :rules="validate('department.code')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('department.chat')" :label="t('department.chat')"
v-model="data.chatName" v-model="data.chatName"
:rules="validate('department.chat')" :rules="validate('department.chat')"
clearable clearable
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.notificationEmail" v-model="data.notificationEmail"
:label="t('department.email')" :label="t('department.email')"
:rules="validate('department.email')" :rules="validate('department.email')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('department.bossDepartment')" :label="t('department.bossDepartment')"
v-model="data.workerFk" v-model="data.workerFk"
@ -78,8 +69,6 @@ const clientsOptions = ref([]);
map-options map-options
:rules="validate('department.workerFk')" :rules="validate('department.workerFk')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('department.selfConsumptionCustomer')" :label="t('department.selfConsumptionCustomer')"
v-model="data.clientFk" v-model="data.clientFk"
@ -90,45 +79,34 @@ const clientsOptions = ref([]);
map-options map-options
:rules="validate('department.clientFk')" :rules="validate('department.clientFk')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
:label="t('department.telework')" :label="t('department.telework')"
v-model="data.isTeleworking" v-model="data.isTeleworking"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
:label="t('department.notifyOnErrors')" :label="t('department.notifyOnErrors')"
v-model="data.hasToMistake" v-model="data.hasToMistake"
:false-value="0" :false-value="0"
:true-value="1" :true-value="1"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
:label="t('department.worksInProduction')" :label="t('department.worksInProduction')"
v-model="data.isProduction" v-model="data.isProduction"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
:label="t('department.hasToRefill')" :label="t('department.hasToRefill')"
v-model="data.hasToRefill" v-model="data.hasToRefill"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
:label="t('department.hasToSendMail')" :label="t('department.hasToSendMail')"
v-model="data.hasToSendMail" v-model="data.hasToSendMail"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -68,7 +68,6 @@ const onFilterTravelSelected = (formData, id) => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('entry.basicData.supplier')" :label="t('entry.basicData.supplier')"
v-model="data.supplierFk" v-model="data.supplierFk"
@ -90,8 +89,6 @@ const onFilterTravelSelected = (formData, id) => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnSelectDialog <VnSelectDialog
:label="t('entry.basicData.travel')" :label="t('entry.basicData.travel')"
v-model="data.travelFk" v-model="data.travelFk"
@ -123,24 +120,18 @@ const onFilterTravelSelected = (formData, id) => {
</QItem> </QItem>
</template> </template>
</VnSelectDialog> </VnSelectDialog>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.reference" v-model="data.reference"
:label="t('entry.basicData.reference')" :label="t('entry.basicData.reference')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.invoiceNumber" v-model="data.invoiceNumber"
:label="t('entry.basicData.invoiceNumber')" :label="t('entry.basicData.invoiceNumber')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('entry.basicData.company')" :label="t('entry.basicData.company')"
v-model="data.companyFk" v-model="data.companyFk"
@ -151,10 +142,8 @@ const onFilterTravelSelected = (formData, id) => {
hide-selected hide-selected
:required="true" :required="true"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('entry.basicData.currency')" :label="t('entry.basicData.currency')"
v-model="data.currencyFk" v-model="data.currencyFk"
@ -162,8 +151,6 @@ const onFilterTravelSelected = (formData, id) => {
option-value="id" option-value="id"
option-label="code" option-label="code"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('entry.basicData.commission')" :label="t('entry.basicData.commission')"
v-model="data.commission" v-model="data.commission"
@ -171,10 +158,8 @@ const onFilterTravelSelected = (formData, id) => {
autofocus autofocus
min="0" min="0"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('entry.basicData.observation')" :label="t('entry.basicData.observation')"
type="textarea" type="textarea"
@ -183,37 +168,26 @@ const onFilterTravelSelected = (formData, id) => {
counter counter
fill-input fill-input
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isOrdered" v-model="data.isOrdered"
:label="t('entry.basicData.ordered')" :label="t('entry.basicData.ordered')"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isConfirmed" v-model="data.isConfirmed"
:label="t('entry.basicData.confirmed')" :label="t('entry.basicData.confirmed')"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isExcludedFromAvailable" v-model="data.isExcludedFromAvailable"
:label="t('entry.basicData.excludedFromAvailable')" :label="t('entry.basicData.excludedFromAvailable')"
/> />
</div>
<div class="col">
<QCheckbox v-model="data.isRaid" :label="t('entry.basicData.raid')" /> <QCheckbox v-model="data.isRaid" :label="t('entry.basicData.raid')" />
</div>
<div class="col">
<QCheckbox <QCheckbox
v-if="isAdministrative()" v-if="isAdministrative()"
v-model="data.isBooked" v-model="data.isBooked"
:label="t('entry.basicData.booked')" :label="t('entry.basicData.booked')"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -198,7 +198,6 @@ const redirectToBuysView = () => {
</Teleport> </Teleport>
<QCard class="q-pa-lg"> <QCard class="q-pa-lg">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QFile <QFile
ref="inputFileRef" ref="inputFileRef"
:label="t('entry.buys.file')" :label="t('entry.buys.file')"
@ -218,24 +217,19 @@ const redirectToBuysView = () => {
</QIcon> </QIcon>
</template> </template>
</QFile> </QFile>
</div>
</VnRow> </VnRow>
<div v-if="importData.file"> <div v-if="importData.file">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('entry.buys.reference')" :label="t('entry.buys.reference')"
v-model="importData.ref" v-model="importData.ref"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('entry.buys.observations')" :label="t('entry.buys.observations')"
v-model="importData.observation" v-model="importData.observation"
/> />
</div>
</VnRow> </VnRow>
<VnRow> <VnRow>
<QTable :columns="columns" :rows="importData.buys"> <QTable :columns="columns" :rows="importData.buys">

View File

@ -79,7 +79,6 @@ const redirectToEntryBasicData = (_, { id }) => {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Supplier')" :label="t('Supplier')"
class="full-width" class="full-width"
@ -102,10 +101,8 @@ const redirectToEntryBasicData = (_, { id }) => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Travel')" :label="t('Travel')"
class="full-width" class="full-width"
@ -125,8 +122,7 @@ const redirectToEntryBasicData = (_, { id }) => {
>{{ scope.opt?.agencyModeName }} - >{{ scope.opt?.agencyModeName }} -
{{ scope.opt?.warehouseInName }} ({{ {{ scope.opt?.warehouseInName }} ({{
toDate(scope.opt?.shipped) toDate(scope.opt?.shipped)
}}) &#x2192; }}) &#x2192; {{ scope.opt?.warehouseOutName }} ({{
{{ scope.opt?.warehouseOutName }} ({{
toDate(scope.opt?.landed) toDate(scope.opt?.landed)
}})</QItemLabel }})</QItemLabel
> >
@ -134,10 +130,8 @@ const redirectToEntryBasicData = (_, { id }) => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Company')" :label="t('Company')"
class="full-width" class="full-width"
@ -150,7 +144,6 @@ const redirectToEntryBasicData = (_, { id }) => {
:required="true" :required="true"
:rules="validate('entry.companyFk')" :rules="validate('entry.companyFk')"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -182,7 +182,6 @@ async function upsert() {
> >
<template #form="{ data }"> <template #form="{ data }">
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('supplierFk')" :label="t('supplierFk')"
v-model="data.supplierFk" v-model="data.supplierFk"
@ -203,8 +202,6 @@ async function upsert() {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<QInput <QInput
clearable clearable
clear-icon="close" clear-icon="close"
@ -212,20 +209,14 @@ async function upsert() {
v-model="data.supplierRef" v-model="data.supplierRef"
/> />
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Expedition date')" :label="t('Expedition date')"
v-model="data.issued" v-model="data.issued"
:mask="dateMask" :mask="dateMask"
> >
<template #append> <template #append>
<QIcon <QIcon name="event" class="cursor-pointer" :fill-mask="fillMask">
name="event"
class="cursor-pointer"
:fill-mask="fillMask"
>
<QPopupProxy <QPopupProxy
cover cover
transition-show="scale" transition-show="scale"
@ -245,8 +236,6 @@ async function upsert() {
</QIcon> </QIcon>
</template> </template>
</QInput> </QInput>
</div>
<div class="col">
<QInput <QInput
:label="t('Operation date')" :label="t('Operation date')"
v-model="data.operated" v-model="data.operated"
@ -276,17 +265,13 @@ async function upsert() {
</template> </template>
</QInput> </QInput>
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Undeductible VAT')" :label="t('Undeductible VAT')"
v-model="data.deductibleExpenseFk" v-model="data.deductibleExpenseFk"
clearable clearable
clear-icon="close" clear-icon="close"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('Document')" :label="t('Document')"
v-model="data.dmsFk" v-model="data.dmsFk"
@ -334,9 +319,7 @@ async function upsert() {
</template> </template>
</QInput> </QInput>
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('Entry date')" :label="t('Entry date')"
v-model="data.bookEntried" v-model="data.bookEntried"
@ -366,8 +349,6 @@ async function upsert() {
</QIcon> </QIcon>
</template> </template>
</QInput> </QInput>
</div>
<div class="col">
<QInput <QInput
:label="t('Accounted date')" :label="t('Accounted date')"
v-model="data.booked" v-model="data.booked"
@ -398,9 +379,7 @@ async function upsert() {
</template> </template>
</QInput> </QInput>
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Currency')" :label="t('Currency')"
v-model="data.currencyFk" v-model="data.currencyFk"
@ -408,8 +387,6 @@ async function upsert() {
option-value="id" option-value="id"
option-label="code" option-label="code"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
v-if="companiesRef" v-if="companiesRef"
:label="t('Company')" :label="t('Company')"
@ -419,16 +396,12 @@ async function upsert() {
option-label="code" option-label="code"
/> />
</div> </div>
</div>
<div class="row q-gutter-md q-mb-md"> <div class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
:label="t('invoiceIn.summary.booked')" :label="t('invoiceIn.summary.booked')"
v-model="data.isBooked" v-model="data.isBooked"
/> />
</div> </div>
<div class="col"></div>
</div>
</template> </template>
</FormModel> </FormModel>
<QDialog ref="editDmsRef"> <QDialog ref="editDmsRef">

View File

@ -144,7 +144,6 @@ const orderFilter = {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('order.form.clientFk')" :label="t('order.form.clientFk')"
v-model="data.clientFk" v-model="data.clientFk"
@ -166,8 +165,6 @@ const orderFilter = {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('order.form.addressFk')" :label="t('order.form.addressFk')"
v-model="data.addressFk" v-model="data.addressFk"
@ -192,10 +189,8 @@ const orderFilter = {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInputDate <VnInputDate
placeholder="dd-mm-aaa" placeholder="dd-mm-aaa"
:label="t('order.form.landed')" :label="t('order.form.landed')"
@ -204,10 +199,8 @@ const orderFilter = {
() => fetchAgencyList(data.landed, data.addressFk) () => fetchAgencyList(data.landed, data.addressFk)
" "
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('order.form.agencyModeFk')" :label="t('order.form.agencyModeFk')"
v-model="data.agencyModeFk" v-model="data.agencyModeFk"
@ -218,7 +211,6 @@ const orderFilter = {
:disable="!agencyList?.length" :disable="!agencyList?.length"
> >
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -123,7 +123,6 @@ const onSave = (data, response) => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Worker')" :label="t('Worker')"
v-model="data.workerFk" v-model="data.workerFk"
@ -146,8 +145,6 @@ const onSave = (data, response) => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('Vehicle')" :label="t('Vehicle')"
v-model="data.vehicleFk" v-model="data.vehicleFk"
@ -159,10 +156,8 @@ const onSave = (data, response) => {
use-input use-input
:input-debounce="0" :input-debounce="0"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Agency')" :label="t('Agency')"
v-model="data.agencyModeFk" v-model="data.agencyModeFk"
@ -174,39 +169,24 @@ const onSave = (data, response) => {
use-input use-input
:input-debounce="0" :input-debounce="0"
/> />
</div>
<div class="col">
<VnInputDate v-model="data.created" :label="t('Created')" /> <VnInputDate v-model="data.created" :label="t('Created')" />
</div>
</VnRow> </VnRow>
<template v-if="!isNew"> <template v-if="!isNew">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <VnInput v-model="data.kmStart" :label="t('Km Start')" clearable />
<VnInput
v-model="data.kmStart"
:label="t('Km Start')"
clearable
/>
</div>
<div class="col">
<VnInput v-model="data.kmEnd" :label="t('Km End')" clearable /> <VnInput v-model="data.kmEnd" :label="t('Km End')" clearable />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInputTime <VnInputTime
v-model="data.started" v-model="data.started"
:label="t('Hour started')" :label="t('Hour started')"
clearable clearable
/> />
</div>
<div class="col">
<VnInputTime <VnInputTime
v-model="data.finished" v-model="data.finished"
:label="t('Hour finished')" :label="t('Hour finished')"
clearable clearable
/> />
</div>
<div class="col flex items-center"> <div class="col flex items-center">
<QCheckbox <QCheckbox
size="sm" size="sm"
@ -218,7 +198,6 @@ const onSave = (data, response) => {
</VnRow> </VnRow>
</template> </template>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.description" v-model="data.description"
:label="t('Description')" :label="t('Description')"
@ -226,7 +205,6 @@ const onSave = (data, response) => {
:rows="3" :rows="3"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -41,34 +41,23 @@ const onSave = (data, response) => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput v-model="data.name" :label="t('Roadmap')" clearable /> <VnInput v-model="data.name" :label="t('Roadmap')" clearable />
</div>
<div class="col">
<VnInputDate v-model="data.etd" :label="t('ETD date')" /> <VnInputDate v-model="data.etd" :label="t('ETD date')" />
</div>
<div class="col">
<VnInputTime v-model="data.etd" :label="t('ETD hour')" /> <VnInputTime v-model="data.etd" :label="t('ETD hour')" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.tractorPlate" v-model="data.tractorPlate"
:label="t('Tractor plate')" :label="t('Tractor plate')"
clearable clearable
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.trailerPlate" v-model="data.trailerPlate"
:label="t('Trailer plate')" :label="t('Trailer plate')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('Carrier')" :label="t('Carrier')"
v-model="data.supplierFk" v-model="data.supplierFk"
@ -90,36 +79,23 @@ const onSave = (data, response) => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
<div class="col">
<VnInput <VnInput
v-model="data.price" v-model="data.price"
:label="t('Price')" :label="t('Price')"
type="number" type="number"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <VnInput v-model="data.driverName" :label="t('Driver name')" clearable />
<VnInput
v-model="data.driverName"
:label="t('Driver name')"
clearable
/>
</div>
<div class="col">
<VnInput v-model="data.phone" :label="t('Phone')" clearable /> <VnInput v-model="data.phone" :label="t('Phone')" clearable />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.observations" v-model="data.observations"
:label="t('Observations')" :label="t('Observations')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -31,19 +31,13 @@ const onSave = (data, response) => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.name" v-model="data.name"
:label="t('Roadmap')" :label="t('Roadmap')"
clearable clearable
/> />
</div>
<div class="col">
<VnInputDate v-model="data.etd" :label="t('ETD date')" /> <VnInputDate v-model="data.etd" :label="t('ETD date')" />
</div>
<div class="col">
<VnInputTime v-model="data.etd" :label="t('ETD hour')" /> <VnInputTime v-model="data.etd" :label="t('ETD hour')" />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -86,14 +86,11 @@ const onSave = (shelving, newShelving) => {
> >
<template #form="{ data, validate, filter }"> <template #form="{ data, validate, filter }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.code" v-model="data.code"
:label="t('shelving.basicData.code')" :label="t('shelving.basicData.code')"
:rules="validate('Shelving.code')" :rules="validate('Shelving.code')"
/> />
</div>
<div class="col">
<QSelect <QSelect
v-model="data.parkingFk" v-model="data.parkingFk"
:options="parkingList" :options="parkingList"
@ -109,24 +106,19 @@ const onSave = (shelving, newShelving) => {
:rules="validate('Shelving.parkingFk')" :rules="validate('Shelving.parkingFk')"
:input-debounce="0" :input-debounce="0"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.priority" v-model="data.priority"
type="number" type="number"
:label="t('shelving.basicData.priority')" :label="t('shelving.basicData.priority')"
:rules="validate('Shelving.priority')" :rules="validate('Shelving.priority')"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isRecyclable" v-model="data.isRecyclable"
:label="t('shelving.basicData.recyclable')" :label="t('shelving.basicData.recyclable')"
:rules="validate('Shelving.isRecyclable')" :rules="validate('Shelving.isRecyclable')"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -99,7 +99,6 @@ const setWireTransfer = async () => {
:key="index" :key="index"
class="row q-gutter-md q-mb-md" class="row q-gutter-md q-mb-md"
> >
<div class="col">
<VnInput :label="t('supplier.accounts.iban')" v-model="row.iban"> <VnInput :label="t('supplier.accounts.iban')" v-model="row.iban">
<template #append> <template #append>
<QIcon name="info" class="cursor-info"> <QIcon name="info" class="cursor-info">
@ -109,8 +108,6 @@ const setWireTransfer = async () => {
</QIcon> </QIcon>
</template> </template>
</VnInput> </VnInput>
</div>
<div class="col">
<VnSelectDialog <VnSelectDialog
:label="t('worker.create.bankEntity')" :label="t('worker.create.bankEntity')"
v-model="row.bankEntityFk" v-model="row.bankEntityFk"
@ -139,8 +136,6 @@ const setWireTransfer = async () => {
</QItem> </QItem>
</template> </template>
</VnSelectDialog> </VnSelectDialog>
</div>
<div class="col">
<VnInput <VnInput
:label="t('supplier.accounts.beneficiary')" :label="t('supplier.accounts.beneficiary')"
v-model="row.beneficiary" v-model="row.beneficiary"
@ -155,7 +150,6 @@ const setWireTransfer = async () => {
</QIcon> </QIcon>
</template> </template>
</VnInput> </VnInput>
</div>
<div class="col-1 row justify-center items-center"> <div class="col-1 row justify-center items-center">
<QIcon <QIcon
name="delete" name="delete"

View File

@ -79,21 +79,16 @@ function handleLocation(data, location) {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.nickname" v-model="data.nickname"
:label="t('supplier.addresses.name')" :label="t('supplier.addresses.name')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.street" v-model="data.street"
:label="t('supplier.addresses.street')" :label="t('supplier.addresses.street')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnLocation <VnLocation
:rules="validate('Worker.postcode')" :rules="validate('Worker.postcode')"
:roles-allowed-to-create="['deliveryAssistant']" :roles-allowed-to-create="['deliveryAssistant']"
@ -102,22 +97,18 @@ function handleLocation(data, location) {
@update:model-value=" @update:model-value="
(location) => handleLocation(data, location) (location) => handleLocation(data, location)
" "
></VnLocation> >
</div> </VnLocation>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.phone" v-model="data.phone"
:label="t('supplier.addresses.phone')" :label="t('supplier.addresses.phone')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.mobile" v-model="data.mobile"
:label="t('supplier.addresses.mobile')" :label="t('supplier.addresses.mobile')"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -54,7 +54,6 @@ const redirectToCreateView = () => {
:key="index" :key="index"
class="row q-gutter-md q-mb-md" class="row q-gutter-md q-mb-md"
> >
<div class="col">
<QField :label="t('supplier.agencyTerms.agencyFk')" stack-label> <QField :label="t('supplier.agencyTerms.agencyFk')" stack-label>
<template #control> <template #control>
<div tabindex="0"> <div tabindex="0">
@ -62,49 +61,36 @@ const redirectToCreateView = () => {
</div> </div>
</template> </template>
</QField> </QField>
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.minimumM3')" :label="t('supplier.agencyTerms.minimumM3')"
v-model.number="row.minimumM3" v-model.number="row.minimumM3"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.packagePrice')" :label="t('supplier.agencyTerms.packagePrice')"
v-model.number="row.packagePrice" v-model.number="row.packagePrice"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.kmPrice')" :label="t('supplier.agencyTerms.kmPrice')"
v-model.number="row.kmPrice" v-model.number="row.kmPrice"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.m3Price')" :label="t('supplier.agencyTerms.m3Price')"
v-model.number="row.m3Price" v-model.number="row.m3Price"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.routePrice')" :label="t('supplier.agencyTerms.routePrice')"
v-model.number="row.routePrice" v-model.number="row.routePrice"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.minimumKm')" :label="t('supplier.agencyTerms.minimumKm')"
v-model.number="row.minimumKm" v-model.number="row.minimumKm"
type="number" type="number"
/> />
</div>
<div class="col-1 row justify-center items-center"> <div class="col-1 row justify-center items-center">
<QIcon <QIcon
name="delete" name="delete"

View File

@ -46,7 +46,6 @@ const onDataSaved = () => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.agencyTerms.agencyFk')" :label="t('supplier.agencyTerms.agencyFk')"
v-model="data.agencyFk" v-model="data.agencyFk"
@ -56,53 +55,40 @@ const onDataSaved = () => {
hide-selected hide-selected
rounded rounded
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.minimumM3')" :label="t('supplier.agencyTerms.minimumM3')"
v-model.number="data.minimumM3" v-model.number="data.minimumM3"
type="number" type="number"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.packagePrice')" :label="t('supplier.agencyTerms.packagePrice')"
v-model.number="data.packagePrice" v-model.number="data.packagePrice"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.kmPrice')" :label="t('supplier.agencyTerms.kmPrice')"
v-model.number="data.kmPrice" v-model.number="data.kmPrice"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.m3Price')" :label="t('supplier.agencyTerms.m3Price')"
v-model.number="data.m3Price" v-model.number="data.m3Price"
type="number" type="number"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.routePrice')" :label="t('supplier.agencyTerms.routePrice')"
v-model.number="data.routePrice" v-model.number="data.routePrice"
type="number" type="number"
/> />
</div>
<div class="col">
<QInput <QInput
:label="t('supplier.agencyTerms.minimumKm')" :label="t('supplier.agencyTerms.minimumKm')"
v-model.number="data.minimumKm" v-model.number="data.minimumKm"
type="number" type="number"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -30,15 +30,12 @@ const workersOptions = ref([]);
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.nickname" v-model="data.nickname"
:label="t('supplier.basicData.alias')" :label="t('supplier.basicData.alias')"
:rules="validate('supplier.nickname')" :rules="validate('supplier.nickname')"
clearable clearable
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.basicData.workerFk')" :label="t('supplier.basicData.workerFk')"
v-model="data.workerFk" v-model="data.workerFk"
@ -67,37 +64,28 @@ const workersOptions = ref([]);
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isSerious" v-model="data.isSerious"
:label="t('supplier.basicData.isSerious')" :label="t('supplier.basicData.isSerious')"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isActive" v-model="data.isActive"
:label="t('supplier.basicData.isActive')" :label="t('supplier.basicData.isActive')"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
v-model="data.isPayMethodChecked" v-model="data.isPayMethodChecked"
:label="t('supplier.basicData.isPayMethodChecked')" :label="t('supplier.basicData.isPayMethodChecked')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('supplier.basicData.note')" :label="t('supplier.basicData.note')"
type="textarea" type="textarea"
v-model="data.note" v-model="data.note"
fill-input fill-input
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -37,7 +37,6 @@ const formatPayDems = (data) => {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.billingData.payMethodFk')" :label="t('supplier.billingData.payMethodFk')"
v-model="data.payMethodFk" v-model="data.payMethodFk"
@ -47,8 +46,6 @@ const formatPayDems = (data) => {
hide-selected hide-selected
:rules="validate('supplier.payMethodFk')" :rules="validate('supplier.payMethodFk')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.billingData.payDemFk')" :label="t('supplier.billingData.payDemFk')"
v-model="data.payDemFk" v-model="data.payDemFk"
@ -58,16 +55,13 @@ const formatPayDems = (data) => {
hide-selected hide-selected
:rules="validate('supplier.payDemFk')" :rules="validate('supplier.payDemFk')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('supplier.billingData.payDay')" :label="t('supplier.billingData.payDay')"
type="number" type="number"
v-model="data.payDay" v-model="data.payDay"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -42,34 +42,25 @@ const insertRow = () => {
class="border q-pa-md q-mb-md" class="border q-pa-md q-mb-md"
> >
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<div class="col">
<VnInput <VnInput
input-name-focusable input-name-focusable
:label="t('supplier.contacts.name')" :label="t('supplier.contacts.name')"
v-model="row.name" v-model="row.name"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('supplier.contacts.phone')" :label="t('supplier.contacts.phone')"
v-model="row.phone" v-model="row.phone"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('supplier.contacts.mobile')" :label="t('supplier.contacts.mobile')"
v-model="row.mobile" v-model="row.mobile"
/> />
</div>
<div class="col">
<VnInput <VnInput
:label="t('supplier.contacts.email')" :label="t('supplier.contacts.email')"
v-model="row.email" v-model="row.email"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md"> <VnRow class="row q-gutter-md">
<div class="col">
<QInput <QInput
:label="t('supplier.contacts.observation')" :label="t('supplier.contacts.observation')"
type="textarea" type="textarea"
@ -77,7 +68,6 @@ const insertRow = () => {
fill-input fill-input
autogrow autogrow
/> />
</div>
<div class="col-1 row justify-center items-center"> <div class="col-1 row justify-center items-center">
<QIcon <QIcon
name="delete" name="delete"

View File

@ -57,30 +57,23 @@ function handleLocation(data, location) {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.name" v-model="data.name"
:label="t('supplier.fiscalData.name')" :label="t('supplier.fiscalData.name')"
clearable clearable
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.nif" v-model="data.nif"
:label="t('supplier.fiscalData.nif')" :label="t('supplier.fiscalData.nif')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.account" v-model="data.account"
:label="t('supplier.fiscalData.account')" :label="t('supplier.fiscalData.account')"
clearable clearable
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.fiscalData.sageTaxTypeFk')" :label="t('supplier.fiscalData.sageTaxTypeFk')"
v-model="data.sageTaxTypeFk" v-model="data.sageTaxTypeFk"
@ -90,10 +83,8 @@ function handleLocation(data, location) {
hide-selected hide-selected
map-options map-options
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.fiscalData.sageWithholdingFk')" :label="t('supplier.fiscalData.sageWithholdingFk')"
v-model="data.sageWithholdingFk" v-model="data.sageWithholdingFk"
@ -103,8 +94,6 @@ function handleLocation(data, location) {
hide-selected hide-selected
map-options map-options
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.fiscalData.sageTransactionTypeFk')" :label="t('supplier.fiscalData.sageTransactionTypeFk')"
v-model="data.sageTransactionTypeFk" v-model="data.sageTransactionTypeFk"
@ -114,10 +103,8 @@ function handleLocation(data, location) {
hide-selected hide-selected
map-options map-options
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('supplier.fiscalData.supplierActivityFk')" :label="t('supplier.fiscalData.supplierActivityFk')"
v-model="data.supplierActivityFk" v-model="data.supplierActivityFk"
@ -127,26 +114,20 @@ function handleLocation(data, location) {
hide-selected hide-selected
map-options map-options
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.healthRegister" v-model="data.healthRegister"
:label="t('supplier.fiscalData.healthRegister')" :label="t('supplier.fiscalData.healthRegister')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.street" v-model="data.street"
:label="t('supplier.fiscalData.street')" :label="t('supplier.fiscalData.street')"
clearable clearable
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnLocation <VnLocation
:rules="validate('Worker.postcode')" :rules="validate('Worker.postcode')"
:roles-allowed-to-create="['deliveryAssistant']" :roles-allowed-to-create="['deliveryAssistant']"
@ -155,7 +136,6 @@ function handleLocation(data, location) {
@update:model-value="(location) => handleLocation(data, location)" @update:model-value="(location) => handleLocation(data, location)"
> >
</VnLocation> </VnLocation>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col flex justify-around"> <div class="col flex justify-around">

View File

@ -45,7 +45,6 @@ const redirectToSupplierFiscalData = (_, responseData) => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.name" v-model="data.name"
:label="t('supplier.create.supplierName')" :label="t('supplier.create.supplierName')"
@ -53,7 +52,6 @@ const redirectToSupplierFiscalData = (_, responseData) => {
newSupplierForm.name = newSupplierForm.name.toUpperCase() newSupplierForm.name = newSupplierForm.name.toUpperCase()
" "
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -29,13 +29,7 @@ const agenciesOptions = ref([]);
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <VnInput v-model="data.ref" :label="t('travel.basicData.reference')" />
<VnInput
v-model="data.ref"
:label="t('travel.basicData.reference')"
/>
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('travel.basicData.agency')" :label="t('travel.basicData.agency')"
v-model="data.agencyModeFk" v-model="data.agencyModeFk"
@ -45,24 +39,18 @@ const agenciesOptions = ref([]);
map-options map-options
hide-selected hide-selected
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInputDate <VnInputDate
v-model="data.shipped" v-model="data.shipped"
:label="t('travel.basicData.shipped')" :label="t('travel.basicData.shipped')"
/> />
</div>
<div class="col">
<VnInputDate <VnInputDate
v-model="data.landed" v-model="data.landed"
:label="t('travel.basicData.landed')" :label="t('travel.basicData.landed')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('travel.basicData.warehouseOut')" :label="t('travel.basicData.warehouseOut')"
v-model="data.warehouseOutFk" v-model="data.warehouseOutFk"
@ -72,8 +60,6 @@ const agenciesOptions = ref([]);
map-options map-options
hide-selected hide-selected
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('travel.basicData.warehouseIn')" :label="t('travel.basicData.warehouseIn')"
v-model="data.warehouseInFk" v-model="data.warehouseInFk"
@ -83,21 +69,16 @@ const agenciesOptions = ref([]);
map-options map-options
hide-selected hide-selected
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QCheckbox <QCheckbox
:label="t('travel.basicData.delivered')" :label="t('travel.basicData.delivered')"
v-model="data.isDelivered" v-model="data.isDelivered"
/> />
</div>
<div class="col">
<QCheckbox <QCheckbox
:label="t('travel.basicData.received')" :label="t('travel.basicData.received')"
v-model="data.isReceived" v-model="data.isReceived"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -236,7 +236,6 @@ const onThermographCreated = async (data) => {
</Teleport> </Teleport>
<QCard class="q-pa-lg"> <QCard class="q-pa-lg">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelectDialog <VnSelectDialog
:label="t('travel.thermographs.thermograph')" :label="t('travel.thermographs.thermograph')"
v-model="thermographForm.thermographId" v-model="thermographForm.thermographId"
@ -252,22 +251,16 @@ const onThermographCreated = async (data) => {
/> />
</template> </template>
</VnSelectDialog> </VnSelectDialog>
</div>
<div class="col">
<VnInput <VnInput
v-model="thermographForm.state" v-model="thermographForm.state"
:label="t('travel.thermographs.state')" :label="t('travel.thermographs.state')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="thermographForm.reference" v-model="thermographForm.reference"
:label="t('travel.thermographs.reference')" :label="t('travel.thermographs.reference')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('travel.thermographs.type')" :label="t('travel.thermographs.type')"
v-model="thermographForm.dmsTypeId" v-model="thermographForm.dmsTypeId"
@ -275,10 +268,8 @@ const onThermographCreated = async (data) => {
option-value="id" option-value="id"
option-label="name" option-label="name"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('travel.thermographs.company')" :label="t('travel.thermographs.company')"
v-model="thermographForm.companyId" v-model="thermographForm.companyId"
@ -286,8 +277,6 @@ const onThermographCreated = async (data) => {
option-value="id" option-value="id"
option-label="code" option-label="code"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('travel.thermographs.warehouse')" :label="t('travel.thermographs.warehouse')"
v-model="thermographForm.warehouseId" v-model="thermographForm.warehouseId"
@ -295,20 +284,16 @@ const onThermographCreated = async (data) => {
option-value="id" option-value="id"
option-label="name" option-label="name"
/> />
</div>
</VnRow> </VnRow>
<VnRow v-if="viewAction === 'edit'" class="row q-gutter-md q-mb-md"> <VnRow v-if="viewAction === 'edit'" class="row q-gutter-md q-mb-md">
<div class="col">
<QInput <QInput
:label="t('globals.description')" :label="t('globals.description')"
type="textarea" type="textarea"
v-model="thermographForm.description" v-model="thermographForm.description"
fill-input fill-input
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<QFile <QFile
ref="inputFileRef" ref="inputFileRef"
:label="t('travel.thermographs.file')" :label="t('travel.thermographs.file')"
@ -333,7 +318,6 @@ const onThermographCreated = async (data) => {
</QIcon> </QIcon>
</template> </template>
</QFile> </QFile>
</div>
</VnRow> </VnRow>
</QCard> </QCard>
</QForm> </QForm>

View File

@ -68,10 +68,7 @@ const redirectToTravelBasicData = (_, { id }) => {
> >
<template #form="{ data }"> <template #form="{ data }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput v-model="data.ref" :label="t('globals.reference')" /> <VnInput v-model="data.ref" :label="t('globals.reference')" />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('globals.agency')" :label="t('globals.agency')"
v-model="data.agencyModeFk" v-model="data.agencyModeFk"
@ -80,21 +77,12 @@ const redirectToTravelBasicData = (_, { id }) => {
option-label="name" option-label="name"
hide-selected hide-selected
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col"> <VnInputDate v-model="data.shipped" :label="t('globals.shipped')" />
<VnInputDate
v-model="data.shipped"
:label="t('globals.shipped')"
/>
</div>
<div class="col">
<VnInputDate :label="t('globals.landed')" v-model="data.landed" /> <VnInputDate :label="t('globals.landed')" v-model="data.landed" />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('globals.wareHouseOut')" :label="t('globals.wareHouseOut')"
v-model="data.warehouseOutFk" v-model="data.warehouseOutFk"
@ -103,8 +91,6 @@ const redirectToTravelBasicData = (_, { id }) => {
option-label="name" option-label="name"
hide-selected hide-selected
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('globals.wareHouseIn')" :label="t('globals.wareHouseIn')"
v-model="data.warehouseInFk" v-model="data.warehouseInFk"
@ -113,7 +99,6 @@ const redirectToTravelBasicData = (_, { id }) => {
option-label="name" option-label="name"
hide-selected hide-selected
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -92,7 +92,6 @@ function filterType(val, update) {
<QForm @submit="onSubmit()" @reset="onReset()" class="q-pa-sm"> <QForm @submit="onSubmit()" @reset="onReset()" class="q-pa-sm">
<QCard class="q-pa-md"> <QCard class="q-pa-md">
<div class="row q-col-gutter-md"> <div class="row q-col-gutter-md">
<div class="col">
<QInput <QInput
filled filled
v-model="wagon.label" v-model="wagon.label"
@ -101,8 +100,6 @@ function filterType(val, update) {
min="0" min="0"
:rules="[(val) => !!val || t('wagon.warnings.labelNotEmpty')]" :rules="[(val) => !!val || t('wagon.warnings.labelNotEmpty')]"
/> />
</div>
<div class="col">
<VnInput <VnInput
filled filled
v-model="wagon.plate" v-model="wagon.plate"
@ -110,9 +107,7 @@ function filterType(val, update) {
:rules="[(val) => !!val || t('wagon.warnings.plateNotEmpty')]" :rules="[(val) => !!val || t('wagon.warnings.plateNotEmpty')]"
/> />
</div> </div>
</div>
<div class="row q-col-gutter-md"> <div class="row q-col-gutter-md">
<div class="col">
<QInput <QInput
filled filled
v-model="wagon.volume" v-model="wagon.volume"
@ -123,8 +118,6 @@ function filterType(val, update) {
(val) => !!val || t('wagon.warnings.volumeNotEmpty'), (val) => !!val || t('wagon.warnings.volumeNotEmpty'),
]" ]"
/> />
</div>
<div class="col">
<QSelect <QSelect
filled filled
v-model="wagon.typeFk" v-model="wagon.typeFk"
@ -157,7 +150,6 @@ function filterType(val, update) {
</template> </template>
</QSelect> </QSelect>
</div> </div>
</div>
</QCard> </QCard>
<div class="q-mt-md"> <div class="q-mt-md">
<QBtn :label="t('wagon.type.submit')" type="submit" color="primary" /> <QBtn :label="t('wagon.type.submit')" type="submit" color="primary" />

View File

@ -57,13 +57,11 @@ const updateModelValue = (data) => {
> >
<template #form="{}"> <template #form="{}">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('worker.summary.sipExtension')" :label="t('worker.summary.sipExtension')"
v-model="extension" v-model="extension"
@update:model-value="updateModelValue" @update:model-value="updateModelValue"
/> />
</div>
</VnRow> </VnRow>
</template> </template>
</FormModel> </FormModel>

View File

@ -108,92 +108,69 @@ onMounted(async () => {
> >
<template #form="{ data, validate }"> <template #form="{ data, validate }">
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.firstName" v-model="data.firstName"
:label="t('worker.create.name')" :label="t('worker.create.name')"
:rules="validate('Worker.firstName')" :rules="validate('Worker.firstName')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.lastNames" v-model="data.lastNames"
:label="t('worker.create.lastName')" :label="t('worker.create.lastName')"
:rules="validate('Worker.lastNames')" :rules="validate('Worker.lastNames')"
/> />
</div>
<div class="col">
<VnInputDate <VnInputDate
v-model="data.birth" v-model="data.birth"
:label="t('worker.create.birth')" :label="t('worker.create.birth')"
:rules="validate('Worker.birth')" :rules="validate('Worker.birth')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.fi" v-model="data.fi"
:label="t('worker.create.fi')" :label="t('worker.create.fi')"
:rules="validate('Worker.fi')" :rules="validate('Worker.fi')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.code" v-model="data.code"
:label="t('worker.create.code')" :label="t('worker.create.code')"
:rules="validate('Worker.code')" :rules="validate('Worker.code')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.phone" v-model="data.phone"
:label="t('worker.create.phone')" :label="t('worker.create.phone')"
:rules="validate('Worker.phone')" :rules="validate('Worker.phone')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnLocation <VnLocation
:rules="validate('Worker.postcode')" :rules="validate('Worker.postcode')"
:roles-allowed-to-create="['deliveryAssistant']" :roles-allowed-to-create="['deliveryAssistant']"
:options="postcodesOptions" :options="postcodesOptions"
v-model="data.location" v-model="data.location"
@update:model-value=" @update:model-value="(location) => handleLocation(data, location)"
(location) => handleLocation(data, location)
"
> >
</VnLocation> </VnLocation>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
:label="t('worker.create.street')" :label="t('worker.create.street')"
v-model="data.street" v-model="data.street"
:rules="validate('Worker.street')" :rules="validate('Worker.street')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnInput <VnInput
v-model="data.name" v-model="data.name"
:label="t('worker.create.webUser')" :label="t('worker.create.webUser')"
:rules="validate('Worker.name')" :rules="validate('Worker.name')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.email" v-model="data.email"
:label="t('worker.create.personalEmail')" :label="t('worker.create.personalEmail')"
:rules="validate('Worker.email')" :rules="validate('Worker.email')"
/> />
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('worker.create.company')" :label="t('worker.create.company')"
v-model="data.companyFk" v-model="data.companyFk"
@ -203,8 +180,6 @@ onMounted(async () => {
hide-selected hide-selected
:rules="validate('Worker.company')" :rules="validate('Worker.company')"
/> />
</div>
<div class="col">
<VnSelect <VnSelect
:label="t('worker.create.boss')" :label="t('worker.create.boss')"
v-model="data.bossFk" v-model="data.bossFk"
@ -226,10 +201,8 @@ onMounted(async () => {
</QItem> </QItem>
</template> </template>
</VnSelect> </VnSelect>
</div>
</VnRow> </VnRow>
<VnRow class="row q-gutter-md q-mb-md"> <VnRow class="row q-gutter-md q-mb-md">
<div class="col">
<VnSelect <VnSelect
:label="t('worker.create.payMethods')" :label="t('worker.create.payMethods')"
v-model="data.payMethodFk" v-model="data.payMethodFk"
@ -240,9 +213,6 @@ onMounted(async () => {
hide-selected hide-selected
:rules="validate('Worker.payMethodFk')" :rules="validate('Worker.payMethodFk')"
/> />
</div>
<div class="col">
<VnInput <VnInput
v-model="data.iban" v-model="data.iban"
:label="t('worker.create.iban')" :label="t('worker.create.iban')"
@ -250,13 +220,10 @@ onMounted(async () => {
> >
<template #append> <template #append>
<QIcon name="info" class="cursor-info"> <QIcon name="info" class="cursor-info">
<QTooltip>{{ <QTooltip>{{ t('components.iban_tooltip') }}</QTooltip>
t('components.iban_tooltip')
}}</QTooltip>
</QIcon> </QIcon>
</template> </template>
</VnInput> </VnInput>
</div>
<VnSelectDialog <VnSelectDialog
:label="t('worker.create.bankEntity')" :label="t('worker.create.bankEntity')"
v-model="data.bankEntityFk" v-model="data.bankEntityFk"