Справочник участников — своего контура; регистрация — по справочнику НРД; поиск клиентов портфеля
readHandbook брал самый свежий из своего, общего (с сервера лицензий) и встроенного — общий был тестовым (TEST3, 166 участников, прислан с 28), и на боевом 9 bj считал «регистрация подтверждена», хотя в боевом справочнике НРД (89) нас нет. Теперь при своём справочнике от НРД — только он; на сервер лицензий справочник уходит только с боевого контура. Регистрация участника проверяется по справочнику, полученному от НРД; появились в нём — анкета отмечается принятой автоматически, плашка уходит. Портфель ЛК: клиенты DEPO списком по клику (первые 50 по алфавиту), «не найдено» вместо «поиск недоступен» (пустой ответ был null). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -708,7 +708,7 @@
|
||||
<div style="font-size:13px;font-weight:600;margin-bottom:4px">Залить одному клиенту (для теста)</div>
|
||||
<div style="display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap">
|
||||
<label style="display:flex;flex-direction:column;gap:3px;font-size:12px;min-width:320px">Клиент DEPO — ФИО, портфель или счёт
|
||||
<input id="lkpf-q" autocomplete="off" placeholder="например, Погонщикова или БР-859"></label>
|
||||
<input id="lkpf-q" autocomplete="off" placeholder="нажмите — список клиентов; или ФИО, портфель, счёт"></label>
|
||||
<input type="hidden" name="client_port" id="lkpf-port"><input type="hidden" name="client_lk" id="lkpf-lk">
|
||||
<button class="btn" type="submit" name="action" value="client_push" id="lkpf-push" disabled>Залить сейчас</button>
|
||||
<button class="btn" type="submit" name="action" value="client_add" id="lkpf-add" disabled>Добавить в постоянное заполнение</button>
|
||||
@@ -726,20 +726,23 @@
|
||||
sel.innerHTML=ok?('Выбран: <b>'+esc(c.name)+'</b> · портфель DEPO '+esc(c.port)+' · счёт '+esc(c.account)+' → договор в ЛК <b>'+esc(c.lk)+'</b>'):'У клиента нет торгового счёта — договор в ЛК не определить';
|
||||
list.innerHTML='';
|
||||
}
|
||||
q.addEventListener('input',function(){
|
||||
clearTimeout(t); var v=q.value.trim(); if(v.length<2){list.innerHTML='';return}
|
||||
function load(){
|
||||
clearTimeout(t); var v=q.value.trim(); if(v.length===1){list.innerHTML='';return}
|
||||
list.innerHTML='<span class="muted">ищу в DEPO…</span>';
|
||||
t=setTimeout(function(){
|
||||
fetch('/admin/setup/lk-portfolio/clients?q='+encodeURIComponent(v),{cache:'no-store'}).then(function(r){return r.json()}).then(function(d){
|
||||
if(d.error){list.innerHTML='<span style="color:var(--err)">'+esc(d.error)+'</span>';return}
|
||||
fetch('/admin/setup/lk-portfolio/clients?q='+encodeURIComponent(v),{cache:'no-store'}).then(function(r){if(!r.ok) throw new Error(r.status); return r.json()}).then(function(d){
|
||||
if(d&&d.error){list.innerHTML='<span style="color:var(--err)">DEPO: '+esc(d.error)+'</span>';return}
|
||||
if(!d||!d.length){list.innerHTML='<span class="muted">не найдено</span>';return}
|
||||
list.innerHTML=''; d.forEach(function(c){
|
||||
var a=document.createElement('a'); a.href='#'; a.style.display='block'; a.style.padding='2px 0';
|
||||
a.innerHTML=esc(c.name)+' · '+esc(c.port)+' · '+esc(c.account)+(c.lk?' → '+esc(c.lk):'');
|
||||
a.onclick=function(e){e.preventDefault(); pick(c)}; list.appendChild(a);
|
||||
});
|
||||
}).catch(function(){list.innerHTML='<span style="color:var(--err)">поиск недоступен</span>'});
|
||||
}).catch(function(e){list.innerHTML='<span style="color:var(--err)">поиск не ответил ('+esc(e&&e.message||'сеть')+') — повторите</span>'});
|
||||
},300);
|
||||
});
|
||||
}
|
||||
q.addEventListener('input',load);
|
||||
q.addEventListener('focus',function(){ if(!list.innerHTML) load(); });
|
||||
})();
|
||||
</script>
|
||||
{{range lkPortfolioStates}}<div class="muted" style="font-size:12.5px;margin-top:8px"><b>{{.LK}}</b> ← {{.Depo}}: {{if .Err}}<span style="color:var(--err)">ошибка — {{.Err}}</span>{{else if .PushedAt.IsZero}}сверено {{.CheckedAt.Format "15:04:05"}}, отправки ещё не было{{else}}отправлено {{.PushedAt.Format "02.01 15:04:05"}} ({{.Lines}} бумаг), сверено {{.CheckedAt.Format "15:04:05"}}{{end}}{{range .Skipped}}<br>пропущено: {{.}}{{end}}</div>{{end}}
|
||||
|
||||
Reference in New Issue
Block a user