102 lines
2.9 KiB
JavaScript
102 lines
2.9 KiB
JavaScript
|
|
var App = Vue.createApp({
|
|
data() {
|
|
return {
|
|
printerList: [],
|
|
printerEditor: {
|
|
id: null,
|
|
name: "",
|
|
density: 203,
|
|
socket_addr: "",
|
|
socket_port: 6101,
|
|
type: "zdl"
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
EditPrinter(PrinterID, ShowModal = true)
|
|
{
|
|
let Printer = this.printerList.find((_Printer) => {
|
|
return _Printer.id == PrinterID;
|
|
});
|
|
|
|
this.printerEditor.id = Printer.id;
|
|
this.printerEditor.name = Printer.name;
|
|
this.printerEditor.density = Printer.density;
|
|
this.printerEditor.socket_addr = Printer.socket_addr;
|
|
this.printerEditor.socket_port = Printer.socket_port;
|
|
|
|
if (ShowModal) {
|
|
$('#printerSettingsModal').modal('show');
|
|
}
|
|
},
|
|
CreatePrinter()
|
|
{
|
|
this.printerEditor.id = null;
|
|
this.printerEditor.name = "";
|
|
this.printerEditor.density = 203;
|
|
this.printerEditor.type = "zdl";
|
|
this.printerEditor.socket_addr = "";
|
|
this.printerEditor.socket_port = 6101;
|
|
|
|
$('#printerSettingsModal').modal('show');
|
|
},
|
|
SavePrinter()
|
|
{
|
|
if (this.printerEditor.id == null)
|
|
{
|
|
$.ajax({
|
|
type: 'POST',
|
|
url: `/api/printer`,
|
|
data: JSON.stringify(this.printerEditor),
|
|
contentType: "application/json"
|
|
}).done(function () {
|
|
$('#printerSettingsModal').modal('hide');
|
|
GetPrinterList();
|
|
});
|
|
}
|
|
else
|
|
{
|
|
$.ajax({
|
|
type: 'PUT',
|
|
url: `/api/printer`,
|
|
data: JSON.stringify(this.printerEditor),
|
|
contentType: "application/json"
|
|
}).done(function () {
|
|
$('#printerSettingsModal').modal('hide');
|
|
GetPrinterList();
|
|
});
|
|
}
|
|
|
|
},
|
|
DeletePrinter(PrinterID, Confirm = false)
|
|
{
|
|
this.EditPrinter(PrinterID, false);
|
|
|
|
if (Confirm) {
|
|
$('#printerDeleteModal').modal('hide');
|
|
|
|
$.ajax({
|
|
type: 'DELETE',
|
|
url: `/api/printer/${PrinterID}`
|
|
}).done(function () {
|
|
GetPrinterList();
|
|
});
|
|
} else {
|
|
$('#printerDeleteModal').modal('show');
|
|
}
|
|
}
|
|
}
|
|
}).mount('main');
|
|
|
|
function GetPrinterList() {
|
|
$.ajax({
|
|
url: `/api/printers`,
|
|
type: 'GET',
|
|
success: function (Printer) {
|
|
App.printerList = Printer;
|
|
}
|
|
});
|
|
}
|
|
|
|
GetPrinterList();
|