let personal;
let filtros;

function getColumns() {
	let columns = [
		{
			title: `<input type="checkbox" id="chkSelectAll">`,
			data: null,
			className: 'text-center',
			render: (data) => {
				return `<input type="checkbox" class="chkFila">`;
			}
		},
		{
			title: "FECHA<br>ASISTENCIA",
			data: "fecha_asistencia",
			className: "text-center"
		},
		{
			title: `HORA`,
			data: `marcacion_entrada`,
			className: 'text-center'
		},
		{
			title: `DESCUENTO<br>(S/.)`,
			data: `descuento`,
			className: 'text-center',
			render: (data) => {
				let label = ""
				let contenido = ""
				if(data === 0){
					label = "text-primary"
				}else{
					label = "text-danger"
				}
				
				contenido = parseFloat(data).toFixed(2);
				
				return `<span class="${label}">${contenido}</span>`;
			}
		},
		{
			title: `DESCRIPCIÓN`,
			data: `descripcion`,
			className: 'text-center'
		},
		{
			title: `SEDE<br>MARCACIÓN`,
			data: `sede_marcacion`,
			className: 'text-center'
		},
		{
			title: `TIPO REGISTRO`,
			data: `tipo_registro`,
			className: 'text-center',
			render: (data) => {
				let label = "";
				let contenido = "";
				if (data == 1) {
					label = "label label-info"
					contenido = "HUELLA"
				} else {
					label = "label label-warning"
					contenido = "MANUAL"
				}
				return  `<span class="${label}">${contenido}</span>`
			}
		},
		{
			title: `ACCIONES`,
			data: null,
			className: 'text-center',
			render: (data) => {
				let acciones = "";
				let registrar = "";
				let verdetalle = "";
				verdetalle = `<span data-toggle="tooltip" data-placement="left" title="Ver detalle" style="cursor: pointer"> <i class='verdetalle icon-list text-primary-700'></i>&nbsp;&nbsp; </span>`;
				acciones = verdetalle;
				return acciones;
			}
		}
	];

	return columns;
}

const listarAsistenciaMensual = (objParams = {}) => {
	ajaxWebService.get(URI_ADMINISTRATIVOS_DESCUENTO_MENSUAL_DETALLADO, objParams).then((response) => {
		let columns = getColumns();

		let wrapsNameDatatable = `divDatatable`;
		let classNameForDatatable = `display table table-bordered`;

		makeDatatable(
			wrapsNameDatatable,
			{
				data: response.data,
				columns,
			},
			classNameForDatatable,
			).then((nodes) => {
			$(".chkFila, #chkSelectAll").uniform();
			nodes.container
				.off()
				.on("click", "#chkSelectAll", (e) => seleccionarCheckBoxTodo($(e.currentTarget)))
				.on("click", ".chkFila", (e) => seleccionarCheckBox())
//              .on("click", ".verdetalle", function () {
//                let data = nodes.datatable.DataTable().row($(this).parents("tr")).data();
//                mostrarModalVerDetalleDescuentoAsistencia(data);
//              })

		});
	});
};

const seleccionarCheckBoxTodo = (tr) => {
	if (tr.prop('checked')) {
		$('.chkFila').prop('checked', true).uniform()
	} else {
		$('.chkFila').prop('checked', false).uniform()
	}
}

const seleccionarCheckBox = () => {

	if ($('.chkFila:checked').length === $('.chkFila').length) {
		$('#chkSelectAll').prop('checked', true).uniform()
	} else {
		$('#chkSelectAll').prop('checked', false).uniform()
	}
}


const recibirData = () => {
	let data = localStorage.getItem('data')
	let filter = localStorage.getItem('filtros')
	personal = data ? JSON.parse(data) : null;
	filtros = filter ? JSON.parse(filter) : null;
//	localStorage.removeItem('data')
//	localStorage.removeItem('filtros')
}

const inicializarInputs = () => {
//	$("#spanNombres").text(`${personal}`)
}

const mostrarDatosTrabajador = () => {
	let id = personal.trabajador_id

	ajaxWebService.get(`${URI_TRABAJADORES}/${id}`)
		.then((response) => {
			if (response.status) {
				let trabajador = response.data;

				$("#spanNombres").text(`${trabajador.apellidos} ${trabajador.nombres}`)
				$("#spanCargo").text(`${trabajador.cargoLaboral_nombre}`)
				$("#spanHorario").text(`${trabajador.horarioLV}`)

				let costodia = trabajador.sueldo_planilla / 30
				$("#spanCostoDia").text(parseFloat(costodia).toFixed(2))
			}
		})
}

$(document).ready(function () {
	recibirData();
	mostrarDatosTrabajador()
	listarAsistenciaMensual()
})