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

78 lines
2.0 KiB
JavaScript

import ngModule from '../module';
class Controller {
constructor($, $http) {
Object.assign(this, {
$,
$http
});
}
get worker() {
return this._worker;
}
set worker(value) {
this._worker = value;
this.$.worker = null;
if (!value) return;
let query = `Workers/${value.id}`;
let filter = {
include: [
{
relation: 'user',
scope: {
fields: ['name', 'roleFk'],
include: [{
relation: 'role',
scope: {
fields: ['name']
}
},
{
relation: 'emailUser',
scope: {
fields: ['email']
}
}]
}
}, {
relation: 'client',
scope: {fields: ['fi']}
}, {
relation: 'sip',
scope: {fields: ['extension']}
}, {
relation: 'department',
scope: {
include: {
relation: 'department'
}
}
}, {
relation: 'phones',
scope: {
fields: ['phone'],
order: 'typeFk ASC'
}
}
]
};
this.$http.get(query, {params: {filter}}).then(res => {
this.$.worker = res.data;
});
}
}
Controller.$inject = ['$scope', '$http'];
ngModule.component('vnWorkerSummary', {
template: require('./index.html'),
controller: Controller,
bindings: {
worker: '<'
}
});