FILTR:
Všichni
{{ t.short_name || t.full_name }}{{ t.id===user.id ? ' ★' : '' }}
{{ dayDetailTitle }}
{{ ev.object_name || 'Bez objektu' }}
! ! {{ ev.title }}
Žádné zakázky na tento den.
{{ d }}
‹
! ! {{ evStartTime(bar.ev) }} {{ bar.ev.object_name }} · {{ bar.ev.title }}
{{ initials(te.short_name, te.full_name) }}
›
{{ day.num }}
{{ initials(te.short_name, te.full_name) }}
🔒
{{ (cn.start_at && !cn.all_day) ? cn.start_at.substring(11,16) + ' ' + cn.text : cn.text }}
+ pozn.
{{ initials(ev.creator_name, ev.creator_full_name) }}
! ! {{ ev.title }}
{{ dayNames[i] }} {{ day.num }}.{{ parseInt(day.date.substring(5,7)) }}.
{{ initials(te.short_name, te.full_name) }}
🔒
{{ (cn.start_at && !cn.all_day) ? cn.start_at.substring(11,16) + ' ' + cn.text : cn.text }}
+ pozn.
{{ initials(ev.creator_name, ev.creator_full_name) }}
! ! {{ ev.title }}
ukládám…
{{ initials(note.owner ? note.owner.short_name : '', note.owner ? note.owner.full_name : '') }}
{{ initials(sw.short_name, sw.full_name) }}
Zatím tu nic není.
Klikni na + Papírek a hoď sem cokoli, na co nechceš zapomenout —
třeba „sehnat projektanta" nebo „sehnat revizáka na Balabenku".
Klikni na + Papírek a hoď sem cokoli, na co nechceš zapomenout —
třeba „sehnat projektanta" nebo „sehnat revizáka na Balabenku".
Sdílet papírek
Vyber kolegy — papírek se jim zobrazí na jejich nástěnce (jen ke čtení).
Řazení:
A–Z
Vznik
Termín do
Provádí:
Všichni
{{ t.short_name || t.full_name }}
Po termínu {{ dash.overdue.length }}
{{ t.object_name }}
{{ t.title }}
{{ daysLeft(t.end_at || t.start_at) }}
!
{{ initials(t.creator_name, t.creator_full_name) }}
{{ initials(te.short_name, te.full_name) }}
{{ dayName(t.start_at) }} {{ fmtDate(t.start_at) }}
{{ t.start_at.substring(11,16) }}
→
{{ dayName(t.end_at) }} {{ fmtDate(t.end_at) }}
{{ t.end_at.substring(11,16) }}
Dnes a probíhá {{ dash.today.length }}
{{ t.object_name }}
{{ t.title }}
{{ daysLeft(t.end_at || t.start_at) }}
!
{{ initials(t.creator_name, t.creator_full_name) }}
{{ initials(te.short_name, te.full_name) }}
{{ dayName(t.start_at) }} {{ fmtDate(t.start_at) }}
{{ t.start_at.substring(11,16) }}
→
{{ dayName(t.end_at) }} {{ fmtDate(t.end_at) }}
{{ t.end_at.substring(11,16) }}
Nadcházející {{ dash.upcoming.length }}
{{ t.object_name }}
{{ t.title }}
{{ daysLeft(t.end_at || t.start_at) }}
!
{{ initials(t.creator_name, t.creator_full_name) }}
{{ initials(te.short_name, te.full_name) }}
{{ dayName(t.start_at) }} {{ fmtDate(t.start_at) }}
{{ t.start_at.substring(11,16) }}
→
{{ dayName(t.end_at) }} {{ fmtDate(t.end_at) }}
{{ t.end_at.substring(11,16) }}
Neplánované {{ dash.unplanned.length }}
{{ t.object_name }}
{{ t.title }}
{{ initials(t.creator_name, t.creator_full_name) }}
{{ initials(te.short_name, te.full_name) }}
bez terminu
!
Žádné otevřené zakázky.
Řazení:
{{ o.name }}
{{ recentTasks(o.tasks).length }}/{{ o.tasks.length }}
{{ t.title }}
{{ initials(te.short_name, te.full_name) }}
{{ fmtDate(t.start_at) }}
Žádné aktivní zakázky
+ {{ o.tasks.length - 8 }} dalších
Osobni
{{ o.name }}
{{ recentTasks(o.tasks).length }}/{{ o.tasks.length }}
●
{{ t.title }}
{{ fmtDate(t.start_at) }}
+ {{ recentTasks(o.tasks).length - 4 }} dalsich
Zadne aktivni zakazky
Žádné objekty.
Technici
{{ initials(u.short_name, u.full_name) }}
{{ u.full_name }}
{{ u.role }} · {{ u.short_name }}
{{ isOnline(u) ? 'Online' : (isRecent(u) ? 'Nedávno' : 'Offline') }}
Poslední přihlášení
{{ u.last_login ? fmtDateTime(u.last_login) : 'Nikdy' }}
Poslední aktivita
{{ u.last_active ? fmtDateTime(u.last_active) : 'Nikdy' }}
Akce (24h / 7d)
{{ u.actions_24h || 0 }} / {{ u.actions_7d || 0 }}
Přihlášení:
{{ fmtDateTime(l.created_at) }}
{{ l.ip_address || '?' }}
Poslední akce:
{{ fmtDateTime(a.created_at) }}
{{ uaDescription(a) }}
▶
Objednávky (vidí jen administrátor)
{{ ordersUploading ? 'Importuji…' : 'Přetáhni objednávku sem (PDF / obrázek)…' }}
Načítám…
| Odběratel | Objekt | Číslo | Datum | Částka | Stav | Zak. | |
|---|---|---|---|---|---|---|---|
| {{ o.customer_name || '—' }} | {{ o.object_name || '—' }} | {{ o.order_number || '—' }} | {{ o.order_date || '—' }} | {{ o.amount_total != null ? (o.amount_total + ' ' + (o.currency || 'CZK')) : '—' }} | {{ orderStatusLabel(o.status) }} | {{ o.linked_count || 0 }} | |
| Žádné objednávky | |||||||
Objednávka #{{ orderDetail.id }}
AI:
✓ odběratel napárován dle IČO
IČO {{ orderDetail._suggestion.ico }} není mezi odběrateli — z ARES: „{{ orderDetail._suggestion.ares_new.name }}"
Ukončené zakázky
✅
{{ a.title || 'Bez názvu' }}
{{ a.object_name || 'Bez objektu' }} · {{ fmtDateTime(a.updated_at || a.created_at) }}
· {{ a.technician_names }}
{{ a.description }}
Žádné ukončené zakázky.
Nová zakázka do archivu
{{ fmtDateTime(archDetail.updated_at || archDetail.created_at) }}
· {{ archDetail.technician_names }}
{{ archDetail.description }}
{{ f.original_name || f.filename }}
({{ (f.size_bytes/1024).toFixed(0) }} KB)
Objednávka ze schránky (jen admin)
{{ o.order_number || ('#'+o.id) }}
{{ o.customer_name || '—' }}
· {{ o.amount_total }} {{ o.currency||'CZK' }}
náhled
Žádná připojená objednávka.
Nevyčerpané objednávky odběratele této zakázky:
{{ o.order_number || ('#'+o.id) }}
{{ o.customer_name || '—' }}
· {{ o.amount_total }} {{ o.currency||'CZK' }}
Žádné volné objednávky tohoto odběratele.
Nastavení fakturace
jeden email na řádek
Fakturace
| Název zakázky | Objekt | Odběratel | Částka | DÚZP | Odesláno | Číslo faktury | Schválil | Komentář | Stav | Akce |
|---|---|---|---|---|---|---|---|---|---|---|
| {{ inv.task_title || 'Bez názvu' }} | {{ inv.object_name || '-' }} | {{ inv.customer_name || '-' }} | {{ fmtDate(inv.created_at) }} | {{ inv.approved_by }} | {{ inv.status==='invoiced' ? 'Vyfakturováno' : 'Čeká' }} |
Žádné položky k zobrazení
Revize
{{ revYear }}
{{ revMonthNames[month-1] }}
Zadne
{{ rev.type }}
{{ rev.object_name }}
{{ revStatusLabel(rev.status) }}
{{ t }}
{{ rev.notes }}
{{ revDetailItem.object_name }}
Měsíc: {{ revDetailItem.month }}/{{ revDetailItem.year }}
Odběratelé
| Název | IČO | Objekty | |
|---|---|---|---|
| {{ cust.name }} | {{ cust.ico || '' }} |
{{ objNameById(oid) }}
|
Žádní odběratelé. Klikněte na + Nový odběratel.
{{ wlMonthNames[wlMonth-1] }} {{ wlYear }}
{{ t.short_name || t.full_name || t.name }}
| Datum | Den | Od | Do | Hodiny | Fond | Cinnost | Objekt | Popis |
|---|---|---|---|---|---|---|---|---|
| {{ day.label }} | {{ day.dayName }} | {{ e.time_from || '' }} | {{ e.time_to || '' }} | {{ e.hours || '' }} | {{ day.quota === 'Svátek' ? 'Svátek' : (day.quota ? day.quota : '') }} | {{ e.activity || '' }} | {{ e.location || '' }} | {{ e.description || '' }} |
| {{ day.label }} | {{ day.dayName }} | {{ day.quota === 'Svátek' ? '0' : '' }} | {{ day.quota === 'Svátek' ? 'Svátek' : (day.quota ? day.quota : '') }} | {{ day.quota === 'Svátek' ? 'Svátek' : '' }}--- | {{ day.quota === 'Svátek' ? 'Státní svátek' : '' }} | |||
| Celkem | {{ wlWorkedDecimal }} | {{ wlQuotaTotal }} | {{ wlRemainingDisplay }} | |||||
📋 Historie změn výkazu ({{ wlHistory.length }} záznamů)
Zatím žádné změny.
📅 {{ wlhDateFull(h) }} · 📍 {{ wlhLocation(h) }} · 👤 {{ wlhTechName(h) }}
{{ wlhFieldLabel(key) }}: {{ wlhFmt(key, h.old_values[key]) }} → {{ wlhFmt(key, nv) }}
{{ h.new_values.time_from }}–{{ h.new_values.time_to }} · {{ h.new_values.hours }} h · {{ h.new_values.activity }} · {{ h.new_values.description }}
{{ h.old_values.time_from }}–{{ h.old_values.time_to }} · {{ h.old_values.hours }} h · {{ h.old_values.activity }} · {{ h.old_values.description }}