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' } });