salix/modules/travel/front/create/index.js

49 lines
1.4 KiB
JavaScript
Raw Normal View History

2019-12-09 11:15:19 +00:00
import ngModule from '../module';
import Section from 'salix/components/section';
class Controller extends Section {
2020-03-10 13:09:26 +00:00
$onChanges() {
2020-03-18 11:55:22 +00:00
if (this.$params && this.$params.q)
this.travel = JSON.parse(this.$params.q);
2020-03-10 13:09:26 +00:00
}
onShippedChange(value) {
2021-02-11 07:32:16 +00:00
let hasFilledProperties;
let hasAgencyMode;
if (this.travel) {
hasAgencyMode = Boolean(this.travel.agencyModeFk);
hasFilledProperties = this.travel.landed || this.travel.warehouseInFk || this.travel.warehouseOutFk;
}
if (!hasAgencyMode || hasFilledProperties)
return;
2021-02-12 10:27:24 +00:00
const query = `travels/getAverageDays`;
const params = {
agencyModeFk: this.travel.agencyModeFk
};
this.$http.get(query, {params}).then(res => {
2021-02-24 10:32:31 +00:00
if (!res.data)
2021-02-22 08:53:03 +00:00
return;
2021-02-24 10:32:31 +00:00
const landed = new Date(value);
2021-02-24 10:32:31 +00:00
const futureDate = landed.getDate() + res.data.dayDuration;
landed.setDate(futureDate);
this.travel.landed = landed;
2021-02-24 10:32:31 +00:00
this.travel.warehouseInFk = res.data.warehouseInFk;
this.travel.warehouseOutFk = res.data.warehouseOutFk;
});
}
2019-12-09 11:15:19 +00:00
onSubmit() {
return this.$.watcher.submit().then(
2020-12-28 13:53:26 +00:00
res => this.$state.go('travel.card.basicData', {id: res.data.id})
2019-12-09 11:15:19 +00:00
);
}
}
ngModule.vnComponent('vnTravelCreate', {
2019-12-09 11:15:19 +00:00
template: require('./index.html'),
controller: Controller
});