feat(pdv): izbor klijenta u KIR formi + mesto/grad u klijentima

KIR forma nudi padajuću listu postojećih klijenata koja popunjava naziv,
PIB/JMBG i mesto kupca (uz ručni unos za kupce van baze). KIR i dalje
čuva kupca kao tekst, ne kao vezu. Klijenti dobili polje mesto (migracija
042), provučeno kroz model, repo, formu i handler.
This commit is contained in:
2026-06-14 01:39:06 +02:00
parent 53cbc789db
commit e8fdd2dc51
7 changed files with 56 additions and 13 deletions
@@ -117,6 +117,11 @@
<input type="text" name="email" value="{{.Klijent.Email}}"
placeholder="npr. marko@example.com">
</div>
<div>
<label class="polje-labela">Mesto / grad</label>
<input type="text" name="mesto" value="{{.Klijent.Mesto}}"
placeholder="npr. Niš">
</div>
</div>
</div>
+26
View File
@@ -34,6 +34,18 @@
<div class="kartica animiraj" style="margin-bottom:16px;">
<div style="font-size:15px;font-weight:500;color:var(--tekst-glavni);margin-bottom:16px;padding-bottom:12px;border-bottom:0.5px solid var(--ivica);">Kupac</div>
<div class="kolona" style="gap:14px;">
{{if .Klijenti}}
<div>
<label class="polje-labela">Izaberi iz klijenata (opciono)</label>
<select onchange="popuniKupca(this)" style="width:100%;padding:8px 12px;border:0.5px solid var(--ivica);border-radius:8px;font-size:14px;background:var(--pozadina);color:var(--tekst-glavni);outline:none;">
<option value="">— ručni unos —</option>
{{range .Klijenti}}
<option data-naziv="{{.PunoIme}}" data-pib="{{if eq .Tip "pravno"}}{{.PIB}}{{else}}{{.JMBG}}{{end}}" data-mesto="{{.Mesto}}">{{.PunoIme}}{{if .Mesto}} — {{.Mesto}}{{end}}</option>
{{end}}
</select>
<div class="pomocni-tekst" style="font-size:12px;margin-top:4px;">Izbor popunjava naziv i PIB/JMBG; možeš ih i ručno izmeniti.</div>
</div>
{{end}}
<div>
<label class="polje-labela">Naziv kupca</label>
<input type="text" name="kupac_naziv" required style="width:100%;padding:8px 12px;border:0.5px solid var(--ivica);border-radius:8px;font-size:14px;background:var(--pozadina);color:var(--tekst-glavni);outline:none;">
@@ -94,4 +106,18 @@
</form>
</div>
<script>
// Izbor klijenta iz padajuće liste popunjava polja kupca (naziv, PIB/JMBG, mesto).
// KIR i dalje čuva kupca kao tekst — klijent samo popuni polja, koja se mogu i ručno menjati.
function popuniKupca(sel) {
var o = sel.options[sel.selectedIndex];
var naziv = o.getAttribute('data-naziv');
if (!naziv) return; // „— ručni unos —"
var f = sel.closest('form');
f.querySelector('input[name="kupac_naziv"]').value = naziv;
f.querySelector('input[name="kupac_pib"]').value = o.getAttribute('data-pib') || '';
f.querySelector('input[name="kupac_mesto"]').value = o.getAttribute('data-mesto') || '';
}
</script>
{{end}}