70 lines
1.9 KiB
JavaScript
70 lines
1.9 KiB
JavaScript
import ngModule from '../module';
|
|
import Section from 'salix/components/section';
|
|
|
|
export default class Controller extends Section {
|
|
preview(travel) {
|
|
this.travelSelected = travel;
|
|
this.$.summary.show();
|
|
}
|
|
|
|
onCloneAccept(travel) {
|
|
const params = JSON.stringify({
|
|
ref: travel.ref,
|
|
agencyModeFk: travel.agencyFk,
|
|
shipped: travel.shipped,
|
|
landed: travel.landed,
|
|
warehouseInFk: travel.warehouseInFk,
|
|
warehouseOutFk: travel.warehouseOutFk
|
|
});
|
|
this.$state.go('travel.create', {q: params});
|
|
}
|
|
|
|
compareDate(date) {
|
|
let today = new Date();
|
|
today.setHours(0, 0, 0, 0);
|
|
|
|
date = new Date(date);
|
|
date.setHours(0, 0, 0, 0);
|
|
|
|
const timeDifference = today - date;
|
|
if (timeDifference == 0) return 'warning';
|
|
if (timeDifference < 0) return 'success';
|
|
}
|
|
|
|
exprBuilder(param, value) {
|
|
switch (param) {
|
|
case 'search':
|
|
return /^\d+$/.test(value)
|
|
? {'t.id': value}
|
|
: {'t.ref': {like: `%${value}%`}};
|
|
case 'ref':
|
|
return {'t.ref': {like: `%${value}%`}};
|
|
case 'shipped':
|
|
return {'t.shipped': {between: this.dateRange(value)}};
|
|
case 'landed':
|
|
return {'t.landed': {between: this.dateRange(value)}};
|
|
case 'id':
|
|
case 'agencyFk':
|
|
case 'warehouseOutFk':
|
|
case 'warehouseInFk':
|
|
case 'totalEntries':
|
|
param = `t.${param}`;
|
|
return {[param]: value};
|
|
}
|
|
}
|
|
|
|
dateRange(value) {
|
|
const minHour = new Date(value);
|
|
minHour.setHours(0, 0, 0, 0);
|
|
const maxHour = new Date(value);
|
|
maxHour.setHours(23, 59, 59, 59);
|
|
|
|
return [minHour, maxHour];
|
|
}
|
|
}
|
|
|
|
ngModule.vnComponent('vnTravelIndex', {
|
|
template: require('./index.html'),
|
|
controller: Controller
|
|
});
|