forked from verdnatura/salix-front
Merge branch 'dev' into 6349-removeRma
This commit is contained in:
commit
bfab1918e6
|
@ -81,7 +81,7 @@ onMounted(async () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
// Podemos enviarle al form la estructura de data inicial sin necesidad de fetchearla
|
// Podemos enviarle al form la estructura de data inicial sin necesidad de fetchearla
|
||||||
state.set($props.model, $props.formInitialData ?? {});
|
state.set($props.model, $props.formInitialData);
|
||||||
if ($props.autoLoad && !$props.formInitialData) {
|
if ($props.autoLoad && !$props.formInitialData) {
|
||||||
await fetch();
|
await fetch();
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,34 @@
|
||||||
|
<script setup>
|
||||||
|
import { computed } from 'vue';
|
||||||
|
import { useI18n } from 'vue-i18n';
|
||||||
|
import { useCapitalize } from 'src/composables/useCapitalize';
|
||||||
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
|
|
||||||
|
const props = defineProps({
|
||||||
|
modelValue: { type: String, default: '' },
|
||||||
|
});
|
||||||
|
|
||||||
|
const { t } = useI18n();
|
||||||
|
const emit = defineEmits(['update:modelValue']);
|
||||||
|
|
||||||
|
const amount = computed({
|
||||||
|
get() {
|
||||||
|
return props.modelValue;
|
||||||
|
},
|
||||||
|
set(val) {
|
||||||
|
emit('update:modelValue', val);
|
||||||
|
},
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<template>
|
||||||
|
<VnInput
|
||||||
|
v-model="amount"
|
||||||
|
type="number"
|
||||||
|
step="any"
|
||||||
|
:label="useCapitalize(t('amount'))"
|
||||||
|
/>
|
||||||
|
</template>
|
||||||
|
<i18n>
|
||||||
|
es:
|
||||||
|
amount: importe
|
||||||
|
</i18n>
|
|
@ -111,7 +111,7 @@ function addDefaultData(data) {
|
||||||
<FormModelPopup
|
<FormModelPopup
|
||||||
:title="formInitialData ? t('globals.edit') : t('globals.create')"
|
:title="formInitialData ? t('globals.edit') : t('globals.create')"
|
||||||
model="dms"
|
model="dms"
|
||||||
:form-initial-data="formInitialData"
|
:form-initial-data="formInitialData ?? {}"
|
||||||
:save-fn="save"
|
:save-fn="save"
|
||||||
>
|
>
|
||||||
<template #form-inputs>
|
<template #form-inputs>
|
||||||
|
|
|
@ -62,7 +62,7 @@ const creditWarning = computed(() => {
|
||||||
<CardSummary ref="summary" :url="`Clients/${entityId}/summary`">
|
<CardSummary ref="summary" :url="`Clients/${entityId}/summary`">
|
||||||
<template #body="{ entity }">
|
<template #body="{ entity }">
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a class="header" :href="clientUrl + `basic-data`">
|
<a class="header" :href="`#/customer/${entityId}/basic-data`">
|
||||||
{{ t('customer.summary.basicData') }}
|
{{ t('customer.summary.basicData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -96,7 +96,7 @@ const creditWarning = computed(() => {
|
||||||
/>
|
/>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a class="header" :href="clientUrl + `fiscal-data`">
|
<a class="header" :href="`#/customer/${entityId}/fiscal-data`">
|
||||||
{{ t('customer.summary.fiscalAddress') }}
|
{{ t('customer.summary.fiscalAddress') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -121,7 +121,7 @@ const creditWarning = computed(() => {
|
||||||
<VnLv :label="t('customer.summary.street')" :value="entity.street" />
|
<VnLv :label="t('customer.summary.street')" :value="entity.street" />
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a class="header link" :href="clientUrl + `fiscal-data`" link>
|
<a class="header link" :href="`#/customer/${entityId}/fiscal-data`" link>
|
||||||
{{ t('customer.summary.fiscalData') }}
|
{{ t('customer.summary.fiscalData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -149,7 +149,7 @@ const creditWarning = computed(() => {
|
||||||
<VnLv :label="t('customer.summary.vies')" :value="entity.isVies" />
|
<VnLv :label="t('customer.summary.vies')" :value="entity.isVies" />
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a class="header link" :href="clientUrl + `billing-data`" link>
|
<a class="header link" :href="`#/customer/${entityId}/billing-data`" link>
|
||||||
{{ t('customer.summary.billingData') }}
|
{{ t('customer.summary.billingData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -170,7 +170,7 @@ const creditWarning = computed(() => {
|
||||||
/>
|
/>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one" v-if="entity.defaultAddress">
|
<QCard class="vn-one" v-if="entity.defaultAddress">
|
||||||
<a class="header link" :href="clientUrl + `address/index`" link>
|
<a class="header link" :href="`#/customer/${entityId}/consignees`" link>
|
||||||
{{ t('customer.summary.consignee') }}
|
{{ t('customer.summary.consignee') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -188,7 +188,7 @@ const creditWarning = computed(() => {
|
||||||
/>
|
/>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one" v-if="entity.account">
|
<QCard class="vn-one" v-if="entity.account">
|
||||||
<a class="header link" :href="clientUrl + `web-access`">
|
<a class="header link" :href="`#/customer/${entityId}/web-access`">
|
||||||
{{ t('customer.summary.webAccess') }}
|
{{ t('customer.summary.webAccess') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
|
|
||||||
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
|
import VnCurrency from 'src/components/common/VnCurrency.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -12,10 +12,6 @@ const props = defineProps({
|
||||||
required: true,
|
required: true,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
function isValidNumber(value) {
|
|
||||||
return /^(\d|\d+(\.|,)?\d+)$/.test(value);
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -51,28 +47,9 @@ function isValidNumber(value) {
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<VnInput
|
<VnCurrency v-model="params.amount" is-outlined />
|
||||||
:label="t('Amount')"
|
|
||||||
v-model="params.amount"
|
|
||||||
is-outlined
|
|
||||||
@update:model-value="
|
|
||||||
(value) => {
|
|
||||||
if (value.includes(','))
|
|
||||||
params.amount = params.amount.replace(',', '.');
|
|
||||||
}
|
|
||||||
"
|
|
||||||
:rules="[
|
|
||||||
(val) => isValidNumber(val) || !val || 'Please type a number',
|
|
||||||
]"
|
|
||||||
lazy-rules
|
|
||||||
>
|
|
||||||
<template #prepend>
|
|
||||||
<QIcon name="euro" size="sm" />
|
|
||||||
</template>
|
|
||||||
</VnInput>
|
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
|
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<VnInputDate v-model="params.from" :label="t('From')" is-outlined />
|
<VnInputDate v-model="params.from" :label="t('From')" is-outlined />
|
||||||
|
|
|
@ -36,7 +36,10 @@ onMounted(async () => {
|
||||||
</template>
|
</template>
|
||||||
<template #body="{ entity: department }">
|
<template #body="{ entity: department }">
|
||||||
<QCard class="column">
|
<QCard class="column">
|
||||||
<a class="header" :href="department + `basic-data`">
|
<a
|
||||||
|
class="header"
|
||||||
|
:href="`#/department/department/${entityId}/basic-data`"
|
||||||
|
>
|
||||||
{{ t('Basic data') }}
|
{{ t('Basic data') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -39,30 +39,47 @@ onMounted(async () => {
|
||||||
const tableColumnComponents = {
|
const tableColumnComponents = {
|
||||||
quantity: {
|
quantity: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
},
|
},
|
||||||
stickers: {
|
stickers: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
packagingFk: {
|
packagingFk: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
weight: {
|
weight: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
packing: {
|
packing: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
grouping: {
|
grouping: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
buyingValue: {
|
buyingValue: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
amount: {
|
amount: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
pvp: {
|
pvp: {
|
||||||
component: () => 'span',
|
component: () => 'span',
|
||||||
|
props: () => {},
|
||||||
|
event: () => {},
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -147,140 +164,91 @@ const fetchEntryBuys = async () => {
|
||||||
:url="`Entries/${entityId}/getEntry`"
|
:url="`Entries/${entityId}/getEntry`"
|
||||||
@on-fetch="(data) => setEntryData(data)"
|
@on-fetch="(data) => setEntryData(data)"
|
||||||
>
|
>
|
||||||
<template #header-left>
|
|
||||||
<a class="header link" :href="entryUrl">
|
|
||||||
<QIcon name="open_in_new" color="white" size="sm" />
|
|
||||||
</a>
|
|
||||||
</template>
|
|
||||||
<template #header>
|
<template #header>
|
||||||
<span>{{ entry.id }} - {{ entry.supplier.nickname }}</span>
|
<span>{{ entry.id }} - {{ entry.supplier.nickname }}</span>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<template #body>
|
<template #body>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a class="header link" :href="entryUrl">
|
<a class="header link" :href="`#/entry/${entityId}/basic-data`">
|
||||||
{{ t('globals.summary.basicData') }}
|
{{ t('globals.summary.basicData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
<VnRow>
|
|
||||||
<div class="col">
|
<VnLv :label="t('entry.summary.commission')" :value="entry.commission" />
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.commission')"
|
<VnLv :label="t('entry.summary.currency')" :value="entry.currency.name" />
|
||||||
:value="entry.commission"
|
|
||||||
/>
|
<VnLv :label="t('entry.summary.company')" :value="entry.company.code" />
|
||||||
</div>
|
|
||||||
<div class="col">
|
<VnLv :label="t('entry.summary.reference')" :value="entry.reference" />
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.currency')"
|
<VnLv
|
||||||
:value="entry.currency.name"
|
:label="t('entry.summary.invoiceNumber')"
|
||||||
/>
|
:value="entry.invoiceNumber"
|
||||||
</div>
|
/>
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
<VnLv :label="t('entry.summary.ordered')" :value="entry.isOrdered" />
|
||||||
:label="t('entry.summary.company')"
|
|
||||||
:value="entry.company.code"
|
<VnLv :label="t('entry.summary.confirmed')" :value="entry.isConfirmed" />
|
||||||
/>
|
|
||||||
</div>
|
<VnLv :label="t('entry.summary.booked')" :value="entry.isBooked" />
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
<VnLv :label="t('entry.summary.raid')" :value="entry.isRaid" />
|
||||||
:label="t('entry.summary.reference')"
|
|
||||||
:value="entry.reference"
|
<VnLv
|
||||||
/>
|
:label="t('entry.summary.excludedFromAvailable')"
|
||||||
</div>
|
:value="entry.isExcludedFromAvailable"
|
||||||
<div class="col">
|
/>
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.invoiceNumber')"
|
|
||||||
:value="entry.invoiceNumber"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.ordered')"
|
|
||||||
:value="entry.isOrdered"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.confirmed')"
|
|
||||||
:value="entry.isConfirmed"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.booked')"
|
|
||||||
:value="entry.isBooked"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<VnLv :label="t('entry.summary.raid')" :value="entry.isRaid" />
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.excludedFromAvailable')"
|
|
||||||
:value="entry.isExcludedFromAvailable"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</VnRow>
|
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a class="header link" :href="entryUrl">
|
<a class="header">
|
||||||
{{ t('Travel data') }}
|
{{ t('Travel data') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
|
||||||
</a>
|
</a>
|
||||||
<VnRow>
|
|
||||||
<div class="col">
|
<VnLv :label="t('entry.summary.travelReference')">
|
||||||
<VnLv :label="t('entry.summary.travelReference')">
|
<template #value>
|
||||||
<template #value>
|
<span class="link">
|
||||||
<span class="link">
|
{{ entry.travel.ref }}
|
||||||
{{ entry.travel.ref }}
|
<TravelDescriptorProxy :id="entry.travel.id" />
|
||||||
<TravelDescriptorProxy :id="entry.travel.id" />
|
</span>
|
||||||
</span>
|
</template>
|
||||||
</template>
|
</VnLv>
|
||||||
</VnLv>
|
|
||||||
</div>
|
<VnLv
|
||||||
<div class="col">
|
:label="t('entry.summary.travelAgency')"
|
||||||
<VnLv
|
:value="entry.travel.agency.name"
|
||||||
:label="t('entry.summary.travelAgency')"
|
/>
|
||||||
:value="entry.travel.agency.name"
|
|
||||||
/>
|
<VnLv
|
||||||
</div>
|
:label="t('entry.summary.travelShipped')"
|
||||||
<div class="col">
|
:value="toDate(entry.travel.shipped)"
|
||||||
<VnLv
|
/>
|
||||||
:label="t('entry.summary.travelShipped')"
|
|
||||||
:value="toDate(entry.travel.shipped)"
|
<VnLv
|
||||||
/>
|
:label="t('entry.summary.travelWarehouseOut')"
|
||||||
</div>
|
:value="entry.travel.warehouseOut.name"
|
||||||
<div class="col">
|
/>
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.travelWarehouseOut')"
|
<VnLv
|
||||||
:value="entry.travel.warehouseOut.name"
|
:label="t('entry.summary.travelDelivered')"
|
||||||
/>
|
:value="entry.travel.isDelivered"
|
||||||
</div>
|
/>
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
<VnLv
|
||||||
:label="t('entry.summary.travelDelivered')"
|
:label="t('entry.summary.travelLanded')"
|
||||||
:value="entry.travel.isDelivered"
|
:value="toDate(entry.travel.landed)"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
<div class="col">
|
<VnLv
|
||||||
<VnLv
|
:label="t('entry.summary.travelWarehouseIn')"
|
||||||
:label="t('entry.summary.travelLanded')"
|
:value="entry.travel.warehouseIn.name"
|
||||||
:value="toDate(entry.travel.landed)"
|
/>
|
||||||
/>
|
|
||||||
</div>
|
<VnLv
|
||||||
<div class="col">
|
:label="t('entry.summary.travelReceived')"
|
||||||
<VnLv
|
:value="entry.travel.isReceived"
|
||||||
:label="t('entry.summary.travelWarehouseIn')"
|
/>
|
||||||
:value="entry.travel.warehouseIn.name"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
<div class="col">
|
|
||||||
<VnLv
|
|
||||||
:label="t('entry.summary.travelReceived')"
|
|
||||||
:value="entry.travel.isReceived"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</VnRow>
|
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-two" style="min-width: 100%">
|
<QCard class="vn-two" style="min-width: 100%">
|
||||||
<a class="header">
|
<a class="header">
|
||||||
|
@ -297,7 +265,10 @@ const fetchEntryBuys = async () => {
|
||||||
<QTr no-hover>
|
<QTr no-hover>
|
||||||
<QTd v-for="col in cols" :key="col.name">
|
<QTd v-for="col in cols" :key="col.name">
|
||||||
<component
|
<component
|
||||||
:is="tableColumnComponents[col.name].component()"
|
:is="tableColumnComponents[col.name].component(props)"
|
||||||
|
v-bind="tableColumnComponents[col.name].props(props)"
|
||||||
|
@click="tableColumnComponents[col.name].event(props)"
|
||||||
|
class="col-content"
|
||||||
>
|
>
|
||||||
<template
|
<template
|
||||||
v-if="
|
v-if="
|
||||||
|
|
|
@ -8,6 +8,7 @@ import { useArrayData } from 'src/composables/useArrayData';
|
||||||
import CrudModel from 'src/components/CrudModel.vue';
|
import CrudModel from 'src/components/CrudModel.vue';
|
||||||
import FetchData from 'src/components/FetchData.vue';
|
import FetchData from 'src/components/FetchData.vue';
|
||||||
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
|
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
|
||||||
|
import VnCurrency from 'src/components/common/VnCurrency.vue';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
@ -158,7 +159,12 @@ async function insert() {
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-amount="{ row }">
|
<template #body-cell-amount="{ row }">
|
||||||
<QTd>
|
<QTd>
|
||||||
<QInput v-model="row.amount" clearable clear-icon="close" />
|
<VnCurrency
|
||||||
|
v-model="row.amount"
|
||||||
|
:is-outlined="false"
|
||||||
|
clearable
|
||||||
|
clear-icon="close"
|
||||||
|
/>
|
||||||
</QTd>
|
</QTd>
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-foreignvalue="{ row }">
|
<template #body-cell-foreignvalue="{ row }">
|
||||||
|
|
|
@ -381,7 +381,7 @@ function getLink(param) {
|
||||||
</QCard>
|
</QCard>
|
||||||
<!--Intrastat-->
|
<!--Intrastat-->
|
||||||
<QCard v-if="invoiceIn.invoiceInIntrastat.length">
|
<QCard v-if="invoiceIn.invoiceInIntrastat.length">
|
||||||
<a class="header" :href="getUrl('intrastat')">
|
<a class="header" :href="getLink('intrastat')">
|
||||||
{{ t('invoiceIn.card.intrastat') }}
|
{{ t('invoiceIn.card.intrastat') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -9,6 +9,7 @@ import { toCurrency } from 'src/filters';
|
||||||
import FetchData from 'src/components/FetchData.vue';
|
import FetchData from 'src/components/FetchData.vue';
|
||||||
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
|
import VnSelectFilter from 'src/components/common/VnSelectFilter.vue';
|
||||||
import CrudModel from 'src/components/CrudModel.vue';
|
import CrudModel from 'src/components/CrudModel.vue';
|
||||||
|
import VnCurrency from 'src/components/common/VnCurrency.vue';
|
||||||
|
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
|
@ -225,7 +226,7 @@ async function addExpense() {
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-taxablebase="{ row }">
|
<template #body-cell-taxablebase="{ row }">
|
||||||
<QTd>
|
<QTd>
|
||||||
<QInput
|
<VnCurrency
|
||||||
:class="{
|
:class="{
|
||||||
'no-pointer-events': isNotEuro(invoiceIn.currency.code),
|
'no-pointer-events': isNotEuro(invoiceIn.currency.code),
|
||||||
}"
|
}"
|
||||||
|
@ -234,11 +235,7 @@ async function addExpense() {
|
||||||
clear-icon="close"
|
clear-icon="close"
|
||||||
v-model="row.taxableBase"
|
v-model="row.taxableBase"
|
||||||
clearable
|
clearable
|
||||||
>
|
/>
|
||||||
<template #prepend>
|
|
||||||
<QIcon name="euro" size="xs" flat />
|
|
||||||
</template>
|
|
||||||
</QInput>
|
|
||||||
</QTd>
|
</QTd>
|
||||||
</template>
|
</template>
|
||||||
<template #body-cell-sageiva="{ row, col }">
|
<template #body-cell-sageiva="{ row, col }">
|
||||||
|
@ -328,7 +325,7 @@ async function addExpense() {
|
||||||
</VnSelectFilter>
|
</VnSelectFilter>
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QInput
|
<VnCurrency
|
||||||
:label="t('Taxable base')"
|
:label="t('Taxable base')"
|
||||||
:class="{
|
:class="{
|
||||||
'no-pointer-events': isNotEuro(
|
'no-pointer-events': isNotEuro(
|
||||||
|
@ -340,11 +337,7 @@ async function addExpense() {
|
||||||
clear-icon="close"
|
clear-icon="close"
|
||||||
v-model="props.row.taxableBase"
|
v-model="props.row.taxableBase"
|
||||||
clearable
|
clearable
|
||||||
>
|
/>
|
||||||
<template #append>
|
|
||||||
<QIcon name="euro" size="xs" flat />
|
|
||||||
</template>
|
|
||||||
</QInput>
|
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<VnSelectFilter
|
<VnSelectFilter
|
||||||
|
|
|
@ -8,6 +8,7 @@ import FetchData from 'components/FetchData.vue';
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
import { useCapitalize } from 'src/composables/useCapitalize';
|
import { useCapitalize } from 'src/composables/useCapitalize';
|
||||||
|
import VnCurrency from 'src/components/common/VnCurrency.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -137,16 +138,7 @@ const suppliersRef = ref();
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<VnInput
|
<VnCurrency v-model="params.amount" is-outlined />
|
||||||
:label="t('Amount')"
|
|
||||||
v-model="params.amount"
|
|
||||||
is-outlined
|
|
||||||
lazy-rules
|
|
||||||
>
|
|
||||||
<template #prepend>
|
|
||||||
<QIcon name="euro" size="sm"></QIcon>
|
|
||||||
</template>
|
|
||||||
</VnInput>
|
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem class="q-mb-md">
|
<QItem class="q-mb-md">
|
||||||
|
|
|
@ -6,6 +6,7 @@ import FetchData from 'components/FetchData.vue';
|
||||||
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
|
import VnCurrency from 'src/components/common/VnCurrency.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -57,7 +58,11 @@ function setWorkers(data) {
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<VnInput :label="t('Amount')" v-model="params.amount" is-outlined />
|
<VnCurrency
|
||||||
|
:label="t('Amount')"
|
||||||
|
v-model="params.amount"
|
||||||
|
is-outlined
|
||||||
|
/>
|
||||||
</QItemSection>
|
</QItemSection>
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
|
|
|
@ -4,6 +4,7 @@ import { useI18n } from 'vue-i18n';
|
||||||
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
|
||||||
import VnInput from 'src/components/common/VnInput.vue';
|
import VnInput from 'src/components/common/VnInput.vue';
|
||||||
import VnInputDate from 'components/common/VnInputDate.vue';
|
import VnInputDate from 'components/common/VnInputDate.vue';
|
||||||
|
import VnCurrency from 'src/components/common/VnCurrency.vue';
|
||||||
|
|
||||||
const { t } = useI18n();
|
const { t } = useI18n();
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
|
@ -84,7 +85,7 @@ const props = defineProps({
|
||||||
</QItem>
|
</QItem>
|
||||||
<QItem>
|
<QItem>
|
||||||
<QItemSection>
|
<QItemSection>
|
||||||
<VnInput
|
<VnCurrency
|
||||||
v-model="params.amount"
|
v-model="params.amount"
|
||||||
:label="t('invoiceOut.negativeBases.amount')"
|
:label="t('invoiceOut.negativeBases.amount')"
|
||||||
is-outlined
|
is-outlined
|
||||||
|
|
|
@ -62,7 +62,11 @@ const isAdministrative = computed(() => {
|
||||||
|
|
||||||
<template #body>
|
<template #body>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a v-if="isAdministrative" class="header link" :href="supplierUrl">
|
<a
|
||||||
|
v-if="isAdministrative"
|
||||||
|
class="header link"
|
||||||
|
:href="`#/supplier/${entityId}/basic-data`"
|
||||||
|
>
|
||||||
{{ t('globals.summary.basicData') }}
|
{{ t('globals.summary.basicData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -105,7 +109,11 @@ const isAdministrative = computed(() => {
|
||||||
</VnLv>
|
</VnLv>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a v-if="isAdministrative" class="header link" :href="supplierUrl">
|
<a
|
||||||
|
v-if="isAdministrative"
|
||||||
|
class="header link"
|
||||||
|
:href="`#/supplier/${entityId}/billing-data`"
|
||||||
|
>
|
||||||
{{ t('supplier.summary.billingData') }}
|
{{ t('supplier.summary.billingData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -124,7 +132,11 @@ const isAdministrative = computed(() => {
|
||||||
<VnLv :label="t('supplier.summary.account')" :value="supplier.account" />
|
<VnLv :label="t('supplier.summary.account')" :value="supplier.account" />
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a v-if="isAdministrative" class="header link" :href="supplierUrl">
|
<a
|
||||||
|
v-if="isAdministrative"
|
||||||
|
class="header link"
|
||||||
|
:href="`#/supplier/${entityId}/fiscal-data`"
|
||||||
|
>
|
||||||
{{ t('supplier.summary.fiscalData') }}
|
{{ t('supplier.summary.fiscalData') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
@ -155,7 +167,11 @@ const isAdministrative = computed(() => {
|
||||||
/>
|
/>
|
||||||
</QCard>
|
</QCard>
|
||||||
<QCard class="vn-one">
|
<QCard class="vn-one">
|
||||||
<a v-if="isAdministrative" class="header link" :href="supplierUrl">
|
<a
|
||||||
|
v-if="isAdministrative"
|
||||||
|
class="header link"
|
||||||
|
:href="`#/supplier/${entityId}/fiscal-data`"
|
||||||
|
>
|
||||||
{{ t('supplier.summary.fiscalAddress') }}
|
{{ t('supplier.summary.fiscalAddress') }}
|
||||||
<QIcon name="open_in_new" color="primary" />
|
<QIcon name="open_in_new" color="primary" />
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -78,7 +78,7 @@ const filter = {
|
||||||
<VnLv :label="t('worker.card.name')" :value="worker.user.nickname" />
|
<VnLv :label="t('worker.card.name')" :value="worker.user.nickname" />
|
||||||
<VnLv
|
<VnLv
|
||||||
:label="t('worker.list.department')"
|
:label="t('worker.list.department')"
|
||||||
:value="worker.department.department.name"
|
:value="worker.department?.department?.name"
|
||||||
/>
|
/>
|
||||||
<VnLv :label="t('worker.list.email')" :value="worker.user.email" copy />
|
<VnLv :label="t('worker.list.email')" :value="worker.user.email" copy />
|
||||||
<VnLv :label="t('worker.summary.boss')" link>
|
<VnLv :label="t('worker.summary.boss')" link>
|
||||||
|
@ -102,10 +102,10 @@ const filter = {
|
||||||
<VnLinkPhone :phone-number="worker.phone" />
|
<VnLinkPhone :phone-number="worker.phone" />
|
||||||
</template>
|
</template>
|
||||||
</VnLv>
|
</VnLv>
|
||||||
<VnLv :value="worker.client.phone">
|
<VnLv :value="worker.client?.phone">
|
||||||
<template #label>
|
<template #label>
|
||||||
{{ t('worker.summary.personalPhone') }}
|
{{ t('worker.summary.personalPhone') }}
|
||||||
<VnLinkPhone :phone-number="worker.client.phone" />
|
<VnLinkPhone :phone-number="worker.client?.phone" />
|
||||||
</template>
|
</template>
|
||||||
</VnLv>
|
</VnLv>
|
||||||
<VnLv :label="t('worker.summary.locker')" :value="worker.locker" />
|
<VnLv :label="t('worker.summary.locker')" :value="worker.locker" />
|
||||||
|
|
|
@ -5,11 +5,12 @@ describe('InvoiceInList', () => {
|
||||||
':nth-child(1) > :nth-child(1) > .justify-between > .flex > .q-chip > .q-chip__content';
|
':nth-child(1) > :nth-child(1) > .justify-between > .flex > .q-chip > .q-chip__content';
|
||||||
const firstDetailBtn = '.q-card:nth-child(1) .q-btn:nth-child(2)';
|
const firstDetailBtn = '.q-card:nth-child(1) .q-btn:nth-child(2)';
|
||||||
const summaryHeaders = '.summaryBody .header';
|
const summaryHeaders = '.summaryBody .header';
|
||||||
|
const screen = '.q-page-container > .q-drawer-container > .fullscreen';
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
cy.viewport(1920, 1080);
|
|
||||||
cy.login('developer');
|
cy.login('developer');
|
||||||
cy.visit(`/#/invoice-in/list`);
|
cy.visit(`/#/invoice-in/list`);
|
||||||
|
cy.get(screen).click();
|
||||||
});
|
});
|
||||||
|
|
||||||
it('should redirect on clicking a invoice', () => {
|
it('should redirect on clicking a invoice', () => {
|
||||||
|
|
Loading…
Reference in New Issue