salix/modules/ticket/front/future/index.js

108 lines
2.4 KiB
JavaScript

import ngModule from '../module';
import Section from 'salix/components/section';
export default class Controller extends Section {
constructor($element, $) {
super($element, $);
this.$checkAll = false;
const originDated = new Date();
const futureDated = new Date();
const warehouseFk = 1;
const litersMax = 9999;
const linesMax = 9999;
this.defaultFilter = {
originDated,
futureDated,
warehouseFk,
litersMax,
linesMax
};
this.smartTableOptions = {
activeButtons: {
search: true
},
columns: [{
field:'problems',
searchable: false
},
{
field:'ETD',
searchable: false
},
{
field:'tfETD',
searchable: false
}]
};
}
get checked() {
const tickets = this.$.model.data || [];
const checkedLines = [];
for (let ticket of tickets) {
if (ticket.checked)
checkedLines.push(ticket);
}
return checkedLines;
}
moveTicketsFuture()
{
let params = {
tickets: this.checked
};
this.$http.post('Tickets/moveTicketsFuture', params);
this.reload();
}
compareDate(date) {
let today = new Date();
today.setHours(0, 0, 0, 0);
let timeTicket = new Date(date);
timeTicket.setHours(0, 0, 0, 0);
let comparation = today - timeTicket;
if (comparation == 0)
return 'warning';
if (comparation < 0)
return 'success';
}
stateColor(state) {
if (state === 'OK')
return 'success';
else if (state === 'FREE')
return 'notice';
}
exprBuilder(param, value) {
switch (param) {
case 'shipped':
return {'shipped': {like: `%${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];
}
reload() {
this.$.model.refresh();
}
}
ngModule.vnComponent('vnTicketFuture', {
template: require('./index.html'),
controller: Controller
});