QUIK: кнопка «Определить из QUIK» — обычная кнопка + fetch (submit форма перехватывала)
Кнопка была submit внутри формы режима, у которой обработчик submit делает preventDefault — клик ничего не отправлял. Теперь type=button + fetch на /admin/setup/quik/detect-account (X-BJ-Ajax), результат в строке статуса, найденный счёт подставляется в поле. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -56,28 +56,37 @@ func (h *setupHandlers) detectQuikAccount(w http.ResponseWriter, r *http.Request
|
||||
http.Error(w, "method", http.StatusMethodNotAllowed)
|
||||
return
|
||||
}
|
||||
// ответ: для fetch (кнопка в форме режима) — текстом; иначе — флеш.
|
||||
reply := func(msg string) {
|
||||
if r.Header.Get("X-BJ-Ajax") != "" {
|
||||
w.Header().Set("Content-Type", "text/plain; charset=utf-8")
|
||||
_, _ = w.Write([]byte(msg))
|
||||
return
|
||||
}
|
||||
setupFlash(w, r, "QUIK: "+msg)
|
||||
}
|
||||
s := h.rc.Snapshot().Quik
|
||||
if s.Server == "" || !s.Verified {
|
||||
setupFlash(w, r, "QUIK: сначала подключитесь к БД МНП (Настройка → QUIK, «Проверить подключение»)")
|
||||
reply("сначала подключитесь к БД МНП (Настройка → QUIK, «Проверить подключение»)")
|
||||
return
|
||||
}
|
||||
firm := quikFirmID()
|
||||
accs, err := quikDetectAccounts(r.Context(), s, firm)
|
||||
if err != nil {
|
||||
setupFlash(w, r, "QUIK: определить счёт не удалось — "+quikErrorDetail(err))
|
||||
reply("определить счёт не удалось — " + quikErrorDetail(err))
|
||||
return
|
||||
}
|
||||
switch len(accs) {
|
||||
case 0:
|
||||
setupFlash(w, r, "QUIK: торговых счетов фирмы "+firm+" в истории поручений (Actions/Export) не найдено — введите счёт вручную")
|
||||
reply("торговых счетов фирмы " + firm + " в истории поручений (Actions/Export) не найдено — введите счёт вручную")
|
||||
case 1:
|
||||
s.Account = accs[0]
|
||||
if err := h.rc.UpdateQuik(s); err != nil {
|
||||
setupFlash(w, r, "QUIK: не сохранилось — "+err.Error())
|
||||
reply("не сохранилось — " + err.Error())
|
||||
return
|
||||
}
|
||||
setupFlash(w, r, "QUIK: торговый счёт подставлен из QUIK — "+accs[0])
|
||||
reply("торговый счёт подставлен из QUIK — " + accs[0])
|
||||
default:
|
||||
setupFlash(w, r, "QUIK: у фирмы "+firm+" несколько торговых счетов ("+strings.Join(accs, ", ")+") — впишите нужный вручную")
|
||||
reply("у фирмы " + firm + " несколько торговых счетов (" + strings.Join(accs, ", ") + ") — впишите нужный вручную")
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user