|
|
@@ -0,0 +1,875 @@
|
|
|
+<?php
|
|
|
+
|
|
|
+ $strModulo = 'detalles';
|
|
|
+
|
|
|
+ $CT_recibido = $_GET['ct'];
|
|
|
+ $maq_recibido = $_GET['maq'];
|
|
|
+
|
|
|
+ $url = 'https://www.solerpalau.mx/plantasyp/datosPlanta.php?ct='.$CT_recibido.'&maq='.$maq_recibido;
|
|
|
+ $opciones = array('http' =>
|
|
|
+ array(
|
|
|
+ 'method' => 'GET',
|
|
|
+ 'max_redirects' => '0',
|
|
|
+ 'ignore_errors' => '1'
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ /*Ordenes de trabajo*/
|
|
|
+ $strDatos = "";
|
|
|
+ $linkStr = __FILE__;
|
|
|
+ $linkArr = explode("/", $linkStr);
|
|
|
+ $link = end($linkArr) . "?ct=" . $CT_recibido . "&maq=" . $maq_recibido;
|
|
|
+ if($maq_recibido == "315_0"){
|
|
|
+ $strDatos .= "[ \n";
|
|
|
+ $strDatos .= "{ id: 'BI001', CentroDeTrabajo: 'Centro de Trabajo #315', Maquina: 'Rechazadora', NumOrden: '0100', FechaOrden: '22/10/2021' }, \n";
|
|
|
+ $strDatos .= "{ id: 'BI004', CentroDeTrabajo: 'Centro de Trabajo #315', Maquina: 'Rechazadora', NumOrden: '0080', FechaOrden: '01/09/2021' }, \n";
|
|
|
+ $strDatos .= "]; \n";
|
|
|
+ }else if($maq_recibido == "613_0"){
|
|
|
+ $strDatos .= "[ \n";
|
|
|
+ $strDatos .= "{ id: 'BI002', CentroDeTrabajo: 'Centro de Trabajo #613', Maquina: 'Paneladora', NumOrden: '0098', FechaOrden: '18/10/2021' }, \n";
|
|
|
+ $strDatos .= "{ id: 'BI003', CentroDeTrabajo: 'Centro de Trabajo #613', Maquina: 'Paneladora', NumOrden: '0095', FechaOrden: '05/09/2021' }, \n";
|
|
|
+ $strDatos .= "{ id: 'BI005', CentroDeTrabajo: 'Centro de Trabajo #613', Maquina: 'Paneladora', NumOrden: '0075', FechaOrden: '29/08/2021' }, \n";
|
|
|
+ $strDatos .= "]; \n";
|
|
|
+ }else if($maq_recibido == "023_0"){
|
|
|
+ $strDatos .= "[ \n";
|
|
|
+ $strDatos .= "{ id: 'BI006', CentroDeTrabajo: 'Centro de Trabajo #023', Maquina: 'Punzonadora', NumOrden: '0065', FechaOrden: '17/08/2021' }, \n";
|
|
|
+ $strDatos .= "]; \n";
|
|
|
+ }else{
|
|
|
+ $strDatos .= "[]; \n";
|
|
|
+ }
|
|
|
+ /*Fin ordenes de trabajo*/
|
|
|
+
|
|
|
+
|
|
|
+ $contexto = stream_context_create($opciones);
|
|
|
+ $flujo = fopen($url, 'r', false, $contexto);
|
|
|
+ $arrResultadoPeticion = json_decode(stream_get_contents($flujo), true);
|
|
|
+
|
|
|
+ $nombreMaquina = '';
|
|
|
+ $carpetaImagenesMaquinaria = '';
|
|
|
+ $carpetaPdfs = '';
|
|
|
+ $infoGral = '';
|
|
|
+ foreach ($arrResultadoPeticion['datosRespuesta'] as $idCentroT => $arrData){
|
|
|
+ foreach ($arrData['maquinas'] as $clave => $valor){
|
|
|
+ $nombreMaquina = $arrData['maquinas'][$clave]['nombre'];
|
|
|
+ $carpetaImagenesMaquinaria = $arrData['maquinas'][$clave]['carpetaImagenesMaquinaria'];
|
|
|
+ $infoGral = $arrData['maquinas'][$clave]['descripcion'];
|
|
|
+ $carpetaPdfs = $arrData['maquinas'][$clave]['carpetaPdfs'];
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Creamos los elementos para el "carousel" de imágenes
|
|
|
+ $div_carousel_indicators = '';
|
|
|
+ $imagenes_carousel = '';
|
|
|
+ $contador_carousel = 0;
|
|
|
+ if(!empty($carpetaImagenesMaquinaria)){
|
|
|
+ $rutaBusqueda = 'css/layout/site/imgPlanta/maquinas/'.$carpetaImagenesMaquinaria;
|
|
|
+ if(file_exists($rutaBusqueda)){
|
|
|
+ if($directorio = opendir($rutaBusqueda)){
|
|
|
+ while ($archivo = readdir($directorio)){
|
|
|
+ if (!is_dir($archivo)){
|
|
|
+ if (($archivo != ".") && ($archivo != "..")) {
|
|
|
+ $arrArchivo = explode('_', $archivo);
|
|
|
+ if(strpos($arrArchivo[1], 'principal') === false){
|
|
|
+ $rutaImg = $rutaBusqueda.'/'.$archivo;
|
|
|
+ $clase1 = '';
|
|
|
+ if($contador_carousel == 0){
|
|
|
+ $clase1 = 'active';
|
|
|
+ }
|
|
|
+ $div_carousel_indicators .= '<button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="'.$contador_carousel.'" class="'.$clase1.' btn-carrusel" aria-current="true" aria-label="Slide '.($contador_carousel+1).'"></button>';
|
|
|
+ $imagenes_carousel .= '<div class="carousel-item '.$clase1.'">';
|
|
|
+ $imagenes_carousel .= '<img src="'.$rutaImg.'" class="d-block w-100" alt="...">';
|
|
|
+ $imagenes_carousel .= '</div>';
|
|
|
+ $contador_carousel++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // Elementos para los Datos Generales
|
|
|
+ $strTbodyEspecificaciones = '';
|
|
|
+ $arrEspecificaciones = array();
|
|
|
+ $arrTextoCol2 = array();
|
|
|
+ // Rechazadora
|
|
|
+ $arrTextoCol2['315'] = 'Rechazadora TLA 550';
|
|
|
+ $arrEspecificaciones['315'][0]['col1'] = 'Espesor AL';
|
|
|
+ $arrEspecificaciones['315'][1]['col1'] = 'Espesor FE';
|
|
|
+ $arrEspecificaciones['315'][2]['col1'] = 'Espesor INOX';
|
|
|
+ $arrEspecificaciones['315'][3]['col1'] = 'Altura puntas';
|
|
|
+ $arrEspecificaciones['315'][4]['col1'] = 'Distancia entre puntas';
|
|
|
+ $arrEspecificaciones['315'][5]['col1'] = 'Velocidad';
|
|
|
+ $arrEspecificaciones['315'][6]['col1'] = 'Empuje';
|
|
|
+ $arrEspecificaciones['315'][7]['col1'] = 'Potencia';
|
|
|
+ $arrEspecificaciones['315'][8]['col1'] = 'Peso';
|
|
|
+ $arrEspecificaciones['315'][0]['col2'] = '5 mm';
|
|
|
+ $arrEspecificaciones['315'][1]['col2'] = '3.5 mm';
|
|
|
+ $arrEspecificaciones['315'][2]['col2'] = '2.2 mm';
|
|
|
+ $arrEspecificaciones['315'][3]['col2'] = '550 mm';
|
|
|
+ $arrEspecificaciones['315'][4]['col2'] = '1150 mm';
|
|
|
+ $arrEspecificaciones['315'][5]['col2'] = '0 1600 m/min';
|
|
|
+ $arrEspecificaciones['315'][6]['col2'] = '1200 kg';
|
|
|
+ $arrEspecificaciones['315'][7]['col2'] = '16 KW';
|
|
|
+ $arrEspecificaciones['315'][8]['col2'] = '3200 kg';
|
|
|
+ // Maquina Láser
|
|
|
+ $arrTextoCol2['316'] = 'Maquina Láser Amada LC 2415';
|
|
|
+ $arrEspecificaciones['316'][0]['col1'] = 'Área de trabajo';
|
|
|
+ $arrEspecificaciones['316'][1]['col1'] = 'Carrera (eje X / Y / Z)';
|
|
|
+ $arrEspecificaciones['316'][2]['col1'] = 'Precisión de posicionamiento';
|
|
|
+ $arrEspecificaciones['316'][3]['col1'] = 'Precisión de reposicionamiento';
|
|
|
+ $arrEspecificaciones['316'][4]['col1'] = 'Velocidad máxima de movimiento';
|
|
|
+ $arrEspecificaciones['316'][5]['col1'] = 'Aceleración máxima';
|
|
|
+ $arrEspecificaciones['316'][6]['col1'] = 'Poder de láser';
|
|
|
+ $arrEspecificaciones['316'][7]['col1'] = 'Peso máximo de carga';
|
|
|
+ $arrEspecificaciones['316'][8]['col1'] = 'Dimensiones generales';
|
|
|
+ $arrEspecificaciones['316'][0]['col2'] = '300mm * 1500mm';
|
|
|
+ $arrEspecificaciones['316'][1]['col2'] = '1525mm / 3025mm / 150mm';
|
|
|
+ $arrEspecificaciones['316'][2]['col2'] = '± 0,03 mm / m';
|
|
|
+ $arrEspecificaciones['316'][3]['col2'] = '± 0,03 mm';
|
|
|
+ $arrEspecificaciones['316'][4]['col2'] = '140 m / min';
|
|
|
+ $arrEspecificaciones['316'][5]['col2'] = '1.5G';
|
|
|
+ $arrEspecificaciones['316'][6]['col2'] = '1.5KW ~ 4KW';
|
|
|
+ $arrEspecificaciones['316'][7]['col2'] = '700KG';
|
|
|
+ $arrEspecificaciones['316'][8]['col2'] = '4900 × 2250 × 1700 mm';
|
|
|
+ // Balanceadora
|
|
|
+ $arrTextoCol2['559'] = 'Balanceadora Hofmann CVW - B';
|
|
|
+ $arrEspecificaciones['559'][0]['col1'] = 'Peso máximo (kg)';
|
|
|
+ $arrEspecificaciones['559'][1]['col1'] = 'Comp. Cama (mm)';
|
|
|
+ $arrEspecificaciones['559'][2]['col1'] = 'Rotor';
|
|
|
+ $arrEspecificaciones['559'][3]['col1'] = 'Hoja de balance (RPM)';
|
|
|
+ $arrEspecificaciones['559'][4]['col1'] = 'Desencadenar (CV)';
|
|
|
+ $arrEspecificaciones['559'][5]['col1'] = 'Cardán (CV)';
|
|
|
+ $arrEspecificaciones['559'][6]['col1'] = 'Planos de compensación';
|
|
|
+ $arrEspecificaciones['559'][7]['col1'] = 'Accionado';
|
|
|
+ $arrEspecificaciones['559'][8]['col1'] = 'Medición computarizada';
|
|
|
+ $arrEspecificaciones['559'][0]['col2'] = '15,500';
|
|
|
+ $arrEspecificaciones['559'][1]['col2'] = '3000';
|
|
|
+ $arrEspecificaciones['559'][2]['col2'] = '2400';
|
|
|
+ $arrEspecificaciones['559'][3]['col2'] = '300 - 1500';
|
|
|
+ $arrEspecificaciones['559'][4]['col2'] = '30,0';
|
|
|
+ $arrEspecificaciones['559'][5]['col2'] = '50';
|
|
|
+ $arrEspecificaciones['559'][6]['col2'] = '2,3';
|
|
|
+ $arrEspecificaciones['559'][7]['col2'] = 'Correa, Cardán o ambos';
|
|
|
+ $arrEspecificaciones['559'][8]['col2'] = 'Balsis 3.0';
|
|
|
+ // Dobladora Amada
|
|
|
+ $arrTextoCol2['606'] = 'Dobladora Amada HG-1303';
|
|
|
+ $arrEspecificaciones['606'][0]['col1'] = 'Peso máximo';
|
|
|
+ $arrEspecificaciones['606'][1]['col1'] = 'Peso de la maquina';
|
|
|
+ $arrEspecificaciones['606'][2]['col1'] = 'Entre columnas';
|
|
|
+ $arrEspecificaciones['606'][3]['col1'] = 'Longitud OA (en Total))';
|
|
|
+ $arrEspecificaciones['606'][4]['col1'] = 'Control';
|
|
|
+ $arrEspecificaciones['606'][5]['col1'] = 'Repetibilidad';
|
|
|
+ $arrEspecificaciones['606'][6]['col1'] = 'Accionamiento';
|
|
|
+ $arrEspecificaciones['606'][7]['col1'] = 'Longitud máxima de flexión';
|
|
|
+ $arrEspecificaciones['606'][8]['col1'] = 'Distancia entre marcos laterales';
|
|
|
+ $arrEspecificaciones['606'][9]['col1'] = 'Longitud Total';
|
|
|
+ $arrEspecificaciones['606'][10]['col1'] = 'Altura total';
|
|
|
+ $arrEspecificaciones['606'][0]['col2'] = '55 toneladas';
|
|
|
+ $arrEspecificaciones['606'][1]['col2'] = '7,940 Lbs.';
|
|
|
+ $arrEspecificaciones['606'][2]['col2'] = '2.7 m';
|
|
|
+ $arrEspecificaciones['606'][3]['col2'] = '3.1 m';
|
|
|
+ $arrEspecificaciones['606'][4]['col2'] = 'CNC (AMNC3i)';
|
|
|
+ $arrEspecificaciones['606'][5]['col2'] = '0.00004" (±0.001016 mm)';
|
|
|
+ $arrEspecificaciones['606'][6]['col2'] = 'Híbrido';
|
|
|
+ $arrEspecificaciones['606'][7]['col2'] = '82.1';
|
|
|
+ $arrEspecificaciones['606'][8]['col2'] = '59.93';
|
|
|
+ $arrEspecificaciones['606'][9]['col2'] = '89.00”';
|
|
|
+ $arrEspecificaciones['606'][10]['col2'] = '76.00”';
|
|
|
+ // Paneladora Salvagnini
|
|
|
+ $arrTextoCol2['613'] = 'Paneladora Salvagnini P22116';
|
|
|
+ $arrEspecificaciones['613'][0]['col1'] = 'Longitud máxima formato en entrada (mm)';
|
|
|
+ $arrEspecificaciones['613'][1]['col1'] = 'Anchura máxima formato en entrada (mm)';
|
|
|
+ $arrEspecificaciones['613'][2]['col1'] = 'Diagonal máxima de giro (mm)';
|
|
|
+ $arrEspecificaciones['613'][3]['col1'] = 'Fuerza máxima de plegado (cuchillas) (kN)';
|
|
|
+ $arrEspecificaciones['613'][4]['col1'] = 'Fuerza máxima de fijación (kN)';
|
|
|
+ $arrEspecificaciones['613'][5]['col1'] = 'Longitud máxima de plegado (mm)';
|
|
|
+ $arrEspecificaciones['613'][6]['col1'] = 'Altura máxima de plegado (mm)';
|
|
|
+ $arrEspecificaciones['613'][7]['col1'] = 'Espesor mínimo (mm)';
|
|
|
+ $arrEspecificaciones['613'][8]['col1'] = 'Espesor máximo y ángulo de plegado acero, UTS 410 N/mm2 (mm)';
|
|
|
+ $arrEspecificaciones['613'][9]['col1'] = 'Espesor máximo y ángulo de plegado acero inoxidable, UTS 660 N/mm2 (mm)';
|
|
|
+ $arrEspecificaciones['613'][10]['col1'] = 'Espesor máximo y ángulo de plegado aluminio, UTS 265 N/mm2 (mm)';
|
|
|
+ $arrEspecificaciones['613'][11]['col1'] = 'Consumo medio (kW)';
|
|
|
+ $arrEspecificaciones['613'][12]['col1'] = 'Nivel de ruido (Directiva de Máquinas 2006/42/CE) (dB)';
|
|
|
+ $arrEspecificaciones['613'][0]['col2'] = '2495';
|
|
|
+ $arrEspecificaciones['613'][1]['col2'] = '1600';
|
|
|
+ $arrEspecificaciones['613'][2]['col2'] = '2500';
|
|
|
+ $arrEspecificaciones['613'][3]['col2'] = '330';
|
|
|
+ $arrEspecificaciones['613'][4]['col2'] = '530';
|
|
|
+ $arrEspecificaciones['613'][5]['col2'] = '2180';
|
|
|
+ $arrEspecificaciones['613'][6]['col2'] = '165';
|
|
|
+ $arrEspecificaciones['613'][7]['col2'] = '0.4';
|
|
|
+ $arrEspecificaciones['613'][8]['col2'] = '3.2 (±90°)<br>2.5 (±120°)<br>2.1 (±135°)';
|
|
|
+ $arrEspecificaciones['613'][9]['col2'] = '2.5 (±90°)<br>2.1 (±120°)<br>1.6 (±130°)';
|
|
|
+ $arrEspecificaciones['613'][10]['col2'] = '4.0 (±120°)<br>3.5 (±130°)';
|
|
|
+ $arrEspecificaciones['613'][11]['col2'] = '3.0';
|
|
|
+ $arrEspecificaciones['613'][12]['col2'] = '68';
|
|
|
+ // Punzadora
|
|
|
+ $arrTextoCol2['023'] = 'Punzadora AE 610';
|
|
|
+ $arrEspecificaciones['023'][0]['col1'] = 'Capacidad de prensa (KN)';
|
|
|
+ $arrEspecificaciones['023'][1]['col1'] = 'Precisión de posicionamiento (mm)';
|
|
|
+ $arrEspecificaciones['023'][2]['col1'] = 'Número de estaciones';
|
|
|
+ $arrEspecificaciones['023'][3]['col1'] = 'Bastidor de la máquina';
|
|
|
+ $arrEspecificaciones['023'][4]['col1'] = 'Distancia de recorrido del eje (mm)';
|
|
|
+ $arrEspecificaciones['023'][5]['col1'] = 'Longitud';
|
|
|
+ $arrEspecificaciones['023'][6]['col1'] = 'Anchura';
|
|
|
+ $arrEspecificaciones['023'][7]['col1'] = 'Altura';
|
|
|
+ $arrEspecificaciones['023'][8]['col1'] = 'Peso';
|
|
|
+ $arrEspecificaciones['023'][0]['col2'] = '200';
|
|
|
+ $arrEspecificaciones['023'][1]['col2'] = '± 0.1';
|
|
|
+ $arrEspecificaciones['023'][2]['col2'] = '45';
|
|
|
+ $arrEspecificaciones['023'][3]['col2'] = 'Marco de puente';
|
|
|
+ $arrEspecificaciones['023'][4]['col2'] = '2500x 1525';
|
|
|
+ $arrEspecificaciones['023'][5]['col2'] = '4998';
|
|
|
+ $arrEspecificaciones['023'][6]['col2'] = '5120';
|
|
|
+ $arrEspecificaciones['023'][7]['col2'] = '2265';
|
|
|
+ $arrEspecificaciones['023'][8]['col2'] = '13800';
|
|
|
+
|
|
|
+ $arrColores = array();
|
|
|
+ $arrColores['315']['estadoGral'] = 'color-perso';
|
|
|
+ $arrColores['315']['ciclo'] = 'color-perso';
|
|
|
+ $arrColores['315']['edoRefa'] = 'color-perso';
|
|
|
+
|
|
|
+ $arrColores['316']['estadoGral'] = 'color-perso';
|
|
|
+ $arrColores['316']['ciclo'] = 'color-perso';
|
|
|
+ $arrColores['316']['edoRefa'] = 'color-perso';
|
|
|
+
|
|
|
+ $arrColores['559']['estadoGral'] = 'color-perso';
|
|
|
+ $arrColores['559']['ciclo'] = 'color-perso';
|
|
|
+ $arrColores['559']['edoRefa'] = 'color-perso';
|
|
|
+
|
|
|
+ $arrColores['606']['estadoGral'] = 'color-perso';
|
|
|
+ $arrColores['606']['ciclo'] = 'color-perso';
|
|
|
+ $arrColores['606']['edoRefa'] = 'color-perso';
|
|
|
+
|
|
|
+ $arrColores['613']['estadoGral'] = 'color-perso';
|
|
|
+ $arrColores['613']['ciclo'] = 'color-perso';
|
|
|
+ $arrColores['613']['edoRefa'] = 'color-perso';
|
|
|
+
|
|
|
+ $arrColores['023']['estadoGral'] = 'color-perso';
|
|
|
+ $arrColores['023']['ciclo'] = 'bg-danger';
|
|
|
+ $arrColores['023']['edoRefa'] = 'bg-warning';
|
|
|
+
|
|
|
+ /* Atrasado - rojo && Sin Inventarios -> Amarillo */
|
|
|
+ // Operativa
|
|
|
+ // Al corriente
|
|
|
+ // Disponibles
|
|
|
+
|
|
|
+ $arrTextos = array();
|
|
|
+ $arrTextos['color-perso'] = 'estadoGral';
|
|
|
+ $arrTextos['bg-danger'] = 'Atrasado';
|
|
|
+ $arrTextos['bg-warning'] = 'Sin Inventarios';
|
|
|
+
|
|
|
+
|
|
|
+ //if($arrColores[$CT_recibido]['estadoGral'] == 'color-perso'){
|
|
|
+ $texto1 = 'Operativa';
|
|
|
+ //}
|
|
|
+
|
|
|
+ if($arrColores[$CT_recibido]['ciclo'] == 'color-perso'){
|
|
|
+ $texto2 = 'Al Corriente';
|
|
|
+ }elseif ($arrColores[$CT_recibido]['ciclo'] == 'bg-danger'){
|
|
|
+ $texto2 = 'Atrasado';
|
|
|
+ }
|
|
|
+
|
|
|
+ if($arrColores[$CT_recibido]['edoRefa'] == 'color-perso'){
|
|
|
+ $texto3 = 'Disponible';
|
|
|
+ }elseif ($arrColores[$CT_recibido]['edoRefa'] == 'bg-warning'){
|
|
|
+ $texto3 = 'Sin Inventario';
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ $numRow = 1;
|
|
|
+ foreach ($arrEspecificaciones[$CT_recibido] as $clave => $arrDetalles){
|
|
|
+ $c1 = $arrDetalles['col1'];
|
|
|
+ $c2 = $arrDetalles['col2'];
|
|
|
+ $strTbodyEspecificaciones .= '<tr>';
|
|
|
+ $strTbodyEspecificaciones .= '<th scope="row">'.$numRow.'</th>';
|
|
|
+ $strTbodyEspecificaciones .= '<td>'.$c1.'</td>';
|
|
|
+ $strTbodyEspecificaciones .= '<td>'.$c2.'</td>';
|
|
|
+ $strTbodyEspecificaciones .= '</tr>';
|
|
|
+ $numRow++;
|
|
|
+ }
|
|
|
+
|
|
|
+ // Creamos los elementos para Documentos Electrónicos
|
|
|
+ $tbodyPdfs = '';
|
|
|
+ $contadorArchivos = 1;
|
|
|
+ if(!empty($carpetaPdfs)){
|
|
|
+ if(file_exists($carpetaPdfs)){
|
|
|
+ if($directorio = opendir($carpetaPdfs)){
|
|
|
+ while ($archivo = readdir($directorio)){
|
|
|
+ if (!is_dir($archivo)){
|
|
|
+ if (($archivo != ".") && ($archivo != "..")) {
|
|
|
+ //echo $archivo.'<br>';
|
|
|
+ $tbodyPdfs .= '<tr>';
|
|
|
+ $tbodyPdfs .= '<td class="celdaTabla"> </td>';
|
|
|
+ $tbodyPdfs .= '<td class="celdaTabla">'.$contadorArchivos.'</td>';
|
|
|
+ $tbodyPdfs .= '<td class="celdaTabla">'.$archivo.'</td>';
|
|
|
+
|
|
|
+ $tbodyPdfs .= '<td class="celdaTabla">';
|
|
|
+ $rutaPDF = $carpetaPdfs.$archivo;
|
|
|
+ $tbodyPdfs .= '<button id="btnP' . $contadorArchivos . '" data-dojo-type="dijit/form/Button" type="button" ';
|
|
|
+ $tbodyPdfs .= 'data-dojo-props="showLabel:true,iconClass:\'dijitIttecPdf\'" ';
|
|
|
+ $tbodyPdfs .= 'onclick="descargar(\'' . base64_encode($rutaPDF) . '\', \'PDF\')">Descargar PDF</button>';
|
|
|
+ $tbodyPdfs .= '</td>';
|
|
|
+
|
|
|
+ $tbodyPdfs .= '<td class="celdaTabla"> </td>';
|
|
|
+ $tbodyPdfs .= '</tr>';
|
|
|
+ $contadorArchivos++;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+$textoCol2 = $arrTextoCol2[$CT_recibido];
|
|
|
+$titulo = $nombreMaquina . ' (Centro de Trabajo '.$CT_recibido.')';
|
|
|
+
|
|
|
+if(empty($tbodyPdfs)){
|
|
|
+ $tbodyPdfs = '<td width="100%" colspan="20" class="celdaTabla" style="text-align:center;font-weight:bold;padding:8px;">Usted no cuenta con los permisos necesarios.</td>';
|
|
|
+}
|
|
|
+
|
|
|
+?>
|
|
|
+
|
|
|
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
|
+<html xmlns="http://www.w3.org/1999/xhtml">
|
|
|
+<head>
|
|
|
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
+<meta http-equiv="imagetoolbar" content="no" />
|
|
|
+<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Poppins:400,500,700,300,600">
|
|
|
+<link rel="stylesheet" type="text/css" href="//fonts.googleapis.com/css?family=Open+Sans">
|
|
|
+<link media="screen" rel="stylesheet" type="text/css" href="css/principal.css" />
|
|
|
+<!--<link media="screen" rel="stylesheet" type="text/css" href="css/pagination.css" />--> <!--Paginador-->
|
|
|
+ <link rel="shortcut icon" type="image/x-icon" href="css/layout/global/sp.ico" />
|
|
|
+ <link media="screen" rel="stylesheet" type="text/css" href="css/chunk-vendors.3b8eb8e0.css" /> <!--CSS de los rectangulos-->
|
|
|
+
|
|
|
+ <link rel="stylesheet" href="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dijit/themes/claro/claro.css">
|
|
|
+ <link rel="stylesheet" href="css/carrusel.css">
|
|
|
+ <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
|
|
|
+ <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
|
|
|
+ <script src="//ajax.googleapis.com/ajax/libs/dojo/1.14.1/dojo/dojo.js" data-dojo-config="async: true, parseOnLoad:true"></script>
|
|
|
+
|
|
|
+ <!--<script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.2/jquery.min.js'></script>-->
|
|
|
+
|
|
|
+ <style type="text/css">
|
|
|
+ /* Estilos para el DataGrid */
|
|
|
+ @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/resources/claroGrid.css";
|
|
|
+ @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/resources/dojo.css";
|
|
|
+ @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/claro.css";
|
|
|
+ @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dijit/themes/claro/document.css";
|
|
|
+ @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/enhanced/resources/claro/EnhancedGrid.css";
|
|
|
+ @import "//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojox/grid/enhanced/resources/EnhancedGrid_rtl.css";
|
|
|
+ #Grid_MantoPreventivo, #Grid_Refacciones {
|
|
|
+ height: 400px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .btn-carrusel:focus{outline:none !important;}
|
|
|
+
|
|
|
+ .card {
|
|
|
+ position:relative;
|
|
|
+ display:flex;
|
|
|
+ flex-direction:column;
|
|
|
+ min-width:0;
|
|
|
+ word-wrap:break-word;
|
|
|
+ background-color:#fff;
|
|
|
+ background-clip:border-box;
|
|
|
+ border:1px solid rgba(0,0,0,.125);
|
|
|
+ border-radius:.25rem
|
|
|
+ }
|
|
|
+ .color-perso{
|
|
|
+ background-color: #1e9e20 !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .color-dataGral{
|
|
|
+ background-color: rgba(250,245,250,0.5);
|
|
|
+ }
|
|
|
+
|
|
|
+ .padre{
|
|
|
+ width: 100%;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ .carousel-perso{
|
|
|
+ margin: 0 100px 0 100px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ .dijitIttecPdf {
|
|
|
+ background-image: url("css/layout/site/lsPDF.gif");
|
|
|
+ background-position: 1px;
|
|
|
+ background-repeat: no-repeat;
|
|
|
+ width: 14px;
|
|
|
+ height: 14px;
|
|
|
+ }
|
|
|
+
|
|
|
+ </style>
|
|
|
+
|
|
|
+ <script type="application/javascript">
|
|
|
+ // Cargamos los complementos de dojo
|
|
|
+ require(["dojo/dom", "dojo/_base/fx", "dojo/_base/array", "dojo/query", "dojo/dom-construct", "dijit/registry", "dojo/dom-style", "dojo/ready", "dojo/on", "dojo/window",
|
|
|
+ "dojo/store/Memory", "dijit/form/FilteringSelect", "dijit/form/Button", "dojo/dom-class", "dijit/Dialog",
|
|
|
+ "dojo/_base/lang", "dojox/grid/DataGrid", "dojo/data/ItemFileWriteStore", "dojox/grid/enhanced/plugins/DnD", "dojox/grid/EnhancedGrid", "dojox/grid/enhanced/plugins/Selector", "dojox/grid/enhanced/plugins/IndirectSelection", "dojox/grid/enhanced/plugins/NestedSorting",
|
|
|
+ "dijit/ProgressBar", "dijit/ConfirmDialog", "dojo/dom-style", "dijit/form/ComboButton", "dijit/Menu", "dijit/MenuItem", "dijit/MenuSeparator", "dijit/Tooltip", "dijit/form/Form", "dijit/form/TextBox",
|
|
|
+ "dojox/grid/enhanced/plugins/Filter", "dijit/form/ValidationTextBox", "dijit/form/NumberSpinner", "dojo/request", "dojo/parser"],
|
|
|
+ function(dom, fx, array, query, domConstruct, dijit, style, ready, on, win,
|
|
|
+ Memory, FilteringSelect, Button, domClass, Dialog,
|
|
|
+ lang, DataGrid, ItemFileWriteStore, DnDConfig, EnhancedGrid, Selector, indirectSelection, nestedSorting,
|
|
|
+ ProgressBar, ConfirmDialog, style, ComboButton, Menu, MenuItem, MenuSeparator, Tooltip, Form, TextBox, filter, ValidationTextBox, NumberSpinner, request) {
|
|
|
+
|
|
|
+ const idModulo = "<?php echo($strModulo);?>";
|
|
|
+ const CT_recibido = "<?php echo($CT_recibido); ?>";
|
|
|
+ const maq_recibido = "<?php echo($maq_recibido); ?>";
|
|
|
+
|
|
|
+ /*Datos ordenes de trabajo*/
|
|
|
+ const datos = <?php echo $strDatos; ?>
|
|
|
+
|
|
|
+ crearTabla = function (datos) {
|
|
|
+ domConstruct.empty('TBREGISTROS');
|
|
|
+ if (datos.length > 0) {
|
|
|
+ for (const key in datos) {
|
|
|
+ var trRegistro = domConstruct.create('tr', { class: '' }, 'TBREGISTROS');
|
|
|
+ var tdVacioInicio = domConstruct.create('td', { class: 'celdaTabla', innerHTML: '' }, trRegistro);
|
|
|
+ // Centro de Trabajo
|
|
|
+ var CentroDeTrabajo = datos[key]['CentroDeTrabajo'];
|
|
|
+ var tdCentroDeTrabajo = domConstruct.create('td', { class: 'celdaTabla', innerHTML: CentroDeTrabajo }, trRegistro);
|
|
|
+ // Máquina
|
|
|
+ var Maquina = datos[key]['Maquina'];
|
|
|
+ var tdMaquina = domConstruct.create('td', { class: 'celdaTabla', innerHTML: Maquina }, trRegistro);
|
|
|
+ // # De Orden
|
|
|
+ var NumOrden = datos[key]['NumOrden'];
|
|
|
+ var tdNumOrden = domConstruct.create('td', { class: 'celdaTabla', innerHTML: NumOrden }, trRegistro);
|
|
|
+ // Fecha de laOrden
|
|
|
+ var FechaOrden = datos[key]['FechaOrden'];
|
|
|
+ var tdFechaOrden = domConstruct.create('td', { class: 'celdaTabla', innerHTML: FechaOrden }, trRegistro);
|
|
|
+ // Acciones
|
|
|
+ var tdAcciones = domConstruct.create('td', { class: 'celdaTabla', innerHTML: '' }, trRegistro);
|
|
|
+ var btnPdf = domConstruct.create('button', { type: 'button' }, tdAcciones);
|
|
|
+ new Button({
|
|
|
+ label: 'Orden de Trabajo',
|
|
|
+ iconClass: 'dijitIconTask',
|
|
|
+ showLabel: false,
|
|
|
+ onClick: function () {
|
|
|
+ pdf(datos[key]['NumOrden']);
|
|
|
+ }
|
|
|
+ }, btnPdf).startup();
|
|
|
+ var btnAbrir = domConstruct.create('button', { type: 'button' }, tdAcciones);
|
|
|
+ new Button({
|
|
|
+ label: 'Revisar Archivo',
|
|
|
+ iconClass: 'dijitIconFolderOpen',
|
|
|
+ showLabel: false,
|
|
|
+ onClick: function () {
|
|
|
+ abrir(datos[key]['NumOrden']);
|
|
|
+ }
|
|
|
+ }, btnAbrir).startup();
|
|
|
+ var tdVacioFinal = domConstruct.create('td', { class: 'celdaTabla', innerHTML: '' }, trRegistro);
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+ var trRegistro = domConstruct.create('tr', { class: '', innerHTML: '<td width="100%" colspan="20" class="celdaTabla" style="text-align:center;font-weight:bold;padding:8px;">Usted no cuenta con los permisos necesarios.</td>' }, 'TBREGISTROS');
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ /**************************/
|
|
|
+
|
|
|
+ // Para Mostrar de Mensajes de "error o éxito"
|
|
|
+ var dgEjecuta = new Dialog({title: 'Procesando...', style: 'width:300px'});
|
|
|
+ var pbMarcar = new ProgressBar({value: Number.POSITIVE_INFINITY, layoutAlign: 'left'});
|
|
|
+ dgEjecuta.setContent(pbMarcar);
|
|
|
+ dgResultadoError = new ConfirmDialog({ title:"<b>Error</b>", style: "min-width:300px; heigth; auto" });
|
|
|
+ style.set(dgResultadoError.cancelButton.domNode, 'display', 'none');
|
|
|
+ dgResultadoExito = new ConfirmDialog({ title:"<b>Éxito</b>", style: "min-width:300px; heigth; auto" });
|
|
|
+ style.set(dgResultadoExito.cancelButton.domNode, 'display', 'none');
|
|
|
+
|
|
|
+
|
|
|
+ /****************************************************************** Botones ******************************************************************/
|
|
|
+
|
|
|
+
|
|
|
+ /****************************************************************** Acciones ******************************************************************/
|
|
|
+ descargar = function (ruta, opcion) {
|
|
|
+ dgEjecuta.set("title", "Descargando...");
|
|
|
+ dgEjecuta.show();
|
|
|
+
|
|
|
+ accion = "descargarArchivo";
|
|
|
+
|
|
|
+ request.post('descargarArchivos.php', {
|
|
|
+ data: {
|
|
|
+ accion: accion,
|
|
|
+ idModulo: idModulo,
|
|
|
+ ruta: ruta
|
|
|
+ }
|
|
|
+ }).then(
|
|
|
+ function(response) {
|
|
|
+ var objResponse = JSON.parse(response);
|
|
|
+ if(objResponse['estatus'] == "ERROR"){
|
|
|
+ dgEjecuta.hide();
|
|
|
+ dgResultadoError.setContent(objResponse['errorDescripcion']);
|
|
|
+ dgResultadoError.show();
|
|
|
+ }else{
|
|
|
+ var data = objResponse['data'];
|
|
|
+ var type = objResponse['type'];
|
|
|
+ var datosArchivoSalida = objResponse['type'] + objResponse['data'];
|
|
|
+ var nombreArchivoSalida = objResponse['fileName'];
|
|
|
+
|
|
|
+ if(navigator.msSaveBlob){ // Adaptación para IE
|
|
|
+ var blob = new Blob([s2ab(atob(data))],{
|
|
|
+ type: type
|
|
|
+ });
|
|
|
+ navigator.msSaveBlob(blob, nombreArchivoSalida);
|
|
|
+ dgEjecuta.hide();
|
|
|
+ }else{
|
|
|
+ // Creamos los elementos para descargar
|
|
|
+ var spanDescarga = domConstruct.toDom('<span>Para recuperar el archivo, haz click en el siguiente enlace: </span>');
|
|
|
+ domConstruct.place(spanDescarga, 'contenidoDescarga');
|
|
|
+
|
|
|
+ var tipo = accion;
|
|
|
+ var idElemento = "elementoA_"+tipo;
|
|
|
+ var linkDescarga = domConstruct.toDom('<a href="' + datosArchivoSalida + '" id="'+idElemento+'" download="' + nombreArchivoSalida + '">'+nombreArchivoSalida+'</a>');
|
|
|
+ domConstruct.place(linkDescarga, 'contenidoDescarga');
|
|
|
+
|
|
|
+ // Evento requerido para cuando no se ejecuta el evento click automáticamente (especialmente en dispositivos móviles)
|
|
|
+ var clickEjecutado = false;
|
|
|
+ on(linkDescarga, "click", function (evt) {
|
|
|
+ clickEjecutado = true;
|
|
|
+ spanDescarga.remove();
|
|
|
+ linkDescarga.remove();
|
|
|
+ divDescargas.hide();
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+ linkDescarga.click();
|
|
|
+ dgEjecuta.hide();
|
|
|
+
|
|
|
+ if(clickEjecutado == false){
|
|
|
+ var tituloDescarga = "<b>Descarga</b>";
|
|
|
+ divDescargas.set("title", tituloDescarga);
|
|
|
+ divDescargas.show();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+ cargarGrid = function (idGrid, ct, maq){
|
|
|
+ dgEjecuta.set("title", "Consultando...");
|
|
|
+ dgEjecuta.show();
|
|
|
+
|
|
|
+ var accion = "";
|
|
|
+ var resdatosRecibidos = "datosRespuesta";
|
|
|
+ var posicionDom = "";
|
|
|
+
|
|
|
+ if(idGrid == "id_Grid_MantoPreventivo"){
|
|
|
+ accion = "buscarMantoPreventivo";
|
|
|
+ posicionDom = "Grid_MantoPreventivo";
|
|
|
+ }else if(idGrid == "id_Grid_Refacciones"){
|
|
|
+ accion = "buscarRefacciones";
|
|
|
+ posicionDom = "Grid_Refacciones";
|
|
|
+ }
|
|
|
+
|
|
|
+ request.post("datosPlanta.php", {
|
|
|
+ data: {
|
|
|
+ accion: accion,
|
|
|
+ idModulo: idModulo,
|
|
|
+ ct: ct,
|
|
|
+ maq: maq
|
|
|
+ }
|
|
|
+ }).then(
|
|
|
+ function (response) {
|
|
|
+ var objResponse = JSON.parse(response);
|
|
|
+ if (objResponse['estatus'] == "ERROR") {
|
|
|
+ dgEjecuta.hide();
|
|
|
+ dgResultadoError.setContent(objResponse['errorDescripcion']);
|
|
|
+ dgResultadoError.show();
|
|
|
+ } else {
|
|
|
+ let datosRecibidos = objResponse[resdatosRecibidos];
|
|
|
+
|
|
|
+ // Configuramos el data store
|
|
|
+ var data = {
|
|
|
+ identifier: "id",
|
|
|
+ items: []
|
|
|
+ };
|
|
|
+
|
|
|
+ // Creamos la lista de objetos
|
|
|
+ var data_list = JSON.parse(datosRecibidos);
|
|
|
+
|
|
|
+ for(var i = 0, l = data_list.length; i < data_list.length; i++){
|
|
|
+ data.items.push(lang.mixin({ id: i+1 }, data_list[i%l]));
|
|
|
+ }
|
|
|
+ var store = new ItemFileWriteStore({data: data});
|
|
|
+
|
|
|
+ // Destruimos el dataGrid si ya existe
|
|
|
+ if (dijit.byId(idGrid)){
|
|
|
+ dijit.byId(idGrid).destroy();
|
|
|
+ }
|
|
|
+
|
|
|
+ if(idGrid == "id_Grid_MantoPreventivo"){
|
|
|
+ var estructuralayout = [[
|
|
|
+ /*{'name': 'Line Number', 'field': 'id', 'width': '80px', 'datatype':'number'},*/
|
|
|
+ {'name': 'Parte', 'field': 'parte', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Actividad', 'field': 'actividad', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Duración', 'field': 'duracion', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Prioridad', 'field': 'prioridad', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Tipo', 'field': 'tipo', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Clasificación 1', 'field': 'clasificacion', 'width': '250px', 'datatype':'string'}
|
|
|
+ ]];
|
|
|
+ }else if(idGrid == "id_Grid_Refacciones"){
|
|
|
+ var estructuralayout = [[
|
|
|
+ {'name': 'Máquina', 'field': 'maquina', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Refacción', 'field': 'refaccion', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Desgaste', 'field': 'desgaste', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Duración', 'field': 'duracion', 'width': '250px', 'datatype':'string'},
|
|
|
+ {'name': 'Próximo Pedido', 'field': 'proximoPedido', 'width': '250px', 'datatype':'string'}
|
|
|
+ ]];
|
|
|
+ }
|
|
|
+
|
|
|
+ var grid = new EnhancedGrid({
|
|
|
+ id: idGrid,
|
|
|
+ store: store,
|
|
|
+ structure: estructuralayout,
|
|
|
+ autoHeight: false,
|
|
|
+ autoWidth: false,
|
|
|
+ rowSelector: '20px',
|
|
|
+ noDataMessage: 'No se encontraron datos',
|
|
|
+ canSort: function () {
|
|
|
+ return true;
|
|
|
+ }, // Filtra
|
|
|
+ plugins: {
|
|
|
+ nestedSorting: true,
|
|
|
+ /*filter: {
|
|
|
+ // Show the closeFilterbarButton at the filter bar
|
|
|
+ closeFilterbarButton: false,
|
|
|
+ // Set the maximum rule count to 5
|
|
|
+ ruleCount: 5,
|
|
|
+ // Set the name of the items
|
|
|
+ itemsName: "registros"
|
|
|
+ }*/
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ // Cargamos el dataGrid en el div
|
|
|
+ grid.placeAt(posicionDom);
|
|
|
+ // Inicializamos el dataGrid
|
|
|
+ grid.startup();
|
|
|
+
|
|
|
+ dgEjecuta.hide();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ );
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+
|
|
|
+ ready(function() {
|
|
|
+ // Actualizar el tamaño del TabContainer en función del tamaño de página
|
|
|
+ var ventana = win.getBox();
|
|
|
+ var strVentana = (ventana.h-170)+"px";
|
|
|
+ style.set(dijit.byId("djTab").id, { height:strVentana });
|
|
|
+ dijit.byId("djTab").resize();
|
|
|
+
|
|
|
+ // Actualizar el tamaño del TabContainer en función del tamaño de página
|
|
|
+ on(window, "resize", function() {
|
|
|
+ var ventana = win.getBox();
|
|
|
+ var strVentana = (ventana.h-170)+"px";
|
|
|
+ style.set(dijit.byId("djTab").id, { height:strVentana });
|
|
|
+ dijit.byId("djTab").resize();
|
|
|
+ });
|
|
|
+ // Eliminar la cortina de entrada
|
|
|
+ fx.fadeOut({node: dom.byId("loadingOverlay"), duration: 1}).play();
|
|
|
+ setTimeout(function () {
|
|
|
+ domConstruct.destroy("loadingOverlay");
|
|
|
+ }, 1);
|
|
|
+
|
|
|
+ on(dijit.byId("ContentPane_MantoPreventivo"),"show", function(){
|
|
|
+ cargarGrid("id_Grid_MantoPreventivo", CT_recibido, maq_recibido);
|
|
|
+ });
|
|
|
+ on(dijit.byId("ContentPane_Refacciones"),"show", function(){
|
|
|
+ cargarGrid("id_Grid_Refacciones", CT_recibido, maq_recibido);
|
|
|
+ });
|
|
|
+
|
|
|
+ // Para cuando cierran el divisor que contiene las descargas
|
|
|
+ divDescargas.on("Cancel", function (evt) {
|
|
|
+ var contenido = document.getElementById("contenidoDescarga");
|
|
|
+ while (contenido.firstChild) {
|
|
|
+ contenido.removeChild(contenido.firstChild);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ crearTabla(datos);
|
|
|
+
|
|
|
+ });
|
|
|
+ });
|
|
|
+ function abrir(numOrden){ document.getElementById("numOrden").value = numOrden; document.getElementById("frmAbrir").submit(); }
|
|
|
+ function pdf(numOrden){ document.getElementById("pdf").value = numOrden; document.getElementById("frmPDF").submit(); }
|
|
|
+
|
|
|
+ // Función para convertir string a un array buffer (Necesario para descargar en IE)
|
|
|
+ function s2ab(s) {
|
|
|
+ var buf = new ArrayBuffer(s.length);
|
|
|
+ var view = new Uint8Array(buf);
|
|
|
+ for (var i=0; i!=s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
|
|
|
+ return buf;
|
|
|
+ }
|
|
|
+ </script>
|
|
|
+
|
|
|
+</head>
|
|
|
+
|
|
|
+<body class="claro">
|
|
|
+<div id="loadingOverlay" class="loadingOverlay pageOverlay">
|
|
|
+ <div class="loadingMessage">Espere...</div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<!-- Divisor para guardar las descargas -->
|
|
|
+<div data-dojo-type="dijit/Dialog" data-dojo-id="divDescargas" title="Descarga" style="top:0; position: absolute">
|
|
|
+ <div id="contenidoDescarga" style="min-width:200px; min-height: 100px"></div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<div id="wrapper_container_module">
|
|
|
+ <div id="wrapper_table" style="position:relative;">
|
|
|
+ <div data-dojo-type="dijit/form/Form" id="frm" data-dojo-id="frm" encType="multipart/form-data"
|
|
|
+ action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" style="position:relative;">
|
|
|
+ <script type="dojo/on" data-dojo-event="submit">return true;</script>
|
|
|
+ <div id="wrapper_table_head"><?php echo($titulo); ?></div>
|
|
|
+ <div id="wrapper_table_body_mod_app">
|
|
|
+
|
|
|
+ <div class="row" style="margin-bottom: 10px">
|
|
|
+ <div class="col-12 col-sm-4 col-md-4 col-lg-4">
|
|
|
+ <div class="card card-inverse <?php echo($arrColores[$CT_recibido]['estadoGral']); ?>">
|
|
|
+ <div class="box color-perso text-center"><h1 class="font-light text-white"><?php echo($texto1); ?></h1><h6
|
|
|
+ class="text-white">Estado General</h6></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="col-12 col-sm-4 col-md-4 col-lg-4">
|
|
|
+ <div class="card card-inverse <?php echo($arrColores[$CT_recibido]['ciclo']); ?>">
|
|
|
+ <div class="box text-center"><h1 class="font-light text-white"><?php echo($texto2); ?></h1><h6
|
|
|
+ class="text-white">Ciclo de Mantenimiento</h6></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="col-12 col-sm-4 col-md-4 col-lg-4">
|
|
|
+ <div class="card card-inverse <?php echo($arrColores[$CT_recibido]['edoRefa']); ?>">
|
|
|
+ <div class="box text-center"><h1 class="font-light text-white"><?php echo($texto3); ?></h1><h6
|
|
|
+ class="text-white">Estado de Refacciones</h6></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div id="djTab" data-dojo-type="dijit/layout/TabContainer" data-dojo-props="tabPosition:'top'" style="width:100%;">
|
|
|
+ <div data-dojo-type="dijit/layout/ContentPane" title="Datos Generales" data-dojo-props="selected:true, iconClass:'dijitIconFile'">
|
|
|
+ <div style="width: 40%; float:left">
|
|
|
+ <div class="padre">
|
|
|
+ <div class="" style="max-width: 66.66%; text-align: center" >
|
|
|
+ <div class="card card-inverse color-dataGral" style="padding: 20px">
|
|
|
+ <div class="box text-center" >
|
|
|
+ <h6 class="text-black"><?php echo($infoGral);?></h6></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div style="width: 60%; float:right">
|
|
|
+ <table class="table table-striped">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <th scope="col" style="border-top: none"><b>#</b></th>
|
|
|
+ <th scope="col" style="border-top: none"><b>Especificaciones Técnicas</b></th>
|
|
|
+ <th scope="col" style="border-top: none"><b><?php echo($textoCol2); ?><b></th>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+ <tbody>
|
|
|
+ <?php echo($strTbodyEspecificaciones); ?>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div data-dojo-type="dijit/layout/ContentPane" title="Fotografías" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconInsertImage'">
|
|
|
+ <!--Colocar slider-->
|
|
|
+ <?php if(!empty($div_carousel_indicators)){ ?>
|
|
|
+ <div id="carouselExampleCaptions" class="carousel slide carousel-perso" data-bs-ride="carousel">
|
|
|
+ <div class="carousel-indicators">
|
|
|
+ <?php echo($div_carousel_indicators); ?>
|
|
|
+ </div>
|
|
|
+ <div class="carousel-inner">
|
|
|
+ <?php echo($imagenes_carousel); ?>
|
|
|
+ </div>
|
|
|
+ <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
|
|
|
+ <span class="carousel-control-prev-icon" aria-hidden="true"></span>
|
|
|
+ <span class="visually-hidden">Previous</span>
|
|
|
+ </button>
|
|
|
+ <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
|
|
|
+ <span class="carousel-control-next-icon" aria-hidden="true"></span>
|
|
|
+ <span class="visually-hidden">Next</span>
|
|
|
+ </button>
|
|
|
+ </div>
|
|
|
+ <?php } ?>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div id="ContentPane_MantoPreventivo" data-dojo-type="dijit/layout/ContentPane" title="Ciclo de Mantenimiento Preventivo" data-dojo-props="iconClass:'dijitIconUndo'">
|
|
|
+ <div style="margin-top: 15px">
|
|
|
+ <div id="Grid_MantoPreventivo"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div id="ContentPane_OrdenesManto" data-dojo-type="dijit/layout/ContentPane" title="Órdenes de Mantenimiento" data-dojo-props="iconClass:'dijitEditorIcon dijitEditorIconPaste'">
|
|
|
+ <table width="100%" height="auto" cellpadding="0" cellspacing="0">
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td width="3%" class="encabezadoTabla"> </td>
|
|
|
+ <td width="20%" class="encabezadoTabla"> Centro de Trabajo </td>
|
|
|
+ <td width="20%" class="encabezadoTabla"> Máquina </td>
|
|
|
+ <td width="18%" class="encabezadoTabla"> # De Orden </td>
|
|
|
+ <td width="18%" class="encabezadoTabla"> Fecha de la Orden </td>
|
|
|
+ <td width="18%" class="encabezadoTabla">Acciones</td>
|
|
|
+ <td width="3%" class="encabezadoTabla"> </td>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody id="TBREGISTROS">
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div id="ContentPane_Refacciones" data-dojo-type="dijit/layout/ContentPane" title="Refacciones" data-dojo-props="iconClass:'dijitIconSample'">
|
|
|
+ <div style="margin-top: 15px">
|
|
|
+ <div id="Grid_Refacciones"></div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div data-dojo-type="dijit/layout/ContentPane" title="Documentos Electrónicos" data-dojo-props="iconClass:'dijitIconDocuments'">
|
|
|
+ <table width="100%" height="auto" cellpadding="0" cellspacing="0">
|
|
|
+
|
|
|
+ <thead>
|
|
|
+ <tr>
|
|
|
+ <td width="3%" class="encabezadoTabla"> </td>
|
|
|
+ <td width="20%" class="encabezadoTabla"> # </td>
|
|
|
+ <td width="50%" class="encabezadoTabla"> Nombre Archivo </td>
|
|
|
+ <td width="24%" class="encabezadoTabla"> Acciones </td>
|
|
|
+ <td width="3%" class="encabezadoTabla"> </td>
|
|
|
+ </tr>
|
|
|
+ </thead>
|
|
|
+
|
|
|
+ <tbody id="TBPDFS">
|
|
|
+ <?php echo($tbodyPdfs); ?>
|
|
|
+ </tbody>
|
|
|
+
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <form id="frmAbrir" action="bitacorasDeMantenimiento_FR.php" method="post">
|
|
|
+ <input type="hidden" value="" id="numOrden" name="numOrden">
|
|
|
+ <input type="hidden" value="<?php echo $link; ?>" id="from" name="from">
|
|
|
+ </form>
|
|
|
+ <form id="frmPDF" action="bitacorasDeMantenimiento_FR.php" method="post" target="_blank">
|
|
|
+ <input type="hidden" value="" id="pdf" name="pdf">
|
|
|
+ </form>
|
|
|
+
|
|
|
+ </div>
|
|
|
+</div>
|
|
|
+
|
|
|
+<script type="application/javascript">
|
|
|
+
|
|
|
+</script>
|
|
|
+
|
|
|
+</body>
|
|
|
+
|