salix/modules/ticket/front/tracking/edit/index.js

75 lines
1.9 KiB
JavaScript

import ngModule from '../../module';
class Controller {
constructor($scope, $state, vnApp, $translate, $http) {
this.$http = $http;
this.$ = $scope;
this.$state = $state;
this.vnApp = vnApp;
this.$translate = $translate;
this.ticket = {
ticketFk: $state.params.id
};
this.params = {ticketFk: $state.params.id};
}
$onInit() {
this.getPickerDesignedState();
}
set stateFk(value) {
this.params.stateFk = value;
this.isPickerDesignedState = this.getIsPickerDesignedState(value);
}
get stateFk() {
return this.params.stateFk;
}
set workerFk(value) {
this.params.workerFk = value;
}
get workerFk() {
return this.params.workerFk;
}
getPickerDesignedState() {
let filter = {
where: {
code: 'PICKER_DESIGNED'
}
};
let json = encodeURIComponent(JSON.stringify(filter));
this.$http.get(`/api/States?filter=${json}`).then(res => {
if (res && res.data)
this.pickerDesignedState = res.data[0].id;
});
}
getIsPickerDesignedState(value) {
if (value == this.pickerDesignedState)
return true;
return false;
}
onSubmit() {
this.$http.post(`/api/TicketTrackings/changeState`, this.params).then(() => {
this.$.watcher.updateOriginalData();
this.card.reload();
this.vnApp.showSuccess(this.$translate.instant('Data saved!'));
this.$state.go('ticket.card.tracking.index');
});
}
}
Controller.$inject = ['$scope', '$state', 'vnApp', '$translate', '$http'];
ngModule.component('vnTicketTrackingEdit', {
template: require('./index.html'),
controller: Controller,
require: {
card: '^vnTicketCard'
}
});