Teren-app/resources/js/Pages/Cases/Partials/ActivityTable.vue
2024-11-13 22:11:07 +01:00

48 lines
1.3 KiB
Vue

<script setup>
import BasicTable from '@/Components/BasicTable.vue';
import { LinkOptions as C_LINK, TableColumn as C_TD, TableRow as C_TR} from '@/Shared/AppObjects';
const props = defineProps({
client_case: Object,
activities: Object
});
let header = [
C_TD.make('Date', 'header'),
C_TD.make('Action', 'header'),
C_TD.make('Decision', 'header'),
C_TD.make('Note', 'header'),
C_TD.make('Due date', 'header'),
C_TD.make('Amount', 'header')
];
const createBody = (data) => {
let body = [];
data.forEach((p) => {
const createdDate = new Date(p.created_at).toLocaleDateString('de');
const dueDate = (p.due_date === null) ? new Date().toLocaleDateString('de') : null;
const cols = [
C_TD.make(createdDate, 'body' ),
C_TD.make(p.action.name, 'body'),
C_TD.make(p.decision.name, 'body'),
C_TD.make(p.note, 'body' ),
C_TD.make(dueDate, 'body' ),
C_TD.make(Intl.NumberFormat('de-DE', { style: 'currency', currency: 'EUR' }).format(p.amount), 'body' )
];
body.push(
C_TR.make(cols)
)
});
return body;
}
</script>
<template>
<BasicTable :header="header" :body="createBody(activities.data)" />
</template>