Commit a1dd77d3 authored by Rafael S Castilho's avatar Rafael S Castilho

Gerencia disicplina terminado atualização da tabela nova

parent a7aa4033
Pipeline #22758 failed with stages
in 2 minutes and 10 seconds
......@@ -233,32 +233,43 @@ export function InputField(props) {
function createDisciplinaList(Id,departamentoCod,codigo,curso,nome,tipodesalaId,duracao,carga_horaria,equivalencias,_id) {
return {Id,departamentoCod,codigo,nome,tipodesalaId,duracao,carga_horaria,equivalencias,_id};
}
function compareCode(a,b){
const A = a.codigo;
const B = b.codigo;
let comparison = 0;
if(A > B){
comparison = 1;
}
else if (A < B){
comparison = -1;
}
return comparison
}
export function ListDisciplina(props) {
const classes = useStyles();
const disciplinas = props.disciplinas
const {disciplina_select,setDisciplinaSelected} = useContext(DisciplinaSelect);
const [data, setData] = useState([]);
const [ver,setVer] = useState(false)
// const header_list = [
// { id: 'a', numeric: false, disablePadding: false, label: "Id"},
// { id: 'codigo', numeric: false, disablePadding: false, label: "Código"},
// { id: 'nome', numeric: false, disablePadding: false, label: "Nome"},
// { id: 'duracao', numeric: false, disablePadding: false, label: "Duração"},
// { id: 'carga_horaria', numeric: false, disablePadding: false, label: "Carga horária"}
// ];
///
// const [dptoVer, setdptoVer] = useState({})
///
const header_list = [
{ field: 'Id', title: "Id", filtering: false, hidden: true},
{field: 'departamentoCod', title: 'dpto', filtering: false, hidden: true},
{ field: 'codigo', title: "Código"},
{ field: 'nome', title: "Nome"},
{ field: 'tipodesalaId', title: "tipo de sala",filtering: false},
{ field: 'tipodesalaId', title: "tipo de sala",filtering: false,lookup:{Anfiteatro:'Anfiteatro',Bancadas:'Bancadas','Carteira com Braço':'Carteira com Braço','Gabinete de Professor':'Gabinete de Professor',"Laboratório":'Laboratório','Laboratorio de Anatomia':'Laboratório de Anatomia','Laboratório de Elétrica':'Laboratório de Elétrica','Laboratorio de Fisioterapia':'Laboratório de Fisioterapia','Laboratorio de Informática':'Laboratório de Informática','Laboratório de Microscópios':'Laboratório de Microscópios','Laboratório de Pesquisa':'Laboratório de Pesquisa','Laboratório de Quimica':'Laboratório de Quimica','Laboratório de Tribologia':'Laboratório de Tribologia','Mesa de reunião e cadeiras':'Mesa de reunião e cadeiras','Mesa e Carteira':'Mesa e Carteira','Mesa estilo Prancheta':'Mesa estilo Prancheta'}},
{ field: 'duracao', title: "Duração", filtering: false},
{ field: 'carga_horaria', title: "Carga horária", filtering: false},
{ field: 'equivalencias', title: 'equivalencias', filtering: false},
// { field: 'equivalencias', title: 'equivalencias', filtering: false},
{ field: '_id', title:'_id', hidden: true}
];
var departamentoCod = props.departamento
var disciplinas_list = []
// disciplinas.map((i,index) => {
// disciplinas_list.push(createDisciplinaList(index,departamentoCod,i.codigo,i.nome,i.nome,i.tipodesalaId,i.duracao,i.carga_horaria,i.equivalencias,i._id));
......@@ -266,15 +277,24 @@ export function ListDisciplina(props) {
for(let i = 0; i < disciplinas.length;i++){
disciplinas_list.push(createDisciplinaList(i,departamentoCod,disciplinas[i].codigo,disciplinas[i].nome,disciplinas[i].nome,disciplinas[i].tipodesalaId,disciplinas[i].duracao,disciplinas[i].carga_horaria,disciplinas[i].equivalencias,disciplinas[i]._id));
}
if(disciplinas.length === disciplinas_list.length && !ver && disciplinas.length !== 0){
// if (dptoVer !== departamentoCod){
// console.log("here")
// console.log(disciplinas.length,disciplinas_list.length)
// setdptoVer(departamentoCod)
// setVer(false)
// }
if(disciplinas.length === disciplinas_list.length && !ver && disciplinas.length !== 0 ){
setVer(true)
setData(disciplinas_list)
}
if( disciplinas_list.length !== data.length){
setVer(false)
}
return (
// <CustTable rows={disciplinas_list} array={props.disciplinas} setSelect={setDisciplinaSelected} width="100%" height="0" options_number={10} headCell={header_list} order='asc' orderBy='codigo' />
<MaterialTable title={departamentoCod} columns={header_list} data={data}
options={{filtering: true,selection: false,exportButton: true,addRowPosition:'first'}}
<MaterialTable title={departamentoCod} columns={header_list} data={data.sort(compareCode)}
options={{filtering: true,selection: false,exportButton: true,emptyRowsWhenPaging:false,pageSizeOptions:[5,10,20,50,100],addRowPosition:'first',sorting:false,draggable:false}}
localization={{
header:{
actions: ''
......@@ -377,7 +397,10 @@ export function Disciplina(props) {
var departamento = props.departamento
const {disciplinas, setDisciplinas} = useContext(Disciplinas)
const {disciplina_select,setDisciplinaSelected} = useContext(DisciplinaSelect);
const [dpt_code, setDptCodigo] = useState(departamento.codigo);
const [dpt_code, setDptCodigo] = useState(props.departamento.codigo);
if(dpt_code !== props.departamento.codigo){
setDptCodigo(props.departamento.codigo)
}
useEffect(() => {
const fetchData = async () => {
const result = await api.get(`disciplinas?filter[where][departamentoCod]=${dpt_code}`,);
......@@ -390,6 +413,7 @@ export function Disciplina(props) {
}
setDisciplinas(_disciplinas);
};
fetchData();},[dpt_code])
return (
<Grid container justify="flex-end">
......@@ -528,52 +552,6 @@ export function MenuEquivalencia(props) {
</Grid>
) }
// export function Menu(props) {
// const classes = useStyles();
// const {disciplina_select, setDisciplinaSelect} = useContext(DisciplinaSelect);
// const {message_active,setMessageActive} = React.useContext(MessageActive)
// const {message,setMessage} = React.useContext(Messages);
// async function salvahandle(event) {
// event.preventDefault();
// try {
// const result = await api.put("disciplinas",disciplina_select);
// setMessage("Disciplina criada ou atualizada com sucesso")
// setMessageActive(true)
// } catch (e) {
// setMessage("Erro ao tentar criar ou atualizar disciplina: "+e)
// setMessageActive(true)
// /* handle error */
// }
// }
// return (
// <Paper elevation={2} >
// <Grid item xs={12} className={classes.menu_header}>
// <Typography display="block" >Dados da disciplina {props.codigo_disciplina}</Typography>
// </Grid>
// <form onSubmit={salvahandle}>
// <Grid container className={classes.container} direction="column" spacing={2} wrap={"nowrap"}>
// <Grid item xs={12} >
// <MenuInfo dpts={props.dpts} ></MenuInfo>
// </Grid>
// <Grid item xs={12} > {/* Linha divisoria */}
// <Divider />
// </Grid>
// <Grid item xs={12} >
// <MenuEquivalencia></MenuEquivalencia>
// </Grid>
// <Grid item align="right" >
// <Button type="submit" style={{color:"#5E8D37",fontSize:"14px"}}>Salvar</Button>
// </Grid>
// </Grid>
// </form>
// </Paper>
// );
// }
export function GerenciarDisciplina (props) {
const classes = useStyles();
......@@ -640,6 +618,7 @@ export function GerenciarDisciplina (props) {
function change_query(value) {
setQuery("[where][codigo]="+value);
set_query_cache("departamento_disciplina",value);
//sticks
}
function setDisciplinaSelected(disciplina){
setDisciplinaSelect(disciplina);
......
......@@ -99,9 +99,9 @@ export function ListUsuario(props) {
{ field: 'id', title: "Id", hidden: true},
{ field: 'nome', title: 'Nome'},
{ field: 'username', title: 'Usuario'},
{ field: 'vinculo', title: "Vinculo"},
{ field: 'valor_vinculo', title: 'Vinculo detalhado'},
{ field: 'roles', title: "Roles"},
{ field: 'vinculo', title: "Vinculo",lookup:{setor:'Setor',departamento:'Departamento'}},
{ field: 'valor_vinculo', title: 'Vinculo detalhado',lookup:{anatomia:'Anatomia',biologia_celular:'Biologia Celular',biomedicina:'Cordenação do curso de Graduação em Biomedicina',bioquimica_e_biologia_molecular:'Bioquímica e Biologia Molecular',botanica:'Botânica',ciencias_biologicas:'Cordenação do curso de Graduação em Ciências Biologicas',educacao_fisica:'Educação Física',educacao_fisica2:'Cordenação do curso de Graduação em Educação Física',farmacologia:'Farmacologia',fisiologia:'Fisiologia',deplae:'Planejamento e Administração Escolar',dtpen:'Prática de Ensino',TEM:'PIPE',estatistica:'Estatística',expressao_grafica:'Expressão Gráfica',fisica:'Física',informatica:'Informática',matematica:'Matemática',posgraduacao_em_matematica:'Pós-graduação em Matemática', profmat:'ProfMat',quimica:'Química',HP:'Psicologia',GP:'Gestão de Permanência',administracao:'Administração',EspEP:'Especialização em Engenharia da Produção',PPGEngProd:'Pós Graduação em Engenharia de Produção',arquitetura_e_urbanismo:'Arquitetura e Urbanismo',construcao_civil:'Construção Civil',engenharia_ambiental:'Engenharia Ambiental',engenharia_de_bioprocessos_e_biotecnologia:'Engenharia de Bioprocessos e Biotecnologia',engenharia_de_producao:'Engenharia de Produção',engenharia_eletrica:'Engenharia Elétrica',engenharia_mecanica:'Engenharia Mecânica',engenharia_quimica:'Engenharia Quimica',geografia:'Geografia',geologia:'Geologia',geomatica:'Geomatica'}},
{ field: 'roles', title: "Roles",lookup:{comissao:'Comissão', admin:'Admin',secretario_dpto:'Secretário de departamento',secretario_setor:'Secretário de setor'}},
{ field: 'email', title: "Email"},
{ field: 'passwd', title: 'Senha'},
{ field: 'passwdconf', title: 'Senha Confimação'}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment