Servis: radni nalog za servisera, hover napomena, responsive popravke
- Nalepnica: uklonjen QR (ostaje na uređaju u servisu, klijent nema šta da skenira);
oslobođen prostor iskorišćen za telefon klijenta i datume (prijem + rok)
- Radni nalog: obrisani „servis_stampa" i „servis_predracun"; nov interni
„servis_radni_nalog" (ruta /servis/{id}/radni-nalog) sa podacima samo za
servisera, bez cena, sa barkodom i praznim poljima (dijagnoza, urađen rad, potpis)
- Forma „Izmeni nalog": kartice „Serviser" i „Avans i napomena" spojene u jednu
„Serviser, avans i napomena"
- Servis kanban: dugme uz SN broj otvara internu napomenu (hover na desktopu,
tap→focus na mobilnom); okidač na omotaču da napomena ne treperi
- Detalji naloga (responsive): forme „Dodaj rad/deo" izvučene iz inline grid-a u
klase + @media (2 kolone na telefonu); tabele radova/delova u tabela-skrol
This commit is contained in:
@@ -29,17 +29,18 @@
|
||||
.barkod { flex: 0 0 auto; text-align: center; }
|
||||
.barkod img { display: block; width: 100%; height: 9mm; object-fit: fill; }
|
||||
|
||||
.donji-red { flex: 1; min-width: 0; display: flex; align-items: center; gap: 3mm; }
|
||||
.donji-red { flex: 1; min-width: 0; display: flex; align-items: stretch; }
|
||||
|
||||
.podaci { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 1.5mm; }
|
||||
.podaci { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 1.2mm; }
|
||||
.broj { font-family: monospace; font-size: 14pt; font-weight: 700; line-height: 1.1; }
|
||||
.red { font-size: 8pt; line-height: 1.25; }
|
||||
.red .labela { color: #777; text-transform: uppercase; letter-spacing: .3px; font-size: 6.5pt; }
|
||||
.red { font-size: 8pt; line-height: 1.25; display: flex; gap: 2mm; }
|
||||
.red .labela { color: #777; text-transform: uppercase; letter-spacing: .3px; font-size: 6.5pt; flex: 0 0 14mm; align-self: center; }
|
||||
.red .vrednost { font-weight: 600; word-break: break-word; }
|
||||
.prazno { color: #aaa; font-style: italic; font-weight: 400; }
|
||||
|
||||
.qr { flex: 0 0 auto; }
|
||||
.qr img { display: block; width: 22mm; height: 22mm; }
|
||||
.datumi { display: flex; gap: 5mm; font-size: 8pt; }
|
||||
.datumi .stavka { display: flex; gap: 1.5mm; align-items: baseline; }
|
||||
.datumi .labela { color: #777; text-transform: uppercase; letter-spacing: .3px; font-size: 6.5pt; }
|
||||
.datumi .vrednost { font-weight: 600; }
|
||||
|
||||
@page { size: 70mm 40mm; margin: 0; }
|
||||
@media print {
|
||||
@@ -60,14 +61,27 @@
|
||||
<div class="labela">Klijent</div>
|
||||
<div class="vrednost">{{if .KlijentNaziv}}{{.KlijentNaziv}}{{else}}<span class="prazno">—</span>{{end}}</div>
|
||||
</div>
|
||||
<div class="red">
|
||||
<div class="labela">Telefon</div>
|
||||
<div class="vrednost">{{if .Telefon}}{{telefon .Telefon}}{{else}}<span class="prazno">—</span>{{end}}</div>
|
||||
</div>
|
||||
<div class="red">
|
||||
<div class="labela">Uređaj</div>
|
||||
<div class="vrednost">{{if .Nalog.Uredjaj}}{{.Nalog.Uredjaj}}{{else}}<span class="prazno">—</span>{{end}}</div>
|
||||
</div>
|
||||
<div class="datumi">
|
||||
<div class="stavka">
|
||||
<span class="labela">Primljen</span>
|
||||
<span class="vrednost">{{.DatumPrijema}}</span>
|
||||
</div>
|
||||
{{if .PredvidjenRok}}
|
||||
<div class="stavka">
|
||||
<span class="labela">Rok</span>
|
||||
<span class="vrednost">{{.PredvidjenRok}}</span>
|
||||
</div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
{{if .QRKod}}
|
||||
<div class="qr"><img src="data:image/png;base64,{{.QRKod}}" alt="QR"></div>
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<script>window.addEventListener('load', function(){ window.print(); });</script>
|
||||
|
||||
Reference in New Issue
Block a user