common_doc_clean
This commit is contained in:
parent
3acb110931
commit
0842359e0e
@ -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,
|
||||||
|
@ -508,13 +508,20 @@ function showProcessDetails(group: Group, groupId: number) {
|
|||||||
allDetailsAreas.forEach(area => {
|
allDetailsAreas.forEach(area => {
|
||||||
(area as HTMLElement).style.display = 'none';
|
(area as HTMLElement).style.display = 'none';
|
||||||
});
|
});
|
||||||
|
|
||||||
const container = document.querySelector('.container');
|
const container = document.querySelector('.container');
|
||||||
if (!container) {
|
if (!container) {
|
||||||
console.error('Container not found');
|
console.error('Container not found');
|
||||||
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, "'")}
|
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);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user