20/12/22 - 15h30

recette2
cherif 2022-12-20 15:17:39 +01:00
parent 7531b8d0c0
commit 6952e01f30
2 changed files with 140 additions and 44 deletions

View File

@ -93,13 +93,14 @@ const DisplayDetailClassAction = (props) => {
axios.post(myurl, form).then(res => {
if (res.data.status != "false") {
if (String(res.data.status) !== "false") {
console.log(" In tokenEval_trainingsession res.data.status = " + res.data.status);
console.log(" In tokenEval_trainingsession res.data.message r_class = " + res.data.message);
//console.log(" In tokenEval_trainingsession res.data.message r_class = " + res.data.message);
settokenEval_api("true");
settokenEval_result(res.data.message);
}
else {
console.log(" In tokenEval_trainingsession res.data.status = " + res.data.status);
settokenEval_api("false");
settokenEval_message(res.data.message);
}
@ -584,8 +585,8 @@ const DisplayDetailClassAction = (props) => {
{String(action).toLocaleLowerCase() !== "inscription" && String(action).toLocaleLowerCase() !== "information" && String(tokenEval_api) === "true"
&& <div className="description detail_element" name='section_info'>
Zone evaluation : <button> fermer</button>
<br/>
<Inscription_Information internal_url={classId} action={"evaluation"} />
<br />
<Inscription_Information internal_url={classId} action={"evaluation"} eval_token={action} />
</div>
}

View File

@ -263,7 +263,7 @@ function Inscription_Information(props) {
axios.post(myurl, form).then(res => {
if (res.data.status != "false") {
if (String(res.data.status) !== "false") {
//console.log(" In GetCurrentClass_trainingsession res.data.status = " + res.data.status);
//console.log(" In GetCurrentClass_trainingsession res.data.message r_class = " + res.data.message);
setGetCurrentClass_api("true");
@ -315,7 +315,7 @@ function Inscription_Information(props) {
axios.post(myurl, form).then(res => {
if (res.data.status != "false") {
if (String(res.data.status) !== "false") {
console.log(" In tokenEval_trainingsession res.data.status = " + res.data.status);
console.log(" In tokenEval_trainingsession res.data.message r_class = " + res.data.message);
settokenEval_api("true");
@ -404,6 +404,16 @@ function Inscription_Information(props) {
seteditor_tochange("1");
}
const editorRef_evaluation = useRef(null);
const [field_evaluation, setfield_evaluation] = useState("");
const [editor_evaluation_tochange, seteditor_evaluation_tochange] = useState("");
function editor_evalution_keyup() {
seteditor_evaluation_tochange("1");
}
const [datamodification, setdatamodification] = useState("0");
function DataUpdated() {
setdatamodification("1");
@ -495,8 +505,77 @@ function Inscription_Information(props) {
};
const [SendEvaluationClass_api, setSendEvaluationClass_api] = useState("");
const [SendEvaluationClass_status, setSendEvaluationClass_status] = useState("");
const [SendEvaluationClass_message, setSendEvaluationClass_message] = useState("");
function SendEvaluationClass() {
const formData = new FormData();
const url = process.env.REACT_APP_API_URL + "myclass/api/Evaluation_Class/";
var message = "";
if (editorRef_evaluation.current) {
message = editorRef_evaluation.current.getContent();
}
var pedagogie = "";
var ele = document.getElementsByName('pedagogie');
for (let i = 0; i < ele.length; i++) {
if (ele[i].checked)
pedagogie = ele[i].value;
}
var logistique = "";
ele = document.getElementsByName('log');
for (let i = 0; i < ele.length; i++) {
if (ele[i].checked)
logistique = ele[i].value;
}
formData.append('inscription_id', props.eval_token);
formData.append('eval_note', RatingValue);
formData.append('eval_eval', message);
formData.append('eval_pedagogie', pedagogie);
fetch(
url,
{
method: 'POST',
body: formData,
}
)
.then((response) => response.json())
.then((result) => {
//console.log('Success:', result['message'], "result['status'] = ", result['status']);
if( String(result['status']) === "true"){
setSendEvaluationClass_api("true");
}else if( String(result['status']) === "false"){
setSendEvaluationClass_api("false");
setSendEvaluationClass_message(result['message']);
}
})
.catch((error) => {
console.error('Error:', error);
setSendEvaluationClass_api("false");
});
};
const [RatingValue, setRatingValue] = useState();
return (
<div className='inscription'>
{String(RecordData_status) === "true" &&
String(action).toLocaleLowerCase() === "inscription" &&
<div className="okUpdateData">
@ -706,16 +785,7 @@ function Inscription_Information(props) {
}}
onClick={RecordData}>Se pré-inscrire &nbsp; &nbsp; {<SendIcon />}</Button>
</div>
{/* <div className="div_row_droite" style={{ "textAlign": "right" }}>
<Button variant="contained" color="success" style={{
'borderRadius': "7px",
"fontSize": "small", "padding": "0.3rem",
"width": "60%",
"backgroundColor": "white",
"color": "#104277",
}}
onClick={AnnulerFction}>Fermer &nbsp; &nbsp;{<IoCloseCircleOutline />}</Button>
</div>*/}
</div>
}
@ -726,60 +796,85 @@ function Inscription_Information(props) {
{/* Gestion de la note/evaluation */}
{(String(RecordData_status) === "false" ||
String(RecordData_status).length === 0) &&
String(action).toLocaleLowerCase() === "evaluation" &&
String(AnnulerFction_status) !== "1" && <div className="survey_page">
String(AnnulerFction_status) !== "1" &&
String(SendEvaluationClass_api) === "true" && <div className="survey_page">
<div className="okUpdateData">
OKKKKK
</div>
</div>}
{(String(RecordData_status) === "false" ||
String(RecordData_status).length === 0) &&
String(action).toLocaleLowerCase() === "evaluation" &&
String(AnnulerFction_status) !== "1" &&
String(SendEvaluationClass_api) !== "true" && <div className="survey_page">
{String(SendEvaluationClass_api) === "false" && <div className="survey_page">
<div className="koUpdateData">
{SendEvaluationClass_message}
</div>
</div>}
<h3> Demande d'evaluation </h3>
<div className="div_row22">
<Rating name="half-rating-read" defaultValue={0} precision={0.5} /> <br />
<Rating name="half-rating-read"
defaultValue={0}
precision={0.5}
onChange={(event, newValue) => {
setRatingValue(newValue);
}} /> <br />
</div>
<div className="div_row22 survey_block">
<fieldset>
<nav className="survey_title"> 1 .Title </nav>
<nav className="survey_title"> 1 .pedagogie </nav>
<nav className="survey_desc"> Satisfaction globale</nav>
<div class="some-class">
<input type="radio" class="radio" name="x" value="y" id="y" />
<label for="y">Un peu</label> &nbsp;&nbsp;
<input type="radio" class="radio" name="x" value="z" id="z" />
<label for="z">Bcp</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="x" value="z" id="z" />
<label for="z">Tres</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="pedagogie" value="un_peu" id="pedagogie" />
<label for="pedagogie">Un peu</label> &nbsp;&nbsp;
<input type="radio" class="radio" name="pedagogie" value="bonne" id="pedagogie" />
<label for="pedagogie">Bonne</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="pedagogie" value="excellent" id="pedagogie" />
<label for="pedagogie">Excellent</label>&nbsp;&nbsp;
</div>
</fieldset>
</div>
<div className="div_row22 survey_block">
<fieldset>
<nav className="survey_title"> 2 .La pedagogie du formateur </nav>
<nav className="survey_title"> 2 .La logistique </nav>
<nav className="survey_desc"> Satisfaction globale</nav>
<div class="some-class">
<input type="radio" class="radio" name="x" value="y" id="y" />
<label for="y">Un peu</label> &nbsp;&nbsp;
<input type="radio" class="radio" name="x" value="z" id="z" />
<label for="z">Bcp</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="x" value="z" id="z" />
<label for="z">Tres</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="log" value="log_un_peu" id="log" />
<label for="log">Un peu</label> &nbsp;&nbsp;
<input type="radio" class="radio" name="log" value="log_bonne" id="log" />
<label for="log">Bcp</label>&nbsp;&nbsp;
<input type="radio" class="radio" name="log" value="log_excellente" id="log" />
<label for="log">Tres</label>&nbsp;&nbsp;
</div>
</fieldset>
</div>
<div className="div_row22 survey_block">
<fieldset style={{"maxHeight":'200px'}}>
<fieldset style={{ "maxHeight": '200px' }}>
<nav className="survey_title"> 3 .Votre avis general</nav>
<Editor
onInit={(evt, editor) => editorRef_description.current = editor}
initialValue={field_description}
onInit={(evt, editor) => editorRef_evaluation.current = editor}
initialValue={field_evaluation}
onKeyUp={editor_keyup}
onEditorChange={(newValue, editor) => {
if (String(editor_tochange) === "1") {
//alert(" change");
DataUpdated()
seteditor_tochange("");
if (String(editor_evaluation_tochange) === "1") {
seteditor_evaluation_tochange("");
}
}}
@ -802,8 +897,8 @@ function Inscription_Information(props) {
{<div className="div_row">
<div className="div_row_droite" style={{ "textAlign": "right", "marginTop": "0.5rem" }}>
<Button variant="contained" className="bton_envoyer"
onClick={SendInformationRequest}
startIcon={<SendIcon />}>Envoyer &nbsp; &nbsp; {<SendIcon />}</Button>
onClick={SendEvaluationClass}
startIcon={<SendIcon />}>Envoyer evaluation&nbsp; &nbsp; {<SendIcon />}</Button>
</div>