0
1
Fork 0
hedera-web-mindshore/forms/ecomerce/ticket/ticket.js

61 lines
1.5 KiB
JavaScript
Raw Normal View History

2018-08-30 13:26:05 +00:00
Hedera.Ticket = new Class({
Extends: Hedera.Form,
2018-08-30 13:26:05 +00:00
onTicketChange: function(ticket) {
2016-10-27 11:22:04 +00:00
if (!ticket.value)
return;
2018-08-30 13:26:05 +00:00
var batch = new Sql.Batch();
batch.addValue('ticket', ticket.value);
2019-05-21 14:16:27 +00:00
this.conn.execQuery('CALL myTicket_logAccess(#ticket)', null, batch);
2018-08-30 13:26:05 +00:00
},
2016-10-27 11:22:04 +00:00
2018-08-30 13:26:05 +00:00
onTicketReady: function(form) {
if (form.get('method') != 'PICKUP')
Vn.Node.setText(this.$('method'), _('Agency'));
2018-02-06 08:57:05 +00:00
else
2018-08-30 13:26:05 +00:00
Vn.Node.setText(this.$('method'), _('Warehouse'));
},
onPrintClick: function() {
2022-05-05 13:56:17 +00:00
let params = Vn.Url.makeUri({
2022-10-10 11:22:17 +00:00
access_token: this.conn.token,
2022-05-05 13:56:17 +00:00
recipientId: this.gui.user.id,
type: 'deliveryNote'
});
2022-10-10 10:51:34 +00:00
window.open(`/api/Tickets/${this.$('ticket-id').value}/delivery-note-pdf?${params}`);
2018-08-30 13:26:05 +00:00
},
2022-05-05 13:56:17 +00:00
2018-08-30 13:26:05 +00:00
repeaterFunc: function(res, form) {
var discount = res.$('discount');
discount.style.display = form.get('discount') ? 'inline' : 'none';
res.$('discount-subtotal').value = this.discountSubtotal(form);
res.$('subtotal').value = this.subtotal(form);
},
discountSubtotal: function(form) {
return form.get('quantity') * form.get('price');
},
subtotal: function(form) {
var discount = form.get('discount');
return this.discountSubtotal(form) * ((100 - discount) / 100);
},
servicesFunc: function(res, form) {
res.$('subtotal').value = form.get('quantity') * form.get('price');
},
onServicesChanged: function(model) {
this.$('services').node.style.display =
model.numRows > 0 ? 'block' : 'none';
},
2018-08-30 13:26:05 +00:00
onPackagesChanged: function(model) {
2018-01-05 12:57:35 +00:00
this.$('packages').node.style.display =
model.numRows > 0 ? 'block' : 'none';
},
});