Commit d1a85dc3 by Alex

Cola pedidos funcionando

parent 1b26c42a
<div class="cola-pedidos">
<h2>Cola de pedidos</h2>
<div class="pedido" *ngFor="let pedido of pedidos">
<div><strong>Pedido {{ pedido.id }}</strong></div>
<div>Punto de recogida: {{ pedido.puntoDeRecogida }}</div>
<div>Punto de entrega: {{ pedido.puntoDeEntrega }}</div>
<!-- Añade botones o acciones si es necesario -->
<div *ngFor="let pedido of pedidos" class="pedido">
<p>Pedido {{ pedido.id }}</p>
<p>Punto de recogida: Casilla ({{ pedido.puntoDeRecogida.row }}, {{ pedido.puntoDeRecogida.col }})</p>
<p>Punto de entrega: Casilla ({{ pedido.puntoDeEntrega.row }}, {{ pedido.puntoDeEntrega.col }})</p>
</div>
</div>
\ No newline at end of file
</div>
\ No newline at end of file
import { Component, OnInit } from '@angular/core';
import { Pedido } from '../pedido.model'; // Ajusta la ruta del import según tu estructura
import { ServicioPedidoService } from '../servicio-pedido.service'
@Component({
selector: 'app-cola-pedidos',
......@@ -7,16 +8,13 @@ import { Pedido } from '../pedido.model'; // Ajusta la ruta del import según tu
styleUrls: ['./cola-pedidos.component.css']
})
export class ColaPedidosComponent implements OnInit {
pedidos: Pedido[] = [
{ id: 'A', puntoDeRecogida: 'casilla', puntoDeEntrega: 'casilla' },
{ id: 'B', puntoDeRecogida: 'casilla', puntoDeEntrega: 'casilla' },
];
pedidos: Pedido[] = [];
constructor() { }
constructor(private pedidoService: ServicioPedidoService) {}
ngOnInit(): void {
// Aquí es donde se llenaría la cola de pedidos, posiblemente desde un servicio o al crear un nuevo pedido
this.pedidoService.pedidos$.subscribe((pedidosActualizados) => {
this.pedidos = pedidosActualizados;
});
}
// Funciones para gestionar pedidos, como añadir, eliminar, etc.
}
}
\ No newline at end of file
import { Component } from '@angular/core';
import { ServicioPedidoService } from '../servicio-pedido.service'
import { Pedido } from '../pedido.model'; // Ajusta la ruta del import según tu estructura
@Component({
selector: 'app-crear-pedido-dialog',
......@@ -27,12 +30,21 @@ getImagePath(block: {id: string, row: number, col: number}): string {
this.puntoDeRecogida = null;
this.puntoDeEntrega = null;
}
constructor(private pedidoService: ServicioPedidoService) {}
confirmSelection(): void {
if (this.puntoDeRecogida && this.puntoDeEntrega) {
// Aquí agregarías la lógica para manejar la confirmación del pedido
// Por ejemplo, podrías llamar a un servicio que maneje la lógica de negocio
console.log('Pedido confirmado con:', this.puntoDeRecogida, this.puntoDeEntrega);
// Genera un ID único para el pedido, por ejemplo usando la fecha y hora actual.
// Esto es solo un ejemplo y puede que necesites una mejor generación de IDs según tu caso de uso.
const uniqueId = Date.now().toString();
const nuevoPedido: Pedido = {
id: uniqueId,
puntoDeRecogida: this.puntoDeRecogida,
puntoDeEntrega: this.puntoDeEntrega
// ... otras propiedades necesarias del pedido ...
};
this.pedidoService.agregarPedido(nuevoPedido);
this.resetSelection(); // Resetear selección tras confirmar el pedido
}
}
......
export interface Punto {
id: string;
row: number;
col: number;
}
export interface Pedido {
id: string; // Un identificador único para cada pedido
puntoDeRecogida: string;
puntoDeEntrega: string;
}
\ No newline at end of file
id: string;
puntoDeRecogida: Punto;
puntoDeEntrega: Punto;
}
\ No newline at end of file
......@@ -6,11 +6,17 @@ import { Pedido } from './pedido.model';
providedIn: 'root'
})
export class ServicioPedidoService {
private pedidosSource = new BehaviorSubject<Pedido[]>([]);
pedidos$ = this.pedidosSource.asObservable();
private pedidosSubject = new BehaviorSubject<Pedido[]>([]);
pedidos$ = this.pedidosSubject.asObservable();
private ultimoId = 0;
constructor() {}
agregarPedido(pedido: Pedido): void {
const pedidosActuales = this.pedidosSource.getValue();
this.pedidosSource.next([...pedidosActuales, pedido]);
this.ultimoId++; // Incrementa el ID
const nuevoPedido = { ...pedido, id: this.ultimoId.toString() };
const pedidosActuales = this.pedidosSubject.value;
this.pedidosSubject.next([...pedidosActuales, nuevoPedido]);
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment