51 lines
1.9 KiB
Vue
51 lines
1.9 KiB
Vue
<script setup lang="ts">
|
|
const { getOpenReports, getAssignedReports } = useOperator()
|
|
|
|
const { data: openReportsRes } = useAsyncData('open-reports', () => getOpenReports({ per_page: 5 }))
|
|
const { data: assignedReportsRes } = useAsyncData('assigned-reports', () => getAssignedReports({ per_page: 5 }))
|
|
</script>
|
|
|
|
<template>
|
|
<div class="row">
|
|
<div class="col-12 col-lg-6 mb-4">
|
|
<div class="card card-bg h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
<h3 class="h5 mb-0">Segnalazioni disponibili</h3>
|
|
<NuxtLink to="/operator" class="btn btn-link btn-sm pe-0">Apri elenco</NuxtLink>
|
|
</div>
|
|
<div v-if="openReportsRes?.ok && openReportsRes.reports.length === 0" class="alert alert-info mb-0">
|
|
Nessuna nuova segnalazione in ingresso.
|
|
</div>
|
|
<ReportTable
|
|
v-else
|
|
:reports="openReportsRes?.reports || []"
|
|
detail-base-path="/operator/reports"
|
|
action-label="Visualizza"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="col-12 col-lg-6 mb-4">
|
|
<div class="card card-bg h-100">
|
|
<div class="card-body">
|
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
<h3 class="h5 mb-0">Le mie assegnazioni</h3>
|
|
<NuxtLink to="/operator/assigned" class="btn btn-link btn-sm pe-0">Vedi tutte</NuxtLink>
|
|
</div>
|
|
<div v-if="assignedReportsRes?.ok && assignedReportsRes.reports.length === 0" class="alert alert-info mb-0">
|
|
Non hai segnalazioni in carico.
|
|
</div>
|
|
<ReportTable
|
|
v-else
|
|
:reports="assignedReportsRes?.reports || []"
|
|
detail-base-path="/operator/reports"
|
|
action-label="Apri segnalazione"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|