common_doc_clean

This commit is contained in:
Pascal 2024-11-25 21:49:56 +01:00
parent 3acb110931
commit 0842359e0e
2 changed files with 27 additions and 13 deletions

View File

@ -72,7 +72,7 @@ export const groupsMock = [
}, },
{ {
id: 104, id: 104,
name: "Urgency plan A", name: "Urgency A",
description: "Document vierge pour le plan d'urgence A", description: "Document vierge pour le plan d'urgence A",
visibility: VISIBILITY_LEVELS.PRIVATE, visibility: VISIBILITY_LEVELS.PRIVATE,
status: DOCUMENT_STATUS.DRAFT, status: DOCUMENT_STATUS.DRAFT,
@ -82,7 +82,7 @@ export const groupsMock = [
}, },
{ {
id: 105, id: 105,
name: "Urgency plan B", name: "Urgency B",
description: "Document vierge pour le plan d'urgence B", description: "Document vierge pour le plan d'urgence B",
visibility: VISIBILITY_LEVELS.PRIVATE, visibility: VISIBILITY_LEVELS.PRIVATE,
status: DOCUMENT_STATUS.DRAFT, status: DOCUMENT_STATUS.DRAFT,
@ -92,7 +92,7 @@ export const groupsMock = [
}, },
{ {
id: 106, id: 106,
name: "Urgency plan C", name: "Urgency C",
description: "Document vierge pour le plan d'urgence C", description: "Document vierge pour le plan d'urgence C",
visibility: VISIBILITY_LEVELS.PRIVATE, visibility: VISIBILITY_LEVELS.PRIVATE,
status: DOCUMENT_STATUS.DRAFT, status: DOCUMENT_STATUS.DRAFT,

View File

@ -515,6 +515,13 @@ function showProcessDetails(group: Group, groupId: number) {
return; return;
} }
// Charger les données du localStorage
const storedGroups = JSON.parse(localStorage.getItem('groups') || '[]');
const storedGroup = storedGroups.find((g: Group) => g.id === groupId);
// Utiliser les données du localStorage si disponibles, sinon utiliser le groupe passé en paramètre
const displayGroup = storedGroup || group;
let detailsArea = document.getElementById(`process-details-${groupId}`); let detailsArea = document.getElementById(`process-details-${groupId}`);
if (!detailsArea) { if (!detailsArea) {
detailsArea = document.createElement('div'); detailsArea = document.createElement('div');
@ -527,19 +534,26 @@ function showProcessDetails(group: Group, groupId: number) {
detailsArea.style.display = 'block'; detailsArea.style.display = 'block';
detailsArea.innerHTML = ` detailsArea.innerHTML = `
<div class="process-details-header"> <div class="process-details-header">
<h2>${group.name}</h2> <h2>${displayGroup.name}</h2>
<div class="header-buttons"> <div class="header-buttons">
</div> </div>
</div> </div>
<div class="process-details-content"> <div class="process-details-content">
<div class="details-section"> <div class="details-section">
<h3>Description</h3> <h3>Description</h3>
<p>${group.description || 'No description available'}</p> <p>${displayGroup.description || 'No description available'}</p>
</div> </div>
<div class="details-section"> <div class="details-section">
<h3>Documents Communs</h3> <h3>Documents Communs</h3>
<div class="documents-grid"> <div class="documents-grid">
${group.commonDocuments.map(document => { ${displayGroup.commonDocuments.map((document: {
signatures?: DocumentSignature[];
name: string;
visibility: string;
createdAt?: string | null;
deadline?: string | null;
id: number;
}) => {
const totalSignatures = document.signatures?.length || 0; const totalSignatures = document.signatures?.length || 0;
const signedCount = document.signatures?.filter((sig: DocumentSignature) => sig.signed).length || 0; const signedCount = document.signatures?.filter((sig: DocumentSignature) => sig.signed).length || 0;
const percentage = totalSignatures > 0 ? (signedCount / totalSignatures) * 100 : 0; const percentage = totalSignatures > 0 ? (signedCount / totalSignatures) * 100 : 0;
@ -578,8 +592,8 @@ function showProcessDetails(group: Group, groupId: number) {
` : ` ` : `
<p>Document vierge - En attente de création</p> <p>Document vierge - En attente de création</p>
<button class="new-request-btn" onclick="newRequest({ <button class="new-request-btn" onclick="newRequest({
processId: ${group.id}, processId: ${displayGroup.id},
processName: '${group.name}', processName: '${displayGroup.name}',
roleId: 0, roleId: 0,
roleName: 'common', roleName: 'common',
documentId: ${document.id}, documentId: ${document.id},
@ -594,7 +608,7 @@ function showProcessDetails(group: Group, groupId: number) {
</div> </div>
<div class="details-section"> <div class="details-section">
<h3>Roles and Documents</h3> <h3>Roles and Documents</h3>
${group.roles.map(role => ` ${displayGroup.roles.map((role: { name: string; documents?: any[] }) => `
<div class="role-section"> <div class="role-section">
<h4>${role.name}</h4> <h4>${role.name}</h4>
<div class="documents-grid"> <div class="documents-grid">
@ -654,7 +668,7 @@ function showProcessDetails(group: Group, groupId: number) {
<div class="details-section"> <div class="details-section">
<h3>Members by Role</h3> <h3>Members by Role</h3>
<div class="roles-grid"> <div class="roles-grid">
${group.roles.map(role => ` ${displayGroup.roles.map((role: { name: string; members: Array<{ id: string | number; name: string }> }) => `
<div class="role-block"> <div class="role-block">
<h4>${role.name}</h4> <h4>${role.name}</h4>
<ul class="members-list"> <ul class="members-list">
@ -903,7 +917,7 @@ function newRequest(params: RequestParams) {
<div class="details-header"> <div class="details-header">
<h2>New Document Request</h2> <h2>New Document Request</h2>
<span class="document-context"> <span class="document-context">
Process: ${params.processName} | Role: ${params.roleName} | Document: ${params.documentName.replace(/'/g, "&#39;")} Process: ${params.processName} | Role: ${params.roleName} | Document: ${params.documentName}
</span> </span>
</div> </div>
@ -1088,7 +1102,7 @@ function submitNewDocument(event: Event) {
} }
try { try {
// R<EFBFBD><EFBFBD>cupérer les données actuelles // Récupérer les données actuelles
const groups = JSON.parse(localStorage.getItem('groups') || JSON.stringify(groupsMock)); const groups = JSON.parse(localStorage.getItem('groups') || JSON.stringify(groupsMock));
const group = groups.find((g: Group) => g.id === processId); const group = groups.find((g: Group) => g.id === processId);