(function(){ if(location.search.indexOf('dg=1')<0)return; var C=null;try{C=JSON.parse(sessionStorage.getItem('nds_dg')||'null');}catch(e){} var W=document.createElement('div');W.id='dgWrap';W.style.cssText='position:fixed;inset:0;z-index:2147483000;background:var(--ink,#0F1620);color:var(--txt,#E9EFF5);overflow:auto';document.body.appendChild(W); function E(s){return String(s==null?'':s).replace(/[&<>"]/g,function(c){return{'&':'&','<':'<','>':'>','"':'"'}[c];});} if(!C||!C.e||!C.k){W.innerHTML='
Hãy mở mục này từ app Việc của tôi.
';return;} function td(){var d=new Date();return d.getFullYear()+'-'+('0'+(d.getMonth()+1)).slice(-2)+'-'+('0'+d.getDate()).slice(-2);} var D=td(),sentAt=null,busy=false,msg=''; var nb='font:inherit;font-weight:800;font-size:16px;width:40px;height:36px;flex:0 0 auto;background:var(--surface,#182533);border:1px solid var(--line,#22333f);color:var(--txt,#E9EFF5);border-radius:10px;cursor:pointer'; var bb='flex:1;font:inherit;font-weight:800;padding:11px;border-radius:10px;border:1px solid var(--line,#22333f);background:var(--surface,#182533);color:var(--txt,#E9EFF5);cursor:pointer;white-space:nowrap'; async function call(a,extra){var b=Object.assign({e:C.e,k:C.k,pin:C.pin||'',period:D},extra||{});var r=await fetch('tasks.php?action='+a+'&w='+encodeURIComponent(C.w||''),{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify(b)});var j=null;try{j=await r.json();}catch(e){}return {status:r.status,data:j};} function lbl(s){var d=new Date(s+'T12:00:00');return ['CN','T2','T3','T4','T5','T6','T7'][d.getDay()]+', '+('0'+d.getDate()).slice(-2)+'/'+('0'+(d.getMonth()+1)).slice(-2)+'/'+d.getFullYear();} function hm(s){var d=new Date(s);if(isNaN(d))return '';return ('0'+d.getHours()).slice(-2)+':'+('0'+d.getMinutes()).slice(-2)+' '+('0'+d.getDate()).slice(-2)+'/'+('0'+(d.getMonth()+1)).slice(-2);} function shell(body){return '
📋 Báo cáo phòng
'+lbl(D)+'
'+body+'
';} function wire(){var b=document.getElementById('dgBack');if(b)b.onclick=function(){if(C.back)location.href=C.back;else history.back();};var p=document.getElementById('dgPrev');if(p)p.onclick=function(){shift(-1);};var n=document.getElementById('dgNext');if(n)n.onclick=function(){shift(1);};} function shift(n){var d=new Date(D+'T12:00:00');d.setDate(d.getDate()+n);var nd=d.getFullYear()+'-'+('0'+(d.getMonth()+1)).slice(-2)+'-'+('0'+d.getDate()).slice(-2);if(nd>td())return;D=nd;load();} async function load(){msg='';W.innerHTML=shell('
Đang tải…
');wire();var r=await call('delegateData'); if(r.status!==200||!r.data||!r.data.ok){var er=(r.data||{}).error;var em={nodelegate:'Bạn chưa được giao quyền Báo cáo thay.',pin:'Phiên đăng nhập hết hạn — mở lại app.',blocked:'⛔ Mạng của bạn đang bị tạm khóa.'};W.innerHTML=shell('
'+E(em[er]||('Không tải được dữ liệu ('+r.status+').'))+'
');wire();return;} var d=r.data;try{window.leavesAll=d.leaves||[];emps=d.employees||[];tasks=d.tasks||[];allDaily=d.daily||[];}catch(e){} var dt=(d.settings&&d.settings.deptType)||'thuong';window.myDeptType=dt;try{myDeptType=dt;}catch(e){} try{applySettings(d.settings||{});}catch(e){} try{rDate=D;var mr=(allDaily||[]).filter(function(x){return x.who==='manager'&&x.date===D;})[0];rItems=mr?JSON.parse(JSON.stringify(mr.items||[])):[];rItems.forEach(function(it){if(it.g==='Công việc trong tuần')it.g=GEN;});}catch(e){} sentAt=d.sentAt;render();} function render(){var txt='';try{txt=buildDayGroupText(true);}catch(e){txt='(Không dựng được báo cáo: '+e.message+')';} var si=0;try{si=dgStyleIdx();}catch(e){}var ch='';(DG_STYLES||[]).forEach(function(st,i){var on=(i===si);ch+='';}); var _gl=(typeof lvOn==='function')?lvOn('manager',D):null;var gb=_gl?'
🌴 GĐ nghỉ phép '+E(lvRange(_gl))+' · bạn gửi báo cáo thay
':'';var sb=gb+(sentAt?'
✓ Báo cáo ngày này đã gửi lúc '+E(hm(sentAt))+'
':''); var body=sb+'
'+ch+'
'+E(txt)+'
'+(msg?'
'+E(msg)+'
':'')+'
'; W.innerHTML=shell(body);wire(); W.querySelectorAll('[data-si]').forEach(function(x){x.onclick=function(){try{rSetS('nds_dg_style',x.getAttribute('data-si'));}catch(e){}msg='';render();};}); var cp=document.getElementById('dgCopy');if(cp)cp.onclick=function(){var t='';try{t=buildDayGroupText(false);}catch(e){}if(navigator.clipboard)navigator.clipboard.writeText(t).then(function(){msg='✓ Đã copy';render();},function(){msg='Không copy được';render();});}; var sd=document.getElementById('dgSend');if(sd)sd.onclick=async function(){if(busy)return;busy=true;sd.textContent='Đang gửi…';var t='';try{t=buildDayGroupText(false);}catch(e){}var dept='';try{dept=rGetS('nds_daily_dept','');}catch(e){}var content='
'+E(t)+'
';var r=await call('delegateSend',{title:'Báo cáo ngày '+D+(dept?(' — '+dept):''),content:content});busy=false;if(r.status===200&&r.data&&r.data.ok){var _up=!!r.data.updated;sentAt=new Date().toISOString();msg=_up?'✓ Đã gửi cập nhật báo cáo lên Ban lãnh đạo':'✓ Đã gửi báo cáo lên Ban lãnh đạo';}else if(r.status===409){sentAt=(r.data||{}).sentAt||sentAt;msg='ℹ Nội dung chưa thay đổi — báo cáo đã gửi lúc '+hm(sentAt)+'.';}else{msg='Gửi không thành công ('+r.status+').';}render();};} load(); })();