A6 quer: rollenschonender Druck (spaltenweise Zeichenreihenfolge)
Checkbox „Rollenschonend drucken" im Druck-Popup (nur bei A6). Setzt am Job das Feld spaltenweise. Der Agent lädt das Schriftstück-SVG dann über den Download-Endpunkt mit ?reorder=column: die Glyph-<path>-Elemente werden nach x (Spalte) und y (oben→unten) permutiert – Signatur-<g>, Hintergrund und Trennstrich bleiben unangetastet. Sichtbares Ergebnis identisch, aber der rollengeführte Plotter fährt monoton in Vorschub- richtung statt je Zeile die Rolle zurückzuspulen. Nur Schriftstücke, nicht Kuverts. Neues Job-Feld jobs.spaltenweise (Bootstrap). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -194,7 +194,7 @@ const Board = defineComponent({
|
||||
const musterListe = ref([]);
|
||||
|
||||
// ── Modale ──
|
||||
const druck = reactive({ open: false, order: null, machine: null, mode: 'queue', busy: false, brief: null, umschlag: null, msg: '', err: '', deNums: '', intNums: '', deN: 0, intN: 0 });
|
||||
const druck = reactive({ open: false, order: null, machine: null, mode: 'queue', busy: false, brief: null, umschlag: null, spaltenweise: false, msg: '', err: '', deNums: '', intNums: '', deN: 0, intN: 0 });
|
||||
const manuell = reactive({ open: false, req: null, form: 'sie', vorlageId: '', roh: '', font: 'tilda', format: 'a4', template: null, machine: null, mode: 'queue', text: '',
|
||||
// Adresse automatisch aufs Kuvert (Standard an) + eigenes Kuvert-Template/-Format.
|
||||
kuvert: true, envFormat: 'dinlang', envTemplate: null, msg: '', err: '' });
|
||||
@@ -756,6 +756,8 @@ const Board = defineComponent({
|
||||
druck.order = order;
|
||||
druck.machine = aktiveMaschinen.value[0]?.id ?? null;
|
||||
druck.mode = 'queue'; druck.msg = ''; druck.err = '';
|
||||
// Rollenschonende Zeichenreihenfolge nur bei A6 anbieten (Default aus).
|
||||
druck.spaltenweise = false;
|
||||
druck.brief = { enabled: true, numbers: `1-${n}`, done: !!order.brief_gedruckt, ...tplToFelder(bt) };
|
||||
druck.umschlag = wantsEnv ? { enabled: true, numbers: `1-${n}`, done: !!order.kuvert_gedruckt, ...tplToFelder(et) } : null;
|
||||
druck.deNums = ''; druck.intNums = ''; druck.deN = 0; druck.intN = 0;
|
||||
@@ -789,7 +791,7 @@ const Board = defineComponent({
|
||||
const sections = {};
|
||||
const bau = (sec) => ({ enabled: true, template: sec.tplId, numbers: sec.numbers || '',
|
||||
params: { width: sec.width, height: sec.height, xpos: sec.xpos, ypos: sec.ypos, scale: sec.scale, rotation: sec.rotation } });
|
||||
if (druck.brief?.enabled) sections.brief = bau(druck.brief);
|
||||
if (druck.brief?.enabled) sections.brief = { ...bau(druck.brief), spaltenweise: !!druck.spaltenweise };
|
||||
if (druck.umschlag?.enabled) sections.umschlag = bau(druck.umschlag);
|
||||
if (!Object.keys(sections).length) { druck.err = 'Kein Abschnitt gewählt.'; return; }
|
||||
druck.err = ''; druck.msg = 'Wird eingereiht …';
|
||||
@@ -1478,6 +1480,14 @@ const Board = defineComponent({
|
||||
]),
|
||||
druckSektion('brief', 'Briefe', '📄', 'brief'),
|
||||
druckSektion('umschlag', 'Kuverts', '✉', 'umschlag'),
|
||||
// Rollenschonende Zeichenreihenfolge – nur bei A6 sinnvoll (Karte quer).
|
||||
String(druck.order.format?.key || '').startsWith('a6') ? h('div', { style: SECTION + 'margin-bottom:12px;' }, [
|
||||
h('label', { style: 'display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;' }, [
|
||||
h('input', { type: 'checkbox', checked: druck.spaltenweise, onChange: (e) => { druck.spaltenweise = e.target.checked; }, style: 'width:18px;height:18px;' }),
|
||||
h('span', { style: 'font-weight:600;' }, 'Rollenschonend drucken (spaltenweise)'),
|
||||
]),
|
||||
subdued('Für A6 quer: Zeichen werden spaltenweise (kurze Seite, oben→unten) gedruckt, damit die Rolle nicht je Zeile zurückfährt. Das sichtbare Ergebnis auf der Karte bleibt gleich – nur die Schriftstücke (nicht die Kuverts).', 'margin-top:6px;'),
|
||||
]) : null,
|
||||
h('div', { style: 'margin:12px 0 4px;' }, [
|
||||
segToggle(busy ? 'queue' : druck.mode, [
|
||||
{ key: 'direct', label: '⚡ Direktdruck', disabled: busy },
|
||||
|
||||
Reference in New Issue
Block a user