mirror of
https://github.com/scinote-eln/scinote-web.git
synced 2025-09-13 08:34:49 +08:00
Fix zebra printer print status [SCI-7474] (#4625)
This commit is contained in:
parent
92d446b43d
commit
f2a680d826
3 changed files with 24 additions and 14 deletions
|
@ -19,6 +19,7 @@ var zebraPrint = (function() {
|
||||||
const PRINTER_STATUS_ERROR = 'error';
|
const PRINTER_STATUS_ERROR = 'error';
|
||||||
const PRINTER_STATUS_PRINTING = 'printing';
|
const PRINTER_STATUS_PRINTING = 'printing';
|
||||||
const PRINTER_STATUS_DONE = 'done';
|
const PRINTER_STATUS_DONE = 'done';
|
||||||
|
const PRINTER_STATUS_SEARCH = 'search';
|
||||||
|
|
||||||
var getPrinterStatus = function(device) {
|
var getPrinterStatus = function(device) {
|
||||||
return new Promise((resolve) => {
|
return new Promise((resolve) => {
|
||||||
|
@ -115,11 +116,13 @@ var zebraPrint = (function() {
|
||||||
return selectedDevice && selectedDevice.length ? selectedDevice[0] : null;
|
return selectedDevice && selectedDevice.length ? selectedDevice[0] : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateProgressModalData(progressModal, printerName, printerStatus, printingStatus, numberOfCopies) {
|
function updateProgressModalData(progressModal, printerName, printerStatus, printingStatus) {
|
||||||
$(progressModal + ' .title').html(stripPrinterNameHtml(printerName));
|
$(progressModal + ' .title').html(stripPrinterNameHtml(printerName));
|
||||||
$(progressModal + ' .printer-status').attr('data-status', printerStatus);
|
$(progressModal + ' .printer-status').attr('data-status', printerStatus);
|
||||||
$(progressModal + ' .printer-status').html(I18n.t('label_printers.modal_printing_status.printer_status.'
|
if (printerStatus !== PRINTER_STATUS_SEARCH) {
|
||||||
+ printerStatus));
|
$(progressModal + ' .printer-status').html(I18n.t('label_printers.modal_printing_status.printer_status.'
|
||||||
|
+ printerStatus));
|
||||||
|
}
|
||||||
$(progressModal + ' .printing-status').attr('data-status', printingStatus);
|
$(progressModal + ' .printing-status').attr('data-status', printingStatus);
|
||||||
$(progressModal + ' .printing-status').html(I18n.t('label_printers.modal_printing_status.printing_status.'
|
$(progressModal + ' .printing-status').html(I18n.t('label_printers.modal_printing_status.printing_status.'
|
||||||
+ printingStatus));
|
+ printingStatus));
|
||||||
|
@ -190,21 +193,23 @@ var zebraPrint = (function() {
|
||||||
modal.replaceWith(dataZebra.responseJSON.html);
|
modal.replaceWith(dataZebra.responseJSON.html);
|
||||||
} else {
|
} else {
|
||||||
$('body').append($(dataZebra.responseJSON.html));
|
$('body').append($(dataZebra.responseJSON.html));
|
||||||
}
|
|
||||||
|
|
||||||
updateProgressModalData(progressModal, printData.printer_name, PRINTER_STATUS_READY, PRINTER_STATUS_PRINTING);
|
|
||||||
device = findDevice(printData.printer_name);
|
|
||||||
new Zebra.Printer(device).isPrinterReady(function() {
|
|
||||||
$(document).on('click', progressModal, function() {
|
$(document).on('click', progressModal, function() {
|
||||||
$(this).closest(progressModal).remove();
|
$(this).closest(progressModal).remove();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
print(
|
updateProgressModalData(progressModal, printData.printer_name, PRINTER_STATUS_SEARCH, PRINTER_STATUS_SEARCH);
|
||||||
device, progressModal, printData.number_of_copies,
|
device = findDevice(printData.printer_name);
|
||||||
printData.printer_name, dataZebra.responseJSON.labels
|
|
||||||
);
|
getPrinterStatus(device).then((device) => {
|
||||||
}, function() {
|
if (device.status === I18n.t('label_printers.modal_printing_status.printer_status.ready')) {
|
||||||
updateProgressModalData(progressModal, printData.printer_name, PRINTER_STATUS_ERROR, PRINTER_STATUS_ERROR);
|
print(
|
||||||
|
device, progressModal, printData.number_of_copies,
|
||||||
|
printData.printer_name, dataZebra.responseJSON.labels
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
updateProgressModalData(progressModal, printData.printer_name, PRINTER_STATUS_ERROR, PRINTER_STATUS_ERROR);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -40,6 +40,10 @@
|
||||||
border-color: $brand-danger;
|
border-color: $brand-danger;
|
||||||
color: $color-white;
|
color: $color-white;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
&[data-status="search"] {
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -944,6 +944,7 @@ en:
|
||||||
out_of_labels: "Waiting for labels. Please, insert labels."
|
out_of_labels: "Waiting for labels. Please, insert labels."
|
||||||
error: "There is an issue with the printer."
|
error: "There is an issue with the printer."
|
||||||
unreachable: "Printer is offline"
|
unreachable: "Printer is offline"
|
||||||
|
search: "Checking printer status"
|
||||||
|
|
||||||
my_modules:
|
my_modules:
|
||||||
details:
|
details:
|
||||||
|
|
Loading…
Add table
Reference in a new issue