hazirlik ozetinde belge sorumlularini goster
This commit is contained in:
@@ -37,6 +37,7 @@ function Overview({tenders,now}) {
|
||||
<td role="cell" className="block md:table-cell p-2"><span aria-hidden="true" className="block md:hidden text-xs font-bold mb-1">İhale</span><button type="button" onClick={()=>open(tender,'source')} className="text-blue-800 underline text-left">{tender.ikn} · {tender.baslik}</button><p className="text-xs mt-1">{summary.issues.length ? `${summary.issues.length} kontrol eksik` : 'Kayıtlı kontroller tamam; son kontrol gerekli'}</p></td>
|
||||
<td role="cell" className="block md:table-cell p-2"><span aria-hidden="true" className="block md:hidden text-xs font-bold mb-1">Sorumlu</span>{summary.owner}</td>
|
||||
<td role="cell" className="block md:table-cell p-2"><span aria-hidden="true" className="block md:hidden text-xs font-bold mb-1">Belge eksikleri</span><details><summary className="cursor-pointer">{summary.documentIssues.length ? `${summary.documentIssues.length} belge kontrolü` : 'Kayıtlı belgelerde eksik bulunmadı'}</summary>
|
||||
{summary.documentOwners.length > 0 && <p className="text-xs text-slate-600 mt-2">Belge sorumluları: {summary.documentOwners.map(item=>`${item.document}: ${item.owner}`).join(' · ')}</p>}
|
||||
<ul className="space-y-2 mt-2">{summary.documentIssues.map((text,i)=><li key={i}><button type="button" onClick={()=>open(tender,'checks')} className="text-blue-800 underline text-left">{text}</button></li>)}</ul>
|
||||
</details></td>
|
||||
<td role="cell" className="block md:table-cell p-2"><span aria-hidden="true" className="block md:hidden text-xs font-bold mb-1">Sıradaki kontrol</span><button type="button" onClick={()=>open(tender,summary.next.target)} className="text-blue-800 underline text-left">{summary.next.text}</button>
|
||||
|
||||
@@ -37,5 +37,6 @@ export function preparationSummary(tender,vault,now=new Date()) {
|
||||
const checkedVault={...vault,documents:Array.isArray(vault?.documents) ? vault.documents : [],deadlineDate:tenderDateKey(tender),tenderIkn:tender.ikn};
|
||||
const documentIssues=preparationBlockers([],documents,draft.checks,checkedVault);
|
||||
preparationBlockers(selection.rows,documents,draft.checks,checkedVault).forEach(text=>add('checks',text));
|
||||
return {issues,documentIssues,owner:tender.atananPersonel || 'Atanmadı',next:issues[0] || {target:'source',text:'Dosyayı açıp son kontrolleri yapın.'}};
|
||||
const documentOwners=documents.map(document=>({document:document.document,owner:draft.checks?.documents?.[documentKey(document)]?.owner?.trim() || 'Atanmadı'}));
|
||||
return {issues,documentIssues,documentOwners,owner:tender.atananPersonel || 'Atanmadı',next:issues[0] || {target:'source',text:'Dosyayı açıp son kontrolleri yapın.'}};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user