This commit is contained in:
Albert Espín 2024-10-06 18:33:18 +02:00
parent aed312a0f5
commit a08442e030
11 changed files with 221 additions and 58 deletions

View File

@ -4,10 +4,11 @@ import (
"net/http" "net/http"
"text/template" "text/template"
"git.espin.casa/albert/cml04-falcon-ui/storage"
"github.com/julienschmidt/httprouter" "github.com/julienschmidt/httprouter"
) )
func IndexHandler() httprouter.Handle { func IndexHandler(storage storage.Storager) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) { return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
t, _ := template.ParseFiles("templates/base.html", "templates/index.html") t, _ := template.ParseFiles("templates/base.html", "templates/index.html")
err := t.Execute(w, nil) err := t.Execute(w, nil)

19
handlers/labels.go Normal file
View File

@ -0,0 +1,19 @@
package handlers
import (
"net/http"
"text/template"
"github.com/julienschmidt/httprouter"
)
func LabelsHandler() httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
t, _ := template.ParseFiles("templates/base.html", "templates/labels.html")
err := t.Execute(w, nil)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
}

20
handlers/standards.go Normal file
View File

@ -0,0 +1,20 @@
package handlers
import (
"net/http"
"text/template"
"git.espin.casa/albert/cml04-falcon-ui/storage"
"github.com/julienschmidt/httprouter"
)
func StandardsHandler(storage storage.Storager) httprouter.Handle {
return func(w http.ResponseWriter, r *http.Request, ps httprouter.Params) {
t, _ := template.ParseFiles("templates/base.html", "templates/standards.html")
err := t.Execute(w, nil)
if err != nil {
http.Error(w, err.Error(), http.StatusInternalServerError)
return
}
}
}

View File

@ -7,8 +7,13 @@ import (
) )
func CreateRoutes(r *httprouter.Router, storage storage.Storager) { func CreateRoutes(r *httprouter.Router, storage storage.Storager) {
r.GET("/", handlers.IndexHandler()) r.GET("/", handlers.IndexHandler(storage))
r.GET("/hbcp", handlers.HBCPHandler(storage)) r.GET("/hbcp", handlers.HBCPHandler(storage))
r.GET("/po", handlers.PoHandler(storage))
r.GET("/co", handlers.CoHandler(storage))
r.GET("/bcp", handlers.BCPHandler(storage))
r.GET("/lcp", handlers.LCPHandler(storage))
r.GET("/barcodes", handlers.BarcodesHandler(storage)) r.GET("/barcodes", handlers.BarcodesHandler(storage))
r.GET("/labels", handlers.LabelsHandler())
r.GET("/standards", handlers.StandardsHandler(storage))
} }

View File

@ -1,34 +0,0 @@
package server
import (
"net/http"
"time"
)
type Server struct {
Url string
}
func (s *Server) Start() error {
// Crear un servidor HTTP
server := http.Server{
Addr: s.Url,
ReadTimeout: 5 * time.Second, // time limit for reading
WriteTimeout: 5 * time.Second, // time limit for writting
IdleTimeout: 5 * time.Second,
}
// start api
go func() {
if err := server.ListenAndServe(); err != nil {
panic(err)
}
}()
return nil
}
func New(url string) *Server {
return &Server{
Url: url,
}
}

View File

@ -12,7 +12,7 @@
</ul> </ul>
<p class="menu-label">Etiquetas leídas</p> <p class="menu-label">Etiquetas leídas</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Consultar</a></li> <li><a href="/barcodes">Consultar</a></li>
</ul> </ul>
<p class="menu-label">Paquetes</p> <p class="menu-label">Paquetes</p>
<ul class="menu-list"> <ul class="menu-list">
@ -20,19 +20,19 @@
</ul> </ul>
<p class="menu-label">Datos de fabricación</p> <p class="menu-label">Datos de fabricación</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Orden de producción</a></li> <li><a href="/po">Orden de producción</a></li>
<li><a>Orden de cliente</a></li> <li><a href="/co">Orden de cliente</a></li>
<li><a>Orden de corte placa</a></li> <li><a href="/bcp">Orden de corte placa</a></li>
<li><a>Orden de corte layer</a></li> <li><a href="/lcp">Orden de corte layer</a></li>
<li><a href="/hbcp">Hoja BCP</a></li> <li><a href="/hbcp">Hoja BCP</a></li>
</ul> </ul>
<p class="menu-label">Calidad</p> <p class="menu-label">Calidad</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Normas</a></li> <li><a href="/standards">Normas</a></li>
</ul> </ul>
<p class="menu-label">Etiquetas</p> <p class="menu-label">Etiquetas</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Ultimas etiquetas</a></li> <li><a href="/labels">Ultimas etiquetas</a></li>
</ul> </ul>
</aside> </aside>
</div> </div>

