salix/modules/item/front/descriptor/index.js

99 lines
2.3 KiB
JavaScript
Raw Normal View History

import ngModule from '../module';
import './style.scss';
class Controller {
2018-11-12 12:12:25 +00:00
constructor($state, $scope, $http, vnApp, $translate) {
this.$state = $state;
2018-11-12 12:12:25 +00:00
this.$scope = $scope;
this.$http = $http;
this.vnApp = vnApp;
this.$translate = $translate;
this.moreOptions = [
2019-02-13 08:49:41 +00:00
{callback: this.showRegularizeDialog, name: 'Regularize stock'}
2018-11-12 12:12:25 +00:00
];
}
set quantity(value) {
this._quantity = parseInt(value);
}
get quantity() {
return this._quantity;
}
set warehouseFk(value) {
2019-02-13 08:49:41 +00:00
if (value)
this._warehouseFk = value;
2018-11-12 12:12:25 +00:00
}
get warehouseFk() {
if (!this._warehouseFk)
2019-02-14 10:41:06 +00:00
this._warehouseFk = parseInt(window.localStorage.defaultWarehouseFk);
2018-11-12 12:12:25 +00:00
return this._warehouseFk;
}
2019-02-15 15:04:24 +00:00
set item(value) {
2019-02-18 06:57:15 +00:00
this._item = value;
this.available = null;
this.visible = null;
if (!this.item) {
this.params = {
params: {
itemFk: this.item,
warehouseFk: this._warehouseFk
}
};
}
return this._item;
2019-02-15 15:04:24 +00:00
}
2019-02-18 06:57:15 +00:00
get item() {
2019-02-15 15:04:24 +00:00
return this._item;
}
2018-11-12 12:12:25 +00:00
onMoreChange(callback) {
callback.call(this);
}
showRegularizeDialog() {
this.$scope.regularize.show();
}
set quicklinks(value = {}) {
2018-08-02 08:06:11 +00:00
this._quicklinks = Object.assign(value, this._quicklinks);
}
get quicklinks() {
return this._quicklinks;
}
2018-11-12 12:12:25 +00:00
saveRegularize(response) {
if (response == 'ACCEPT') {
this.$http.post(`/item/api/Items/regularize`, {
itemFk: this.item.id,
quantity: this.quantity,
warehouseFk: this.warehouseFk
}).then(res => {
this.vnApp.showSuccess(this.$translate.instant('Data saved!'));
2019-02-15 15:04:24 +00:00
this.card.reload();
2018-11-12 12:12:25 +00:00
});
}
}
clearRegularizeDialog() {
this.warehouseFk = null;
this.quantity = null;
}
}
2018-11-12 12:12:25 +00:00
Controller.$inject = ['$state', '$scope', '$http', 'vnApp', '$translate'];
ngModule.component('vnItemDescriptor', {
template: require('./index.html'),
controller: Controller,
bindings: {
item: '<',
quicklinks: '<'
}
});