Belge ve ürün uygunluğu
Her kontrol için belge adı/sürümü ve kaynak maddeyi yazın. ÜTS, numune ve servis koşulları her ihalede zorunlu değildir; uygulanmıyorsa gerekçesini belirtin. Bu kayıtlar kullanıcı kontrolüdür; resmi uygunluk onayı değildir.
Firma belgelerini veya bu İKN için yüklenmiş ihale dokümanlarını ilgili gereksinime bağlayın. Başka ihale dokümanları seçilemez.
Belge deposunu yenile
{vault.loading &&
Belge deposu yükleniyor…
}
{vault.error &&
Belge deposu yüklenemedi: {vault.error}
}
{documents.map(d => {
const key = documentKey(d), c = checks.documents?.[key] || {};
return
{d.document} {d.mandatory === false ? '(isteğe bağlı)' : '(zorunlu)'}
{d.note}
{manualDocuments.some(item => documentKey(item) === key) && setManualDocuments(manualDocuments.filter(item => documentKey(item) !== key))}>Elle eklenen gereksinimi kaldır }
Bağlı dosya
{
const file=eligibleFiles.find(f=>f.id===e.target.value);
updateDocument(key,{documentId:file?.id || null,documentRevision:file ? documentRevision(file) : null,status:'pending'});
}}>
Dosya seçin
{c.documentId && !eligibleFiles.some(f=>f.id===c.documentId) && Önceki dosya bulunamadı veya bu ihale için kullanılamıyor }
{eligibleFiles.map(file=>{file.ad} · {file.son_kullanma || 'Süre bilgisi yok'}{file.erisilebilir === false ? ' · erişilemiyor' : ''} )}
{vault.documents.some(f=>f.id===c.documentId) && downloadFile(vault.documents.find(f=>f.id===c.documentId))}>Bağlı dosyayı indir }
updateDocument(key,{status})}/>
Belge adı/sürümü, geçerlilik kontrolü ve kaynak madde
updateDocument(key,{evidence:e.target.value})}/>
;
})}
{rows.map(row => {
const c=checks.products?.[row.priceKey] || {};
return
{row.name} — ürün/hizmet ve yükümlülük kontrolü
Teklif edilen marka/model veya hizmet kapsamı updateProduct(row.priceKey,{product:e.target.value})}/>
Teknik doküman/madde ve uygunluk dayanağı updateProduct(row.priceKey,{source:e.target.value})}/>
Ürün/hizmet uygunluğuupdateProduct(row.priceKey,{status:e.target.value})}>
Kontrol gerekli Uygun Uygun değil
{HEALTH_CHECKS.map(([key,label])=>
{label}
updateProduct(row.priceKey,{[key]:{...c[key],status}})}/>
Kaynak, karşılanan koşul veya uygulanmama gerekçesi updateProduct(row.priceKey,{[key]:{...c[key],evidence:e.target.value}})}/>
)}
Sorumlu updateProduct(row.priceKey,{owner:e.target.value})}/>
;
})}
;
}