@@ -58,7 +58,7 @@ onMounted(async () => {
dash
/>
diff --git a/src/pages/Entry/Card/EntryDescriptor.vue b/src/pages/Entry/Card/EntryDescriptor.vue
index 188e66358..9814615a6 100644
--- a/src/pages/Entry/Card/EntryDescriptor.vue
+++ b/src/pages/Entry/Card/EntryDescriptor.vue
@@ -74,8 +74,8 @@ const showEntryReport = () => {
-
-
+
+
{
- const { data } = await axios.get(`Entries/${entry.value.id}/getBuys`);
- if (data) entryBuys.value = data;
-
+ const { data } = await axios.get(`Entries/${entry.value.id}/getBuys`);
+ if (data) entryBuys.value = data;
};
@@ -173,13 +174,10 @@ const fetchEntryBuys = async () => {
-
+
{
/>
-
+
@@ -212,61 +207,42 @@ const fetchEntryBuys = async () => {
:label="t('entry.summary.travelAgency')"
:value="entry.travel.agency?.name"
/>
-
+
-
-
+
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
+
+
-import { computed } from 'vue';
+import { computed, ref } from 'vue';
import { useRoute } from 'vue-router';
import { useI18n } from 'vue-i18n';
import { QBtn } from 'quasar';
import VnPaginate from 'src/components/ui/VnPaginate.vue';
import { usePrintService } from 'composables/usePrintService';
-const { openReport } = usePrintService();
+const { openReport } = usePrintService();
+const buyRows = ref([]);
const route = useRoute();
const { t } = useI18n();
const $props = defineProps({
id: {
- type: String,
+ type: Number,
required: false,
default: null,
},
});
const entityId = computed(() => $props.id || route.params.id);
-
const entriesTableColumns = computed(() => [
{
align: 'left',
@@ -63,34 +63,39 @@ const entriesTableColumns = computed(() => [
field: 'grouping',
},
]);
-
+function downloadCSV(rows) {
+ const headers = ['id', 'itemFk', 'name', 'stickers', 'packing', 'comment'];
+
+ const csvRows = rows.map((row) => {
+ const buy = row;
+ const item = buy.item || {};
+
+ return [
+ buy.id,
+ buy.itemFk,
+ item.name || '',
+ buy.stickers,
+ buy.packing,
+ item.comment || '',
+ ].join(',');
+ });
+
+ const csvContent = [headers.join(','), ...csvRows].join('\n');
+
+ const blob = new Blob([csvContent], { type: 'text/csv;charset=utf-8;' });
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement('a');
+ link.href = url;
+ link.setAttribute('download', `${entityId.value}data.csv`);
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+}
+
-
-
- {{ title }}
-
-
-
-
-
-
[
>
[
:grid="$q.screen.lt.md"
:no-data-label="t('globals.noResults')"
>
+
+
+
+
+
+
@@ -118,7 +144,6 @@ const entriesTableColumns = computed(() => [
- {{
- scope.opt?.name + ': ' + scope.opt?.nickname
- }}
+
+ {{ scope.opt?.name}}
+
+
+ {{ `#${scope.opt?.id } , ${ scope.opt?.nickname}` }}
+
diff --git a/src/pages/Entry/EntryLatestBuysFilter.vue b/src/pages/Entry/EntryLatestBuysFilter.vue
index 83124c1bf..59dddce26 100644
--- a/src/pages/Entry/EntryLatestBuysFilter.vue
+++ b/src/pages/Entry/EntryLatestBuysFilter.vue
@@ -58,7 +58,7 @@ const tagValues = ref([]);
-
-
+
+
- {{ opt.name }}
+
+ {{ scope.opt?.name}}
+
- {{ opt.nickname }}
+ {{ `#${scope.opt?.id } , ${ scope.opt?.nickname}` }}
@@ -85,7 +87,7 @@ const tagValues = ref([]);
-import { onMounted, ref, computed } from 'vue';
+import { ref, computed } from 'vue';
import { useI18n } from 'vue-i18n';
import EntryFilter from './EntryFilter.vue';
import VnSearchbar from 'src/components/ui/VnSearchbar.vue';
-import { useStateStore } from 'stores/useStateStore';
import VnTable from 'components/VnTable/VnTable.vue';
import RightMenu from 'src/components/common/RightMenu.vue';
import { toDate } from 'src/filters';
@@ -12,7 +11,6 @@ import EntrySummary from './Card/EntrySummary.vue';
import SupplierDescriptorProxy from 'src/pages/Supplier/Card/SupplierDescriptorProxy.vue';
import TravelDescriptorProxy from 'src/pages/Travel/Card/TravelDescriptorProxy.vue';
-const stateStore = useStateStore();
const { t } = useI18n();
const tableRef = ref();
diff --git a/src/pages/Entry/EntryStockBoughtFilter.vue b/src/pages/Entry/EntryStockBoughtFilter.vue
index e59332064..136881f17 100644
--- a/src/pages/Entry/EntryStockBoughtFilter.vue
+++ b/src/pages/Entry/EntryStockBoughtFilter.vue
@@ -65,6 +65,6 @@ onMounted(async () => {
es:
Date: Fecha
params:
- dated: Date
+ dated: Fecha
workerFk: Trabajador
diff --git a/src/pages/Entry/MyEntries.vue b/src/pages/Entry/MyEntries.vue
index 91a29b190..dbe05eb88 100644
--- a/src/pages/Entry/MyEntries.vue
+++ b/src/pages/Entry/MyEntries.vue
@@ -102,7 +102,7 @@ const columns = computed(() => [
actions: [
{
title: t('myEntries.printLabels'),
- icon: 'print',
+ icon: 'move_item',
isPrimary: true,
action: (row) => printBuys(row.id),
},
diff --git a/src/pages/Entry/locale/en.yml b/src/pages/Entry/locale/en.yml
index cd5113d84..6e41566d0 100644
--- a/src/pages/Entry/locale/en.yml
+++ b/src/pages/Entry/locale/en.yml
@@ -17,5 +17,6 @@ myEntries:
warehouseInFk: Warehouse in
daysOnward: Days onward
daysAgo: Days ago
+ downloadCsv: Download CSV
wasteRecalc:
recalcOk: The wastes were successfully recalculated
diff --git a/src/pages/Entry/locale/es.yml b/src/pages/Entry/locale/es.yml
index 3007c5d44..7e627b09f 100644
--- a/src/pages/Entry/locale/es.yml
+++ b/src/pages/Entry/locale/es.yml
@@ -20,5 +20,6 @@ myEntries:
warehouseInFk: Alm. entrada
daysOnward: Días adelante
daysAgo: Días atras
+ downloadCsv: Descargar CSV
wasteRecalc:
recalcOk: Se han recalculado las mermas correctamente
diff --git a/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue b/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue
index 1c4091169..e529ea6cd 100644
--- a/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue
+++ b/src/pages/InvoiceIn/Card/InvoiceInIntrastat.vue
@@ -161,7 +161,7 @@ const columns = computed(() => [
+ >
+
+
+
+
+ {{ scope.opt?.name}}
+
+
+ {{ `#${scope.opt?.id } , ${ scope.opt?.nickname}` }}
+
+
+
+
+
diff --git a/src/pages/InvoiceIn/InvoiceInList.vue b/src/pages/InvoiceIn/InvoiceInList.vue
index 43b9f2c11..2d8fb2989 100644
--- a/src/pages/InvoiceIn/InvoiceInList.vue
+++ b/src/pages/InvoiceIn/InvoiceInList.vue
@@ -165,18 +165,18 @@ const cols = computed(() => [
{{ scope.opt?.nickname }}
- #{{ scope.opt?.id }}
+ #{{ scope.opt?.id }}, {{ scope.opt?.name }}
diff --git a/src/pages/InvoiceIn/locale/en.yml b/src/pages/InvoiceIn/locale/en.yml
index ef7e31ac3..3723a0f05 100644
--- a/src/pages/InvoiceIn/locale/en.yml
+++ b/src/pages/InvoiceIn/locale/en.yml
@@ -44,7 +44,10 @@ InvoiceIn:
country: Country
params:
search: Id or supplier name
- account: Ledger account
- correctingFk: Rectificative
correctedFk: Corrected
isBooked: Is booked
+invoicein:
+ params:
+ account: Ledger account
+ correctingFk: Rectificative
+
\ No newline at end of file
diff --git a/src/pages/InvoiceIn/locale/es.yml b/src/pages/InvoiceIn/locale/es.yml
index ed5943489..5637605f6 100644
--- a/src/pages/InvoiceIn/locale/es.yml
+++ b/src/pages/InvoiceIn/locale/es.yml
@@ -42,6 +42,9 @@ InvoiceIn:
country: País
params:
search: Id o nombre proveedor
+ correctedFk: Rectificada
+invoicein:
+ params:
account: Cuenta contable
correctingFk: Rectificativa
- correctedFk: Rectificada
+
diff --git a/src/pages/InvoiceOut/InvoiceOutFilter.vue b/src/pages/InvoiceOut/InvoiceOutFilter.vue
index dc1d833a2..cdc9f037a 100644
--- a/src/pages/InvoiceOut/InvoiceOutFilter.vue
+++ b/src/pages/InvoiceOut/InvoiceOutFilter.vue
@@ -47,6 +47,7 @@ const states = ref();
:label="t('Amount')"
v-model="params.amount"
is-outlined
+ data-cy="InvoiceOutFilterAmountBtn"
/>
diff --git a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue
index e6c689523..392256473 100644
--- a/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue
+++ b/src/pages/InvoiceOut/InvoiceOutGlobalForm.vue
@@ -101,6 +101,7 @@ onMounted(async () => {
dense
outlined
rounded
+ data-cy="InvoiceOutGlobalClientSelect"
>
@@ -125,6 +126,7 @@ onMounted(async () => {
dense
outlined
rounded
+ data-cy="InvoiceOutGlobalSerialSelect"
/>
{
v-model="formData.maxShipped"
:label="t('maxShipped')"
is-outlined
+ data-cy="InvoiceOutGlobalMaxShippedDate"
/>
{
dense
outlined
rounded
+ data-cy="InvoiceOutGlobalCompanySelect"
/>
{
dense
outlined
rounded
+ data-cy="InvoiceOutGlobalPrinterSelect"
/>
[
columnField: { component: null },
format: (row) => toDate(row.dued),
},
+ {
+ align: 'left',
+ name: 'customsAgentFk',
+ label: t('invoiceOutList.tableVisibleColumns.customsAgent'),
+ cardVisible: true,
+ format: (row, dashIfEmpty) => dashIfEmpty(row.customsAgentName),
+ },
{
align: 'right',
name: 'tableActions',
@@ -194,7 +201,8 @@ watchEffect(selectedRows);
icon-right="cloud_download"
@click="downloadPdf()"
:disable="!hasSelectedCards"
- >
+ data-cy="InvoiceOutDownloadPdfBtn"
+ >
{{ t('downloadPdf') }}