How can I pass information from one html page to another with simply linked lists?

Hi how are things? Good evening, I hope you are well. I have a question about Simple Linked Lists. How can I make it so that on an HTML page (worker.html) through the registration of a car, a button is clicked and that registration information goes to another HTML page (admin.html) and said information is printed on the screen? I attached the code, thanks for the help.

Main.js

//Lista enlazada

class Node {
    constructor(dato, siguiente = null) {
      this.dato = dato;
      this.siguiente = siguiente;
    }
}
  
  // crea/obtiene/remover nodos de la listas enlazasas
class ListaEnlazada {
    constructor() {
      this.head = null;
      this.tamano = 0;
    }
  
    // insertar el primer nodo
    insertarPrimero(dato) {
      this.head = new Node(dato, this.head);
      this.tamano++;
    }
  
    // insertar el ultimo nodo
    insertarUltimo(dato) {
      let node = new Node(dato);
      let actual;
  
      // si esta vacion hacerlo la cabecera
      if (!this.head) {
        this.head = node;
      } else {
        actual = this.head;
  
        while (actual.siguiente) {
          actual = actual.siguiente;
        }
  
        actual.siguiente = node;
      }
  
      this.tamano++;
    }
  
    // insertar un indice
    insertarEn(dato, indice) {
      //  si el indice esta fuera de rango
      if (indice > 0 && indice > this.tamano) {
        return;
      }
  
      // si es el primer indice
      if (indice === 0) {
        this.insertarPrimero(dato);
        return;
      }
  
      const node = new Node(dato);
      let actual, anterior;
  
      // hacer la cabeza el nodo actual
      actual = this.head;
      let contador = 0;
  
      while (contador < indice) {
        anterior = actual; // bid abntes de indice
        contador++;
        actual = actual.siguiente; // Nodo despues del indice
      }
  
      node.siguiente = actual;
      anterior.siguiente = node;
  
      this.tamano++;
    }
  
    // obtene run indice
    obtenerEn(indice) {
      let actual = this.head;
      let contador = 0;
  
      while (actual) {
        if (contador == indice) {
          //console.log(actual.dato);
          return actual.dato;
        }
        contador++;
        actual = actual.siguiente;
      }
  
      return null;
    }
  
    // remover el indice
    removerEn(indice) {
      if (indice > 0 && indice > this.tamano) {
        return;
      }
  
      let actual = this.head;
      let anterior;
      let contador = 0;
  
      // remover el primer
      if (indice === 0) {
        this.head = actual.siguiente;
      } else {
        while (contador < indice) {
          contador++;
          anterior = actual;
          actual = actual.siguiente;
        }
  
        anterior.siguiente = actual.siguiente;
      }
  
      this.tamano--;
    }
  
    // limpiar lista
    limpiarLista() {
      this.head = null;
      this.tamano = 0;
    }
  
    // imprmir los datos de la lista
    printListdato() {
      let actual = this.head;
  
      while (actual) {
        console.log(actual.dato);
        actual = actual.siguiente;
      }
    }
}


// Declara aquí las clases

class Automovil {
    constructor(id, marca, modelo, placas, descripcion) {
        this.id = id;
        this.marca = marca;
        this.modelo = modelo;
        this.placas =  placas;
        this.descripcion = descripcion;

    }

}

class Empleado {
    constructor(usuario, password) {
        this.usuario = usuario;
        this.password = password;
    }

    accederSistema(usuario, password) {
        this.bandera = false;

        if (usuario === this.usuario && password === this.password) {
            this.bandera = true;
        }
        return this.bandera;
    }
}

class Servicio {
    constructor(nombre, costo) {
        this.nombre = nombre;
        this.costo = costo;
    }

    editarPropiedades(nombre, costo) {
        this.nombre = nombre;
        this.costo = costo;
    }
}


// Logica del Programa

const administrador = new Empleado('Administrador','admin1');
const trabajador = new Empleado('Trabajador', 'trabaja1');

function obtenerDOM(id) {
    let valor = document.getElementById(id).value;
    return valor;
}

