Списки: период, сортировка, подгрузка; анкета участника — строкой исходящих

«Исходящие», «Входящие», «Журнал обмена»: быстрые периоды (сегодня, 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
This commit is contained in:
fontvielle
2026-10-22 10:50:43 +03:00
parent 890e575d3d
commit 60b4d46277
13 changed files with 522 additions and 92 deletions
+17 -2
View File
@@ -16,10 +16,25 @@ import (
// список, карточка с выбором по бумагам, отправка решения роботу.
func registerIncoming(mux *http.ServeMux, a *admin, deps incomingDeps) {
mux.HandleFunc("/admin/incoming", func(w http.ResponseWriter, r *http.Request) {
q := parseListQ(r, []string{"time", "party", "status"})
var items []listItem
for _, it := range deps.store.List() {
_, st, _ := incomingJournalStatus(it)
items = append(items, listItem{T: it.ReceivedAt, V: it, Keys: map[string]string{
"party": pick(m2mPartyName(it.SenderCode), m2mPartyName(it.SenderINN)) + " " + it.SenderCode, "status": st,
}})
}
rows, total, more := listApply(items, q)
if r.URL.Query().Get("part") == "rows" {
listRowsPart(w, a.incoming, "inrow", rows, q, more)
return
}
data := struct {
page
Items []*IncomingTransfer
}{nowPage("Входящие переводы", "incoming"), deps.store.List()}
Rows []any
List listView
}{nowPage("Входящие переводы", "incoming"), listVals(rows),
newListView("/admin/incoming", "in-body", q, total, more, "time", "по времени", "party", "по отправителю", "status", "по статусу")}
render(w, a.incoming, data)
})