empresa-libre/source/static/js/controller/nomina.js

188 lines
4.6 KiB
JavaScript
Raw Normal View History

2018-01-15 23:49:33 -06:00
var query = []
var cfg_nomina = new Object()
var nomina_controllers = {
init: function(){
2018-01-25 21:36:37 -06:00
$$('cmd_nomina_import').attachEvent('onItemClick', cmd_nomina_import_click)
2018-01-15 23:49:33 -06:00
$$('cmd_empleados').attachEvent('onItemClick', cmd_empleados_click)
$$('cmd_close_empleados').attachEvent('onItemClick', cmd_close_empleados_click)
2018-01-24 22:37:28 -06:00
$$('cmd_delete_empleado').attachEvent('onItemClick', cmd_delete_empleado_click)
2018-01-15 23:49:33 -06:00
$$('cmd_import_empleados').attachEvent('onItemClick', cmd_import_empleados_click)
webix.extend($$('grid_nomina'), webix.ProgressBar)
}
}
function default_config_nomina(){
}
function current_dates_nomina(){
var fy = $$('filter_year_nomina')
var fm = $$('filter_month_nomina')
var d = new Date()
fy.blockEvent()
fm.blockEvent()
fm.setValue(d.getMonth() + 1)
webix.ajax().sync().get('/values/filteryearsnomina', function(text, data){
var values = data.json()
fy.getList().parse(values)
fy.setValue(d.getFullYear())
})
fy.unblockEvent()
fm.unblockEvent()
}
2018-01-25 21:36:37 -06:00
function cmd_nomina_import_click(){
msg_ok('ok')
}
2018-01-24 00:51:09 -06:00
function get_employees(){
webix.ajax().get('/employees', {
error: function(text, data, xhr) {
msg = 'Error al consultar'
msg_error(msg)
},
success: function(text, data, xhr) {
var values = data.json();
if (values.ok){
$$('grid_employees').clearAll();
$$('grid_employees').parse(values.rows, 'json');
}else{
msg_error(values.msg)
}
}
})
}
2018-01-15 23:49:33 -06:00
function cmd_empleados_click(){
2018-01-24 00:51:09 -06:00
get_employees()
2018-01-15 23:49:33 -06:00
$$('multi_nomina').setValue('nomina_empleados')
}
function cmd_close_empleados_click(){
$$('multi_nomina').setValue('nomina_home')
}
function cmd_import_empleados_click(){
2018-01-19 01:00:22 -06:00
win_import_employees.init()
$$('win_import_employees').show()
}
2018-01-24 00:51:09 -06:00
function cmd_import_employees_click(){
2018-01-19 01:00:22 -06:00
var form = $$('form_upload_employees')
var values = form.getValues()
if(!$$('lst_upload_employees').count()){
$$('win_import_employees').close()
return
}
if($$('lst_upload_employees').count() > 1){
msg = 'Selecciona solo un archivo'
msg_error(msg)
return
}
var template = $$('up_employees').files.getItem($$('up_employees').files.getFirstId())
if(template.type.toLowerCase() != 'ods'){
msg = 'Archivo inválido.\n\nSe requiere un archivo ODS'
msg_error(msg)
return
}
msg = '¿Estás seguro de importar este archivo?'
webix.confirm({
title: 'Importar Empleados',
ok: 'Si',
cancel: 'No',
type: 'confirm-error',
text: msg,
callback:function(result){
if(result){
$$('up_employees').send()
}
}
})
}
function up_employees_upload_complete(response){
if(response.status != 'server'){
msg = 'Ocurrio un error al subir el archivo'
msg_error(msg)
return
}
msg = 'Archivo subido correctamente.\n\nComenzando importación.'
msg_ok(msg)
$$('win_import_employees').close()
webix.ajax().get('/employees', {opt: 'import'}, {
error: function(text, data, xhr) {
msg = 'Error al importar'
msg_error(msg)
},
success: function(text, data, xhr) {
var values = data.json();
if (values.ok){
msg_ok(values.msg)
2018-01-24 01:03:44 -06:00
get_employees()
2018-01-19 01:00:22 -06:00
}else{
msg_error(values.msg)
}
}
})
2018-01-24 22:37:28 -06:00
}
function delete_empleado(id){
webix.ajax().del('/employees', {id: id}, function(text, xml, xhr){
var msg = 'Empleado eliminado correctamente'
if (xhr.status == 200){
$$('grid_employees').remove(id);
msg_ok(msg)
} else {
msg = 'No se pudo eliminar.'
msg_error(msg)
}
})
}
function cmd_delete_empleado_click(){
var row = $$('grid_employees').getSelectedItem()
if (row == undefined){
msg = 'Selecciona un Empleado'
msg_error(msg)
return
}
msg = '¿Estás seguro de eliminar al Empleado?<BR><BR>'
msg += row['nombre_completo'] + ' (' + row['rfc'] + ')'
msg += '<BR><BR>ESTA ACCIÓN NO SE PUEDE DESHACER<BR><BR>'
webix.confirm({
title: 'Eliminar Empleado',
ok: 'Si',
cancel: 'No',
type: 'confirm-error',
text: msg,
callback:function(result){
if (result){
delete_empleado(row['id'])
}
}
})
2018-01-15 23:49:33 -06:00
}