90 lines
2.2 KiB
JavaScript
90 lines
2.2 KiB
JavaScript
import ngModule from '../module';
|
|
import Descriptor from 'salix/components/descriptor';
|
|
|
|
class Controller extends Descriptor {
|
|
get ticket() {
|
|
return this.entity;
|
|
}
|
|
|
|
set ticket(value) {
|
|
this.entity = value;
|
|
}
|
|
|
|
get entity() {
|
|
return super.entity;
|
|
}
|
|
|
|
set entity(value) {
|
|
super.entity = value;
|
|
}
|
|
|
|
get hasInvoicing() {
|
|
return this.aclService.hasAny(['invoicing']);
|
|
}
|
|
|
|
loadData() {
|
|
const filter = {
|
|
include: [
|
|
{
|
|
relation: 'warehouse',
|
|
scope: {
|
|
fields: ['name']
|
|
}
|
|
}, {
|
|
relation: 'agencyMode',
|
|
scope: {
|
|
fields: ['name']
|
|
}
|
|
}, {
|
|
relation: 'client',
|
|
scope: {
|
|
fields: [
|
|
'salesPersonFk',
|
|
'name',
|
|
'isActive',
|
|
'isFreezed',
|
|
'isTaxDataChecked'
|
|
],
|
|
include: {
|
|
relation: 'salesPersonUser',
|
|
scope: {
|
|
fields: ['id', 'name']
|
|
}
|
|
}
|
|
}
|
|
}, {
|
|
relation: 'ticketState',
|
|
scope: {
|
|
fields: ['stateFk'],
|
|
include: {
|
|
relation: 'state',
|
|
fields: ['id', 'name'],
|
|
}
|
|
}
|
|
}
|
|
]
|
|
};
|
|
|
|
return this.getData(`Tickets/${this.id}`, {filter})
|
|
.then(res => this.entity = res.data);
|
|
}
|
|
|
|
cardReload() {
|
|
// Prevents error when not defined
|
|
}
|
|
|
|
get filter() {
|
|
return this.ticket ?
|
|
JSON.stringify({clientFk: this.ticket.clientFk}) : null;
|
|
}
|
|
}
|
|
|
|
ngModule.vnComponent('vnTicketDescriptor', {
|
|
template: require('./index.html'),
|
|
controller: Controller,
|
|
bindings: {
|
|
ticket: '<',
|
|
cardReload: '&'
|
|
}
|
|
});
|