Журнал: онлайн-статус «чего ждёт заявка», ссылка из ручного ввода в журнал, правки формы
- livestatus.go: одна фраза состояния для исходящих (сделка M2M + черновик/подача/MS010 поручения 16) и входящих (наше решение → поручение 16/1); признак «в работе» - строки журналов и карточки показывают её и обновляют по /admin/journal/live каждые 8 с, пока заявка в работе; завершённые и отклонённые не опрашиваются - ручной ввод: у отправленного поручения ссылка «в журнале →» и тот же онлайн-статус; вид документа занимает две колонки - выбор участника: по ИНН и коду с кнопки, а не по номеру строки; Enter выбирает только при единственном совпадении Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q4YVo4UMopqT5DzicqpPjL
This commit is contained in:
@@ -24,6 +24,8 @@ type journalRow struct {
|
||||
StatusText string // человекочитаемый текст статуса (русский)
|
||||
Outcome string // для входящих: «Принято» / «Отказано» / «Частично …»
|
||||
Href string
|
||||
LiveKey string // out:<id> | in:<id> — для онлайн-обновления строки
|
||||
Live LiveStatus // чего ждёт заявка
|
||||
}
|
||||
|
||||
// incomingJournalStatus — статус входящего для журнала: класс бейджа (цвет),
|
||||
@@ -63,6 +65,7 @@ func incomingStatusOf(it *IncomingTransfer) incomingStatusVM {
|
||||
|
||||
// registerJournal вешает /admin/journal — объединённая лента вход+исход.
|
||||
func registerJournal(mux *http.ServeMux, a *admin, svc *Service, store *IncomingStore) {
|
||||
registerLiveStatus(mux, svc, store) // «чего ждёт заявка» для строк в работе
|
||||
mux.HandleFunc("/admin/journal", func(w http.ResponseWriter, r *http.Request) {
|
||||
var rows []journalRow
|
||||
|
||||
@@ -79,7 +82,8 @@ func registerJournal(mux *http.ServeMux, a *admin, svc *Service, store *Incoming
|
||||
Time: c.CreatedAt, Dir: "Исходящий", DirKind: "out",
|
||||
Party: party, SecN: len(c.Securities),
|
||||
Status: c.Status, StatusText: russianState(c.Status),
|
||||
Href: "/admin/claims/" + c.ID,
|
||||
Href: "/admin/claims/" + c.ID,
|
||||
LiveKey: "out:" + c.ID, Live: liveOutgoing(c),
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -99,7 +103,8 @@ func registerJournal(mux *http.ServeMux, a *admin, svc *Service, store *Incoming
|
||||
Time: it.ReceivedAt, Dir: "Входящий", DirKind: "in",
|
||||
Party: party, SecN: len(it.Securities),
|
||||
Status: cls, StatusText: txt, Outcome: outcome,
|
||||
Href: "/admin/incoming/" + it.ID,
|
||||
Href: "/admin/incoming/" + it.ID,
|
||||
LiveKey: "in:" + it.ID, Live: liveIncoming(it),
|
||||
})
|
||||
}
|
||||
sort.Slice(rows, func(i, j int) bool { return rows[i].Time.After(rows[j].Time) })
|
||||
|
||||
Reference in New Issue
Block a user