49
templates/co.html Normal file
View File

@ -0,0 +1,49 @@
{{define "title"}}Falcon UI{{end}}
{{define "body"}}
<div class="container is-fluid">
<div class="columns">
<div class="column is-one-fifth">
<aside class="menu">
<p class="menu-label">Panel</p>
<ul class="menu-list">
<li><a href="/">Inicio</a></li>
</ul>
<p class="menu-label">Etiquetas leídas</p>
<ul class="menu-list">
<li><a href="/barcodes">Consultar</a></li>
</ul>
<p class="menu-label">Paquetes</p>
<ul class="menu-list">
<li><a>Consultar</a></li>
</ul>
<p class="menu-label">Datos de fabricación</p>
<ul class="menu-list">
<li><a href="/po">Orden de producción</a></li>
<li><a href="/co">Orden de cliente</a></li>
<li><a href="/bcp">Orden de corte placa</a></li>
<li><a href="/lcp">Orden de corte layer</a></li>
<li><a href="/hbcp">Hoja BCP</a></li>
</ul>
<p class="menu-label">Calidad</p>
<ul class="menu-list">
<li><a href="/standards">Normas</a></li>
</ul>
<p class="menu-label">Etiquetas</p>
<ul class="menu-list">
<li><a href="/labels">Ultimas etiquetas</a></li>
</ul>
</aside>
</div>
<div class="column">
<nav class="panel is-link">
<p class="panel-heading"><i class="fas fa-swatchbook" aria-hidden="true"></i> Normas calidad (etiquetado)</p>
<div class="panel-block">
</div>
</nav>
</div>
</div>
</div>
{{ end }}

View File

@ -12,7 +12,7 @@
</ul> </ul>
<p class="menu-label">Etiquetas leídas</p> <p class="menu-label">Etiquetas leídas</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Consultar</a></li> <li><a href="/barcodes">Consultar</a></li>
</ul> </ul>
<p class="menu-label">Paquetes</p> <p class="menu-label">Paquetes</p>
<ul class="menu-list"> <ul class="menu-list">
@ -20,19 +20,19 @@
</ul> </ul>
<p class="menu-label">Datos de fabricación</p> <p class="menu-label">Datos de fabricación</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Orden de producción</a></li> <li><a href="/po">Orden de producción</a></li>
<li><a>Orden de cliente</a></li> <li><a href="/co">Orden de cliente</a></li>
<li><a>Orden de corte placa</a></li> <li><a href="/bcp">Orden de corte placa</a></li>
<li><a>Orden de corte layer</a></li> <li><a href="/lcp">Orden de corte layer</a></li>
<li><a href="/hbcp">Hoja BCP</a></li> <li><a href="/hbcp">Hoja BCP</a></li>
</ul> </ul>
<p class="menu-label">Calidad</p> <p class="menu-label">Calidad</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Normas</a></li> <li><a href="/standards">Normas</a></li>
</ul> </ul>
<p class="menu-label">Etiquetas</p> <p class="menu-label">Etiquetas</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Ultimas etiquetas</a></li> <li><a href="/labels">Ultimas etiquetas</a></li>
</ul> </ul>
</aside> </aside>
</div> </div>

View File

