Firma Digitale e Documento
Tipo firma — azione: 'richiesta_firma'
Le attività con azione === 'richiesta_firma' attivano il FirmaPanel nel form. Permettono di inviare una richiesta di firma digitale a uno o più firmatari.
Configurazione tipo attività
In TipoAttivitaForm, impostare azione = 'richiesta_firma'. Il sistema mostra automaticamente FirmaPanel nel tab Avanzato.
Payload richiesta firma
{
iddocumento: 10, // documento già caricato su MinIO (opzionale)
firmatari: [
{ email: 'mario@example.com', nome: 'Mario Rossi', ordine: 1 },
{ email: 'luigi@example.com', nome: 'Luigi Bianchi', ordine: 2 },
],
messaggio: 'Si prega di firmare il contratto allegato.',
scadenzafirma: '2025-06-30',
firmadelrichiedente: 'data:image/png;base64,...', // opzionale
}
ordine determina la sequenza di firma se il provider supporta firma sequenziale.
Risultato
// RichiestafirmaResult
{
idrichiestafirma: 'uuid-...',
stato: 'inviata',
urlfirma: 'https://firma.provider.com/sign/uuid-...',
}
urlfirma può essere condiviso con i firmatari o aperto in un iframe. Il provider di firma digitale è esterno alla libreria.
Tipo documento — azione: 'upload_documento'
Le attività con azione === 'upload_documento' attivano il DocumentoPanel nel form. Permettono di allegare un file direttamente all'attività caricandolo su MinIO.
Endpoint upload
POST /api/attivita/{idattivita}/upload-documento
Content-Type: multipart/form-data
Risultato
// UploadDocumentoResult
{
iddocumento: 42,
nome: 'contratto.pdf',
url: 'https://minio.example.com/bucket/contratto.pdf',
dimensione: 1048576, // bytes
}
iddocumento viene salvato in attivita.iddocumento. url è l'URL MinIO pubblico o pre-signed.
Differenza da @pzeta/vue-attachment
@pzeta/vue-attachment gestisce allegati generici su qualsiasi tabella. DocumentoPanel e FirmaPanel sono specifici per attività di tipo documento/firma — sono progettati per un singolo documento principale dell'attività, non per allegati multipli.
Per allegati multipli su un'attività usare @pzeta/vue-attachment con reference_table = 'attivita' e reference_value = idattivita.