Merge branch 'dev' of https://gitea.verdnatura.es/verdnatura/salix-front into 8581-invoiceinE2e
gitea/salix-front/pipeline/pr-dev There was a failure building this commit Details

This commit is contained in:
Jorge Penadés 2025-02-24 14:33:42 +01:00
commit d52635b764
3 changed files with 53 additions and 21 deletions

View File

@ -27,6 +27,7 @@ const claimActionsForm = ref();
const rows = ref([]); const rows = ref([]);
const selectedRows = ref([]); const selectedRows = ref([]);
const destinationTypes = ref([]); const destinationTypes = ref([]);
const shelvings = ref([]);
const totalClaimed = ref(null); const totalClaimed = ref(null);
const DEFAULT_MAX_RESPONSABILITY = 5; const DEFAULT_MAX_RESPONSABILITY = 5;
const DEFAULT_MIN_RESPONSABILITY = 1; const DEFAULT_MIN_RESPONSABILITY = 1;
@ -56,6 +57,12 @@ const columns = computed(() => [
field: (row) => row.claimDestinationFk, field: (row) => row.claimDestinationFk,
align: 'left', align: 'left',
}, },
{
name: 'shelving',
label: t('shelvings.shelving'),
field: (row) => row.shelvingFk,
align: 'left',
},
{ {
name: 'Landed', name: 'Landed',
label: t('Landed'), label: t('Landed'),
@ -125,6 +132,10 @@ async function updateDestination(claimDestinationFk, row, options = {}) {
options.reload && claimActionsForm.value.reload(); options.reload && claimActionsForm.value.reload();
} }
} }
async function updateShelving(shelvingFk, row) {
await axios.patch(`ClaimEnds/${row.id}`, { shelvingFk });
claimActionsForm.value.reload();
}
async function regularizeClaim() { async function regularizeClaim() {
await post(`Claims/${claimId}/regularizeClaim`); await post(`Claims/${claimId}/regularizeClaim`);
@ -200,6 +211,7 @@ async function post(query, params) {
auto-load auto-load
@on-fetch="(data) => (destinationTypes = data)" @on-fetch="(data) => (destinationTypes = data)"
/> />
<FetchData url="Shelvings" auto-load @on-fetch="(data) => (shelvings = data)" />
<RightMenu v-if="claim"> <RightMenu v-if="claim">
<template #right-panel> <template #right-panel>
<QCard class="totalClaim q-my-md q-pa-sm no-box-shadow"> <QCard class="totalClaim q-my-md q-pa-sm no-box-shadow">
@ -312,6 +324,20 @@ async function post(query, params) {
/> />
</QTd> </QTd>
</template> </template>
<template #body-cell-shelving="{ row }">
<QTd>
<VnSelect
v-model="row.shelvingFk"
:options="shelvings"
option-label="code"
option-value="id"
style="width: 100px"
hide-selected
@update:model-value="(value) => updateShelving(value, row)"
/>
</QTd>
</template>
<template #body-cell-price="{ value }"> <template #body-cell-price="{ value }">
<QTd align="center"> <QTd align="center">
{{ toCurrency(value) }} {{ toCurrency(value) }}
@ -354,7 +380,7 @@ async function post(query, params) {
(value) => (value) =>
updateDestination( updateDestination(
value, value,
props.row props.row,
) )
" "
/> />
@ -371,6 +397,17 @@ async function post(query, params) {
</QTable> </QTable>
</template> </template>
<template #moreBeforeActions> <template #moreBeforeActions>
<QBtn
color="primary"
text-color="white"
:unelevated="true"
:label="tMobile('Import claim')"
:title="t('Import claim')"
icon="Download"
@click="importToNewRefundTicket"
:disable="claim.claimStateFk == resolvedStateId"
:loading="loading"
/>
<QBtn <QBtn
color="primary" color="primary"
text-color="white" text-color="white"
@ -394,17 +431,6 @@ async function post(query, params) {
@click="dialogDestination = !dialogDestination" @click="dialogDestination = !dialogDestination"
:loading="loading" :loading="loading"
/> />
<QBtn
color="primary"
text-color="white"
:unelevated="true"
:label="tMobile('Import claim')"
:title="t('Import claim')"
icon="Upload"
@click="importToNewRefundTicket"
:disable="claim.claimStateFk == resolvedStateId"
:loading="loading"
/>
</template> </template>
</CrudModel> </CrudModel>
<QDialog v-model="dialogDestination"> <QDialog v-model="dialogDestination">

View File

@ -19,30 +19,36 @@ const columns = [
name: 'itemFk', name: 'itemFk',
label: t('Id item'), label: t('Id item'),
columnFilter: false, columnFilter: false,
align: 'left', align: 'right',
}, },
{ {
name: 'ticketFk', name: 'ticketFk',
label: t('Ticket'), label: t('Ticket'),
columnFilter: false, columnFilter: false,
align: 'left', align: 'right',
}, },
{ {
name: 'claimDestinationFk', name: 'claimDestinationFk',
label: t('Destination'), label: t('Destination'),
columnFilter: false, columnFilter: false,
align: 'left', align: 'right',
},
{
name: 'shelvingCode',
label: t('Shelving'),
columnFilter: false,
align: 'right',
}, },
{ {
name: 'landed', name: 'landed',
label: t('Landed'), label: t('Landed'),
format: (row) => toDate(row.landed), format: (row) => toDate(row.landed),
align: 'left', align: 'center',
}, },
{ {
name: 'quantity', name: 'quantity',
label: t('Quantity'), label: t('Quantity'),
align: 'left', align: 'right',
}, },
{ {
name: 'concept', name: 'concept',
@ -52,18 +58,18 @@ const columns = [
{ {
name: 'price', name: 'price',
label: t('Price'), label: t('Price'),
align: 'left', align: 'right',
}, },
{ {
name: 'discount', name: 'discount',
label: t('Discount'), label: t('Discount'),
format: ({ discount }) => toPercentage(discount / 100), format: ({ discount }) => toPercentage(discount / 100),
align: 'left', align: 'right',
}, },
{ {
name: 'total', name: 'total',
label: t('Total'), label: t('Total'),
align: 'left', align: 'right',
}, },
]; ];
</script> </script>

View File

@ -1,6 +1,6 @@
/// <reference types="cypress" /> /// <reference types="cypress" />
describe('ClaimAction', () => { describe('ClaimAction', () => {
const claimId = 2; const claimId = 1;
const firstRow = 'tbody > :nth-child(1)'; const firstRow = 'tbody > :nth-child(1)';
const destinationRow = '.q-item__section > .q-field'; const destinationRow = '.q-item__section > .q-field';