//Login
function entrar(){
    let usuario = obtenerDOM('usuario');
    let password = obtenerDOM('password');

    //Validar las credenciales de acceso
    let accesoAdmin = administrador.accederSistema(usuario,password);
    let accesoTrabaja = trabajador.accederSistema(usuario,password);
    
    if (accesoAdmin) {
        //Acceso correcto para el admin
        window.location = "admin.html"
    } else if (accesoTrabaja) {
        //Si no es admin, acceso correcto para el trabajador
        window.location = "trabajador.html"
    } else {
        
    }

}

// Logica para el administrador

const listaServicios = new ListaEnlazada();

//Cargar servicios
const servicio0 = new Servicio('Cambio de aceite', 750);
listaServicios.insertarUltimo(servicio0);
const servicio1 = new Servicio('Revisión y ajuste del sistema de frenos', 1500);
listaServicios.insertarUltimo(servicio1);
const servicio2 = new Servicio('Rotación de neumaticos', 300);
listaServicios.insertarUltimo(servicio2);
const servicio3 = new Servicio('Alineación y balanceo', 600);
listaServicios.insertarUltimo(servicio3);
const servicio4 = new Servicio('Mantenimiento del sistema de enfriamiento', 1000);
listaServicios.insertarUltimo(servicio4);
const servicio5 = new Servicio('Cambio de correas', 500);
listaServicios.insertarUltimo(servicio5);
const servicio6 = new Servicio('Mantenimiento del sistema de indiección de combustible', 1000);
listaServicios.insertarUltimo(servicio6);
const servicio7 = new Servicio('Cambio de baterías', 200);
listaServicios.insertarUltimo(servicio7);
const servicio8 = new Servicio('Mantenimiento del sistema de suspencion', 1100);
listaServicios.insertarUltimo(servicio8);
const servicio9 = new Servicio('Remplazo de fluidos', 500);
listaServicios.insertarUltimo(servicio9);


//Opcion de cargar nuevo servicio 
function nuevoServicio() {
    //Hacer que aparesca estos campos
    let nombre = obtenerDOM('nombreServicio');
    let costo = parseFloat(obtenerDOM('costoServicio'));

    const servicio = new Servicio(nombre,costo);
    listaServicios.insertarUltimo(servicio);

    //Actualizar la tabla de servicios
}

//Opcion editar servicios
function editarServicio() {
    //seleccionar un servicio
    //buscarlo en la lista 
    //editar sus propiedades
    let nombre = obtenerDOM('nombreServicio');
    let costo = parseFloat(obtenerDOM('costoServicio'));

    //listaServicios.Obteneren(indice).editarPropiedades(nombre,costo);

    //Actualizar la tabla de servicios
}

function verServicios() {
    //mostrar tabla de servicios
}

function verServiciosContratados() {
    //sumar costos
    

}

Trabajador.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Trabajador de Taller Mecánico</title>
</head>
<body>
    <h1>Datos del coche</h1>
    <p>
        <label for="marca">Marca del coche: </label>
        <select name="" id="marca">
            <option value="">Chevrolet</option>
            
            <option value="">Ford</option>
            
            <option value="">Toyota</option>
            
            <option value="">Nissan</option>
            
            <option value="">Volkswagen</option>
            
            <option value="">Honda</option>
            
            <option value="">Mercedes-Benz</option>
            
            <option value="">BMW</option>
            
            <option value="">Audi</option>
            
            <option value="">Hyundai</option>
            
            <option value="">Fiat</option>
            
            <option value="">Peugeot</option>
            
            <option value="">Renault</option>
            
            <option value="">Mitsubishi</option>
            
            <option value="">Subaru</option>
            
            <option value="">Kia</option>
            
            <option value="">Volvo</option>
            
            <option value="">Land Rover</option>
            
            <option value="">Jeep</option>
            
            <option value="">RAM</option>
            
            <option value="">Dodge</option>
            
            <option value="">GMC</option>
        </select>
    </p>

    <p>
        <label for="modelo">Modelo del coche: </label>
        <input type="text" id="modelo">
    </p>

    <p>
        <label for="placas">Número de Placas: </label>
        <input type="text" id="placas" maxlength="7" >
    </p>

    <p>
        <label for="descripcion">Descripción del problema: </label>
        <input type="text">
    </p>

    <label for="servicios">Servicios por realizar: </label>
    <br>
    <br> Cambio de aceite $750 <input type="checkbox" name="" id="">
    <br>
    <br> Revision y ajuste del sistema de frenos $1,500 <input type="checkbox" name="" id="">
    <br>
    <br> Rotación de neumáticos $300 <input type="checkbox" name="" id="">
    <br>
    <br> Alineación y balanceo $600 <input type="checkbox" name="" id="">
    <br>
    <br> Mantenimiento del sistema de enfriamento $1000 <input type="checkbox" name="" id="">
    <br>
    <br> Cambio de correas $500 <input type="checkbox" name="" id="">
    <br>
    <br> Mantenimieto del sistema de indiección de combustible $1,000 <input type="checkbox" name="" id="">
    <br>
    <br> Cambio de baterías $200 <input type="checkbox" name="" id="">
    <br>
    <br> Mantenimiento del sistema de suspención $1,100 <input type="checkbox" name="" id="">
    <br>
    <br> Remplazo de fluidos $500 <input type="checkbox" name="" id="">

    <p>
        <label for="servicioExt">Servicio extra: </label>
        <br>
        Tipo de servicio: <input type="text" id="servicioExt">
        <br>
        Precio: <input type="number" id="precioExtr">
    </p>






