import React, {Component} from "react"; import Select from "react-select"; import {Table, Button, Dropdown} from "react-bootstrap" import '../Style.css' class Bulletin extends Component { constructor(props) { super(props); this.state = { bltn: {}, datue: {}, loaded: false }; this.getData = this.getData.bind(this); this.getJsonData = this.getJsonData.bind(this); } getJsonData () { this.setState({bltn: require('..\\..\\json\\bltn.json')}, () => { let ls = {} for (let elm in this.state.bltn.decision_ue) { elm = this.state.bltn.decision_ue[elm] ls[elm.acronyme] = elm.titre } this.setState({datue: ls}, () => { this.setState({loaded: true}) }) }) } getData() { let dept = window.location.href.split('/')[6] let sem = window.location.href.split('/')[8] let BASE_URL = window.$api_url fetch(BASE_URL + dept + '/Scolarite/Notes/formsemestre_bulletinetud?formsemestre_id=' + sem +'&etudid=' + this.props.id +'&format=json', { method: 'GET', verify: false, credentials: 'include', }) .then(response => response.json().then(data => ({ data: data, status: response.status }) ).then(res => { this.setState({ bltn: res.data }, () => { let ls = {} for (let elm in this.state.bltn.decision_ue) { elm = this.state.bltn.decision_ue[elm] ls[elm.acronyme] = elm.titre } this.setState({datue: ls}, () => { this.setState({loaded: true}) }) }) }) ); } getPdf() { let BASE_URL = window.$api_url let dept = window.location.href.split('/')[6] let sem = window.location.href.split('/')[8] fetch( BASE_URL + dept + "/Scolarite/Notes/formsemestre_bulletinetud?" + "formsemestre_id=" + sem + "&etudid=" + this.props.id + "&format=pdf&version=selectedevals", { method: 'GET', verify: false, credentials: 'include', }) .then( res => res.blob() ) .then( blob => { let file = window.URL.createObjectURL(blob); window.location.assign(file); }); } componentDidUpdate(prevProps) { if (prevProps.id !== this.props.id) { this.getData(); } } componentDidMount() { if (this.props.id !== "") {this.getData()} } render() { return (

Bulletins de notes

{this.state.loaded === true &&
{this.state.bltn.ue.map((ue, index) => { return ( {ue.module.map((mod, index) => { return ( ) })} ) })}
Note/20
Moyenne générale {this.state.bltn.note.value} Min: {this.state.bltn.note.min} Max: {this.state.bltn.note.max} Classement: {this.state.bltn.rang.value}/{this.state.bltn.rang.ninscrits}
{ue.acronyme} - {this.state.datue[ue.acronyme]} {ue.note.value} Min: {ue.note.min} Max: {ue.note.max} Classement: {ue.rang}/{this.state.bltn.rang.ninscrits}
{mod.titre.replace("'", "'")} {mod.note.value} Min: {mod.note.min} Max: {mod.note.max} Classement: {mod.rang.value}/{this.state.bltn.rang.ninscrits} Coefficient: {mod.coefficient}
}
) } } export default Bulletin