Version_1.0
104
ajax/articulo.php
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
<?php
|
||||
|
||||
ob_start();
|
||||
session_start();
|
||||
|
||||
require_once "../modelos/Articulo.php";
|
||||
|
||||
|
||||
$articulo=new Articulo();
|
||||
|
||||
$idarticulo=isset($_POST["idarticulo"])? limpiarCadena($_POST["idarticulo"]):"";
|
||||
$idcategoria=isset($_POST["idcategoria"])? limpiarCadena($_POST["idcategoria"]):"";
|
||||
$codigo=isset($_POST["codigo"])? limpiarCadena($_POST["codigo"]):"";
|
||||
$nombre=isset($_POST["nombre"])? limpiarCadena($_POST["nombre"]):"";
|
||||
$stock=isset($_POST["stock"])? limpiarCadena($_POST["stock"]):"";
|
||||
$descripcion=isset($_POST["descripcion"])? limpiarCadena($_POST["descripcion"]):"";
|
||||
$imagen=isset($_POST["imagen"])? limpiarCadena($_POST["imagen"]):"";
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
case 'guardaryeditar':
|
||||
|
||||
if (!file_exists($_FILES['imagen']['tmp_name'])|| !is_uploaded_file($_FILES['imagen']['tmp_name'])) {
|
||||
$imagen=$_POST["imagenactual"];
|
||||
}else{
|
||||
$ext=explode(".", $_FILES["imagen"]["name"]);
|
||||
if ($_FILES['imagen']['type']=="image/jpg" || $_FILES['imagen']['type']=="image/jpeg" || $_FILES['imagen']['type']=="image/png") {
|
||||
$imagen=round(microtime(true)).'.'. end($ext);
|
||||
move_uploaded_file($_FILES["imagen"]["tmp_name"], "../files/articulos/".$imagen);
|
||||
}
|
||||
}
|
||||
if (empty($idarticulo)) {
|
||||
$rspta=$articulo->insertar($idcategoria,$codigo,$nombre,$stock,$descripcion,$imagen);
|
||||
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar los datos";
|
||||
}else{
|
||||
$rspta=$articulo->editar($idarticulo,$idcategoria,$codigo,$nombre,$stock,$descripcion,$imagen);
|
||||
echo $rspta ? "Datos actualizados correctamente" : "No se pudo actualizar los datos";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'desactivar':
|
||||
$rspta=$articulo->desactivar($idarticulo);
|
||||
echo $rspta ? "Datos desactivados correctamente" : "No se pudo desactivar los datos";
|
||||
break;
|
||||
case 'activar':
|
||||
$rspta=$articulo->activar($idarticulo);
|
||||
echo $rspta ? "Datos activados correctamente" : "No se pudo activar los datos";
|
||||
break;
|
||||
|
||||
case 'mostrar':
|
||||
$rspta=$articulo->mostrar($idarticulo);
|
||||
echo json_encode($rspta);
|
||||
break;
|
||||
|
||||
case 'listar':
|
||||
$rspta=$articulo->listar();
|
||||
$data=Array();
|
||||
if ($_SESSION['acceso']==1) {
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>($reg->condicion)?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idarticulo.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="desactivar('.$reg->idarticulo.')"><i class="fa fa-close"></i></button>':'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idarticulo.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-primary btn-xs" onclick="activar('.$reg->idarticulo.')"><i class="fa fa-check"></i></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->categoria,
|
||||
"3"=>$reg->codigo,
|
||||
"4"=>$reg->stock,
|
||||
"5"=>"<img src='../files/articulos/".$reg->imagen."' height='50px' width='50px'>",
|
||||
"6"=>$reg->descripcion,
|
||||
"7"=>($reg->condicion)?'<span class="label bg-green">Activado</span>':'<span class="label bg-red">Desactivado</span>'
|
||||
);
|
||||
}
|
||||
}else{
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'Sin Acceso',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->categoria,
|
||||
"3"=>$reg->codigo,
|
||||
"4"=>$reg->stock,
|
||||
"5"=>"<img src='../files/articulos/".$reg->imagen."' height='50px' width='50px'>",
|
||||
"6"=>$reg->descripcion,
|
||||
"7"=>($reg->condicion)?'<span class="label bg-green">Activado</span>':'<span class="label bg-red">Desactivado</span>'
|
||||
);
|
||||
}
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
|
||||
case 'selectCategoria':
|
||||
require_once "../modelos/Categoria.php";
|
||||
$categoria=new Categoria();
|
||||
|
||||
$rspta=$categoria->select();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
echo '<option value=' . $reg->idcategoria.'>'.$reg->nombre.'</option>';
|
||||
}
|
||||
break;
|
||||
}
|
||||
?>
|
||||
70
ajax/categoria.php
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
<?php
|
||||
|
||||
ob_start();
|
||||
session_start();
|
||||
|
||||
require_once "../modelos/Categoria.php";
|
||||
|
||||
$categoria=new Categoria();
|
||||
|
||||
$idcategoria=isset($_POST["idcategoria"])? limpiarCadena($_POST["idcategoria"]):"";
|
||||
$nombre=isset($_POST["nombre"])? limpiarCadena($_POST["nombre"]):"";
|
||||
$descripcion=isset($_POST["descripcion"])? limpiarCadena($_POST["descripcion"]):"";
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
case 'guardaryeditar':
|
||||
if (empty($idcategoria)) {
|
||||
$rspta=$categoria->insertar($nombre,$descripcion);
|
||||
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar los datos";
|
||||
}else{
|
||||
$rspta=$categoria->editar($idcategoria,$nombre,$descripcion);
|
||||
echo $rspta ? "Datos actualizados correctamente" : "No se pudo actualizar los datos";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'desactivar':
|
||||
$rspta=$categoria->desactivar($idcategoria);
|
||||
echo $rspta ? "Datos desactivados correctamente" : "No se pudo desactivar los datos";
|
||||
break;
|
||||
case 'activar':
|
||||
$rspta=$categoria->activar($idcategoria);
|
||||
echo $rspta ? "Datos activados correctamente" : "No se pudo activar los datos";
|
||||
break;
|
||||
|
||||
case 'mostrar':
|
||||
$rspta=$categoria->mostrar($idcategoria);
|
||||
echo json_encode($rspta);
|
||||
break;
|
||||
|
||||
case 'listar':
|
||||
$rspta=$categoria->listar();
|
||||
$data=Array();
|
||||
if ($_SESSION['acceso']==1) {
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>($reg->condicion)?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idcategoria.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="desactivar('.$reg->idcategoria.')"><i class="fa fa-close"></i></button>':'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idcategoria.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-primary btn-xs" onclick="activar('.$reg->idcategoria.')"><i class="fa fa-check"></i></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->descripcion,
|
||||
"3"=>($reg->condicion)?'<span class="label bg-green">Activado</span>':'<span class="label bg-red">Desactivado</span>'
|
||||
);
|
||||
}
|
||||
}else{
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'Sin Acceso',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->descripcion,
|
||||
"3"=>($reg->condicion)?'<span class="label bg-green">Activado</span>':'<span class="label bg-red">Desactivado</span>'
|
||||
);
|
||||
}
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
64
ajax/consultas.php
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
<?php
|
||||
require_once "../modelos/Consultas.php";
|
||||
|
||||
$consulta = new Consultas();
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
|
||||
|
||||
case 'comprasfecha':
|
||||
$fecha_inicio=$_REQUEST["fecha_inicio"];
|
||||
$fecha_fin=$_REQUEST["fecha_fin"];
|
||||
|
||||
$rspta=$consulta->comprasfecha($fecha_inicio,$fecha_fin);
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>$reg->fecha,
|
||||
"1"=>$reg->usuario,
|
||||
"2"=>$reg->proveedor,
|
||||
"3"=>$reg->tipo_comprobante,
|
||||
"4"=>$reg->serie_comprobante.' '.$reg->num_comprobante,
|
||||
"5"=>$reg->total_compra,
|
||||
"6"=>$reg->impuesto,
|
||||
"7"=>($reg->estado=='Aceptado')?'<span class="label bg-green">Aceptado</span>':'<span class="label bg-red">Anulado</span>'
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
|
||||
case 'ventasfechacliente':
|
||||
$fecha_inicio=$_REQUEST["fecha_inicio"];
|
||||
$fecha_fin=$_REQUEST["fecha_fin"];
|
||||
$idcliente=$_REQUEST["idcliente"];
|
||||
|
||||
$rspta=$consulta->ventasfechacliente($fecha_inicio,$fecha_fin,$idcliente);
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>$reg->fecha,
|
||||
"1"=>$reg->usuario,
|
||||
"2"=>$reg->cliente,
|
||||
"3"=>$reg->tipo_comprobante,
|
||||
"4"=>$reg->serie_comprobante.' '.$reg->num_comprobante,
|
||||
"5"=>$reg->total_venta,
|
||||
"6"=>$reg->impuesto,
|
||||
"7"=>($reg->estado=='Aceptado')?'<span class="label bg-green">Aceptado</span>':'<span class="label bg-red">Anulado</span>'
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
138
ajax/ingreso.php
Normal file
|
|
@ -0,0 +1,138 @@
|
|||
<?php
|
||||
require_once "../modelos/Ingreso.php";
|
||||
if (strlen(session_id())<1)
|
||||
session_start();
|
||||
|
||||
$ingreso=new Ingreso();
|
||||
|
||||
$idingreso=isset($_POST["idingreso"])? limpiarCadena($_POST["idingreso"]):"";
|
||||
$idproveedor=isset($_POST["idproveedor"])? limpiarCadena($_POST["idproveedor"]):"";
|
||||
$idusuario=$_SESSION["idusuario"];
|
||||
$tipo_comprobante=isset($_POST["tipo_comprobante"])? limpiarCadena($_POST["tipo_comprobante"]):"";
|
||||
$serie_comprobante=isset($_POST["serie_comprobante"])? limpiarCadena($_POST["serie_comprobante"]):"";
|
||||
$num_comprobante=isset($_POST["num_comprobante"])? limpiarCadena($_POST["num_comprobante"]):"";
|
||||
$fecha_hora=isset($_POST["fecha_hora"])? limpiarCadena($_POST["fecha_hora"]):"";
|
||||
$impuesto=isset($_POST["impuesto"])? limpiarCadena($_POST["impuesto"]):"";
|
||||
$total_compra=isset($_POST["total_compra"])? limpiarCadena($_POST["total_compra"]):"";
|
||||
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
case 'guardaryeditar':
|
||||
if (empty($idingreso)) {
|
||||
$rspta=$ingreso->insertar($idproveedor,$idusuario,$tipo_comprobante,$serie_comprobante,$num_comprobante,$fecha_hora,$impuesto,$total_compra,$_POST["idarticulo"],$_POST["cantidad"],$_POST["precio_compra"],$_POST["precio_venta"]);
|
||||
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar los datos";
|
||||
}else{
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'anular':
|
||||
$rspta=$ingreso->anular($idingreso);
|
||||
echo $rspta ? "Ingreso anulado correctamente" : "No se pudo anular el ingreso";
|
||||
break;
|
||||
|
||||
case 'mostrar':
|
||||
$rspta=$ingreso->mostrar($idingreso);
|
||||
echo json_encode($rspta);
|
||||
break;
|
||||
|
||||
case 'listarDetalle':
|
||||
//recibimos el idingreso
|
||||
$id=$_GET['id'];
|
||||
|
||||
$rspta=$ingreso->listarDetalle($id);
|
||||
$total=0;
|
||||
echo ' <thead style="background-color:#A9D0F5">
|
||||
<th>Opciones</th>
|
||||
<th>Articulo</th>
|
||||
<th>Cantidad</th>
|
||||
<th>Precio Compra</th>
|
||||
<th>Precio Venta</th>
|
||||
<th>Subtotal</th>
|
||||
</thead>';
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
echo '<tr class="filas">
|
||||
<td></td>
|
||||
<td>'.$reg->nombre.'</td>
|
||||
<td>'.$reg->cantidad.'</td>
|
||||
<td>'.$reg->precio_compra.'</td>
|
||||
<td>'.$reg->precio_venta.'</td>
|
||||
<td>'.$reg->precio_compra*$reg->cantidad.'</td>
|
||||
<td></td>
|
||||
</tr>';
|
||||
$total=$total+($reg->precio_compra*$reg->cantidad);
|
||||
}
|
||||
echo '<tfoot>
|
||||
<th>TOTAL</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th><h4 id="total">S/. '.$total.'</h4><input type="hidden" name="total_compra" id="total_compra"></th>
|
||||
</tfoot>';
|
||||
break;
|
||||
|
||||
case 'listar':
|
||||
$rspta=$ingreso->listar();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>($reg->estado=='Aceptado')?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idingreso.')"><i class="fa fa-eye"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="anular('.$reg->idingreso.')"><i class="fa fa-close"></i></button>':'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idingreso.')"><i class="fa fa-eye"></i></button>',
|
||||
"1"=>$reg->fecha,
|
||||
"2"=>$reg->proveedor,
|
||||
"3"=>$reg->usuario,
|
||||
"4"=>$reg->tipo_comprobante,
|
||||
"5"=>$reg->serie_comprobante. '-' .$reg->num_comprobante,
|
||||
"6"=>$reg->total_compra,
|
||||
"7"=>($reg->estado=='Aceptado')?'<span class="label bg-green">Aceptado</span>':'<span class="label bg-red">Anulado</span>'
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
|
||||
case 'selectProveedor':
|
||||
require_once "../modelos/Persona.php";
|
||||
$persona = new Persona();
|
||||
|
||||
$rspta = $persona->listarp();
|
||||
|
||||
while ($reg = $rspta->fetch_object()) {
|
||||
echo '<option value='.$reg->idpersona.'>'.$reg->nombre.'</option>';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'listarArticulos':
|
||||
require_once "../modelos/Articulo.php";
|
||||
$articulo=new Articulo();
|
||||
|
||||
$rspta=$articulo->listarActivos();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'<button class="btn btn-warning" onclick="agregarDetalle('.$reg->idarticulo.',\''.$reg->nombre.'\')"><span class="fa fa-plus"></span></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->categoria,
|
||||
"3"=>$reg->codigo,
|
||||
"4"=>$reg->stock,
|
||||
"5"=>"<img src='../files/articulos/".$reg->imagen."' height='50px' width='50px'>"
|
||||
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
|
||||
break;
|
||||
}
|
||||
?>
|
||||
28
ajax/permiso.php
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
<?php
|
||||
require_once "../modelos/Permiso.php";
|
||||
|
||||
$categoria=new Permiso();
|
||||
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
|
||||
case 'listar':
|
||||
$rspta=$categoria->listar();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
|
||||
"0"=>$reg->nombre
|
||||
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
97
ajax/persona.php
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
<?php
|
||||
|
||||
ob_start();
|
||||
session_start();
|
||||
|
||||
require_once "../modelos/Persona.php";
|
||||
|
||||
$persona=new Persona();
|
||||
|
||||
$idpersona=isset($_POST["idpersona"])? limpiarCadena($_POST["idpersona"]):"";
|
||||
$tipo_persona=isset($_POST["tipo_persona"])? limpiarCadena($_POST["tipo_persona"]):"";
|
||||
$nombre=isset($_POST["nombre"])? limpiarCadena($_POST["nombre"]):"";
|
||||
$tipo_documento=isset($_POST["tipo_documento"])? limpiarCadena($_POST["tipo_documento"]):"";
|
||||
$num_documento=isset($_POST["num_documento"])? limpiarCadena($_POST["num_documento"]):"";
|
||||
$direccion=isset($_POST["direccion"])? limpiarCadena($_POST["direccion"]):"";
|
||||
$telefono=isset($_POST["telefono"])? limpiarCadena($_POST["telefono"]):"";
|
||||
$email=isset($_POST["email"])? limpiarCadena($_POST["email"]):"";
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
case 'guardaryeditar':
|
||||
if (empty($idpersona)) {
|
||||
$rspta=$persona->insertar($tipo_persona,$nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email);
|
||||
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar los datos";
|
||||
}else{
|
||||
$rspta=$persona->editar($idpersona,$tipo_persona,$nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email);
|
||||
echo $rspta ? "Datos actualizados correctamente" : "No se pudo actualizar los datos";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'eliminar':
|
||||
$rspta=$persona->eliminar($idpersona);
|
||||
echo $rspta ? "Datos eliminados correctamente" : "No se pudo eliminar los datos";
|
||||
break;
|
||||
|
||||
case 'mostrar':
|
||||
$rspta=$persona->mostrar($idpersona);
|
||||
echo json_encode($rspta);
|
||||
break;
|
||||
|
||||
case 'listarp':
|
||||
$rspta=$persona->listarp();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idpersona.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="eliminar('.$reg->idpersona.')"><i class="fa fa-trash"></i></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->tipo_documento,
|
||||
"3"=>$reg->num_documento,
|
||||
"4"=>$reg->telefono,
|
||||
"5"=>$reg->email
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
|
||||
case 'listarc':
|
||||
$rspta=$persona->listarc();
|
||||
$data=Array();
|
||||
if ($_SESSION['acceso']==1) {
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idpersona.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="eliminar('.$reg->idpersona.')"><i class="fa fa-trash"></i></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->tipo_documento,
|
||||
"3"=>$reg->num_documento,
|
||||
"4"=>$reg->telefono,
|
||||
"5"=>$reg->email
|
||||
);
|
||||
}
|
||||
}else{
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'Sin Acceso',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->tipo_documento,
|
||||
"3"=>$reg->num_documento,
|
||||
"4"=>$reg->telefono,
|
||||
"5"=>$reg->email
|
||||
);
|
||||
}
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
}
|
||||
?>
|
||||
164
ajax/usuario.php
Normal file
|
|
@ -0,0 +1,164 @@
|
|||
<?php
|
||||
session_start();
|
||||
require_once "../modelos/Usuario.php";
|
||||
|
||||
$usuario=new Usuario();
|
||||
|
||||
$idusuario=isset($_POST["idusuario"])? limpiarCadena($_POST["idusuario"]):"";
|
||||
$nombre=isset($_POST["nombre"])? limpiarCadena($_POST["nombre"]):"";
|
||||
$tipo_documento=isset($_POST["tipo_documento"])? limpiarCadena($_POST["tipo_documento"]):"";
|
||||
$num_documento=isset($_POST["num_documento"])? limpiarCadena($_POST["num_documento"]):"";
|
||||
$direccion=isset($_POST["direccion"])? limpiarCadena($_POST["direccion"]):"";
|
||||
$telefono=isset($_POST["telefono"])? limpiarCadena($_POST["telefono"]):"";
|
||||
$email=isset($_POST["email"])? limpiarCadena($_POST["email"]):"";
|
||||
$cargo=isset($_POST["cargo"])? limpiarCadena($_POST["cargo"]):"";
|
||||
$login=isset($_POST["login"])? limpiarCadena($_POST["login"]):"";
|
||||
$clave=isset($_POST["clave"])? limpiarCadena($_POST["clave"]):"";
|
||||
$imagen=isset($_POST["imagen"])? limpiarCadena($_POST["imagen"]):"";
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
case 'guardaryeditar':
|
||||
|
||||
if (!file_exists($_FILES['imagen']['tmp_name'])|| !is_uploaded_file($_FILES['imagen']['tmp_name'])) {
|
||||
$imagen=$_POST["imagenactual"];
|
||||
}else{
|
||||
$ext=explode(".", $_FILES["imagen"]["name"]);
|
||||
if ($_FILES['imagen']['type']=="image/jpg" || $_FILES['imagen']['type']=="image/jpeg" || $_FILES['imagen']['type']=="image/png") {
|
||||
$imagen=round(microtime(true)).'.'. end($ext);
|
||||
move_uploaded_file($_FILES["imagen"]["tmp_name"], "../files/usuarios/".$imagen);
|
||||
}
|
||||
}
|
||||
|
||||
//Hash SHA256 para la contraseña
|
||||
$clavehash=hash("SHA256", $clave);
|
||||
if (empty($idusuario)) {
|
||||
$rspta=$usuario->insertar($nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email,$cargo,$login,$clavehash,$imagen,$_POST['permiso']);
|
||||
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar todos los datos del usuario";
|
||||
}else{
|
||||
$rspta=$usuario->editar($idusuario,$nombre,$tipo_documento,$num_documento,$direccion,$telefono,$email,$cargo,$login,$clavehash,$imagen,$_POST['permiso']);
|
||||
echo $rspta ? "Datos actualizados correctamente" : "No se pudo actualizar los datos";
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'desactivar':
|
||||
$rspta=$usuario->desactivar($idusuario);
|
||||
echo $rspta ? "Datos desactivados correctamente" : "No se pudo desactivar los datos";
|
||||
break;
|
||||
|
||||
case 'activar':
|
||||
$rspta=$usuario->activar($idusuario);
|
||||
echo $rspta ? "Datos activados correctamente" : "No se pudo activar los datos";
|
||||
break;
|
||||
|
||||
case 'mostrar':
|
||||
$rspta=$usuario->mostrar($idusuario);
|
||||
echo json_encode($rspta);
|
||||
break;
|
||||
|
||||
case 'listar':
|
||||
$rspta=$usuario->listar();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>($reg->condicion)?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idusuario.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="desactivar('.$reg->idusuario.')"><i class="fa fa-close"></i></button>':'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idusuario.')"><i class="fa fa-pencil"></i></button>'.' '.'<button class="btn btn-primary btn-xs" onclick="activar('.$reg->idusuario.')"><i class="fa fa-check"></i></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->tipo_documento,
|
||||
"3"=>$reg->num_documento,
|
||||
"4"=>$reg->telefono,
|
||||
"5"=>$reg->email,
|
||||
"6"=>$reg->login,
|
||||
"7"=>"<img src='../files/usuarios/".$reg->imagen."' height='50px' width='50px'>",
|
||||
"8"=>($reg->condicion)?'<span class="label bg-green">Activado</span>':'<span class="label bg-red">Desactivado</span>'
|
||||
);
|
||||
}
|
||||
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
|
||||
case 'permisos':
|
||||
//obtenemos toodos los permisos de la tabla permisos
|
||||
require_once "../modelos/Permiso.php";
|
||||
$permiso=new Permiso();
|
||||
$rspta=$permiso->listar();
|
||||
//obtener permisos asigandos
|
||||
$id=$_GET['id'];
|
||||
$marcados=$usuario->listarmarcados($id);
|
||||
$valores=array();
|
||||
|
||||
//almacenar permisos asigandos
|
||||
while ($per=$marcados->fetch_object()) {
|
||||
array_push($valores, $per->idpermiso);
|
||||
}
|
||||
//mostramos la lista de permisos
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$sw=in_array($reg->idpermiso,$valores)?'checked':'';
|
||||
echo '<li><input type="checkbox" '.$sw.' name="permiso[]" value="'.$reg->idpermiso.'">'.$reg->nombre.'</li>';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'verificar':
|
||||
//validar si el usuario tiene acceso al sistema
|
||||
$logina=$_POST['logina'];
|
||||
$clavea=$_POST['clavea'];
|
||||
|
||||
//Hash SHA256 en la contraseña
|
||||
$clavehash=hash("SHA256", $clavea);
|
||||
|
||||
$rspta=$usuario->verificar($logina, $clavehash);
|
||||
|
||||
$fetch=$rspta->fetch_object();
|
||||
if (isset($fetch)) {
|
||||
# Declaramos la variables de sesion
|
||||
$_SESSION['idusuario']=$fetch->idusuario;
|
||||
$_SESSION['nombre']=$fetch->nombre;
|
||||
$_SESSION['imagen']=$fetch->imagen;
|
||||
$_SESSION['login']=$fetch->login;
|
||||
|
||||
//obtenemos los permisos
|
||||
$marcados=$usuario->listarmarcados($fetch->idusuario);
|
||||
|
||||
//declaramos el array para almacenar todos los permisos
|
||||
$valores=array();
|
||||
|
||||
//almacenamos los permisos marcados en al array
|
||||
while ($per = $marcados->fetch_object()) {
|
||||
array_push($valores, $per->idpermiso);
|
||||
}
|
||||
|
||||
//determinamos lo accesos al usuario
|
||||
in_array(1, $valores)?$_SESSION['escritorio']=1:$_SESSION['escritorio']=0;
|
||||
in_array(2, $valores)?$_SESSION['almacen']=1:$_SESSION['almacen']=0;
|
||||
in_array(3, $valores)?$_SESSION['compras']=1:$_SESSION['compras']=0;
|
||||
in_array(4, $valores)?$_SESSION['ventas']=1:$_SESSION['ventas']=0;
|
||||
in_array(5, $valores)?$_SESSION['acceso']=1:$_SESSION['acceso']=0;
|
||||
in_array(6, $valores)?$_SESSION['consultac']=1:$_SESSION['consultac']=0;
|
||||
in_array(7, $valores)?$_SESSION['consultav']=1:$_SESSION['consultav']=0;
|
||||
|
||||
}
|
||||
echo json_encode($fetch);
|
||||
|
||||
|
||||
break;
|
||||
case 'salir':
|
||||
//limpiamos la variables de la secion
|
||||
session_unset();
|
||||
|
||||
//destruimos la sesion
|
||||
session_destroy();
|
||||
//redireccionamos al login
|
||||
header("Location: ../index.php");
|
||||
break;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
146
ajax/venta.php
Normal file
|
|
@ -0,0 +1,146 @@
|
|||
<?php
|
||||
require_once "../modelos/Venta.php";
|
||||
if (strlen(session_id())<1)
|
||||
session_start();
|
||||
|
||||
$venta = new Venta();
|
||||
|
||||
$idventa=isset($_POST["idventa"])? limpiarCadena($_POST["idventa"]):"";
|
||||
$idcliente=isset($_POST["idcliente"])? limpiarCadena($_POST["idcliente"]):"";
|
||||
$idusuario=$_SESSION["idusuario"];
|
||||
$tipo_comprobante=isset($_POST["tipo_comprobante"])? limpiarCadena($_POST["tipo_comprobante"]):"";
|
||||
$serie_comprobante=isset($_POST["serie_comprobante"])? limpiarCadena($_POST["serie_comprobante"]):"";
|
||||
$num_comprobante=isset($_POST["num_comprobante"])? limpiarCadena($_POST["num_comprobante"]):"";
|
||||
$fecha_hora=isset($_POST["fecha_hora"])? limpiarCadena($_POST["fecha_hora"]):"";
|
||||
$impuesto=isset($_POST["impuesto"])? limpiarCadena($_POST["impuesto"]):"";
|
||||
$total_venta=isset($_POST["total_venta"])? limpiarCadena($_POST["total_venta"]):"";
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
switch ($_GET["op"]) {
|
||||
case 'guardaryeditar':
|
||||
if (empty($idventa)) {
|
||||
$rspta=$venta->insertar($idcliente,$idusuario,$tipo_comprobante,$serie_comprobante,$num_comprobante,$fecha_hora,$impuesto,$total_venta,$_POST["idarticulo"],$_POST["cantidad"],$_POST["precio_venta"],$_POST["descuento"]);
|
||||
echo $rspta ? "Datos registrados correctamente" : "No se pudo registrar los datos";
|
||||
}else{
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
case 'anular':
|
||||
$rspta=$venta->anular($idventa);
|
||||
echo $rspta ? "Ingreso devuelto correctamente" : "No se pudo devolver el ingreso";
|
||||
break;
|
||||
|
||||
case 'mostrar':
|
||||
$rspta=$venta->mostrar($idventa);
|
||||
echo json_encode($rspta);
|
||||
break;
|
||||
|
||||
case 'listarDetalle':
|
||||
//recibimos el idventa
|
||||
$id=$_GET['id'];
|
||||
|
||||
$rspta=$venta->listarDetalle($id);
|
||||
$total=0;
|
||||
echo ' <thead style="background-color:#A9D0F5">
|
||||
<th>Opciones</th>
|
||||
<th>Articulo</th>
|
||||
<th>Cantidad</th>
|
||||
<th>Precio Venta</th>
|
||||
<th>Descuento</th>
|
||||
<th>Subtotal</th>
|
||||
</thead>';
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
echo '<tr class="filas">
|
||||
<td></td>
|
||||
<td>'.$reg->nombre.'</td>
|
||||
<td>'.$reg->cantidad.'</td>
|
||||
<td>'.$reg->precio_venta.'</td>
|
||||
<td>'.$reg->descuento.'</td>
|
||||
<td>'.$reg->subtotal.'</td></tr>';
|
||||
$total=$total+($reg->precio_venta*$reg->cantidad-$reg->descuento);
|
||||
}
|
||||
echo '<tfoot>
|
||||
<th>TOTAL</th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th></th>
|
||||
<th><h4 id="total">MXN/. '.$total.'</h4><input type="hidden" name="total_venta" id="total_venta"></th>
|
||||
</tfoot>';
|
||||
break;
|
||||
|
||||
case 'listar':
|
||||
$rspta=$venta->listar();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
if ($reg->tipo_comprobante=='Ticket') {
|
||||
$url='../reportes/exTicket.php?id=';
|
||||
}else{
|
||||
$url='../reportes/exFactura.php?id=';
|
||||
}
|
||||
|
||||
$data[]=array(
|
||||
"0"=>(($reg->estado=='Aceptado')?'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idventa.')"><i class="fa fa-eye"></i></button>'.' '.'<button class="btn btn-danger btn-xs" onclick="anular('.$reg->idventa.')"><i class="fa fa-close"></i></button>':'<button class="btn btn-warning btn-xs" onclick="mostrar('.$reg->idventa.')"><i class="fa fa-eye"></i></button>'),
|
||||
"1"=>$reg->fecha,
|
||||
"2"=>$reg->cliente,
|
||||
"3"=>$reg->usuario,
|
||||
"4"=>$reg->tipo_comprobante,
|
||||
"5"=>$reg->serie_comprobante. '-' .$reg->num_comprobante,
|
||||
"6"=>$reg->total_venta,
|
||||
"7"=>($reg->estado=='Aceptado')?'<span class="label bg-green">Aceptado</span>':'<span class="label bg-red">Devuelto</span>'
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
break;
|
||||
|
||||
case 'selectCliente':
|
||||
require_once "../modelos/Persona.php";
|
||||
$persona = new Persona();
|
||||
|
||||
$rspta = $persona->listarc();
|
||||
|
||||
while ($reg = $rspta->fetch_object()) {
|
||||
echo '<option value='.$reg->idpersona.'>'.$reg->nombre.'</option>';
|
||||
}
|
||||
break;
|
||||
|
||||
case 'listarArticulos':
|
||||
require_once "../modelos/Articulo.php";
|
||||
$articulo=new Articulo();
|
||||
|
||||
$rspta=$articulo->listarActivosVenta();
|
||||
$data=Array();
|
||||
|
||||
while ($reg=$rspta->fetch_object()) {
|
||||
$data[]=array(
|
||||
"0"=>'<button class="btn btn-warning" onclick="agregarDetalle('.$reg->idarticulo.',\''.$reg->nombre.'\','.$reg->precio_venta.')"><span class="fa fa-plus"></span></button>',
|
||||
"1"=>$reg->nombre,
|
||||
"2"=>$reg->categoria,
|
||||
"3"=>$reg->codigo,
|
||||
"4"=>$reg->stock,
|
||||
"5"=>$reg->precio_venta,
|
||||
"6"=>"<img src='../files/articulos/".$reg->imagen."' height='50px' width='50px'>"
|
||||
|
||||
);
|
||||
}
|
||||
$results=array(
|
||||
"sEcho"=>1,//info para datatables
|
||||
"iTotalRecords"=>count($data),//enviamos el total de registros al datatable
|
||||
"iTotalDisplayRecords"=>count($data),//enviamos el total de registros a visualizar
|
||||
"aaData"=>$data);
|
||||
echo json_encode($results);
|
||||
|
||||
break;
|
||||
}
|
||||
?>
|
||||
48
config/Conexion.php
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
require_once "global.php";
|
||||
|
||||
$conexion=new mysqli(DB_HOST,DB_USERNAME,DB_PASSWORD,DB_NAME);
|
||||
|
||||
mysqli_query($conexion, 'SET NAMES "'.DB_ENCODE.'"');
|
||||
|
||||
//muestra posible error en la conexion
|
||||
if (mysqli_connect_errno()) {
|
||||
printf("Falló en la conexion con la base de datos: %s\n",mysqli_connect_error());
|
||||
exit();
|
||||
}
|
||||
|
||||
if (!function_exists('ejecutarConsulta')) {
|
||||
|
||||
Function ejecutarConsulta($sql){
|
||||
global $conexion;
|
||||
$query=$conexion->query($sql);
|
||||
return $query;
|
||||
}
|
||||
|
||||
function ejecutarConsultaArray($sql) {
|
||||
global $conexion;
|
||||
$result = $conexion->query($sql);
|
||||
return $result->fetch_all(MYSQLI_ASSOC);
|
||||
}
|
||||
|
||||
function ejecutarConsultaSimpleFila($sql){
|
||||
global $conexion;
|
||||
$query=$conexion->query($sql);
|
||||
$row=$query->fetch_assoc();
|
||||
return $row;
|
||||
}
|
||||
function ejecutarConsulta_retornarID($sql){
|
||||
global $conexion;
|
||||
$query=$conexion->query($sql);
|
||||
return $conexion->insert_id;
|
||||
}
|
||||
|
||||
function limpiarCadena($str){
|
||||
global $conexion;
|
||||
$str=mysqli_real_escape_string($conexion,trim($str));
|
||||
return htmlspecialchars($str);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
19
config/global.php
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
<?php
|
||||
//ip de la pc servidor base de datos
|
||||
define("DB_HOST", "localhost");
|
||||
|
||||
// nombre de la base de datos
|
||||
define("DB_NAME", "dbsistema");
|
||||
|
||||
//nombre de usuario de base de datos
|
||||
define("DB_USERNAME", "root");
|
||||
|
||||
//conraseña del usuario de base de datos
|
||||
define("DB_PASSWORD", "");
|
||||
|
||||
//codificacion de caracteres
|
||||
define("DB_ENCODE", "utf8");
|
||||
|
||||
//nombre del proyecto
|
||||
define("PRO_NOMBRE", "Inventario RoboTec");
|
||||
?>
|
||||
BIN
files/articulos/1732047531.jpg
Normal file
|
After Width: | Height: | Size: 177 KiB |
BIN
files/articulos/1732047686.jpg
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
files/articulos/1732054664.jpg
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
files/articulos/1732055187.jpg
Normal file
|
After Width: | Height: | Size: 2.0 KiB |
BIN
files/articulos/1732058603.jpg
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
files/articulos/1732064839.jpg
Normal file
|
After Width: | Height: | Size: 2.3 KiB |
BIN
files/articulos/1732064910.jpg
Normal file
|
After Width: | Height: | Size: 2.4 KiB |
BIN
files/articulos/1732081912.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
files/articulos/1732081957.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
files/articulos/1732081995.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
files/articulos/1732082044.jpg
Normal file
|
After Width: | Height: | Size: 2.7 KiB |
BIN
files/articulos/1732082287.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
files/articulos/1732082393.jpg
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
files/articulos/1732082402.jpg
Normal file
|
After Width: | Height: | Size: 4.7 KiB |
BIN
files/articulos/1732082428.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
files/articulos/1732082570.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
files/articulos/1732082666.jpg
Normal file
|
After Width: | Height: | Size: 4.8 KiB |
BIN
files/articulos/1732082905.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
files/articulos/1732082926.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
files/articulos/1732083005.jpg
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
files/articulos/1732083249.jpg
Normal file
|
After Width: | Height: | Size: 6.2 KiB |
BIN
files/articulos/1732083401.jpg
Normal file
|
After Width: | Height: | Size: 7.4 KiB |
BIN
files/articulos/1732083479.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
files/articulos/1732083558.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
files/articulos/1732083579.jpg
Normal file
|
After Width: | Height: | Size: 5.8 KiB |
BIN
files/articulos/1732083707.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083752.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083771.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083795.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083809.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083819.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083830.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083861.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083885.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732083904.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732084019.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732084053.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732084081.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117519.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117531.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117546.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117560.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117572.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117585.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117599.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117612.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117622.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117638.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117665.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117675.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117686.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117700.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117712.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117728.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117755.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117771.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117780.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117792.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117805.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732117821.jpg
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
files/articulos/1732118068.jpg
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
files/articulos/1732118175.jpg
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
files/articulos/1732118612.jpg
Normal file
|
After Width: | Height: | Size: 3.9 KiB |
BIN
files/articulos/1732118877.jpg
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
files/articulos/1732118894.jpg
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
files/articulos/1732118917.jpg
Normal file
|
After Width: | Height: | Size: 5.4 KiB |
BIN
files/articulos/1732119000.jpg
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
files/articulos/1732119108.jpg
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
files/articulos/1732119126.jpg
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
files/articulos/1732119567.jpg
Normal file
|
After Width: | Height: | Size: 4.3 KiB |
BIN
files/articulos/1732119705.jpg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
files/articulos/1732124361.jpg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
files/articulos/1732124389.jpg
Normal file
|
After Width: | Height: | Size: 5.3 KiB |
BIN
files/articulos/1732124461.jpg
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
files/articulos/1732124534.jpg
Normal file
|
After Width: | Height: | Size: 7.3 KiB |
BIN
files/articulos/1732124606.jpg
Normal file
|
After Width: | Height: | Size: 6.4 KiB |
BIN
files/articulos/1732124667.jpg
Normal file
|
After Width: | Height: | Size: 5.9 KiB |
BIN
files/articulos/1732124760.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
files/articulos/1732124778.jpg
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
files/articulos/1732124861.jpg
Normal file
|
After Width: | Height: | Size: 9.0 KiB |
BIN
files/articulos/1732125239.jpg
Normal file
|
After Width: | Height: | Size: 8.5 KiB |
BIN
files/articulos/1732125311.jpg
Normal file
|
After Width: | Height: | Size: 4.5 KiB |
BIN
files/articulos/1732125898.jpg
Normal file
|
After Width: | Height: | Size: 1.8 KiB |
BIN
files/articulos/1732126025.jpg
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
files/articulos/1732126098.jpg
Normal file
|
After Width: | Height: | Size: 4.2 KiB |
BIN
files/articulos/1732126232.jpg
Normal file
|
After Width: | Height: | Size: 3.5 KiB |
BIN
files/articulos/1732126324.jpg
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
files/articulos/1732126409.jpg
Normal file
|
After Width: | Height: | Size: 5.2 KiB |
BIN
files/articulos/1732126453.jpg
Normal file
|
After Width: | Height: | Size: 3.0 KiB |
BIN
files/articulos/1732126495.jpg
Normal file
|
After Width: | Height: | Size: 3.0 KiB |