</body>
</html>

admin.html

<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <link rel="preconnect" href="https://fonts.googleapis.com">
    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
    <link href="https://fonts.googleapis.com/css2?family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="admin.css">
    <title>Administrador</title>
    <script src="main.js"></script>
</head>

<body>

  <header>
    <h1>Bienvenido Administrador</h1>
  </header>

  <main>
    
    <div class="tablas">
      
      <section class="vista-tablas">
        <h2>Servicios disponibles</h2>
        <div class="rectangulo">
          <table class="tabla">
            <tr>
              <th>Nombre del servicio</th>
              <th>Costo MXN</th>
            </tr>
            <tr>
              <td>gola</td>
              <td>Costo MXN</td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
            <tr>
              <td>gola</td>
              <td></td>
            </tr>
          </table>
        </div>
      </section>
      
      <section class="vista-tablas">
        <h2>Servicios del dia</h2>
        <div class="rectangulo">
          <table class="tabla">
            <tr>
              <th id="nombre">Nombre del servicio</th>
              <th id="costo">Costo MXN</th>
              <th>ID</th>
              <th>Horario</th>
            </tr>
            <tr>
              <td>hola</td>
              <td></td>
              <td></td>
              <td></td>
            </tr>
          </table>
        </div>
      </section>

    </div>

    <div class="botones">

      <section class="btns-servDispo">
        <div class="btn-izquierda">
          <button class="btnNegros">Agreagar Servicio</button>
        </div>
        <div class="btn-derecha">
          <button class="btnBlancos" id="editarServicio">Editar Servicio</button>
          <button class="btnBlancos">Eliminar Servicio</button>
        </div>   
      </section>

      <section class="btns-serDia">
        <div class="btn-izquierda">
          <button class="btnBlancos" id="moverArriba">Mover Arriba</button>
          <button class="btnBlancos">Mover Abajo</button>
        </div>
        <div class="btn-derecha">
          <button class="btnBlancos" id="cancelarServicio">Cancelar Servicio</button>
          <button class="btnNegros">Cambiar horario</button>
        </div>
      </section>

    </div>

    <div class="formularios">

      <section class="form1">
        <form action="">
          <label for="nombreServicio">Nombre del servicio: </label>
          <input type="text" id="nombreServicio" placeholder="Cambio de aceite">
          <label for="costoServicio">Costo del servicio: </label>
          <input type="number" id="costoServicio" placeholder="00.00">
          <input type="button" value="Guardar" class="btnNegros">
        </form>
      </section>

      <section class="form2">
        <form action="">
          <label for="nombreServicio">Ingrese el horario: </label>
          <input type="time" id="horario">
          <input type="button" value="Guardar" class="btnNegros">
        </form>
      </section>

    </div>

  </main>

  <footer>
    <button class="btnBlancos" id="volver">Volver</button>
  </footer>
</html>

I need help since I am inexperienced in this topic

Upvotes: 0

Views: 11

Answers (0)

Related Questions