@@ -417,159 +860,662 @@ const Module_Relance_Client_Facture = (props) => {
}
{/*** FIN Affichage des messages d'alerte*/}
-
+ {/* Dialog pour gerer les Relance_Client */}
+
+ {/* FIN Dialog pour gerer les Relance_Client */}
+
+
+
+
+
+
Facture(s) en retard - {props.client_12_retard_a_payer}
+ {Get_List_Client_Facture_En_Retard_result && Get_List_Client_Facture_En_Retard_result.length > 0 &&
+
+
+
+
+
+
+
+
+
+ {
+ setselectionModel_relance(newSelectionModel);
+ /*if (newSelectionModel.length === 1)
+ handleClick_edit_invoice_From_Line(newSelectionModel);*/
+ if (newSelectionModel.length !== 1) {
+ //clean_order_detail_fields();
+ //setsubmenu();
+ // setdisplay_detail_invoice();
+
+ }
+ }}
+
+
+
+ onRowDoubleClick={(newSelectionModel) => {
+
+ }
+ }
+ selectionModel={selectionModel_facture_retard}
+
+ localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
+ rows={Get_List_Client_Facture_En_Retard_result.map((item, index) => (
+ {
+ id: index,
+ _id: JSON.parse(item)._id,
+ order_header_client_raison_sociale: JSON.parse(item).order_header_client_raison_sociale,
+ order_header_email_client: JSON.parse(item).order_header_email_client,
+ invoice_header_ref_interne: JSON.parse(item).invoice_header_ref_interne,
+ invoice_date_echeance: JSON.parse(item).invoice_date_echeance,
+ invoice_date: JSON.parse(item).invoice_date,
+
+ total_header_toutes_taxes: JSON.parse(item).total_header_toutes_taxes,
+ reste_to_paye: JSON.parse(item).reste_to_paye,
+ }
+ ))}
+
+ columns={columns_facture_retard}
+ pageSize={10}
+ className="datagridclass"
+
+ rowsPerPageOptions={[10]}
+ //disableSelectionOnClick
+ /* components={{
+ Toolbar: GridToolbar,
+ }}*/
+
+
+ //sx={datagridSx}
+ getCellClassName={(params) => {
+
+ }}
+ getRowClassName={(params) => {
+
+ // Pour la gestion de la couleur de zone double cliquée
+ if (String(params.row.id) === String(gridline_id_facture_retard)) {
+ return 'line--statut--selected';
+ }
+ else if (parseInt(String(params.row.id)) % 2 === 0) {
+ return 'line--statut--pair';
+ }
+ else if (parseInt(String(params.row.id)) % 2 !== 0) {
+ return 'line--statut--impair';
+ }
+ }}
+
+
+ />
+
+
+
+
+
+
+
+
+
}
+
+ {!Get_List_Client_Facture_En_Retard_result || Get_List_Client_Facture_En_Retard_result.length <= 0 &&
+
+ Aucune facture en soufrance
+
}
+
+
+
+
+
+
Les relances - {Get_List_Relance_Client_Facture_result.length}
+
+ {Get_List_Relance_Client_Facture_result && Get_List_Relance_Client_Facture_result.length > 0 &&
+
+
+
+
+
+
+ {
+ setselectionModel_relance(newSelectionModel);
+ /*if (newSelectionModel.length === 1)
+ handleClick_edit_invoice_From_Line(newSelectionModel);*/
+ if (newSelectionModel.length !== 1) {
+ //clean_order_detail_fields();
+ //setsubmenu();
+ // setdisplay_detail_invoice();
+
+ }
+ }}
+
+
+
+ onRowDoubleClick={(newSelectionModel) => {
+
+ }
+ }
+ selectionModel={selectionModel_relance}
+
+ localeText={frFR.components.MuiDataGrid.defaultProps.localeText}
+ rows={Get_List_Relance_Client_Facture_result.map((item, index) => (
+ {
+ id: index,
+ _id: JSON.parse(item)._id,
+ client_id: JSON.parse(item).client_id,
+ tab_invoice: JSON.parse(item).tab_invoice,
+ relance_date: JSON.parse(item).relance_date,
+ relance_level: JSON.parse(item).relance_level,
+ total_reste_to_paye: JSON.parse(item).total_reste_to_paye,
+
+ }
+ ))}
+
+ onRowDoubleClick={(newSelectionModel) => {
+ console.log(" ## newSelectionModel = ", newSelectionModel.row.total_reste_to_paye)
+
+ }}
+ columns={columns_relances}
+ pageSize={10}
+ className="datagridclass"
+
+ rowsPerPageOptions={[10]}
+ //disableSelectionOnClick
+ /* components={{
+ Toolbar: GridToolbar,
+ }}*/
+
+
+ //sx={datagridSx}
+ getCellClassName={(params) => {
+
+ }}
+ getRowClassName={(params) => {
+
+ // Pour la gestion de la couleur de zone double cliquée
+ if (String(params.row.id) === String(gridline_id)) {
+ return 'line--statut--selected';
+ }
+ else if (parseInt(String(params.row.id)) % 2 === 0) {
+ return 'line--statut--pair';
+ }
+ else if (parseInt(String(params.row.id)) % 2 !== 0) {
+ return 'line--statut--impair';
+ }
+ }}
+
+
+ />
+
+
+
+
+
+
+
+
+
}
+
+ {!Get_List_Relance_Client_Facture_result || Get_List_Relance_Client_Facture_result.length <= 0 &&
+
+ Aucune relance
+
}
@@ -582,6 +1528,8 @@ const Module_Relance_Client_Facture = (props) => {
export default Module_Relance_Client_Facture;
const local_css = `
+
+
:root {
--bg: #f6f8fb;
--card: #ffffff;
@@ -596,6 +1544,13 @@ const local_css = `
--radius: 14px;
--radius-sm: 10px;
}
+
+.mysy_h3 {
+ margin: 0;
+ font-size: 25px;
+ letter-spacing: -0.04em;
+}
+
.Grid_2_col{
margin-top: 12px;
display:grid;
@@ -676,4 +1631,36 @@ width: 100%;
border: unset;
border-radius: 10px;
}
+
+
+ .btn {
+ height: 42px;
+ border-radius: 12px;
+ padding: 0 18px;
+ border: 1px solid var(--border);
+ display: inline-flex;
+ align-items: center;
+ gap: 9px;
+ font-weight: 700;
+ cursor: pointer;
+ background: #fff;
+ color: var(--text);
+ transition: 0.18s ease;
+}
+
+.btn:hover {
+ transform: translateY(-1px);
+ box-shadow: 0 10px 24px rgba(16, 66, 119, 0.1);
+}
+
+.btn-primary {
+ background: #0b55c4;
+ color: #fff;
+ border-color: #0b55c4;
+}
+
+.btn-light {
+ background: rgba(255, 255, 255, 0.86);
+}
+
`;
diff --git a/src/components/PartnerClient_Activite_For_Client.js b/src/components/PartnerClient_Activite_For_Client.js
index 0aa7c17..c426dae 100644
--- a/src/components/PartnerClient_Activite_For_Client.js
+++ b/src/components/PartnerClient_Activite_For_Client.js
@@ -41,6 +41,12 @@ import { AiOutlinePlusCircle } from "react-icons/ai";
import FiberNewIcon from '@mui/icons-material/FiberNew';
+import {
+ Clock3,
+ CheckCircle2,
+ Ban,
+ Archive
+} from "lucide-react";
import Dialog from '@mui/material/Dialog';
import DialogActions from '@mui/material/DialogActions';
@@ -1243,41 +1249,8 @@ const PartnerClient_Activite_For_Client = (props) => {
/******* kanban */
- const [kanban_colonne_width, setkanban_colonne_width] = useState("20vw");
+ const [kanban_colonne_width, setkanban_colonne_width] = useState("17vw");
- // MySy Comment : design d'une tache (couleur, taille, etc)
- const classes_old = {
- board: {
- display: "flex",
- margin: "0 auto",
- width: "100%",
- fontFamily: 'Arial, "Helvetica Neue", sans-serif'
- },
- column: {
- // minWidth: 200,
- //width: "16vw",
- width: kanban_colonne_width,
- height: "80vh",
- margin: "0 auto",
- backgroundColor: "#212F3D",
- border: 'double #32a1ce',
-
- },
- columnHead: {
- textAlign: "center",
- padding: 10,
- fontSize: "1.2em",
- backgroundColor: "#C6D8AF",
- border: "red",
- },
- item: {
- padding: 10,
- margin: 10,
- fontSize: "0.8em",
- cursor: "pointer",
- backgroundColor: "white"
- }
- };
const classes = {
board: {
@@ -1290,12 +1263,21 @@ const PartnerClient_Activite_For_Client = (props) => {
// minWidth: 200,
//width: "16vw",
width: kanban_colonne_width,
+ textAlign: "center",
height: "80vh",
margin: "0 auto",
backgroundColor: "#FFFFFF",
border: 'solid 1px',
borderLeft: "1px solid #ecf1fc",
borderRight: "1px solid #ecf1fc",
+ borderRadius: "24px",
+ backgroundColor: "rgba(255, 255, 255, 0.68)",
+ border: "1px solid rgba(221, 229, 239, 0.8)",
+ boxShadow: "var(--shadow-lg)",
+ overflow: "hidden",
+ backdropFilter: "blur(10px)",
+ fontFamily: "'DM Sans', Arial, Helvetica, sans-serif",
+ marginLeft: "30px",
},
@@ -1303,11 +1285,21 @@ const PartnerClient_Activite_For_Client = (props) => {
// minWidth: 200,
//width: "16vw",
width: kanban_colonne_width,
+ textAlign: "center",
height: "80vh",
margin: "0 auto",
backgroundColor: "#FFFFFF",
border: 'solid 1px',
borderTop: 'none',
+ borderRadius: "24px",
+ backgroundColor: "rgba(255, 255, 255, 0.68)",
+ border: "1px solid rgba(221, 229, 239, 0.8)",
+ boxShadow: "var(--shadow-lg)",
+ overflow: "hidden",
+ backdropFilter: "blur(10px)",
+ fontFamily: "'DM Sans', Arial, Helvetica, sans-serif",
+ marginLeft: "30px",
+
// borderRight: "1px solid #ecf1fc",
},
@@ -1316,23 +1308,72 @@ const PartnerClient_Activite_For_Client = (props) => {
// minWidth: 200,
//width: "16vw",
width: kanban_colonne_width,
+ textAlign: "center",
height: "80vh",
margin: "0 auto",
backgroundColor: "#FFFFFF",
- border: "1px solid #ecf1fc",
- borderRight: 'solid 1px',
- borderBottom: 'solid 1px',
+
+ borderRadius: "24px",
+ backgroundColor: "rgba(255, 255, 255, 0.68)",
+ border: "1px solid rgba(221, 229, 239, 0.8)",
+ boxShadow: "var(--shadow-lg)",
+ overflow: "hidden",
+ backdropFilter: "blur(10px)",
+ fontFamily: "'DM Sans', Arial, Helvetica, sans-serif",
+ marginLeft: "30px",
+
},
- columnHead: {
+ columnHead_Encours: {
textAlign: "center",
padding: 5,
- fontSize: "14px",
- backgroundColor: "rgb(103, 164, 239)",
- border: "1px solid",
+ border: "none",
marginBottom: "5px",
+ background: "linear-gradient(180deg, #eef4ff 0%, #f7faff 100%)",
+ fontSize: "17px",
+ color: "#0f2552",
+ fontWeight: 600,
+ padding: "18px 18px 16px",
},
+
+ columnHead_Fait: {
+ textAlign: "center",
+ padding: 5,
+ border: "none",
+ marginBottom: "5px",
+ background: "linear-gradient(180deg, #edfdf4 0%, #f8fffb 100%)",
+ fontSize: "17px",
+ color: "#0f2552",
+ fontWeight: 600,
+ padding: "18px 18px 16px",
+ },
+
+
+ columnHead_Annule: {
+ textAlign: "center",
+ padding: 5,
+ border: "none",
+ marginBottom: "5px",
+ background: "linear-gradient(180deg, #fff5e9 0%, #fffaf3 100%)",
+ fontSize: "17px",
+ color: "#0f2552",
+ fontWeight: 600,
+ padding: "18px 18px 16px",
+ },
+
+ columnHead_Archivé: {
+ textAlign: "center",
+ padding: 5,
+ border: "none",
+ marginBottom: "5px",
+ background: "linear-gradient(180deg, #f2f6fb 0%, #f9fbfd 100%)",
+ fontSize: "17px",
+ color: "#0f2552",
+ fontWeight: 600,
+ padding: "18px 18px 16px",
+ },
+
item: {
padding: 5,
marginBottom: 10,
@@ -1790,201 +1831,22 @@ const PartnerClient_Activite_For_Client = (props) => {
{String(show_all_activite_list) === "1" && String(showactivite_detail) !== "1" && String(add_one_activite) !== "1" &&
-
-
- {/*
-
Activité(s) qui me sont Assignée(s)
+
+
+
-
-
-
-
-
- {activite_status_list_pave_affiche.map((channel, index) => (
-
-
- {String(index) === "0" &&
-
{Opportunite_chanel_label[channel.id]}
-
- {Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 &&
- Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id)
- .map(item => (
-
-
-
-
- {String(String(JSON.parse(item).status)) === "1" &&
- }
-
- {String(String(JSON.parse(item).status)) === "0" &&
- {
- Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
- setDialog_ACTIVITE_open(true);
- }}
-
- className="detail_activite">
- {JSON.parse(item).employee_assigned_view_statut && String(JSON.parse(item).employee_assigned_view_statut) !== "1" &&
- }
-
- {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}
-
-
-
- {parseInt(String(JSON.parse(item).retard)) < 0 && RETARD de {String(JSON.parse(item).retard)} jours
}
- {parseInt(String(JSON.parse(item).retard)) > 0 && DANS {String(JSON.parse(item).retard)} jours
}
- {parseInt(String(JSON.parse(item).retard)) == 0 && AUJOURD'HUI
}
-
-
- {(JSON.parse(item).description).substring(0, 50)}
- {(JSON.parse(item).detail).substring(0, 50)}
-
-
- }
-
- {String(String(JSON.parse(item).status)) === "-1" &&
- {
- Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
- setDialog_ACTIVITE_open(true);
- }}
-
- className="detail_activite">
- {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}
-
- ANNULE
- {(JSON.parse(item).description).substring(0, 50)}
- {(JSON.parse(item).detail).substring(0, 50)}
-
-
- }
-
-
-
- ))}
-
-
}
-
- {String(index) !== "0" &&
-
{Opportunite_chanel_label[channel.id]}
-
- {Get_List_Activite_Assign_To_Me_result && Get_List_Activite_Assign_To_Me_result.length > 0 &&
- Get_List_Activite_Assign_To_Me_result.filter(item => JSON.parse(item).status === channel.id)
- .map(item => (
-
-
-
-
- {String(String(JSON.parse(item).status)) === "1" &&
- {
- Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
- setDialog_ACTIVITE_open(true);
- }}
-
- className="detail_activite">
- {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}
-
- FAIT
- {(JSON.parse(item).description).substring(0, 50)}
- {(JSON.parse(item).detail).substring(0, 50)}
-
-
- }
-
- {String(String(JSON.parse(item).status)) === "0" &&
- {
- Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
- setDialog_ACTIVITE_open(true);
- }}
-
- className="detail_activite">
- {JSON.parse(item).employee_assigned_view_statut && String(JSON.parse(item).employee_assigned_view_statut) !== "1" &&
- }
-
- {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}
-
-
-
- {parseInt(String(JSON.parse(item).retard)) < 0 && RETARD de {String(JSON.parse(item).retard)} jours
}
- {parseInt(String(JSON.parse(item).retard)) > 0 && DANS {String(JSON.parse(item).retard)} jours
}
- {parseInt(String(JSON.parse(item).retard)) == 0 && AUJOURD'HUI
}
-
-
- {(JSON.parse(item).description).substring(0, 50)}
- {(JSON.parse(item).detail).substring(0, 50)}
-
-
- }
-
- {String(String(JSON.parse(item).status)) === "-1" &&
- {
- Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item).recid));
- setDialog_ACTIVITE_open(true);
- }}
-
- className="detail_activite">
- {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}
-
- ANNULE
- {(JSON.parse(item).description).substring(0, 50)}
- {(JSON.parse(item).detail).substring(0, 50)}
-
-
- }
-
-
-
- ))}
-
-
}
+ {/* */}
-
- ))}
-
-
-
-
-
-
-
-
-
-
-*/}
@@ -1998,7 +1860,9 @@ const PartnerClient_Activite_For_Client = (props) => {
changeTaskStatus={changeTaskStatus}
>
{String(index) === "0" &&
-
{Opportunite_chanel_label[channel.id]}
+ {Opportunite_chanel_label[channel.id] === "Encours" &&
{Opportunite_chanel_label[channel.id]}
}
+
+
{Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 &&
Get_List_Activite_Of_client_Part_result.filter(item => JSON.parse(item).status === channel.id)
@@ -2078,7 +1942,11 @@ const PartnerClient_Activite_For_Client = (props) => {
}
{String(index) !== "0" &&
-
{Opportunite_chanel_label[channel.id]}
+ {Opportunite_chanel_label[channel.id] === "Fait" &&
{Opportunite_chanel_label[channel.id]}
}
+ {Opportunite_chanel_label[channel.id] === "Annulé" &&
{Opportunite_chanel_label[channel.id]}
}
+ {Opportunite_chanel_label[channel.id] === "Archivé" &&
{Opportunite_chanel_label[channel.id]}
}
+
+
{Get_List_Activite_Of_client_Part_result && Get_List_Activite_Of_client_Part_result.length > 0 &&
Get_List_Activite_Of_client_Part_result.filter(item => JSON.parse(item).status === channel.id)
@@ -2086,9 +1954,7 @@ const PartnerClient_Activite_For_Client = (props) => {
-
+
{String(String(JSON.parse(item).status)) === "1" &&
{
}
+
+ {String(String(JSON.parse(item).status)) === "2" &&
+ {
+ Display_Given_Activite_From_Activite_Recid(String(JSON.parse(item)._id));
+ setDialog_ACTIVITE_open(true);
+ }}
+
+ className="detail_activite">
+ {String(JSON.parse(item).deadline)} : {String(JSON.parse(item).type)}
+
+ ARCHIVE
+ {(JSON.parse(item).description).substring(0, 50)}
+ {(JSON.parse(item).detail).substring(0, 50)}
+
+
+ }
@@ -2613,13 +2497,13 @@ const PartnerClient_Activite_For_Client = (props) => {
-
-
+
@@ -2732,4 +2616,127 @@ width: 100%;
.react-datepicker-wrapper{
width: 100%;
}
+
+ .kanban_item_css{
+ position: relative;
+ background: rgba(255, 255, 255, 0.96);
+ border: 1px solid #edf2f8;
+ border-radius: 18px;
+ box-shadow: 0 4px 14px rgba(17, 39, 76, 0.06);
+ padding: 16px;
+ overflow: hidden;
+ cursor: move !important;
+ overflow: hidden;
+ cursor: move !important;
+ border-radius: 18px;
+ box-shadow: 0 4px 14px rgba(17, 39, 76, 0.06);
+ }
+
+
+ .kanban_item_css-0{
+ padding: 5px;
+ margin-bottom: 10px;
+ font-size: 0.8em;
+ cursor: move;
+ background: #f4f6f6;
+ border: 0px solid;
+ border-left-width: 0px;
+ width: 94%;
+ margin-left: 3%;
+ min-height: 5rem;
+ border-left-width: 10px;
+ border-left-color : #f3f7ff;
+ overflow: hidden;
+ cursor: move !important;
+ border-radius: 18px;
+ box-shadow: 0 4px 14px rgba(17, 39, 76, 0.06);
+ }
+
+ .kanban_item_css-1{
+ padding: 5px;
+ margin-bottom: 10px;
+ font-size: 0.8em;
+ cursor: move;
+ background: #f4f6f6;
+ border: 0px solid;
+ border-left-width: 0px;
+ width: 94%;
+ margin-left: 3%;
+ min-height: 5rem;
+ border-left-width: 10px;
+ border-left-color : #4d6a58;
+ overflow: hidden;
+ cursor: move !important;
+ border-radius: 18px;
+ box-shadow: 0 4px 14px rgba(17, 39, 76, 0.06);
+ }
+
+ .kanban_item_css--1{
+ padding: 5px;
+ margin-bottom: 10px;
+ font-size: 0.8em;
+ cursor: move;
+ background: #f4f6f6;
+ border: 0px solid;
+ border-left-width: 0px;
+ width: 94%;
+ margin-left: 3%;
+ min-height: 5rem;
+ border-left-width: 10px;
+ border-left-color : #F5C527;
+ overflow: hidden;
+ cursor: move !important;
+ border-radius: 18px;
+ box-shadow: 0 4px 14px rgba(17, 39, 76, 0.06);
+ }
+
+ .kanban_item_css-2{
+ padding: 5px;
+ margin-bottom: 10px;
+ font-size: 0.8em;
+ cursor: move;
+ background: #f4f6f6;
+ border: 0px solid;
+ border-left-width: 0px;
+ width: 94%;
+ margin-left: 3%;
+ min-height: 5rem;
+ border-left-width: 10px;
+ border-left-color : #bfd7f5;
+ overflow: hidden;
+ cursor: move !important;
+ border-radius: 18px;
+ box-shadow: 0 4px 14px rgba(17, 39, 76, 0.06);
+ }
+
+ .btn {
+ height: 42px;
+ border-radius: 12px;
+ padding: 0 18px;
+ border: 1px solid var(--border);
+ display: inline-flex;
+ align-items: center;
+ gap: 9px;
+ font-weight: 700;
+ cursor: pointer;
+ background: #fff;
+ color: var(--text);
+ transition: 0.18s ease;
+}
+
+.btn:hover {
+ transform: translateY(-1px);
+ box-shadow: 0 10px 24px rgba(16, 66, 119, 0.1);
+}
+
+.btn-primary {
+ background: #0b55c4;
+ color: #fff;
+ border-color: #0b55c4;
+}
+
+.btn-light {
+ background: rgba(255, 255, 255, 0.86);
+}
+
`;
diff --git a/src/components/Partner_Commande.js b/src/components/Partner_Commande.js
index 61bbc35..810f373 100644
--- a/src/components/Partner_Commande.js
+++ b/src/components/Partner_Commande.js
@@ -187,18 +187,20 @@ const Partner_Commande = (props) => {
function ExpandableCell_String_to_monetaire({ value }) {
- const [expanded, setExpanded] = React.useState(false);
-
- const number = parseFloat(value);
- var new_value = ""
- if (isNaN(number)) {
- new_value = "—"
- } else {
- new_value = new Intl.NumberFormat('fr-FR', {
- minimumFractionDigits: 0,
- maximumFractionDigits: 0,
- }).format(number);
- }
+ var new_val = String(value).replaceAll(" ", '');
+ const [expanded, setExpanded] = React.useState(false);
+
+ const number = parseFloat(new_val);
+
+ var new_value = ""
+ if (isNaN(number)) {
+ new_value = "—"
+ } else {
+ new_value = new Intl.NumberFormat('fr-FR', {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ }).format(number);
+ }
diff --git a/src/components/Partner_Facture.js b/src/components/Partner_Facture.js
index 7682b89..8748c78 100644
--- a/src/components/Partner_Facture.js
+++ b/src/components/Partner_Facture.js
@@ -250,18 +250,20 @@ const Partner_Facture = (props) => {
}
function ExpandableCell_String_to_monetaire({ value }) {
- const [expanded, setExpanded] = React.useState(false);
-
- const number = parseFloat(value);
- var new_value = ""
- if (isNaN(number)) {
- new_value = "—"
- } else {
- new_value = new Intl.NumberFormat('fr-FR', {
- minimumFractionDigits: 2,
- maximumFractionDigits: 2,
- }).format(number);
- }
+ var new_val = String(value).replaceAll(" ", '');
+ const [expanded, setExpanded] = React.useState(false);
+
+ const number = parseFloat(new_val);
+
+ var new_value = ""
+ if (isNaN(number)) {
+ new_value = "—"
+ } else {
+ new_value = new Intl.NumberFormat('fr-FR', {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ }).format(number);
+ }
diff --git a/src/components/Partner_Facture_ARG.js b/src/components/Partner_Facture_ARG.js
index 197fc83..5821b2b 100644
--- a/src/components/Partner_Facture_ARG.js
+++ b/src/components/Partner_Facture_ARG.js
@@ -218,18 +218,20 @@ const Partner_Facture_ARG = (props) => {
}
function ExpandableCell_String_to_monetaire({ value }) {
- const [expanded, setExpanded] = React.useState(false);
-
- const number = parseFloat(value);
- var new_value = ""
- if (isNaN(number)) {
- new_value = "—"
- } else {
- new_value = new Intl.NumberFormat('fr-FR', {
- minimumFractionDigits: 2,
- maximumFractionDigits: 2,
- }).format(number);
- }
+ var new_val = String(value).replaceAll(" ", '');
+ const [expanded, setExpanded] = React.useState(false);
+
+ const number = parseFloat(new_val);
+
+ var new_value = ""
+ if (isNaN(number)) {
+ new_value = "—"
+ } else {
+ new_value = new Intl.NumberFormat('fr-FR', {
+ minimumFractionDigits: 2,
+ maximumFractionDigits: 2,
+ }).format(number);
+ }