85 lines
2.2 KiB
JavaScript
85 lines
2.2 KiB
JavaScript
import ngModule from '../module';
|
|
import Component from 'core/lib/component';
|
|
|
|
class Controller extends Component {
|
|
constructor($element, $, $httpParamSerializer) {
|
|
super($element, $);
|
|
this.$httpParamSerializer = $httpParamSerializer;
|
|
|
|
this.moreOptions = [
|
|
{name: 'Show entry report', callback: this.showEntryReport}
|
|
];
|
|
}
|
|
|
|
onMoreChange(callback) {
|
|
callback.call(this);
|
|
}
|
|
|
|
get entry() {
|
|
return this._entry;
|
|
}
|
|
|
|
set entry(value) {
|
|
this._entry = value;
|
|
if (!value) return;
|
|
|
|
const date = value.travel.landed;
|
|
let to = new Date(date);
|
|
let from = new Date(date);
|
|
to.setDate(to.getDate() + 10);
|
|
|
|
to.setHours(0, 0, 0, 0);
|
|
|
|
from.setDate(from.getDate() - 10);
|
|
from.setHours(0, 0, 0, 0);
|
|
|
|
let links = {
|
|
btnOne: {
|
|
icon: 'local_airport',
|
|
state: `travel.index({q: '{"agencyFk": ${value.travel.agencyFk}}'})`,
|
|
tooltip: 'All travels with current agency'
|
|
}};
|
|
|
|
links.btnTwo = {
|
|
icon: 'icon-entry',
|
|
state: `entry.index({q: '{"supplierFk": ${value.supplierFk}, "to": "${to}", "from": "${from}"}'})`,
|
|
tooltip: 'All entries with current supplier'
|
|
};
|
|
|
|
this._quicklinks = links;
|
|
}
|
|
|
|
get quicklinks() {
|
|
return this._quicklinks;
|
|
}
|
|
|
|
set quicklinks(value = {}) {
|
|
this._quicklinks = Object.assign(value, this._quicklinks);
|
|
}
|
|
|
|
showEntryReport() {
|
|
const params = {
|
|
authorization: this.vnToken.token,
|
|
clientId: this.vnConfig.storage.currentUserWorkerId,
|
|
entryId: this.entry.id
|
|
};
|
|
const serializedParams = this.$httpParamSerializer(params);
|
|
let url = `api/report/entry-order?${serializedParams}`;
|
|
window.open(url);
|
|
}
|
|
}
|
|
|
|
Controller.$inject = ['$element', '$scope', '$httpParamSerializer'];
|
|
|
|
ngModule.component('vnEntryDescriptor', {
|
|
template: require('./index.html'),
|
|
bindings: {
|
|
entry: '<',
|
|
quicklinks: '<'
|
|
},
|
|
require: {
|
|
card: '^?vnEntryCard'
|
|
},
|
|
controller: Controller
|
|
});
|