salix/modules/entry/front/descriptor/index.js

100 lines
2.7 KiB
JavaScript
Raw Normal View History

2020-01-10 10:52:35 +00:00
import ngModule from '../module';
2020-04-25 09:50:04 +00:00
import Descriptor from 'salix/components/descriptor';
2020-01-10 10:52:35 +00:00
2020-04-25 09:50:04 +00:00
class Controller extends Descriptor {
2020-02-21 11:48:34 +00:00
get entry() {
return this.entity;
2020-02-21 11:48:34 +00:00
}
set entry(value) {
this.entity = value;
}
2020-02-21 11:48:34 +00:00
get travelFilter() {
2020-08-26 14:33:47 +00:00
let travelFilter;
const entryTravel = this.entry && this.entry.travel;
2022-07-13 12:36:03 +00:00
if (entryTravel && entryTravel.agencyModeFk) {
2020-08-26 14:33:47 +00:00
travelFilter = this.entry && JSON.stringify({
2022-07-13 12:36:03 +00:00
agencyModeFk: entryTravel.agencyModeFk
2020-08-26 14:33:47 +00:00
});
}
return travelFilter;
}
2020-02-21 11:48:34 +00:00
get entryFilter() {
2020-08-26 14:33:47 +00:00
let entryTravel = this.entry && this.entry.travel;
if (!entryTravel || !entryTravel.landed) return null;
2020-05-06 12:38:09 +00:00
2020-08-26 14:33:47 +00:00
const date = new Date(entryTravel.landed);
date.setHours(0, 0, 0, 0);
2020-02-21 11:48:34 +00:00
const from = new Date(date.getTime());
2020-02-21 11:48:34 +00:00
from.setDate(from.getDate() - 10);
const to = new Date(date.getTime());
to.setDate(to.getDate() + 10);
2020-02-21 11:48:34 +00:00
return JSON.stringify({
2020-05-06 12:38:09 +00:00
supplierFk: this.entry.supplierFk,
from,
to
});
2020-02-21 11:48:34 +00:00
}
2020-08-26 14:33:47 +00:00
loadData() {
const filter = {
include: [
{
relation: 'travel',
scope: {
2022-07-13 12:36:03 +00:00
fields: ['id', 'landed', 'agencyModeFk', 'warehouseOutFk'],
2020-08-26 14:33:47 +00:00
include: [
{
relation: 'agency',
scope: {
fields: ['name']
}
},
{
relation: 'warehouseOut',
scope: {
fields: ['name']
}
},
{
relation: 'warehouseIn',
scope: {
fields: ['name']
}
}
]
}
},
{
relation: 'supplier',
scope: {
fields: ['id', 'nickname']
}
}
]
};
return this.getData(`Entries/${this.id}`, {filter})
.then(res => this.entity = res.data);
}
showEntryReport() {
2022-09-26 11:33:27 +00:00
this.vnReport.show(`Entries/${this.id}/entry-order-pdf`);
}
2020-01-10 10:52:35 +00:00
}
2020-04-25 09:50:04 +00:00
ngModule.vnComponent('vnEntryDescriptor', {
2020-01-10 10:52:35 +00:00
template: require('./index.html'),
2020-04-25 09:50:04 +00:00
controller: Controller,
2020-01-10 10:52:35 +00:00
bindings: {
2020-04-25 09:50:04 +00:00
entry: '<'
}
2020-01-10 10:52:35 +00:00
});