60b4d46277
«Исходящие», «Входящие», «Журнал обмена»: быстрые периоды (сегодня, 7, 30 дней, всё время), даты с–по, сортировка (время, инвестор/контрагент, направление, статус), первые 50 строк и подгрузка при прокрутке (part=rows&offset=N). Раньше показывались только последние 200/100. Анкета участника — исходящий пакет в НРД: строка в «Исходящих» и «Журнале» с ответом НРД (принята / отклонена с кодом / ждёт), вместо плашки над списком. Отправки копятся в participant-regs.json (прежний participant-reg.json подхватывается). userTemplate — функции текущего пользователя и для порций строк. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
25 lines
2.0 KiB
HTML
25 lines
2.0 KiB
HTML
{{define "content"}}
|
|
<div class="card">
|
|
<h2>Журнал обмена <span class="muted">(<span id="journal-count">{{.List.Total}}</span>)</span></h2>
|
|
<p class="muted">Все переводы в одной ленте — входящие и исходящие. Отдельные виды: <a href="/admin/claims">Исходящие</a> · <a href="/admin/incoming">Входящие</a>. <span class="muted" id="journal-live-hint"><span class="dot"></span>новые заявки появляются автоматически</span></p>
|
|
{{template "listTools" .List}}
|
|
<table>
|
|
<thead><tr><th>Время</th><th>Направление</th><th>Контрагент</th><th>ЦБ</th><th>Статус</th><th></th></tr></thead>
|
|
<tbody id="journal-body">
|
|
{{range .Rows}}{{template "journalrow" .}}{{end}}
|
|
<tr id="journal-empty"{{if .Rows}} hidden{{end}}><td colspan="6" class="muted">{{if .List.Q.FromS}}За выбранный период ничего нет.{{else}}Переводов пока нет.{{end}}</td></tr>
|
|
</tbody>
|
|
</table>
|
|
{{template "listMore" .List}}
|
|
</div>
|
|
{{end}}
|
|
|
|
{{define "journalrow"}}<tr data-key="{{.LiveKey}}" data-time="{{.Time.UnixNano}}">
|
|
<td style="white-space:nowrap">{{msk .Time}}</td>
|
|
<td>{{if eq .DirKind "out"}}<span class="badge" style="background:#e7f0fb;color:#1f4e79">↗ Исходящий</span>{{else}}<span class="badge" style="background:#e6f4ea;color:#1a7f37">↘ Входящий</span>{{end}}</td>
|
|
<td>{{.Party}}</td>
|
|
<td>{{.SecN}}</td>
|
|
<td><span class="badge {{.Status}}">{{.StatusText}}</span>{{if .Outcome}} <span class="badge {{if eq .Outcome "Принято"}}confirmed{{else if eq .Outcome "Отказано"}}rejected{{else}}awaiting_decision{{end}}">{{.Outcome}}</span>{{end}}<div class="live live-{{.Live.Kind}}" data-live="{{.LiveKey}}"{{if .Live.Active}} data-active="1"{{else}} title="Завершено: состояние больше не проверяется"{{end}}>{{.Live.Text}}</div></td>
|
|
<td><a href="{{.Href}}" class="muted">открыть →</a></td>
|
|
</tr>{{end}}
|