@ -2,7 +2,6 @@
{{define "body"}} {{define "body"}}
<div class="container is-fluid"> <div class="container is-fluid">
<div class="columns"> <div class="columns">
<div class="column is-one-fifth"> <div class="column is-one-fifth">
@ -21,19 +20,19 @@
</ul> </ul>
<p class="menu-label">Datos de fabricación</p> <p class="menu-label">Datos de fabricación</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Orden de producción</a></li> <li><a href="/po">Orden de producción</a></li>
<li><a>Orden de cliente</a></li> <li><a href="/co">Orden de cliente</a></li>
<li><a>Orden de corte placa</a></li> <li><a href="/bcp">Orden de corte placa</a></li>
<li><a>Orden de corte layer</a></li> <li><a href="/lcp">Orden de corte layer</a></li>
<li><a href="/hbcp">Hoja BCP</a></li> <li><a href="/hbcp">Hoja BCP</a></li>
</ul> </ul>
<p class="menu-label">Calidad</p> <p class="menu-label">Calidad</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Normas</a></li> <li><a href="/standards">Normas</a></li>
</ul> </ul>
<p class="menu-label">Etiquetas</p> <p class="menu-label">Etiquetas</p>
<ul class="menu-list"> <ul class="menu-list">
<li><a>Ultimas etiquetas</a></li> <li><a href="/labels">Ultimas etiquetas</a></li>
</ul> </ul>
</aside> </aside>
</div> </div>
@ -69,6 +68,7 @@
<nav class="panel is-link"> <nav class="panel is-link">
<p class="panel-heading"><i class="fas fa-chart-line" aria-hidden="true"></i> Estadísticas turno</p> <p class="panel-heading"><i class="fas fa-chart-line" aria-hidden="true"></i> Estadísticas turno</p>
<div class="panel-block"> <div class="panel-block">
<span class="tag is-success is-medium">100</span><p> Etiquetas leídas</p> <span class="tag is-success is-medium">100</span><p> Etiquetas leídas</p>
</div> </div>
</nav> </nav>

54
templates/labels.html Normal file
View File

@ -0,0 +1,54 @@
{{define "title"}}Falcon UI{{end}}
{{define "body"}}
<div class="container is-fluid">
<div class="columns">
<div class="column is-one-fifth">
<aside class="menu">
<p class="menu-label">Panel</p>
<ul class="menu-list">
<li><a href="/">Inicio</a></li>
</ul>
<p class="menu-label">Etiquetas leídas</p>
<ul class="menu-list">
<li><a href="/barcodes">Consultar</a></li>
</ul>
<p class="menu-label">Paquetes</p>
<ul class="menu-list">
<li><a>Consultar</a></li>
</ul>
<p class="menu-label">Datos de fabricación</p>
<ul class="menu-list">
<li><a href="/po">Orden de producción</a></li>
<li><a href="/co">Orden de cliente</a></li>
<li><a href="/bcp">Orden de corte placa</a></li>
<li><a href="/lcp">Orden de corte layer</a></li>
<li><a href="/hbcp">Hoja BCP</a></li>
</ul>
<p class="menu-label">Calidad</p>
<ul class="menu-list">
<li><a href="/standards">Normas</a></li>
</ul>
<p class="menu-label">Etiquetas</p>
<ul class="menu-list">
<li><a href="/labels">Ultimas etiquetas</a></li>
</ul>
</aside>
</div>
<div class="column is-three-fifths">
<nav class="panel is-link">
<p class="panel-heading"><i class="fas fa-barcode" aria-hidden="true"></i> Evacuaciones 12</p>
<div class="panel-block">
</div>
</nav>
<nav class="panel is-link">
<p class="panel-heading"><i class="fas fa-barcode" aria-hidden="true"></i> Evacuaciones 345</p>
<div class="panel-block">
</div>
</nav>
</div>
</div>
</div>
{{ end }}

49
templates/standards.html Normal file
View File

@ -0,0 +1,49 @@
{{define "title"}}Falcon UI{{end}}
{{define "body"}}
<div class="container is-fluid">
<div class="columns">
<div class="column is-one-fifth">
<aside class="menu">
<p class="menu-label">Panel</p>
<ul class="menu-list">
<li><a href="/">Inicio</a></li>
</ul>
<p class="menu-label">Etiquetas leídas</p>
<ul class="menu-list">
<li><a href="/barcodes">Consultar</a></li>
</ul>
<p class="menu-label">Paquetes</p>
<ul class="menu-list">
<li><a>Consultar</a></li>
</ul>
<p class="menu-label">Datos de fabricación</p>
<ul class="menu-list">
<li><a href="/po">Orden de producción</a></li>
<li><a href="/co">Orden de cliente</a></li>
<li><a href="/bcp">Orden de corte placa</a></li>
<li><a href="/lcp">Orden de corte layer</a></li>
<li><a href="/hbcp">Hoja BCP</a></li>
</ul>
<p class="menu-label">Calidad</p>
<ul class="menu-list">
<li><a href="/standards">Normas</a></li>
</ul>
<p class="menu-label">Etiquetas</p>
<ul class="menu-list">
<li><a href="/labels">Ultimas etiquetas</a></li>
</ul>
</aside>
</div>
<div class="column">
<nav class="panel is-link">
<p class="panel-heading"><i class="fas fa-swatchbook" aria-hidden="true"></i> Normas calidad (etiquetado)</p>
<div class="panel-block">
</div>
</nav>
</div>
</div>
</div>
{{ end }}