75 lines
1.8 KiB
JavaScript
75 lines
1.8 KiB
JavaScript
import ngModule from '../../module';
|
|
import Section from 'salix/components/section';
|
|
import './style.scss';
|
|
|
|
export default class Controller extends Section {
|
|
get checked() {
|
|
const rows = this.$.model.data || [];
|
|
const checkedRows = [];
|
|
for (let row of rows) {
|
|
if (row.checked)
|
|
checkedRows.push(row.id);
|
|
}
|
|
|
|
return checkedRows;
|
|
}
|
|
|
|
get totalChecked() {
|
|
return this.checked.length;
|
|
}
|
|
|
|
onDelete() {
|
|
const params = {deletes: this.checked};
|
|
const query = `SalesMonitors/deleteOrders`;
|
|
this.$http.post(query, params).then(
|
|
() => this.$.model.refresh());
|
|
}
|
|
|
|
chipColor(date) {
|
|
const today = Date.vnNew();
|
|
today.setHours(0, 0, 0, 0);
|
|
|
|
const orderLanded = new Date(date);
|
|
orderLanded.setHours(0, 0, 0, 0);
|
|
|
|
const difference = today - orderLanded;
|
|
|
|
if (difference == 0)
|
|
return 'warning';
|
|
if (difference < 0)
|
|
return 'success';
|
|
if (difference > 0)
|
|
return 'alert';
|
|
}
|
|
|
|
exprBuilder(param, value) {
|
|
switch (param) {
|
|
case 'date_send':
|
|
return {[`o.date_send`]: {
|
|
between: this.dateRange(value)}
|
|
};
|
|
case 'clientFk':
|
|
return {[`c.id`]: value};
|
|
case 'salesPersonFk':
|
|
return {[`c.${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('vnMonitorSalesOrders', {
|
|
template: require('./index.html'),
|
|
controller: Controller,
|
|
require: {
|
|
main: '^vnMonitorIndex'
|
|
}
|
|
});
|