'
@@ -2288,8 +2306,10 @@ function screenOrder() {
+'
';
}).join('');
var waitCount = o.tech.filter(function(t){return t.status==='wait';}).length;
+ var clientChosenCount = o.tech.filter(function(t){return t.status==='client_chosen';}).length;
var clientCount = o.tech.filter(function(t){return t.status==='waiting_client';}).length;
- var allFilled = waitCount===0;
+ // allFilled: все должны быть done (client_chosen ≠ done — надо подтвердить)
+ var allFilled = waitCount===0 && clientChosenCount===0 && clientCount===0;
var confirmed = !!o.techConfirmed;
// Bottom of tech card: confirm CTA or confirmed status
@@ -2306,9 +2326,12 @@ function screenOrder() {
+'
Технолог получит спецификацию и сможет согласовать проект
'
+'';
} else {
- techFooter='
'
- +'
⏳
'
- +'
Заполните все позиции — технолог не может работать без параметров техники
'
+ var pendingMsg = clientChosenCount>0
+ ? 'Клиент выбрал технику — подтвердите выбор выше, затем передайте технологу'
+ : 'Заполните все позиции — технолог не может работать без параметров техники';
+ techFooter='
'
+ +'
'+(clientChosenCount>0?'👆':'⏳')+'
'
+ +'
'+pendingMsg+'
'
+'
';
}
@@ -2944,6 +2967,20 @@ function _startClientPick(key){
function _techClientRemind(key){
_toast('📲 Напоминание отправлено в TG-кабинет клиента','var(--accent)');
}
+function _acceptClientChoice(oi,key){
+ var o=window._managerOrders[oi];
+ var t=o.tech.filter(function(x){return x.wkey===key;})[0];
+ if(t){t.status='done';}
+ _toast('✅ Выбор принят и зафиксирован','var(--success)');
+ document.getElementById('screen').innerHTML=renderScreen('manager_order');
+}
+function _rejectClientChoice(oi,key){
+ var o=window._managerOrders[oi];
+ var t=o.tech.filter(function(x){return x.wkey===key;})[0];
+ if(t){t.status='waiting_client'; t.brand=''; t.model=''; t.dims='';}
+ _toast('↩ Клиенту отправлена просьба выбрать снова','var(--warn)');
+ document.getElementById('screen').innerHTML=renderScreen('manager_order');
+}
function screenTechClient(){
var key=window._clientPickKey||'oven';
var tt=TECH_TYPES.filter(function(t){return t.key===key;})[0]||{key:key,label:key};