Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Alejandro Martínez Muñoz
/
ProyectoRobotAmbientales
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
d1a85dc3
authored
Apr 21, 2024
by
Alex
Browse files
Options
_('Browse Files')
Download
Email Patches
Plain Diff
Cola pedidos funcionando
parent
1b26c42a
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
51 additions
and
30 deletions
src/app/cola-pedidos/cola-pedidos.component.html
src/app/cola-pedidos/cola-pedidos.component.ts
src/app/crear-pedido-dialog/crear-pedido-dialog.component.ts
src/app/pedido.model.ts
src/app/servicio-pedido.service.ts
src/app/cola-pedidos/cola-pedidos.component.html
View file @
d1a85dc3
<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
src/app/cola-pedidos/cola-pedidos.component.ts
View file @
d1a85dc3
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
src/app/crear-pedido-dialog/crear-pedido-dialog.component.ts
View file @
d1a85dc3
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
}
}
...
...
src/app/pedido.model.ts
View file @
d1a85dc3
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
src/app/servicio-pedido.service.ts
View file @
d1a85dc3
...
...
@@ -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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment