Merge branch 'test' of https://gitea.verdnatura.es/verdnatura/salix-front into dev
gitea/salix-front/pipeline/head This commit looks good Details

This commit is contained in:
Alex Moreno 2025-03-27 14:49:06 +01:00
commit f5dd0834b4
5 changed files with 41 additions and 33 deletions

View File

@ -248,7 +248,7 @@ function getBadgeAttrs(row) {
let timeDiff = today - timeTicket; let timeDiff = today - timeTicket;
if (timeDiff > 0) return { color: 'info', 'text-color': 'black' }; if (timeDiff < 0) return { color: 'warning', 'text-color': 'black' };
switch (row.entryTypeCode) { switch (row.entryTypeCode) {
case 'regularization': case 'regularization':
case 'life': case 'life':
@ -273,7 +273,7 @@ function getBadgeAttrs(row) {
default: default:
break; break;
} }
if (timeDiff < 0) return { color: 'warning', 'text-color': 'black' }; if (timeDiff > 0) return { color: 'info', 'text-color': 'black' };
return { color: 'transparent' }; return { color: 'transparent' };
} }

View File

@ -1,13 +1,14 @@
<script setup> <script setup>
import { ref, computed } from 'vue'; import { ref, computed } from 'vue';
import { useI18n } from 'vue-i18n'; import { useI18n } from 'vue-i18n';
import WorkerDescriptorProxy from 'src/pages/Worker/Card/WorkerDescriptorProxy.vue'; import DepartmentDescriptorProxy from '../Worker/Department/Card/DepartmentDescriptorProxy.vue';
import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue'; import CustomerDescriptorProxy from 'src/pages/Customer/Card/CustomerDescriptorProxy.vue';
import { toDateFormat } from 'src/filters/date.js'; import { toDateFormat } from 'src/filters/date.js';
import VnTable from 'src/components/VnTable/VnTable.vue'; import VnTable from 'src/components/VnTable/VnTable.vue';
import VnInputDate from 'src/components/common/VnInputDate.vue'; import VnInputDate from 'src/components/common/VnInputDate.vue';
import VnRow from 'src/components/ui/VnRow.vue'; import VnRow from 'src/components/ui/VnRow.vue';
import { dateRange } from 'src/filters'; import { dateRange } from 'src/filters';
import useOpenURL from 'src/composables/useOpenURL';
const { t } = useI18n(); const { t } = useI18n();
const dates = dateRange(Date.vnNew()); const dates = dateRange(Date.vnNew());
@ -94,6 +95,7 @@ const columns = computed(() => [
columnClass: 'no-padding', columnClass: 'no-padding',
}, },
]); ]);
const openTab = (id) => useOpenURL(`#/customer/${id}/summary`);
</script> </script>
<template> <template>
@ -113,6 +115,8 @@ const columns = computed(() => [
:disable-option="{ card: true }" :disable-option="{ card: true }"
dense dense
class="q-px-none" class="q-px-none"
:row-click="({ id }) => openTab(id)"
:row-ctrl-click="(_, { id }) => openTab(id)"
> >
<template #top-left> <template #top-left>
<VnRow> <VnRow>
@ -121,12 +125,16 @@ const columns = computed(() => [
</VnRow> </VnRow>
</template> </template>
<template #column-departmentFk="{ row }"> <template #column-departmentFk="{ row }">
<span class="link" :title="row.department" v-text="row.department" /> <span @click.stop.prevent class="link" :title="row.department">
<WorkerDescriptorProxy :id="row.departmentFk" dense /> {{ row.department }}
<DepartmentDescriptorProxy :id="row.departmentFk" dense
/></span>
</template> </template>
<template #column-clientFk="{ row }"> <template #column-clientFk="{ row }">
<span class="link" :title="row.clientName" v-text="row.clientName" /> <span @click.stop.prevent class="link" :title="row.clientName">
<CustomerDescriptorProxy :id="row.clientFk" /> {{ row.clientName }}
<CustomerDescriptorProxy :id="row.clientFk" dense
/></span>
</template> </template>
</VnTable> </VnTable>
</template> </template>

View File

@ -9,6 +9,7 @@ import { toDateFormat, toDateTimeFormat } from 'src/filters/date.js';
import { toCurrency } from 'src/filters'; import { toCurrency } from 'src/filters';
import { useVnConfirm } from 'composables/useVnConfirm'; import { useVnConfirm } from 'composables/useVnConfirm';
import axios from 'axios'; import axios from 'axios';
import useOpenURL from 'src/composables/useOpenURL';
const { t } = useI18n(); const { t } = useI18n();
const { openConfirmationModal } = useVnConfirm(); const { openConfirmationModal } = useVnConfirm();
@ -108,8 +109,7 @@ const removeOrders = async () => {
await table.value.reload(); await table.value.reload();
}; };
const openTab = (id) => const openTab = (id) => useOpenURL(`#/order/${id}/summary`);
window.open(`#/order/${id}/summary`, '_blank', 'noopener, noreferrer');
</script> </script>
<template> <template>
<VnTable <VnTable
@ -129,6 +129,7 @@ const openTab = (id) =>
}" }"
default-mode="table" default-mode="table"
:row-click="({ id }) => openTab(id)" :row-click="({ id }) => openTab(id)"
:row-ctrl-click="(_, { id }) => openTab(id)"
v-model:selected="selectedRows" v-model:selected="selectedRows"
:disable-option="{ card: true }" :disable-option="{ card: true }"
> >
@ -177,16 +178,16 @@ const openTab = (id) =>
</template> </template>
<template #column-clientFk="{ row }"> <template #column-clientFk="{ row }">
<QTd @click.stop> <span class="link" @click.stop :title="row.clientName">
<span class="link" v-text="row.clientName" :title="row.clientName" /> {{ row.clientName }}
<CustomerDescriptorProxy :id="row.clientFk" /> <CustomerDescriptorProxy :id="row.clientFk" dense
</QTd> /></span>
</template> </template>
<template #column-departmentFk="{ row }"> <template #column-departmentFk="{ row }">
<QTd @click.stop> <span class="link" @click.stop :title="row.departmentName">
<span class="link" v-text="row.departmentName" /> {{ row.departmentName }}
<DepartmentDescriptorProxy :id="row.departmentFk" dense /> <DepartmentDescriptorProxy :id="row.departmentFk" dense
</QTd> /></span>
</template> </template>
</VnTable> </VnTable>
</template> </template>

View File

@ -449,21 +449,19 @@ const openTab = (id) => useOpenURL(`#/ticket/${id}/sale`);
<span :title="row.province" v-text="row.province" /> <span :title="row.province" v-text="row.province" />
</template> </template>
<template #column-state="{ row }"> <template #column-state="{ row }">
<div @click.stop.prevent> <div v-if="row.refFk" @click.stop.prevent>
<div v-if="row.refFk"> <span class="link">{{ row.refFk }}</span>
<span class="link">{{ row.refFk }}</span> <InvoiceOutDescriptorProxy :id="row.invoiceOutId" />
<InvoiceOutDescriptorProxy :id="row.invoiceOutId" />
</div>
<QBadge
v-else
:color="stateColors[row.classColor] || 'transparent'"
:text-color="stateColors[row.classColor] ? 'black' : 'white'"
class="q-pa-sm"
style="font-size: 14px"
>
{{ row.state }}
</QBadge>
</div> </div>
<QBadge
v-else
:color="stateColors[row.classColor] || 'transparent'"
:text-color="stateColors[row.classColor] ? 'black' : 'white'"
class="q-pa-sm"
style="font-size: 14px"
>
{{ row.state }}
</QBadge>
</template> </template>
<template #column-isFragile="{ row }"> <template #column-isFragile="{ row }">
<QIcon v-if="row.isFragile" name="local_bar" color="primary" size="sm"> <QIcon v-if="row.isFragile" name="local_bar" color="primary" size="sm">

View File

@ -44,11 +44,12 @@ describe('EntryList', () => {
}, },
); );
checkBadgeDate( // fix on task https://redmine.verdnatura.es/issues/8638
/* checkBadgeDate(
'td[data-col-field="landed"] > div .bg-info', 'td[data-col-field="landed"] > div .bg-info',
(badgeDate, compareDate) => { (badgeDate, compareDate) => {
expect(badgeDate.getTime()).to.be.lessThan(compareDate.getTime()); expect(badgeDate.getTime()).to.be.lessThan(compareDate.getTime());
}, },
); ); */
}); });
}); });