Unterschriftenservice: bestehende Unterschriften aus dem Katalog waehlbar (zusaetzlich zum Upload), in beiden Modi
This commit is contained in:
@@ -591,6 +591,15 @@ const NeuAuftrag = defineComponent({
|
||||
catch (e) { sig.err = 'Dokument-Upload fehlgeschlagen.'; sig.msg = ''; }
|
||||
}
|
||||
// Signatur-SVG hochladen und als Zeile hinzufügen (manuell oder ergänzend).
|
||||
// Bestehende Unterschrift (aus dem signatures-Katalog) zur Liste hinzufügen –
|
||||
// wie beim manuellen Brief-Signatur-Picker. Nutzt die vorhandene Datei-ID.
|
||||
function sigBestehendeWaehlen(id) {
|
||||
const s = signaturListe.value.find((x) => String(x.id) === String(id));
|
||||
if (!s || !s.file) return;
|
||||
sig.signaturen.push({ file_id: s.file, label: s.label || 'Unterschrift', aktiv: true,
|
||||
marker_key: 'SIG' + (sig.signaturen.length + 1), position: 'genau', width_mm: 40, offset_x_mm: 0, offset_y_mm: 0 });
|
||||
sig.pdf = '';
|
||||
}
|
||||
async function sigSvgUpload(file) {
|
||||
if (!file) return;
|
||||
sig.err = '';
|
||||
@@ -658,9 +667,20 @@ const NeuAuftrag = defineComponent({
|
||||
subdued(sig.modus === 'auftrag'
|
||||
? 'Aus dem Kundenkonto vorbelegt (Marker + Feinjustierung), hier überschreibbar. Weitere Unterschrift-SVGs sind ergänzbar.'
|
||||
: 'Unterschrift(en) als SVG hochladen und Marker/Position setzen.', 'margin-bottom:10px;'),
|
||||
h('div', { style: 'margin-bottom:10px;' }, [
|
||||
h('div', { style: 'display:flex;gap:16px;flex-wrap:wrap;align-items:center;margin-bottom:10px;' }, [
|
||||
// Bestehende Unterschrift aus dem Katalog wählen (wie beim manuellen Brief).
|
||||
signaturListe.value.filter((s) => s.file).length ? h('select', {
|
||||
style: WFELD + 'font-size:13px;', value: '',
|
||||
onChange: (e) => { if (e.target.value) { sigBestehendeWaehlen(e.target.value); e.target.value = ''; } },
|
||||
}, [
|
||||
h('option', { value: '' }, '➕ Bestehende Unterschrift wählen …'),
|
||||
...signaturListe.value.filter((s) => s.file).map((s) => {
|
||||
const kunde = [s.customer?.first_name, s.customer?.last_name].filter(Boolean).join(' ');
|
||||
return h('option', { value: s.id }, (s.label || 'Unterschrift') + (kunde ? ` · ${kunde}` : ''));
|
||||
}),
|
||||
]) : null,
|
||||
h('label', { style: `display:inline-block;cursor:pointer;color:${ACCENT};font-size:13px;` }, [
|
||||
'+ Unterschrift (SVG) hinzufügen',
|
||||
'+ Neue Unterschrift (SVG) hochladen',
|
||||
h('input', { type: 'file', accept: '.svg', style: 'display:none;', onChange: (e) => sigSvgUpload(e.target.files && e.target.files[0]) }),
|
||||
]),
|
||||
]),
|
||||
|
||||
Reference in New Issue
Block a user