Dodavanje modula servisa — lista, forma, detalji, brisanje, helper metode za cene
This commit is contained in:
@@ -177,24 +177,30 @@ func scanNalog(scan func(...any) error, n *model.ServisniNalog, klijentNaziv *st
|
|||||||
}
|
}
|
||||||
|
|
||||||
if klijentID.Valid {
|
if klijentID.Valid {
|
||||||
n.KlijentID = &klijentID.Int64
|
v := klijentID.Int64
|
||||||
|
n.KlijentID = &v
|
||||||
}
|
}
|
||||||
n.SerijskiBroj = serijskiBroj.String
|
n.SerijskiBroj = serijskiBroj.String
|
||||||
n.Napomena = napomena.String
|
n.Napomena = napomena.String
|
||||||
if cenaOd.Valid {
|
if cenaOd.Valid {
|
||||||
n.CenaOd = &cenaOd.Float64
|
v := cenaOd.Float64
|
||||||
|
n.CenaOd = &v
|
||||||
}
|
}
|
||||||
if cenaDo.Valid {
|
if cenaDo.Valid {
|
||||||
n.CenaDo = &cenaDo.Float64
|
v := cenaDo.Float64
|
||||||
|
n.CenaDo = &v
|
||||||
}
|
}
|
||||||
if cenaKonacna.Valid {
|
if cenaKonacna.Valid {
|
||||||
n.CenaKonacna = &cenaKonacna.Float64
|
v := cenaKonacna.Float64
|
||||||
|
n.CenaKonacna = &v
|
||||||
}
|
}
|
||||||
if avans.Valid {
|
if avans.Valid {
|
||||||
n.Avans = &avans.Float64
|
v := avans.Float64
|
||||||
|
n.Avans = &v
|
||||||
}
|
}
|
||||||
if datumZavrsetka.Valid {
|
if datumZavrsetka.Valid {
|
||||||
n.DatumZavrsetka = &datumZavrsetka.Time
|
v := datumZavrsetka.Time
|
||||||
|
n.DatumZavrsetka = &v
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
package model
|
package model
|
||||||
|
|
||||||
import "time"
|
import (
|
||||||
|
"fmt"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
// Statusi servisnog naloga
|
// Statusi servisnog naloga
|
||||||
const (
|
const (
|
||||||
@@ -45,3 +48,35 @@ type ServisniNalogSaKlijentom struct {
|
|||||||
ServisniNalog
|
ServisniNalog
|
||||||
KlijentNaziv string
|
KlijentNaziv string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CenaOdStr vraća formatiranu procenu od, ili prazan string ako nije uneta
|
||||||
|
func (n ServisniNalog) CenaOdStr() string {
|
||||||
|
if n.CenaOd == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("%.2f", *n.CenaOd)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CenaDoStr vraća formatiranu procenu do, ili prazan string ako nije uneta
|
||||||
|
func (n ServisniNalog) CenaDoStr() string {
|
||||||
|
if n.CenaDo == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("%.2f", *n.CenaDo)
|
||||||
|
}
|
||||||
|
|
||||||
|
// CenaKonacnaStr vraća formatiranu konačnu cenu, ili prazan string ako nije uneta
|
||||||
|
func (n ServisniNalog) CenaKonacnaStr() string {
|
||||||
|
if n.CenaKonacna == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("%.2f", *n.CenaKonacna)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AvansStr vraća formatirani avans, ili prazan string ako nije unet
|
||||||
|
func (n ServisniNalog) AvansStr() string {
|
||||||
|
if n.Avans == nil {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
return fmt.Sprintf("%.2f", *n.Avans)
|
||||||
|
}
|
||||||
|
|||||||
@@ -146,25 +146,25 @@
|
|||||||
<div>
|
<div>
|
||||||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Procena od</div>
|
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Procena od</div>
|
||||||
<div style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">
|
<div style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">
|
||||||
{{with .Nalog.CenaOd}}{{printf "%.2f" .}} din{{else}}—{{end}}
|
{{if .Nalog.CenaOd}}{{.Nalog.CenaOdStr}} din{{else}}—{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Procena do</div>
|
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Procena do</div>
|
||||||
<div style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">
|
<div style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">
|
||||||
{{with .Nalog.CenaDo}}{{printf "%.2f" .}} din{{else}}—{{end}}
|
{{if .Nalog.CenaDo}}{{.Nalog.CenaDoStr}} din{{else}}—{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Konačna cena</div>
|
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Konačna cena</div>
|
||||||
<div style="font-size:20px;font-weight:600;color:var(--sb-akcent);">
|
<div style="font-size:20px;font-weight:600;color:var(--sb-akcent);">
|
||||||
{{with .Nalog.CenaKonacna}}{{printf "%.2f" .}} din{{else}}—{{end}}
|
{{if .Nalog.CenaKonacna}}{{.Nalog.CenaKonacnaStr}} din{{else}}—{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Avans</div>
|
<div style="font-size:12px;color:var(--tekst-sporedni);margin-bottom:4px;">Avans</div>
|
||||||
<div style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">
|
<div style="font-size:16px;font-weight:500;color:var(--tekst-glavni);">
|
||||||
{{with .Nalog.Avans}}{{printf "%.2f" .}} din{{else}}—{{end}}
|
{{if .Nalog.Avans}}{{.Nalog.AvansStr}} din{{else}}—{{end}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user