import ngModule from '../module'; import Summary from 'salix/components/summary'; import './style.scss'; class Controller extends Summary { set route(value) { this._route = value; if (value && value.id) this.getSummary(); } sumPackages() { this.packagesTotal = 0; this.summary.tickets.forEach(ticket => { this.packagesTotal += ticket.packages; }); } get isDelivery() { return this.aclService.hasAny(['delivery']); } get route() { return this._route; } getSummary() { this.$http.get(`Routes/${this.route.id}/summary`).then(response => { this.summary = response.data; if (response.data && response.data.tickets) this.sumPackages(); }); } goToBuscaman(ticket) { if (!this.route.vehicleFk) throw new UserError(`The route doesn't have a vehicle`); let query = `Routes/${this.route.vehicleFk}/getDeliveryPoint`; this.$http.get(query).then(response => { if (!response.data) throw new UserError(`The route's vehicle doesn't have a delivery point`); const address = response.data + '+to:' + ticket.postalCode + ' ' + ticket.city + ' ' + ticket.street; const url = 'http://gps.buscalia.com/usuario/localizar.aspx?bmi=true&addr='; window.open(url + encodeURI(address), '_blank'); }); } } ngModule.vnComponent('vnRouteSummary', { template: require('./index.html'), controller: Controller, bindings: { route: '<' } });