salix/modules/claim/front/summary/index.js

104 lines
2.2 KiB
JavaScript
Raw Normal View History

2018-09-05 11:47:15 +00:00
import ngModule from '../module';
2020-11-23 12:41:51 +00:00
import Summary from 'salix/components/summary';
import './style.scss';
2018-09-05 11:47:15 +00:00
2020-11-23 12:41:51 +00:00
class Controller extends Summary {
2020-06-12 12:28:29 +00:00
constructor($element, $, vnFile) {
super($element, $);
this.vnFile = vnFile;
2022-05-25 05:51:47 +00:00
this.filter = {
include: [
{
relation: 'dms'
}
]
};
2020-06-12 12:28:29 +00:00
}
2020-03-18 14:47:38 +00:00
$onChanges() {
if (this.claim && this.claim.id)
this.loadData();
2020-03-18 14:47:38 +00:00
}
loadData() {
return this.$http.get(`Claims/${this.claim.id}/getSummary`).then(res => {
if (res && res.data)
this.summary = res.data;
});
}
reload() {
this.loadData()
.then(() => {
if (this.card)
this.card.reload();
2022-03-02 10:07:35 +00:00
if (this.parentReload)
this.parentReload();
});
}
get isSalesPerson() {
return this.aclService.hasAny(['salesPerson']);
}
get isClaimManager() {
return this.aclService.hasAny(['claimManager']);
}
2020-03-18 14:47:38 +00:00
get claim() {
return this._claim;
}
set claim(value) {
this._claim = value;
// Get DMS on summary load
if (value) {
2020-03-18 14:47:38 +00:00
this.$.$applyAsync(() => this.loadDms());
this.loadData();
}
2020-03-18 14:47:38 +00:00
}
loadDms() {
this.$.model.where = {
claimFk: this.claim.id
};
this.$.model.refresh();
}
2020-06-12 12:28:29 +00:00
getImagePath(dmsId) {
return this.vnFile.getPath(`/api/dms/${dmsId}/downloadFile`);
}
changeState(value) {
const params = {
id: this.claim.id,
claimStateFk: value
};
this.$http.patch(`Claims/updateClaim/${this.claim.id}`, params)
.then(() => {
this.reload();
})
.then(() => {
this.vnApp.showSuccess(this.$t('Data saved!'));
});
}
2018-09-05 11:47:15 +00:00
}
2020-06-12 12:28:29 +00:00
Controller.$inject = ['$element', '$scope', 'vnFile'];
ngModule.vnComponent('vnClaimSummary', {
2018-09-05 11:47:15 +00:00
template: require('./index.html'),
controller: Controller,
bindings: {
claim: '<',
model: '<?',
parentReload: '&'
},
require: {
card: '?^vnClaimCard'
2018-09-05 11:47:15 +00:00
}
});