diff --git a/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue b/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue
index eb72563e1..1fd9f3e92 100644
--- a/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue
+++ b/src/pages/InvoiceOut/Card/InvoiceOutDescriptorMenu.vue
@@ -103,7 +103,7 @@ const refundInvoice = async (withWarehouse) => {
t('refundInvoiceSuccessMessage', {
refundTicket: data[0].id,
}),
- 'positive'
+ 'positive',
);
};
@@ -124,6 +124,13 @@ const showRefundInvoiceForm = () => {
},
});
};
+
+const showExportationLetter = () => {
+ openReport(`InvoiceOuts/${$props.invoiceOutData.ref}/exportation-pdf`, {
+ recipientId: $props.invoiceOutData.client.id,
+ refFk: $props.invoiceOutData.ref,
+ });
+};
@@ -172,7 +179,7 @@ const showRefundInvoiceForm = () => {
t('Confirm deletion'),
t('Are you sure you want to delete this invoice?'),
deleteInvoice,
- redirectToInvoiceOutList
+ redirectToInvoiceOutList,
)
"
>
@@ -185,7 +192,7 @@ const showRefundInvoiceForm = () => {
openConfirmationModal(
'',
t('Are you sure you want to book this invoice?'),
- bookInvoice
+ bookInvoice,
)
"
>
@@ -198,7 +205,7 @@ const showRefundInvoiceForm = () => {
openConfirmationModal(
t('Generate PDF invoice document'),
t('Are you sure you want to generate/regenerate the PDF invoice?'),
- generateInvoicePdf
+ generateInvoicePdf,
)
"
>
@@ -226,6 +233,14 @@ const showRefundInvoiceForm = () => {
{{ t('Create a single ticket with all the content of the current invoice') }}
+
+ {{ t('Show CITES letter') }}
+
@@ -255,7 +270,7 @@ es:
Create a single ticket with all the content of the current invoice: Crear un ticket único con todo el contenido de la factura actual
refundInvoiceSuccessMessage: Se ha creado el siguiente ticket de abono {refundTicket}
The email can't be empty: El email no puede estar vacío
-
+ Show CITES letter: Ver carta CITES
en:
refundInvoiceSuccessMessage: The following refund ticket have been created {refundTicket}
diff --git a/src/pages/InvoiceOut/InvoiceOutFilter.vue b/src/pages/InvoiceOut/InvoiceOutFilter.vue
index cdc9f037a..648b8e4e6 100644
--- a/src/pages/InvoiceOut/InvoiceOutFilter.vue
+++ b/src/pages/InvoiceOut/InvoiceOutFilter.vue
@@ -22,7 +22,7 @@ const states = ref();
- {{ t(`params.${tag.label}`) }}:
+ {{ t(`invoiceOut.params.${tag.label}`) }}:
{{ formatFn(tag.value) }}
@@ -84,15 +84,6 @@ const states = ref();
/>
-
-
-
-
-
-
-
-en:
- params:
- search: Contains
- clientFk: Customer
- fi: FI
- amount: Amount
- min: Min
- max: Max
- hasPdf: Has PDF
- issued: Issued
- created: Created
- dued: Dued
-es:
- params:
- search: Contiene
- clientFk: Cliente
- fi: CIF
- amount: Importe
- min: Min
- max: Max
- hasPdf: Tiene PDF
- issued: Emitida
- created: Creada
- dued: Vencida
- Customer ID: ID cliente
- FI: CIF
- Amount: Importe
- Has PDF: Tiene PDF
- Issued: Fecha emisión
- Created: Fecha creación
- Dued: Fecha vencimiento
-
diff --git a/src/pages/InvoiceOut/InvoiceOutList.vue b/src/pages/InvoiceOut/InvoiceOutList.vue
index 77dbcce68..a6ec9923e 100644
--- a/src/pages/InvoiceOut/InvoiceOutList.vue
+++ b/src/pages/InvoiceOut/InvoiceOutList.vue
@@ -70,14 +70,6 @@ const columns = computed(() => [
inWhere: true,
},
},
- {
- align: 'left',
- name: 'issued',
- label: t('invoiceOut.summary.issued'),
- component: 'date',
- format: (row) => toDate(row.issued),
- columnField: { component: null },
- },
{
align: 'left',
name: 'clientFk',
diff --git a/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue b/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue
index 135eb9aca..b062678a0 100644
--- a/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue
+++ b/src/pages/InvoiceOut/InvoiceOutNegativeBases.vue
@@ -10,6 +10,8 @@ import CustomerDescriptorProxy from '../Customer/Card/CustomerDescriptorProxy.vu
import TicketDescriptorProxy from '../Ticket/Card/TicketDescriptorProxy.vue';
import WorkerDescriptorProxy from '../Worker/Card/WorkerDescriptorProxy.vue';
import VnInputDate from 'components/common/VnInputDate.vue';
+import InvoiceOutNegativeBasesFilter from './InvoiceOutNegativeBasesFilter.vue';
+import RightMenu from 'src/components/common/RightMenu.vue';
const { t } = useI18n();
const tableRef = ref();
@@ -97,16 +99,19 @@ const columns = computed(() => [
align: 'left',
name: 'isActive',
label: t('invoiceOut.negativeBases.active'),
+ component: 'checkbox',
},
{
align: 'left',
name: 'hasToInvoice',
label: t('invoiceOut.negativeBases.hasToInvoice'),
+ component: 'checkbox',
},
{
align: 'left',
- name: 'hasVerifiedData',
+ name: 'isTaxDataChecked',
label: t('invoiceOut.negativeBases.verifiedData'),
+ component: 'checkbox',
},
{
align: 'left',
@@ -142,7 +147,7 @@ const downloadCSV = async () => {
await invoiceOutGlobalStore.getNegativeBasesCsv(
userParams.from,
userParams.to,
- filterParams
+ filterParams,
);
};
@@ -154,6 +159,11 @@ const downloadCSV = async () => {
+
+
+
+
+
{
auto-load
:is-editable="false"
:use-model="true"
+ :right-search="false"
>
diff --git a/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue b/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue
index 6ceec61e4..cd9836bb7 100644
--- a/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue
+++ b/src/pages/InvoiceOut/InvoiceOutNegativeBasesFilter.vue
@@ -2,9 +2,10 @@
import { useI18n } from 'vue-i18n';
import VnFilterPanel from 'src/components/ui/VnFilterPanel.vue';
-import VnInput from 'src/components/common/VnInput.vue';
import VnInputDate from 'components/common/VnInputDate.vue';
import VnInputNumber from 'src/components/common/VnInputNumber.vue';
+import VnSelect from 'src/components/common/VnSelect.vue';
+import VnSelectWorker from 'src/components/common/VnSelectWorker.vue';
const { t } = useI18n();
const props = defineProps({
@@ -24,11 +25,11 @@ const props = defineProps({
>
- {{ t(`params.${tag.label}`) }}:
+ {{ t(`invoiceOut.params.${tag.label}`) }}:
{{ formatFn(tag.value) }}
-
+
-
+ v-model="params.company"
+ option-label="code"
+ option-value="code"
+ dense
+ outlined
+ rounded
+ @update:model-value="searchFn()"
+ >
+
+
+
+
+ {{ scope.opt?.code }}
+
+
+ {{ `#${scope.opt?.id}` }}
+
+
+
+
+
-
-
-
-
-
-
-
+ option-label="name"
+ option-value="name"
+ outlined
+ dense
+ rounded
+ @update:model-value="searchFn()"
+ >
+
+
+
+
+ {{ scope.opt?.name }}
+
+
+ {{ `#${scope.opt?.id}` }}
+
+
+
+
+
-
@@ -90,15 +123,18 @@ const props = defineProps({
v-model="params.amount"
:label="t('globals.amount')"
is-outlined
+ :positive="false"
/>
-
diff --git a/src/pages/InvoiceOut/locale/en.yml b/src/pages/InvoiceOut/locale/en.yml
index ee6ba57e6..9dd31d186 100644
--- a/src/pages/InvoiceOut/locale/en.yml
+++ b/src/pages/InvoiceOut/locale/en.yml
@@ -4,7 +4,7 @@ invoiceOut:
params:
company: Company
country: Country
- clientId: Client ID
+ clientId: Client
clientSocialName: Client
taxableBase: Base
ticketFk: Ticket
@@ -12,6 +12,18 @@ invoiceOut:
hasToInvoice: Has to invoice
hasVerifiedData: Verified data
workerName: Worker
+ isTaxDataChecked: Verified data
+ amount: Amount
+ clientFk: Client
+ companyFk: Company
+ created: Created
+ dued: Dued
+ customsAgentFk: Custom Agent
+ ref: Reference
+ fi: FI
+ min: Min
+ max: Max
+ hasPdf: Has PDF
card:
issued: Issued
customerCard: Customer card
@@ -53,7 +65,7 @@ invoiceOut:
active: Active
hasToInvoice: Has to Invoice
verifiedData: Verified Data
- comercial: Commercial
+ comercial: Sales person
errors:
downloadCsvFailed: CSV download failed
invoiceOutModule:
diff --git a/src/pages/InvoiceOut/locale/es.yml b/src/pages/InvoiceOut/locale/es.yml
index a059ce18d..79ceb4aa8 100644
--- a/src/pages/InvoiceOut/locale/es.yml
+++ b/src/pages/InvoiceOut/locale/es.yml
@@ -4,7 +4,7 @@ invoiceOut:
params:
company: Empresa
country: País
- clientId: ID del cliente
+ clientId: Cliente
clientSocialName: Cliente
taxableBase: Base
ticketFk: Ticket
@@ -12,6 +12,18 @@ invoiceOut:
hasToInvoice: Debe facturar
hasVerifiedData: Datos verificados
workerName: Comercial
+ isTaxDataChecked: Datos comprobados
+ amount: Importe
+ clientFk: Cliente
+ companyFk: Empresa
+ created: Creada
+ dued: Vencida
+ customsAgentFk: Agente aduanas
+ ref: Referencia
+ fi: CIF
+ min: Min
+ max: Max
+ hasPdf: Tiene PDF
card:
issued: Fecha emisión
customerCard: Ficha del cliente