@flowselections/pick-schermen-kwekers 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +24 -24
- package/dist-lib/components/TemplateModulePage.d.ts +2 -0
- package/dist-lib/components/TemplateModulePage.d.ts.map +1 -0
- package/dist-lib/components/TemplateModulePage.js +44 -0
- package/dist-lib/components/pick/PickScherm.d.ts.map +1 -1
- package/dist-lib/components/pick/PickScherm.js +70 -29
- package/dist-lib/hooks/usePrintJob.d.ts +22 -0
- package/dist-lib/hooks/usePrintJob.d.ts.map +1 -0
- package/dist-lib/hooks/usePrintJob.js +48 -0
- package/dist-lib/integrations/supabase/auth-middleware.d.ts +890 -21
- package/dist-lib/integrations/supabase/auth-middleware.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.d.ts +890 -21
- package/dist-lib/integrations/supabase/client.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/client.server.d.ts +890 -21
- package/dist-lib/integrations/supabase/client.server.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.d.ts +891 -22
- package/dist-lib/integrations/supabase/types.d.ts.map +1 -1
- package/dist-lib/integrations/supabase/types.js +12 -1
- package/dist-lib/lib/layoutMaker/pakbonHtml.js +49 -49
- package/dist-lib/lib/layoutRenderer.js +17 -17
- package/dist-lib/lib/pickApi.d.ts +11 -2
- package/dist-lib/lib/pickApi.d.ts.map +1 -1
- package/dist-lib/lib/pickApi.js +38 -2
- package/dist-lib/lib/pickPrint.d.ts +3 -15
- package/dist-lib/lib/pickPrint.d.ts.map +1 -1
- package/dist-lib/lib/pickPrint.js +9 -161
- package/dist-lib/lib/pickPrintJobText.d.ts +17 -0
- package/dist-lib/lib/pickPrintJobText.d.ts.map +1 -0
- package/dist-lib/lib/pickPrintJobText.js +49 -0
- package/dist-lib/lib/pickTypes.d.ts +17 -0
- package/dist-lib/lib/pickTypes.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -8,7 +8,18 @@ export const Constants = {
|
|
|
8
8
|
"klaar",
|
|
9
9
|
"mislukt",
|
|
10
10
|
],
|
|
11
|
-
app_role: [
|
|
11
|
+
app_role: [
|
|
12
|
+
"admin",
|
|
13
|
+
"planner",
|
|
14
|
+
"monteur",
|
|
15
|
+
"administratie",
|
|
16
|
+
"ai_admin",
|
|
17
|
+
"manager",
|
|
18
|
+
"warehouse",
|
|
19
|
+
"sales",
|
|
20
|
+
"developer",
|
|
21
|
+
"receptie",
|
|
22
|
+
],
|
|
12
23
|
doc_layout_type: [
|
|
13
24
|
"pakbon",
|
|
14
25
|
"factuur",
|
|
@@ -590,55 +590,55 @@ export function renderPakbonDocument(config, order, opties = {}) {
|
|
|
590
590
|
const font = opties.lettertype ?? 'Arial, Helvetica, "Segoe UI", sans-serif';
|
|
591
591
|
const grootte = opties.lettergrootte ?? 8.5;
|
|
592
592
|
const body = renderPakbonBody(config, order, opties);
|
|
593
|
-
return `<!doctype html><html lang="nl"><head><meta charset="utf-8" />
|
|
594
|
-
<title>${esc(opties.titel ?? "Pakbon")}</title>
|
|
595
|
-
<style>
|
|
596
|
-
@page { size: ${b}mm ${h}mm; margin: ${marge}mm; }
|
|
597
|
-
* { box-sizing: border-box; }
|
|
598
|
-
html, body { margin: 0; padding: 0; }
|
|
599
|
-
body { font-family: ${font}; font-size: ${grootte}pt; color: #111827; line-height: 1.35; }
|
|
600
|
-
.blok { margin-bottom: 2mm; }
|
|
601
|
-
.sectitel { font-size: 90%; font-weight: 600; text-transform: uppercase; color: #6b7280; margin-bottom: 0.6mm; }
|
|
602
|
-
.vet { font-weight: 600; }
|
|
603
|
-
.kv { display: flex; justify-content: space-between; gap: 3mm; }
|
|
604
|
-
.kv .k { color: #6b7280; }
|
|
605
|
-
.kv .v { font-weight: 500; }
|
|
606
|
-
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6mm; }
|
|
607
|
-
.kader { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
|
|
608
|
-
table.regels { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
|
609
|
-
table.regels th, table.regels td { overflow-wrap: anywhere; }
|
|
610
|
-
table.regels th, table.regels td { padding: 0.7mm 1mm; vertical-align: top; }
|
|
611
|
-
table.regels th { font-size: 90%; text-transform: uppercase; color: #6b7280; font-weight: 600; text-align: left; }
|
|
612
|
-
.rand { border: 0.2mm solid #d1d5db; }
|
|
613
|
-
.onder { border-bottom: 0.2mm solid #d1d5db; }
|
|
614
|
-
table.regels.compact th, table.regels.compact td { padding: 0.3mm 0.8mm; }
|
|
615
|
-
tr.zebra td { background: #f3f4f6; }
|
|
616
|
-
.plijst { margin: 0; padding-left: 4mm; }
|
|
617
|
-
.groep { margin-bottom: 1.5mm; }
|
|
618
|
-
.regelrij { display: flex; gap: 2mm; }
|
|
619
|
-
.tweekolom { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
|
|
620
|
-
.karblok { margin-bottom: 2mm; }
|
|
621
|
-
.karblok.omkaderd { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
|
|
622
|
-
.karkop { display: flex; justify-content: space-between; align-items: center; padding: 0.8mm 1.5mm; border-radius: 1mm; margin-bottom: 1mm; }
|
|
623
|
-
.bundel { display: inline-block; border: 0.3mm dashed #6b7280; border-radius: 1mm; padding: 0.4mm 1.5mm; margin-bottom: 1mm; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2mm; font-size: 90%; }
|
|
624
|
-
.laag { margin-bottom: 1.5mm; }
|
|
625
|
-
.laagkop { display: flex; justify-content: space-between; font-weight: 500; border-bottom: 0.2mm solid #d1d5db; padding-bottom: 0.4mm; margin-bottom: 0.6mm; }
|
|
626
|
-
.laagkop.compact { border-bottom: none; }
|
|
627
|
-
.meta { display: flex; gap: 3mm; font-size: 88%; font-weight: 400; color: #4b5563; }
|
|
628
|
-
.totalen { display: flex; flex-wrap: wrap; gap: 5mm; border-top: 0.25mm solid #d1d5db; padding-top: 1.2mm; font-weight: 500; }
|
|
629
|
-
.paginavoet { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; }
|
|
630
|
-
.handtekening { margin-top: 3mm; }
|
|
631
|
-
.lijnveld { margin-top: 4mm; border-bottom: 0.25mm solid #6b7280; padding-bottom: 3mm; }
|
|
632
|
-
.lijnveld.hoog { padding-bottom: 10mm; }
|
|
633
|
-
.lijn { border-top: 0.25mm solid #d1d5db; margin: 1.5mm 0; }
|
|
634
|
-
.balk { height: 1mm; background: #374151; margin: 1.5mm 0; }
|
|
635
|
-
.qr { border: 0.25mm dashed #9ca3af; }
|
|
636
|
-
.streepjes { width: 45mm; background: repeating-linear-gradient(to right, #111827 0 2px, transparent 2px 5px); }
|
|
637
|
-
.klein { font-size: 85%; color: #6b7280; }
|
|
638
|
-
.breekvoor { break-before: page; page-break-before: always; }
|
|
639
|
-
.heelhouden { break-inside: avoid; page-break-inside: avoid; }
|
|
640
|
-
img { max-width: 100%; }
|
|
641
|
-
</style></head>
|
|
593
|
+
return `<!doctype html><html lang="nl"><head><meta charset="utf-8" />
|
|
594
|
+
<title>${esc(opties.titel ?? "Pakbon")}</title>
|
|
595
|
+
<style>
|
|
596
|
+
@page { size: ${b}mm ${h}mm; margin: ${marge}mm; }
|
|
597
|
+
* { box-sizing: border-box; }
|
|
598
|
+
html, body { margin: 0; padding: 0; }
|
|
599
|
+
body { font-family: ${font}; font-size: ${grootte}pt; color: #111827; line-height: 1.35; }
|
|
600
|
+
.blok { margin-bottom: 2mm; }
|
|
601
|
+
.sectitel { font-size: 90%; font-weight: 600; text-transform: uppercase; color: #6b7280; margin-bottom: 0.6mm; }
|
|
602
|
+
.vet { font-weight: 600; }
|
|
603
|
+
.kv { display: flex; justify-content: space-between; gap: 3mm; }
|
|
604
|
+
.kv .k { color: #6b7280; }
|
|
605
|
+
.kv .v { font-weight: 500; }
|
|
606
|
+
.grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 6mm; }
|
|
607
|
+
.kader { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
|
|
608
|
+
table.regels { width: 100%; border-collapse: collapse; table-layout: fixed; }
|
|
609
|
+
table.regels th, table.regels td { overflow-wrap: anywhere; }
|
|
610
|
+
table.regels th, table.regels td { padding: 0.7mm 1mm; vertical-align: top; }
|
|
611
|
+
table.regels th { font-size: 90%; text-transform: uppercase; color: #6b7280; font-weight: 600; text-align: left; }
|
|
612
|
+
.rand { border: 0.2mm solid #d1d5db; }
|
|
613
|
+
.onder { border-bottom: 0.2mm solid #d1d5db; }
|
|
614
|
+
table.regels.compact th, table.regels.compact td { padding: 0.3mm 0.8mm; }
|
|
615
|
+
tr.zebra td { background: #f3f4f6; }
|
|
616
|
+
.plijst { margin: 0; padding-left: 4mm; }
|
|
617
|
+
.groep { margin-bottom: 1.5mm; }
|
|
618
|
+
.regelrij { display: flex; gap: 2mm; }
|
|
619
|
+
.tweekolom { display: grid; grid-template-columns: 1fr 1fr; gap: 3mm; }
|
|
620
|
+
.karblok { margin-bottom: 2mm; }
|
|
621
|
+
.karblok.omkaderd { border: 0.25mm solid #d1d5db; border-radius: 1mm; padding: 1.5mm; }
|
|
622
|
+
.karkop { display: flex; justify-content: space-between; align-items: center; padding: 0.8mm 1.5mm; border-radius: 1mm; margin-bottom: 1mm; }
|
|
623
|
+
.bundel { display: inline-block; border: 0.3mm dashed #6b7280; border-radius: 1mm; padding: 0.4mm 1.5mm; margin-bottom: 1mm; font-weight: 700; text-transform: uppercase; letter-spacing: 0.2mm; font-size: 90%; }
|
|
624
|
+
.laag { margin-bottom: 1.5mm; }
|
|
625
|
+
.laagkop { display: flex; justify-content: space-between; font-weight: 500; border-bottom: 0.2mm solid #d1d5db; padding-bottom: 0.4mm; margin-bottom: 0.6mm; }
|
|
626
|
+
.laagkop.compact { border-bottom: none; }
|
|
627
|
+
.meta { display: flex; gap: 3mm; font-size: 88%; font-weight: 400; color: #4b5563; }
|
|
628
|
+
.totalen { display: flex; flex-wrap: wrap; gap: 5mm; border-top: 0.25mm solid #d1d5db; padding-top: 1.2mm; font-weight: 500; }
|
|
629
|
+
.paginavoet { position: fixed; bottom: 0; left: 0; right: 0; background: #fff; }
|
|
630
|
+
.handtekening { margin-top: 3mm; }
|
|
631
|
+
.lijnveld { margin-top: 4mm; border-bottom: 0.25mm solid #6b7280; padding-bottom: 3mm; }
|
|
632
|
+
.lijnveld.hoog { padding-bottom: 10mm; }
|
|
633
|
+
.lijn { border-top: 0.25mm solid #d1d5db; margin: 1.5mm 0; }
|
|
634
|
+
.balk { height: 1mm; background: #374151; margin: 1.5mm 0; }
|
|
635
|
+
.qr { border: 0.25mm dashed #9ca3af; }
|
|
636
|
+
.streepjes { width: 45mm; background: repeating-linear-gradient(to right, #111827 0 2px, transparent 2px 5px); }
|
|
637
|
+
.klein { font-size: 85%; color: #6b7280; }
|
|
638
|
+
.breekvoor { break-before: page; page-break-before: always; }
|
|
639
|
+
.heelhouden { break-inside: avoid; page-break-inside: avoid; }
|
|
640
|
+
img { max-width: 100%; }
|
|
641
|
+
</style></head>
|
|
642
642
|
<body>${body}</body></html>`;
|
|
643
643
|
}
|
|
644
644
|
/** Handig voor testen: het document met de voorbeeldgegevens. */
|
|
@@ -212,22 +212,22 @@ export function renderLayoutHtml(resolved, data, locale = "nl-NL") {
|
|
|
212
212
|
const body = resolved.elements
|
|
213
213
|
.map((el) => renderElement(el, resolved, data, locale))
|
|
214
214
|
.join("\n");
|
|
215
|
-
return `<!DOCTYPE html>
|
|
216
|
-
<html lang="nl"><head><meta charset="utf-8" />
|
|
217
|
-
<title>${esc(layout.naam)}</title>
|
|
218
|
-
<style>
|
|
219
|
-
@page { size: ${w}mm ${h}mm; margin: 0; }
|
|
220
|
-
* { box-sizing: border-box; }
|
|
221
|
-
html, body { margin: 0; padding: 0; }
|
|
222
|
-
body { font-family: ${baseFont}; font-size: ${baseSize}pt; color: #000; }
|
|
223
|
-
.page { position: relative; width: ${w}mm; height: ${h}mm; overflow: hidden; }
|
|
224
|
-
.content { position: absolute; left: ${ml}mm; top: ${mt}mm; right: ${mr}mm; bottom: ${mb}mm; }
|
|
225
|
-
.el { position: absolute; white-space: pre-wrap; }
|
|
226
|
-
.lbl { font-weight: 600; }
|
|
227
|
-
.lay-table { width: 100%; border-collapse: collapse; font-size: inherit; }
|
|
228
|
-
.lay-table th, .lay-table td { padding: 1mm 1.5mm; border-bottom: 0.2mm solid #999; vertical-align: top; }
|
|
229
|
-
.barcode { font-family: "Libre Barcode 39", monospace; font-size: 30pt; letter-spacing: 4px; line-height: 1; }
|
|
230
|
-
.barcode-text { font-size: 8pt; letter-spacing: 2px; }
|
|
231
|
-
</style></head>
|
|
215
|
+
return `<!DOCTYPE html>
|
|
216
|
+
<html lang="nl"><head><meta charset="utf-8" />
|
|
217
|
+
<title>${esc(layout.naam)}</title>
|
|
218
|
+
<style>
|
|
219
|
+
@page { size: ${w}mm ${h}mm; margin: 0; }
|
|
220
|
+
* { box-sizing: border-box; }
|
|
221
|
+
html, body { margin: 0; padding: 0; }
|
|
222
|
+
body { font-family: ${baseFont}; font-size: ${baseSize}pt; color: #000; }
|
|
223
|
+
.page { position: relative; width: ${w}mm; height: ${h}mm; overflow: hidden; }
|
|
224
|
+
.content { position: absolute; left: ${ml}mm; top: ${mt}mm; right: ${mr}mm; bottom: ${mb}mm; }
|
|
225
|
+
.el { position: absolute; white-space: pre-wrap; }
|
|
226
|
+
.lbl { font-weight: 600; }
|
|
227
|
+
.lay-table { width: 100%; border-collapse: collapse; font-size: inherit; }
|
|
228
|
+
.lay-table th, .lay-table td { padding: 1mm 1.5mm; border-bottom: 0.2mm solid #999; vertical-align: top; }
|
|
229
|
+
.barcode { font-family: "Libre Barcode 39", monospace; font-size: 30pt; letter-spacing: 4px; line-height: 1; }
|
|
230
|
+
.barcode-text { font-size: 8pt; letter-spacing: 2px; }
|
|
231
|
+
</style></head>
|
|
232
232
|
<body><div class="page"><div class="content">${body}</div></div></body></html>`;
|
|
233
233
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { supabase } from "@flowselections/core";
|
|
2
|
-
import type { PickCountry, PickDashboardRow, PickDocumentType, PickLock, PickPrinter, PickQueueItem, PickScreen, PickSortRule, PickStation, PickStationType, PickStatus, PickTask } from "./pickTypes";
|
|
2
|
+
import type { PickCountry, PickDashboardRow, PickDocumentType, PickLock, PickActivePrinter, PickPrintJob, PickPrinter, PickQueueItem, PickScreen, PickSortRule, PickStation, PickStationType, PickStatus, PickTask } from "./pickTypes";
|
|
3
3
|
declare const db: {
|
|
4
4
|
from: (t: string) => any;
|
|
5
5
|
rpc: (fn: string, args?: Record<string, unknown>) => Promise<{
|
|
@@ -15,6 +15,8 @@ export declare const pickApi: {
|
|
|
15
15
|
countries(): Promise<PickCountry[]>;
|
|
16
16
|
statuses(): Promise<PickStatus[]>;
|
|
17
17
|
printers(): Promise<PickPrinter[]>;
|
|
18
|
+
/** Actieve printers uit de printerlijst van de Layout maker. */
|
|
19
|
+
activePrinters(): Promise<PickActivePrinter[]>;
|
|
18
20
|
documentTypes(): Promise<PickDocumentType[]>;
|
|
19
21
|
stationTypes(): Promise<PickStationType[]>;
|
|
20
22
|
tasks(): Promise<PickTask[]>;
|
|
@@ -81,7 +83,14 @@ export declare const pickApi: {
|
|
|
81
83
|
sessionId: string;
|
|
82
84
|
timeout: number;
|
|
83
85
|
}): Promise<PickQueueItem>;
|
|
84
|
-
|
|
86
|
+
/** Zet de printopdracht in de wachtrij. De printer komt uit de database. */
|
|
87
|
+
completePrint(itemId: string, sessionId: string): Promise<PickQueueItem>;
|
|
88
|
+
/** Zet een nieuwe printopdracht in de wachtrij voor een al geprint document. */
|
|
89
|
+
reprint(itemId: string, sessionId: string): Promise<string | null>;
|
|
90
|
+
/** Status van de printopdracht zoals de Layout maker die bijwerkt. */
|
|
91
|
+
printJobStatus(jobId: string): Promise<PickPrintJob | null>;
|
|
92
|
+
/** Zet een mislukte print terug, zodat het document weer in de wachtrij komt. */
|
|
93
|
+
resetPrint(itemId: string, sessionId: string): Promise<PickQueueItem>;
|
|
85
94
|
releaseLock(itemId: string): Promise<void>;
|
|
86
95
|
cancelItem(itemId: string): Promise<void>;
|
|
87
96
|
log(entry: Record<string, unknown>): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pickApi.d.ts","sourceRoot":"","sources":["../../src/lib/pickApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,UAAU,EACV,QAAQ,EACT,MAAM,aAAa,CAAC;AAIrB,QAAA,MAAM,EAAE,EAA0B;IAChC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IACzB,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACxF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IAC/B,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAAC;AAEF,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;AAOxB,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"pickApi.d.ts","sourceRoot":"","sources":["../../src/lib/pickApi.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,YAAY,EACZ,WAAW,EACX,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,eAAe,EACf,UAAU,EACV,QAAQ,EACT,MAAM,aAAa,CAAC;AAIrB,QAAA,MAAM,EAAE,EAA0B;IAChC,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,GAAG,CAAC;IACzB,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,GAAG,CAAC;QAAC,KAAK,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IACxF,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,GAAG,CAAC;IAC/B,aAAa,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,OAAO,QAAQ,CAAC,IAAI,CAAC;CAC5B,CAAC;AAEF,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,CAAC;AAOxB,eAAO,MAAM,OAAO;;;;IAYlB,gEAAgE;;;;;;wBAkBtC,MAAM;wBAMN,MAAM;kCAKI,MAAM;0BACN,MAAM;qBAAe,MAAM;oBAAc,MAAM,GAAG,IAAI;;sBAIlE,MAAM;;IAW9B,wEAAwE;sBAChD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAM9C;;;;OAIG;iBACgB,OAAO,CAAC,IAAI,CAAC;IAKhC,oEAAoE;oBAC9C;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;;;;wBAU9D;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE;IAkBnE,qDAAqD;kBACjC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,CAAC,EAAE,YAAY,EAAE,CAAC;QAC3B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB;;;;oBAyCqB;QACpB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB;gBAYiB;QAChB,MAAM,EAAE,MAAM,CAAC;QACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB;IAYD,4EAA4E;0BAChD,MAAM,aAAa,MAAM;IAUrD,gFAAgF;oBAC1D,MAAM,aAAa,MAAM;IAU/C,sEAAsE;0BAC1C,MAAM;IAMlC,iFAAiF;uBACxD,MAAM,aAAa,MAAM;wBASxB,MAAM;uBAKP,MAAM;eAWd,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;oBAOlB;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;;YAiB/E,MAAM;oBACE,MAAM;mBACP,MAAM,GAAG,IAAI;oBACZ,MAAM;sBACJ,MAAM;;;YAMhB,MAAM;gBACF,MAAM;oBACF,MAAM;iBACT,MAAM,GAAG,IAAI;uBACP,MAAM,GAAG,IAAI;oBAChB,MAAM,GAAG,IAAI;;kBAIT,MAAM,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;kBAMpC,MAAM,MAAM,MAAM;CAIvC,CAAC;AAEF,wBAAgB,YAAY,IAAI,MAAM,CASrC"}
|
package/dist-lib/lib/pickApi.js
CHANGED
|
@@ -18,6 +18,13 @@ export const pickApi = {
|
|
|
18
18
|
async printers() {
|
|
19
19
|
return unwrap(await db.from("pick_station_printers").select("*").order("name"));
|
|
20
20
|
},
|
|
21
|
+
/** Actieve printers uit de printerlijst van de Layout maker. */
|
|
22
|
+
async activePrinters() {
|
|
23
|
+
const { data, error } = await db.rpc("pick_active_printers");
|
|
24
|
+
if (error)
|
|
25
|
+
throw new Error(error.message);
|
|
26
|
+
return safeArray(data);
|
|
27
|
+
},
|
|
21
28
|
async documentTypes() {
|
|
22
29
|
return unwrap(await db.from("pick_document_types").select("*").order("sort_order"));
|
|
23
30
|
},
|
|
@@ -173,10 +180,39 @@ export const pickApi = {
|
|
|
173
180
|
throw new Error(error.message);
|
|
174
181
|
return data;
|
|
175
182
|
},
|
|
176
|
-
|
|
183
|
+
/** Zet de printopdracht in de wachtrij. De printer komt uit de database. */
|
|
184
|
+
async completePrint(itemId, sessionId) {
|
|
177
185
|
const { data, error } = await db.rpc("pick_complete_print", {
|
|
178
186
|
_queue_item_id: itemId,
|
|
179
|
-
_printer_id:
|
|
187
|
+
_printer_id: null,
|
|
188
|
+
_session_id: sessionId,
|
|
189
|
+
});
|
|
190
|
+
if (error)
|
|
191
|
+
throw new Error(error.message);
|
|
192
|
+
return data;
|
|
193
|
+
},
|
|
194
|
+
/** Zet een nieuwe printopdracht in de wachtrij voor een al geprint document. */
|
|
195
|
+
async reprint(itemId, sessionId) {
|
|
196
|
+
const { data, error } = await db.rpc("pick_enqueue_print_job", {
|
|
197
|
+
_queue_item_id: itemId,
|
|
198
|
+
_printer_id: null,
|
|
199
|
+
_session_id: sessionId,
|
|
200
|
+
});
|
|
201
|
+
if (error)
|
|
202
|
+
throw new Error(error.message);
|
|
203
|
+
return typeof data === "string" ? data : null;
|
|
204
|
+
},
|
|
205
|
+
/** Status van de printopdracht zoals de Layout maker die bijwerkt. */
|
|
206
|
+
async printJobStatus(jobId) {
|
|
207
|
+
const { data, error } = await db.rpc("pick_print_job_status", { _job_id: jobId });
|
|
208
|
+
if (error)
|
|
209
|
+
throw new Error(error.message);
|
|
210
|
+
return (data && typeof data === "object" ? data : null);
|
|
211
|
+
},
|
|
212
|
+
/** Zet een mislukte print terug, zodat het document weer in de wachtrij komt. */
|
|
213
|
+
async resetPrint(itemId, sessionId) {
|
|
214
|
+
const { data, error } = await db.rpc("pick_reset_print", {
|
|
215
|
+
_queue_item_id: itemId,
|
|
180
216
|
_session_id: sessionId,
|
|
181
217
|
});
|
|
182
218
|
if (error)
|
|
@@ -1,18 +1,6 @@
|
|
|
1
|
-
import { EmptyLayoutError, MissingLayoutError } from "./layoutTypes";
|
|
2
1
|
import type { PickQueueItem } from "./pickTypes";
|
|
3
|
-
|
|
4
|
-
export interface PrintResult {
|
|
5
|
-
layoutId: string;
|
|
6
|
-
layoutName: string;
|
|
7
|
-
layoutVersion: number | null;
|
|
8
|
-
documentType: string;
|
|
9
|
-
}
|
|
2
|
+
/** Documentsoort zoals de Logistiek Engine die op de wachtrijregel heeft gezet. */
|
|
10
3
|
export declare function documentTypeOf(item: PickQueueItem): string;
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
* printdialoog. Gooit MissingLayoutError als er geen actieve layout is.
|
|
14
|
-
*/
|
|
15
|
-
export declare function printQueueItem(item: PickQueueItem, locale?: string): Promise<PrintResult>;
|
|
16
|
-
/** Meldt de taak af bij de Engine met de gebruikte layout in het resultaat. */
|
|
17
|
-
export declare function completeLogisticsTaskForItem(item: PickQueueItem, print: PrintResult): Promise<void>;
|
|
4
|
+
/** Meldt de taak af bij de Engine met het printopdracht-nummer als resultaat. */
|
|
5
|
+
export declare function completeLogisticsTaskForItem(item: PickQueueItem, printJobId: string | null): Promise<void>;
|
|
18
6
|
//# sourceMappingURL=pickPrint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pickPrint.d.ts","sourceRoot":"","sources":["../../src/lib/pickPrint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pickPrint.d.ts","sourceRoot":"","sources":["../../src/lib/pickPrint.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUjD,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,IAAI,EAAE,aAAa,GAAG,MAAM,CAI1D;AAED,iFAAiF;AACjF,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,aAAa,EACnB,UAAU,EAAE,MAAM,GAAG,IAAI,iBAe1B"}
|
|
@@ -1,129 +1,20 @@
|
|
|
1
|
-
//
|
|
2
|
-
//
|
|
3
|
-
import { logosMetViewUrl, resolveLayout } from "./layoutApi";
|
|
4
|
-
import { renderLayoutHtml } from "./layoutRenderer";
|
|
5
|
-
import { EmptyLayoutError, layoutSecties, MissingLayoutError } from "./layoutTypes";
|
|
6
|
-
import { fetchPakbonData } from "./orderContext";
|
|
7
|
-
import { maakPakbonOrder, printPakbon } from "./layoutMaker/pakbonHtml";
|
|
8
|
-
import { pakbonOrderInput } from "./pakbonOrderInput";
|
|
1
|
+
// Dit pickscherm print zelf niets. Eén klik zet een printopdracht in
|
|
2
|
+
// public.print_jobs; de printdienst kiest layout en printer en print fysiek.
|
|
9
3
|
import { pickDb } from "./pickApi";
|
|
10
|
-
export { EmptyLayoutError, MissingLayoutError };
|
|
11
4
|
function obj(raw) {
|
|
12
5
|
return raw && typeof raw === "object" && !Array.isArray(raw) ? raw : {};
|
|
13
6
|
}
|
|
14
7
|
function payloadOf(item) {
|
|
15
8
|
return obj(item.payload);
|
|
16
9
|
}
|
|
17
|
-
/**
|
|
18
|
-
function layoutSources(item) {
|
|
19
|
-
const p = payloadOf(item);
|
|
20
|
-
return [p, obj(p["layout"]), obj(p["data"]), obj(obj(p["data"])["layout"]), obj(p["document"])];
|
|
21
|
-
}
|
|
22
|
-
function pickField(item, keys) {
|
|
23
|
-
for (const src of layoutSources(item)) {
|
|
24
|
-
for (const key of keys) {
|
|
25
|
-
const v = src[key];
|
|
26
|
-
if (v !== undefined && v !== null && v !== "")
|
|
27
|
-
return v;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return undefined;
|
|
31
|
-
}
|
|
10
|
+
/** Documentsoort zoals de Logistiek Engine die op de wachtrijregel heeft gezet. */
|
|
32
11
|
export function documentTypeOf(item) {
|
|
33
|
-
return String(pickField(item, ["documentType", "document_type", "documentsoort"]) ?? "pakbon");
|
|
34
|
-
}
|
|
35
|
-
/** Layoutreferentie zoals de Logistiek Engine die heeft meegegeven. */
|
|
36
|
-
function engineLayoutRef(item) {
|
|
37
|
-
const id = pickField(item, ["layoutId", "layout_id"]);
|
|
38
|
-
const name = pickField(item, ["layoutName", "layout_name"]);
|
|
39
|
-
const version = pickField(item, ["layoutVersion", "layout_version"]);
|
|
40
|
-
return {
|
|
41
|
-
layoutId: id ? String(id) : null,
|
|
42
|
-
layoutName: name ? String(name) : null,
|
|
43
|
-
layoutVersion: Number.isFinite(Number(version)) ? Number(version) : null,
|
|
44
|
-
};
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Vraagt de taak bij de Engine op wanneer de wachtrijregel zelf geen layout
|
|
48
|
-
* meestuurt. Zo blijft de Engine altijd bepalend voor de opmaak.
|
|
49
|
-
*/
|
|
50
|
-
async function taskLayoutId(item) {
|
|
51
|
-
const taskId = pickField(item, ["taskId", "task_id"]);
|
|
52
|
-
if (!taskId)
|
|
53
|
-
return null;
|
|
54
|
-
const res = await pickDb.from("logistics_tasks").select("payload").eq("id", String(taskId)).limit(1);
|
|
55
|
-
if (res.error)
|
|
56
|
-
return null;
|
|
57
|
-
const rows = Array.isArray(res.data) ? res.data : [];
|
|
58
|
-
const payload = obj(rows[0]?.payload);
|
|
59
|
-
const nested = { ...payload, ...obj(payload["layout"]), ...obj(payload["data"]) };
|
|
60
|
-
const id = nested["layoutId"] ?? nested["layout_id"];
|
|
61
|
-
return id ? String(id) : null;
|
|
62
|
-
}
|
|
63
|
-
/** Datacontext voor de layout: wat de Engine meestuurt, aangevuld met de wachtrijregel. */
|
|
64
|
-
function buildData(item) {
|
|
65
12
|
const p = payloadOf(item);
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
: {};
|
|
69
|
-
return {
|
|
70
|
-
...p,
|
|
71
|
-
...engineData,
|
|
72
|
-
document: { ...item, ...engineData["document"] },
|
|
73
|
-
...item,
|
|
74
|
-
printedAt: new Date().toISOString(),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Rendert het document met de layout uit de Layout maker en opent de
|
|
79
|
-
* printdialoog. Gooit MissingLayoutError als er geen actieve layout is.
|
|
80
|
-
*/
|
|
81
|
-
export async function printQueueItem(item, locale = "nl-NL") {
|
|
82
|
-
const documentType = documentTypeOf(item);
|
|
83
|
-
const engine = engineLayoutRef(item);
|
|
84
|
-
const layoutId = engine.layoutId ?? (await taskLayoutId(item));
|
|
85
|
-
const resolved = await resolveLayout({ documentType, layoutId });
|
|
86
|
-
const secties = layoutSecties(resolved.layout);
|
|
87
|
-
if (secties.length) {
|
|
88
|
-
const orderId = pickField(item, ["orderId", "order_id"]);
|
|
89
|
-
const data = await fetchPakbonData({
|
|
90
|
-
orderId: orderId ? String(orderId) : null,
|
|
91
|
-
orderNumber: item.order_number ?? null,
|
|
92
|
-
});
|
|
93
|
-
if (!data)
|
|
94
|
-
throw new Error("Ordergegevens niet gevonden voor dit document");
|
|
95
|
-
const layout = resolved.layout;
|
|
96
|
-
const landscape = String(layout.orientatie ?? "").toLowerCase() === "landscape";
|
|
97
|
-
const breedte = layout.breedte_mm ?? 210;
|
|
98
|
-
const hoogte = layout.hoogte_mm ?? 297;
|
|
99
|
-
const order = maakPakbonOrder(pakbonOrderInput(data));
|
|
100
|
-
printPakbon(layout.config, order, {
|
|
101
|
-
breedteMm: landscape ? hoogte : breedte,
|
|
102
|
-
hoogteMm: landscape ? breedte : hoogte,
|
|
103
|
-
margeMm: layout.marge_boven ?? undefined,
|
|
104
|
-
titel: `Pakbon ${item.order_number ?? ""}`.trim(),
|
|
105
|
-
logos: await logosMetViewUrl(resolved.logos),
|
|
106
|
-
});
|
|
107
|
-
return {
|
|
108
|
-
layoutId: layout.id,
|
|
109
|
-
layoutName: layout.naam,
|
|
110
|
-
layoutVersion: layout.huidige_versie ?? null,
|
|
111
|
-
documentType,
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
if (!resolved.elements.length)
|
|
115
|
-
throw new EmptyLayoutError(resolved.layout.naam);
|
|
116
|
-
const html = renderLayoutHtml(resolved, buildData(item), locale);
|
|
117
|
-
await openPrintDialog(html);
|
|
118
|
-
return {
|
|
119
|
-
layoutId: resolved.layout.id,
|
|
120
|
-
layoutName: resolved.layout.naam,
|
|
121
|
-
layoutVersion: resolved.layout.huidige_versie ?? null,
|
|
122
|
-
documentType,
|
|
123
|
-
};
|
|
13
|
+
const v = p["documentType"] ?? p["document_type"] ?? p["documentsoort"];
|
|
14
|
+
return v ? String(v) : "pakbon";
|
|
124
15
|
}
|
|
125
|
-
/** Meldt de taak af bij de Engine met
|
|
126
|
-
export async function completeLogisticsTaskForItem(item,
|
|
16
|
+
/** Meldt de taak af bij de Engine met het printopdracht-nummer als resultaat. */
|
|
17
|
+
export async function completeLogisticsTaskForItem(item, printJobId) {
|
|
127
18
|
const p = payloadOf(item);
|
|
128
19
|
const taskId = (p["taskId"] ?? p["task_id"] ?? null);
|
|
129
20
|
if (!taskId)
|
|
@@ -133,52 +24,9 @@ export async function completeLogisticsTaskForItem(item, print) {
|
|
|
133
24
|
p_result: {
|
|
134
25
|
printed: true,
|
|
135
26
|
queueItemId: item.id,
|
|
136
|
-
documentType:
|
|
137
|
-
|
|
138
|
-
layoutName: print.layoutName,
|
|
139
|
-
layoutVersion: print.layoutVersion,
|
|
27
|
+
documentType: documentTypeOf(item),
|
|
28
|
+
printJobId,
|
|
140
29
|
printedAt: new Date().toISOString(),
|
|
141
30
|
},
|
|
142
31
|
});
|
|
143
32
|
}
|
|
144
|
-
function openPrintDialog(html) {
|
|
145
|
-
if (typeof window === "undefined" || typeof document === "undefined")
|
|
146
|
-
return Promise.resolve();
|
|
147
|
-
return new Promise((resolve) => {
|
|
148
|
-
const iframe = document.createElement("iframe");
|
|
149
|
-
iframe.setAttribute("aria-hidden", "true");
|
|
150
|
-
iframe.style.position = "fixed";
|
|
151
|
-
iframe.style.right = "0";
|
|
152
|
-
iframe.style.bottom = "0";
|
|
153
|
-
iframe.style.width = "0";
|
|
154
|
-
iframe.style.height = "0";
|
|
155
|
-
iframe.style.border = "0";
|
|
156
|
-
document.body.appendChild(iframe);
|
|
157
|
-
const cleanup = () => {
|
|
158
|
-
window.setTimeout(() => {
|
|
159
|
-
if (iframe.parentNode)
|
|
160
|
-
iframe.parentNode.removeChild(iframe);
|
|
161
|
-
}, 1000);
|
|
162
|
-
resolve();
|
|
163
|
-
};
|
|
164
|
-
iframe.onload = () => {
|
|
165
|
-
try {
|
|
166
|
-
const win = iframe.contentWindow;
|
|
167
|
-
if (!win)
|
|
168
|
-
return cleanup();
|
|
169
|
-
win.focus();
|
|
170
|
-
win.print();
|
|
171
|
-
}
|
|
172
|
-
catch {
|
|
173
|
-
// printen geblokkeerd of niet beschikbaar
|
|
174
|
-
}
|
|
175
|
-
cleanup();
|
|
176
|
-
};
|
|
177
|
-
const doc = iframe.contentDocument;
|
|
178
|
-
if (!doc)
|
|
179
|
-
return cleanup();
|
|
180
|
-
doc.open();
|
|
181
|
-
doc.write(html);
|
|
182
|
-
doc.close();
|
|
183
|
-
});
|
|
184
|
-
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
interface JobTexts {
|
|
2
|
+
jobTitle: string;
|
|
3
|
+
queued: string;
|
|
4
|
+
running: string;
|
|
5
|
+
done: string;
|
|
6
|
+
failed: string;
|
|
7
|
+
cancelled: string;
|
|
8
|
+
unknown: string;
|
|
9
|
+
retry: string;
|
|
10
|
+
close: string;
|
|
11
|
+
printerLabel: string;
|
|
12
|
+
requeued: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function getPrintJobTexts(lang: string): JobTexts;
|
|
15
|
+
export declare function printJobStatusLabel(status: string | null | undefined, lang: string): string;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=pickPrintJobText.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pickPrintJobText.d.ts","sourceRoot":"","sources":["../../src/lib/pickPrintJobText.ts"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAgCD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAEvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAgB3F"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Statusteksten voor printopdrachten. De statuswaarden zelf komen uit de
|
|
2
|
+
// database; hier staat alleen de weergave per taal (terugval: Nederlands).
|
|
3
|
+
const nl = {
|
|
4
|
+
jobTitle: "Printopdracht",
|
|
5
|
+
queued: "Naar printer gestuurd",
|
|
6
|
+
running: "Bezig met printen",
|
|
7
|
+
done: "Geprint",
|
|
8
|
+
failed: "Printen mislukt",
|
|
9
|
+
cancelled: "Printopdracht geannuleerd",
|
|
10
|
+
unknown: "Status onbekend",
|
|
11
|
+
retry: "Opnieuw printen",
|
|
12
|
+
close: "Sluiten",
|
|
13
|
+
printerLabel: "Printer",
|
|
14
|
+
requeued: "Document staat weer in de wachtrij.",
|
|
15
|
+
};
|
|
16
|
+
const en = {
|
|
17
|
+
jobTitle: "Print job",
|
|
18
|
+
queued: "Sent to printer",
|
|
19
|
+
running: "Printing",
|
|
20
|
+
done: "Printed",
|
|
21
|
+
failed: "Printing failed",
|
|
22
|
+
cancelled: "Print job cancelled",
|
|
23
|
+
unknown: "Status unknown",
|
|
24
|
+
retry: "Print again",
|
|
25
|
+
close: "Close",
|
|
26
|
+
printerLabel: "Printer",
|
|
27
|
+
requeued: "Document is back in the queue.",
|
|
28
|
+
};
|
|
29
|
+
const DICTS = { nl, en };
|
|
30
|
+
export function getPrintJobTexts(lang) {
|
|
31
|
+
return DICTS[lang] ?? nl;
|
|
32
|
+
}
|
|
33
|
+
export function printJobStatusLabel(status, lang) {
|
|
34
|
+
const texts = getPrintJobTexts(lang);
|
|
35
|
+
switch (status) {
|
|
36
|
+
case "wachtend":
|
|
37
|
+
return texts.queued;
|
|
38
|
+
case "bezig":
|
|
39
|
+
return texts.running;
|
|
40
|
+
case "voltooid":
|
|
41
|
+
return texts.done;
|
|
42
|
+
case "mislukt":
|
|
43
|
+
return texts.failed;
|
|
44
|
+
case "geannuleerd":
|
|
45
|
+
return texts.cancelled;
|
|
46
|
+
default:
|
|
47
|
+
return texts.unknown;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
@@ -121,6 +121,7 @@ export interface PickQueueItem {
|
|
|
121
121
|
assigned_user_id: string | null;
|
|
122
122
|
printed_at: string | null;
|
|
123
123
|
printer_id: string | null;
|
|
124
|
+
print_job_id: string | null;
|
|
124
125
|
print_count: number;
|
|
125
126
|
warnings: string[];
|
|
126
127
|
cancelled_at: string | null;
|
|
@@ -136,6 +137,22 @@ export interface PickLock {
|
|
|
136
137
|
locked_at: string;
|
|
137
138
|
expires_at: string;
|
|
138
139
|
}
|
|
140
|
+
/** Printopdracht zoals de Layout maker die uitvoert. Statussen komen uit de database. */
|
|
141
|
+
export interface PickPrintJob {
|
|
142
|
+
id: string;
|
|
143
|
+
status: string;
|
|
144
|
+
printer_id: string | null;
|
|
145
|
+
printer_naam: string | null;
|
|
146
|
+
foutmelding: string | null;
|
|
147
|
+
pogingen: number | null;
|
|
148
|
+
voltooid_op: string | null;
|
|
149
|
+
}
|
|
150
|
+
export interface PickActivePrinter {
|
|
151
|
+
id: string;
|
|
152
|
+
naam: string;
|
|
153
|
+
locatie: string | null;
|
|
154
|
+
online: boolean | null;
|
|
155
|
+
}
|
|
139
156
|
export interface PickDashboardRow {
|
|
140
157
|
station_id: string;
|
|
141
158
|
station_name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pickTypes.d.ts","sourceRoot":"","sources":["../../src/lib/pickTypes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pickTypes.d.ts","sourceRoot":"","sources":["../../src/lib/pickTypes.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flowselections/pick-schermen-kwekers",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.7",
|
|
4
4
|
"flowselections": {
|
|
5
5
|
"moduleId": "pick-schermen",
|
|
6
6
|
"pages": [
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@cloudflare/vite-plugin": "^1.25.5",
|
|
64
64
|
"@eslint/js": "^9.32.0",
|
|
65
65
|
"@flowselections/core": "1.0.16",
|
|
66
|
-
"@lovable.dev/vite-tanstack-config": "2.
|
|
66
|
+
"@lovable.dev/vite-tanstack-config": "2.13.1",
|
|
67
67
|
"@rsbuild/core": "^1.0.0",
|
|
68
68
|
"@tailwindcss/vite": "^4.2.1",
|
|
69
69
|
"@tanstack/react-query": "^5.83.0",
|