Agregados horarios de 3er y 4to

add-license-1
Araozu 2020-08-16 14:25:57 -05:00
parent 1b15990a69
commit 2faa9a4fc2
5 changed files with 256 additions and 27 deletions

View File

@ -77,7 +77,7 @@ e incluyen los descansos de 10m.
## Herramientas usadas ## Herramientas usadas
- Vue.js 2 con: - Vue.js 3 con:
- Pug (Jade) - Pug (Jade)
- Coffeescript - Coffeescript
- SASS - SASS
@ -85,5 +85,3 @@ e incluyen los descansos de 10m.
- Vue CLI - Vue CLI
- pnpm - pnpm
¿Por qué pug/coffee/sass? Porque odio las llaves/punto y coma/parentesis.

View File

@ -6,3 +6,224 @@ descripcion: |
Ultima actualizacion: 16 de agosto de 2020. Ultima actualizacion: 16 de agosto de 2020.
<br> <br>
Puedes ver el historial de cambios en GitHub. Puedes ver el historial de cambios en GitHub.
años:
3er año:
FSI:
nombre: Fundamentos de Sistemas de Informacion
abreviado: FSI
Teoria:
A:
Docente: Juan Carlos Juarez
Horas:
- Lu0850
- Lu0940
- Lu1040
- Mi1040
- Mi1130
B:
Docente: Juan Carlos Juarez
Horas:
- Mi1550
- Mi1640
- Mi1740
- Ju1740
- Ju1830
Redes:
nombre: Redes y Comunicación de Datos
abreviado: RCD
Teoria:
A:
Docente: Lucy Delgado
Horas:
- Ma1220
- Ma1310
- Mi0850
- Mi0940
B:
Docente: Lucy Delgado
Horas:
- Lu1310
- Lu1400
- Ma1400
- Ma1540
Metodos Num:
nombre: Métodos numéricos
abreviado: MN
Teoria:
A:
Docente: Olha Sharhorodska
Horas:
- Vi1040
- Vi1130
- Vi1220
B:
Docente: Olha Sharhorodska
Horas:
- Lu1550
- Lu1640
- Lu1740
SO:
nombre: Sistemas Operativos
abreviado: SO
Teoria:
A:
Docente: Karim Guevara
Horas:
- Ma0700
- Ma0750
- Ju0850
- Ju0940
B:
Docente: Karim Guevara
Horas:
- Ma1550
- Ma1640
- Ju1550
- Ju1640
Construccion Soft:
nombre: Construccion de Software
abreviado: CS
Teoria:
A:
Docente: Jorge Chamby
Horas:
- Ma0850
- Ma0940
B:
Docente: Jorge Chamby
Horas:
- Ju1400
- Ju1450
TecDat:
nombre: Tecnologia de Datos
abreviado: TD
Teoria:
A:
Docente: Oscar Ramírez
Horas:
- Ma1040
- Ma1130
- Ju1040
- Ju1130
B:
Docente: Oscar Ramírez
Horas:
- Mi1400
- Mi1450
- Vi1400
- Vi1450
4to año:
Intro Soft Ent:
nombre: Introduccion a Software de Entetenimiento
abreviado: IDSEe
Teoria:
A:
Docente: Diego Iquira
Horas:
- Lu0750
- Lu0850
- Lu0940
B:
Docente: Diego Iquira
Horas:
- Mi1550
- Mi1640
- Mi1740
Diseno y Arquitectura:
nombre: Diseño Y Arquitectura de Software
abreviado: DAS
Teoria:
A:
Docente: Percy Huertas
Horas:
- Lu1040
- Lu1130
- Mi1040
- Mi1130
B:
Docente: Percy Huertas
Horas:
- Mi1400
- Mi1450
- Ju1400
- Ju1450
Gestion Proyecto Soft:
nombre: Gestion de Proyectos de Software
abreviado: GPS
Teoria:
A:
Docente: Jesús Silva
Horas:
- Vi1040
- Vi1130
B:
Docente: Oscar Ramírez
Horas:
- Lu1400
- Lu1450
Negocios Electronicos:
nombre: Negocios Electrónicos
abreviado: NE
Teoria:
A:
Docente: Cesar Baluarte
Horas:
- Mi0750
- Mi0850
- Mi0940
B:
Docente: Oscar Ramírez
Horas:
- Lu1550
- Lu1640
- Lu1740
Auditoria:
nombre: Auditoría de Sistemas
abreviado: AS
Teoria:
A:
Docente: Edward Zarate
Horas:
- Ma0700
- Ma0750
- Ma0850
- Ju0700
- Ju0750
B:
Docente: Edward Zarate
Horas:
- Ma1400
- Ma1450
- Ma1550
- Ju1550
- Ju1640
Aspectos Formales:
nombre: Aspectos Formales de Verificación y Especificación
abreviado: AFVE
Teoria:
A:
Docente: Elizabet Vidal
Horas:
- Ju0850
- Ju0940
B:
Docente: Maribel Molina
Horas:
- Vi1550
- Vi1640
Calidad Soft:
nombre: Calidad de Software
abreviado: CS
Teoria:
A:
Docente: Jesús Silva
Horas:
- Ju1040
- Ju1130
B:
Docente: Maribel Molina
Horas:
- Vi1400
- Vi1450

View File

@ -18,7 +18,7 @@ div.contenedor(:style="anchoBarraLateral")
</template> </template>
<script lang="coffee"> <script lang="coffee">
import {ref, computed} from "vue" import {ref, computed, watchEffect} from "vue"
import {useStore} from "vuex" import {useStore} from "vuex"
import barraLateral from "./components/App/barra-lateral.vue" import barraLateral from "./components/App/barra-lateral.vue"
import YAML from "yaml" import YAML from "yaml"
@ -48,11 +48,12 @@ div.contenedor(:style="anchoBarraLateral")
localStorage?.setItem "barra-oculta", nuevoVal localStorage?.setItem "barra-oculta", nuevoVal
barraLateralOculta.value = nuevoVal barraLateralOculta.value = nuevoVal
setTimeout (=> watchEffect (=>
console.log "Cargando horario..."
resRaw = await fetch "/horarios/#{año.value}_#{periodo.value}_#{facultad.value}_#{escuela.value}.yaml" resRaw = await fetch "/horarios/#{año.value}_#{periodo.value}_#{facultad.value}_#{escuela.value}.yaml"
res = YAML.parse await resRaw.text() res = YAML.parse await resRaw.text()
store.commit "cambiarDatos", res store.commit "cambiarDatos", res
), 0 )
{ {
barraLateralOculta barraLateralOculta

View File

@ -5,45 +5,37 @@ div.lateral
router-link.link_github(to="/") router-link.link_github(to="/")
h1 Horarios UNSA h1 Horarios UNSA
br br
br
p Los horarios están completos. Fuente:
a.link_github(href="https://drive.google.com/file/d/1DqAkbDtcVjAWhEb6YwMpFWUkXGpgeQt1/view"
target="_blank")
| Google Drive
br
br
v-check-box(txt="Mostrar descansos de 10m" v-model="mostrarDescansos") v-check-box(txt="Mostrar descansos de 10m" v-model="mostrarDescansos")
br br
v-check-box(txt="Tema oscuro" v-model="temaOscuro") v-check-box(txt="Tema oscuro" v-model="temaOscuro")
br br
div.info // div.info
p p
i Solo implementado para Ingeniería de Sistemas* i Solo implementado para Ingeniería de Sistemas*
// p {{ año }}-{{ periodo }} // p {{ año }}-{{ periodo }}
div div
select(v-model.number="anioSeleccionado") select(v-model.number="anioSeleccionado" @input="actualizarAnio($event)")
option 2018 option 2018
option 2019 option 2019
option 2020 option 2020
select(v-model.number="periodoSeleccionado") select(v-model.number="periodoSeleccionado" @input="actualizarPeriodo($event)")
option 1 option 1
option 2 option 2
// p {{ datos.facultad? datos.facultad.nombre: facultad }} // div
div
select.select_area-fac-esc(v-model="areaSeleccionada") select.select_area-fac-esc(v-model="areaSeleccionada")
option(v-for="(_, nombre) in escuelas") {{ nombre }} option(v-for="(_, nombre) in escuelas") {{ nombre }}
div // div
select.select_area-fac-esc(v-model="facultadSeleccionada") select.select_area-fac-esc(v-model="facultadSeleccionada")
option(v-for="(facultad, nombre) in escuelas[areaSeleccionada]" :value="nombre") {{ facultad.nombre }} option(v-for="(facultad, nombre) in escuelas[areaSeleccionada]" :value="nombre") {{ facultad.nombre }}
div(v-if="escuelas[areaSeleccionada][facultadSeleccionada]") // div(v-if="escuelas[areaSeleccionada][facultadSeleccionada]")
select.select_area-fac-esc(v-model="escuelaSeleccionada") select.select_area-fac-esc(v-model="escuelaSeleccionada")
option(v-for="(escuela, nombre) in escuelas[areaSeleccionada][facultadSeleccionada].escuelas" :value="nombre") option(v-for="(escuela, nombre) in escuelas[areaSeleccionada][facultadSeleccionada].escuelas" :value="nombre")
| {{ escuela.nombre }} | {{ escuela.nombre }}
div // div
a(:href="urlEscuela" target="_blank") Página de la escuela a(:href="urlEscuela" target="_blank") Página de la escuela
// p {{ datos.escuela? datos.escuela.nombre: escuela }} // p {{ datos.escuela? datos.escuela.nombre: escuela }}
br br
@ -91,6 +83,15 @@ div.lateral
store.commit "cambiarColor", (if value == true then "oscuro" else "claro") store.commit "cambiarColor", (if value == true then "oscuro" else "claro")
}) })
actualizarAnio = (ev) =>
valor = ev.target.value
console.log valor
store.commit "cambiarAnioHorario", valor
actualizarPeriodo = (ev) =>
valor = ev.target.value
console.log valor
store.commit "cambiarPeriodoHorario", valor
{ {
escuelas escuelas
@ -107,6 +108,8 @@ div.lateral
urlEscuela urlEscuela
mostrarDescansos mostrarDescansos
temaOscuro temaOscuro
actualizarAnio
actualizarPeriodo
} }
export default { export default {

View File

@ -28,7 +28,7 @@ export default createStore({
anchoPantalla: window.innerWidth, anchoPantalla: window.innerWidth,
altoPantalla: window.innerHeight, altoPantalla: window.innerHeight,
año: 2020, año: 2020,
periodo: 1, periodo: 2,
facultad: "fps", facultad: "fps",
escuela: "ingenieriadesistemas", escuela: "ingenieriadesistemas",
datos: { datos: {
@ -38,7 +38,7 @@ export default createStore({
mostrarDescansos: true, mostrarDescansos: true,
color: (() => { color: (() => {
const modo = localStorage.getItem("color") || "oscuro"; const modo = localStorage.getItem("color") || "oscuro";
cambiarModoColor(`tema-${ modo }`); cambiarModoColor(`tema-${modo}`);
return modo return modo
})() })()
}, },
@ -53,7 +53,7 @@ export default createStore({
const ref = state.celdas[idCelda]; const ref = state.celdas[idCelda];
while (ref.length > 0) ref.pop() while (ref.length > 0) ref.pop()
}, },
agregarCursoAMiHorario(state, {nombre, datos} ) { agregarCursoAMiHorario(state, {nombre, datos}) {
if (!state.horarioUsuario[nombre]) { if (!state.horarioUsuario[nombre]) {
state.horarioUsuario[nombre] = datos; state.horarioUsuario[nombre] = datos;
state.horarioUsuario = Object.assign({}, state.horarioUsuario); state.horarioUsuario = Object.assign({}, state.horarioUsuario);
@ -75,10 +75,16 @@ export default createStore({
cambiarMostrarDescansos(state, dato) { cambiarMostrarDescansos(state, dato) {
state.mostrarDescansos = !!dato state.mostrarDescansos = !!dato
}, },
cambiarColor (state, valor) { cambiarColor(state, valor) {
state.color = valor; state.color = valor;
cambiarModoColor(`tema-${valor}`); cambiarModoColor(`tema-${valor}`);
localStorage.setItem("color", valor); localStorage.setItem("color", valor);
},
cambiarAnioHorario(state, valor) {
state.año = valor;
},
cambiarPeriodoHorario(state, valor) {
state.periodo = valor;
} }
}, },
actions: {}, actions: {},