78 lines
2.1 KiB
JavaScript
78 lines
2.1 KiB
JavaScript
import ngModule from '../module';
|
|
import Section from 'salix/components/section';
|
|
import './style.scss';
|
|
|
|
export default class Controller extends Section {
|
|
constructor($element, $) {
|
|
super($element, $);
|
|
this.showFields = {
|
|
id: false,
|
|
actions: false
|
|
};
|
|
this.editedColumn;
|
|
}
|
|
|
|
get columns() {
|
|
if (this._columns) return this._columns;
|
|
|
|
this._columns = [
|
|
{field: 'packing', displayName: this.$t('Packing')},
|
|
{field: 'grouping', displayName: this.$t('Grouping')},
|
|
{field: 'packageValue', displayName: this.$t('Package value')},
|
|
{field: 'weight', displayName: this.$t('Weight')},
|
|
{field: 'description', displayName: this.$t('Description')},
|
|
{field: 'size', displayName: this.$t('Size')},
|
|
{field: 'density', displayName: this.$t('Density')},
|
|
{field: 'packingOut', displayName: this.$t('PackingOut')}
|
|
];
|
|
|
|
return this._columns;
|
|
}
|
|
|
|
get checked() {
|
|
const buys = this.$.model.data || [];
|
|
const checkedBuys = [];
|
|
for (let buy of buys) {
|
|
if (buy.checked)
|
|
checkedBuys.push(buy);
|
|
}
|
|
|
|
return checkedBuys;
|
|
}
|
|
|
|
uncheck() {
|
|
const lines = this.checked;
|
|
for (let line of lines) {
|
|
if (line.checked)
|
|
line.checked = false;
|
|
}
|
|
}
|
|
|
|
get totalChecked() {
|
|
return this.checked.length;
|
|
}
|
|
|
|
onEditAccept() {
|
|
const rowsToEdit = [];
|
|
for (let row of this.checked)
|
|
rowsToEdit.push({id: row.id, itemFk: row.itemFk});
|
|
|
|
let data = {
|
|
field: this.editedColumn.field,
|
|
newValue: this.editedColumn.newValue,
|
|
lines: rowsToEdit
|
|
};
|
|
|
|
return this.$http.post('Buys/editLatestBuys', data)
|
|
.then(() => {
|
|
this.uncheck();
|
|
this.$.model.refresh();
|
|
});
|
|
}
|
|
}
|
|
|
|
ngModule.component('vnEntryLatestBuys', {
|
|
template: require('./index.html'),
|
|
controller: Controller
|
|
});
|