Dashboard: klikabilne stavke u kartici Poslednji servisi (link ka detaljima naloga)
This commit is contained in:
@@ -57,7 +57,7 @@ func (r *sqliteIzvestajRepo) BrojKriticnihZaliha(ctx context.Context) (int, erro
|
||||
|
||||
func (r *sqliteIzvestajRepo) PoslednjiServisi(ctx context.Context, limit int) ([]model.ServisRedDashboard, error) {
|
||||
rows, err := r.db.QueryContext(ctx, `
|
||||
SELECT uredjaj, status, datum_prijema FROM servisni_nalozi
|
||||
SELECT id, uredjaj, status, datum_prijema FROM servisni_nalozi
|
||||
ORDER BY datum_prijema DESC LIMIT ?`, limit)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("ntech: izvestaj.PoslednjiServisi: %w", err)
|
||||
@@ -66,7 +66,7 @@ func (r *sqliteIzvestajRepo) PoslednjiServisi(ctx context.Context, limit int) ([
|
||||
var lista []model.ServisRedDashboard
|
||||
for rows.Next() {
|
||||
var s model.ServisRedDashboard
|
||||
if err := rows.Scan(&s.Uredjaj, &s.Status, &s.DatumPrijema); err != nil {
|
||||
if err := rows.Scan(&s.ID, &s.Uredjaj, &s.Status, &s.DatumPrijema); err != nil {
|
||||
return nil, fmt.Errorf("ntech: izvestaj.PoslednjiServisi: %w", err)
|
||||
}
|
||||
lista = append(lista, s)
|
||||
|
||||
@@ -83,6 +83,7 @@ func (h *Handler) Dashboard(w http.ResponseWriter, r *http.Request) {
|
||||
} else {
|
||||
for _, s := range redovi {
|
||||
poslednjiServisi = append(poslednjiServisi, model.StavkaServisa{
|
||||
ID: s.ID,
|
||||
Uredjaj: s.Uredjaj,
|
||||
Status: s.Status,
|
||||
BojaTacke: bojaTackeServisa(s.Status),
|
||||
|
||||
@@ -8,6 +8,7 @@ import "time"
|
||||
|
||||
// ServisRedDashboard je jedan red za listu poslednjih servisa na dashboardu
|
||||
type ServisRedDashboard struct {
|
||||
ID int64
|
||||
Uredjaj string
|
||||
Status string
|
||||
DatumPrijema time.Time
|
||||
|
||||
@@ -2,6 +2,7 @@ package model
|
||||
|
||||
// StavkaServisa prikazuje jedan servisni nalog na dashboardu
|
||||
type StavkaServisa struct {
|
||||
ID int64
|
||||
Uredjaj string
|
||||
Status string
|
||||
BojaTacke string
|
||||
|
||||
@@ -86,11 +86,11 @@
|
||||
<span style="font-size:14px;font-weight:500;color:var(--tekst-glavni);">Poslednji servisi</span>
|
||||
</div>
|
||||
{{ range .PoslednjiServisi }}
|
||||
<div style="display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--ivica);">
|
||||
<a hx-boost="true" hx-target="#glavni-sadrzaj" hx-select="#glavni-sadrzaj" hx-swap="outerHTML" href="/servis/{{ .ID }}" style="display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:0.5px solid var(--ivica);text-decoration:none;">
|
||||
<div style="width:8px;height:8px;border-radius:50%;flex-shrink:0;background:{{ .BojaTacke }};"></div>
|
||||
<span style="font-size:13px;color:var(--tekst-glavni);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;">{{ .Uredjaj }}</span>
|
||||
<span style="font-size:11px;color:var(--tekst-sporedni);white-space:nowrap;">{{ .DatumPrijema }}</span>
|
||||
</div>
|
||||
</a>
|
||||
{{ else }}
|
||||
<div style="font-size:13px;color:var(--tekst-sporedni);padding:8px 0;">Nema servisnih naloga.</div>
|
||||
{{ end }}
|
||||
|
||||
Reference in New Issue
Block a user