Merge pull request 'Add checkbox to configure token printing by booking type' (#282) from token_print_setup into main
Reviewed-on: Pozomind/pozo-retail-app#282
This commit is contained in:
commit
54857b7956
|
|
@ -66,7 +66,7 @@ const PrinterSelection = (props) => {
|
||||||
window.addEventListener("focus", onFocus);
|
window.addEventListener("focus", onFocus);
|
||||||
return () => window.removeEventListener("focus", onFocus);
|
return () => window.removeEventListener("focus", onFocus);
|
||||||
|
|
||||||
}, []);
|
}, []);
|
||||||
const getPrinters = async () => {
|
const getPrinters = async () => {
|
||||||
const data = {
|
const data = {
|
||||||
AppId: AppId,
|
AppId: AppId,
|
||||||
|
|
@ -108,6 +108,9 @@ const PrinterSelection = (props) => {
|
||||||
MappingPrintType: mappingPrintType,
|
MappingPrintType: mappingPrintType,
|
||||||
UserId: printer.UserId || UserId,
|
UserId: printer.UserId || UserId,
|
||||||
DeviceAddress: printer.DeviceAddress || null,
|
DeviceAddress: printer.DeviceAddress || null,
|
||||||
|
TakeAwayTokenFlg: printer.TakeAwayTokenFlg || "N",
|
||||||
|
DineInTokenFlg: printer.DineInTokenFlg || "N"
|
||||||
|
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
@ -280,13 +283,36 @@ const PrinterSelection = (props) => {
|
||||||
if (p.ConnectionKey === selectedPrinter.ConnectionKey &&
|
if (p.ConnectionKey === selectedPrinter.ConnectionKey &&
|
||||||
p.MacAddress === selectedPrinter.MacAddress &&
|
p.MacAddress === selectedPrinter.MacAddress &&
|
||||||
p.UserId === UserId &&
|
p.UserId === UserId &&
|
||||||
p.MappingPrintType === 'U') {
|
p.MappingPrintType === 'U'
|
||||||
|
) {
|
||||||
return { ...p, CustomerCopy: value };
|
return { ...p, CustomerCopy: value };
|
||||||
}
|
}
|
||||||
return p;
|
return p;
|
||||||
})
|
})
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
const updateTokenAvailable = (printerId, type, checked) => {
|
||||||
|
const selectedPrinter = printers.find(p => p.id === printerId);
|
||||||
|
if (!selectedPrinter) return;
|
||||||
|
|
||||||
|
setPrinters((prev) =>
|
||||||
|
prev.map((p) => {
|
||||||
|
if (
|
||||||
|
p.ConnectionKey === selectedPrinter.ConnectionKey &&
|
||||||
|
p.MacAddress === selectedPrinter.MacAddress
|
||||||
|
) {
|
||||||
|
if (type === "Takeaway") {
|
||||||
|
return { ...p, TakeAwayTokenFlg: checked ? "Y" : "N" };
|
||||||
|
}
|
||||||
|
if (type === "Dine") {
|
||||||
|
return { ...p, DineInTokenFlg: checked ? "Y" : "N" };
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return p;
|
||||||
|
})
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
const openKioskPrinter = () => {
|
const openKioskPrinter = () => {
|
||||||
setMyKioskPrinter(true);
|
setMyKioskPrinter(true);
|
||||||
setMyPrinter(false);
|
setMyPrinter(false);
|
||||||
|
|
@ -487,6 +513,35 @@ const PrinterSelection = (props) => {
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<label style={{ display: "block", fontSize: "0.85rem", fontWeight: 500 }}>
|
||||||
|
Token Printer setup
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style={{ display: "inline-flex", alignItems: "center", marginRight: "12px" }}>
|
||||||
|
<input
|
||||||
|
style={{ marginRight: "6px" }}
|
||||||
|
type="checkbox"
|
||||||
|
checked={printer.TakeAwayTokenFlg == "Y"}
|
||||||
|
onChange={(e) =>
|
||||||
|
updateTokenAvailable(printer.id, "Takeaway", e.target.checked)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
Takeaway
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<label style={{ display: "inline-flex", alignItems: "center" }}>
|
||||||
|
<input
|
||||||
|
style={{ marginRight: "6px" }}
|
||||||
|
type="checkbox"
|
||||||
|
checked={printer.DineInTokenFlg == "Y"}
|
||||||
|
onChange={(e) =>
|
||||||
|
updateTokenAvailable(printer.id, "Dine", e.target.checked)
|
||||||
|
}
|
||||||
|
/>
|
||||||
|
Dine
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue