90 lines
2.4 KiB
JavaScript
90 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.smartTableOptions = {
|
||
|
activeButtons: {
|
||
|
search: true
|
||
|
},
|
||
|
columns: [
|
||
|
{
|
||
|
field: 'parking',
|
||
|
autocomplete: {
|
||
|
url: 'Parkings',
|
||
|
showField: 'code',
|
||
|
valueField: 'code'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
field: 'shelving',
|
||
|
autocomplete: {
|
||
|
url: 'Shelvings',
|
||
|
showField: 'code',
|
||
|
valueField: 'code'
|
||
|
}
|
||
|
},
|
||
|
{
|
||
|
field: 'created',
|
||
|
searchable: false
|
||
|
},
|
||
|
{
|
||
|
field: 'itemFk',
|
||
|
searchable: false
|
||
|
},
|
||
|
{
|
||
|
field: 'longName',
|
||
|
searchable: false
|
||
|
}
|
||
|
]
|
||
|
};
|
||
|
}
|
||
|
|
||
|
get checked() {
|
||
|
const itemShelvings = this.$.model.data || [];
|
||
|
const checkedLines = [];
|
||
|
for (let itemShelving of itemShelvings) {
|
||
|
if (itemShelving.checked)
|
||
|
checkedLines.push(itemShelving.itemShelvingFk);
|
||
|
}
|
||
|
|
||
|
return checkedLines;
|
||
|
}
|
||
|
|
||
|
calculateTotals() {
|
||
|
this.labelTotal = 0;
|
||
|
const itemShelvings = this.$.model.data || [];
|
||
|
itemShelvings.forEach(itemShelving => {
|
||
|
const label = itemShelving.stock / itemShelving.packing;
|
||
|
this.labelTotal += label;
|
||
|
});
|
||
|
}
|
||
|
|
||
|
onRemove() {
|
||
|
const params = {itemShelvingIds: this.checked};
|
||
|
const query = `ItemShelvings/deleteItemShelvings`;
|
||
|
this.$http.post(query, params)
|
||
|
.then(() => {
|
||
|
this.vnApp.showSuccess(this.$t('ItemShelvings removed'));
|
||
|
this.$.model.refresh();
|
||
|
});
|
||
|
}
|
||
|
|
||
|
exprBuilder(param, value) {
|
||
|
switch (param) {
|
||
|
case 'parking':
|
||
|
case 'shelving':
|
||
|
case 'label':
|
||
|
case 'packing':
|
||
|
return {[param]: value};
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
ngModule.vnComponent('vnItemShelving', {
|
||
|
template: require('./index.html'),
|
||
|
controller: Controller
|
||
|
});
|