Commit 6e336d1a authored by Χάρης Παπαδόπουλος's avatar Χάρης Παπαδόπουλος
Browse files

Merge branch 'stylesandmenus' into 'develop'

Stylesandmenus

See merge request !73
parents c52f3ff8 aef5d872
......@@ -41,9 +41,9 @@ class SubmitedApplications extends ControllerBase
$list = array();
foreach ($epalStudents as $object) {
$indexid = intval($object -> id())-1;
$list[] = array(
'id' => $object -> id(),
'id' => $indexid,
'name' => $object -> name ->value,
'studentsurname' => $object -> studentsurname ->value);
$i++;
......@@ -92,7 +92,7 @@ class SubmitedApplications extends ControllerBase
'name' => $object -> name ->value,
'studentsurname' => $object -> studentsurname ->value,
'fatherfirstname' => $object -> fatherfirstname ->value,
'fathersurname' =>$object -> fathersurtname ->value,
'fathersurname' =>$object -> fathersurname ->value,
'motherfirstname' => $object -> motherfirstname ->value,
'mothersurname' =>$object -> mothersurname ->value,
'birthdate' =>$object -> birthdate ->value,
......
......@@ -95,11 +95,15 @@
// background-color: white;
border: none!important;
padding: 0.3rem 0.3rem!important;
list-style-type: none!important;
display: inherit!important;
h5{
font-size: 1rem;
}
}
}
......
......@@ -74,7 +74,7 @@
color: #000;
text-decoration: none;
font-weight: bold;
text-transform: uppercase;
// text-transform: uppercase;
font-size: 12px;
height: 46px;
line-height: 46px;
......
......@@ -94,10 +94,10 @@ import {
setActiveRegion(ind) {
console.log(ind,"ind");
if (ind === this.regionActive)
ind = -1;
console.log(this.regionActive,"RA");
this.regionActive = ind;
this.CoursesPerPerfSub = this._hds.getCoursePerPerfecture(this.regionActive).subscribe(data => {
this.CoursesPerPerf$.next(data);
......
import { Component, OnInit, OnDestroy } from '@angular/core';
import { Injectable } from "@angular/core";
import { AppSettings } from '../../app.settings';
import { Router } from '@angular/router';
@Component({
selector: 'breadcrubs',
template: ` <div [hidden]="currentUrl !== '/epal-class-select'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Επιλογή Τάξης </p></div>
<div [hidden]="currentUrl !== '/sector-fields-select'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Επιλογή Τoμέα</p></div>
<div [hidden]="currentUrl !== '/region-schools-select'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Επιλογή Σχολείου ανα Περιφερειακή Διεύθυνση</p></div>
<div [hidden]="currentUrl !== '/sectorcourses-fields-select'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Επιλογή Ειδικότητας ανα τoμέα</p></div>
<div [hidden]="currentUrl !== '/schools-order-select'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Σειρά Προτίμησης Επιλεχθέντων Σχολείων</p></div>
<div [hidden]="currentUrl !== '/student-application-form-main'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Προσωπικά Στοιχεία</p></div>
<div [hidden]="currentUrl !== '/application-submit'" class="col-sm-12"><p class="crumb" >Νέα Αίτηση -> Προεπισκόπη αίτησης</p></div>
<div [hidden]="currentUrl !== '/submited-preview'" class="col-sm-12"><p class="crumb" > Υποβληθείσες αιτήσεις</p></div>
`
})
@Injectable() export default class Breadcrubs implements OnInit {
public currentUrl: string;
constructor(private _router:Router) {}
ngOnInit() {
this.currentUrl = this._router.url;
}
}
<div class="main-wrapper">
<div class="container" id="content">
<div class="row">
<div class="col-sm-12"><p class="crumb">Αρχική σελίδα</p></div>
&nbsp;&nbsp;&nbsp;
</div>
<div class="row">
<div class="col-sm-12 col-md-3 hidden-md-down">
......@@ -18,6 +18,7 @@
</div>
<div class="col-sm-12 col-md-9">
<div class="main-content">
<div class="panel panel-primary">
<div class="panel-body">
<router-outlet></router-outlet>
......
<div class="nav-wrapper" class="content">
<div class="nav-wrapper" >
<div class = "content">
<div class="container">
<nav class="navbar navbar-toggleable-sm">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
......@@ -7,7 +8,7 @@
<a class="logo navbar-brand" href="#" title="Αρχική">
<img src="../myschool/assets/images/myschool_logo.png" alt="Αρχική" />
</a>
<div class="collapse navbar-collapse flex-row-reverse" id="navbarNav">
<div class="collapse navbar-collapse flex-row-reverse" id="navbarNav">
<div *ngIf="(loginInfo$ | async).size > 0">
<ul class="navbar-nav">
<div *ngIf="(loginInfo$ | async).cu_name !== ''">
......@@ -61,5 +62,6 @@
</div>
</nav>
</div>
</div>
</div>
<div class="row">
<breadcrubs></breadcrubs>
</div>
<div class = "loading" *ngIf="(criteria$ | async).size === 0"></div>
<h4> Προσωπικά Στοιχεία Μαθητή </h4>
<form novalidate [formGroup]="studentDataGroup" #form>
<form [formGroup]="applicantDataGroup">
<p style="margin-top: 20px; line-height: 2em;"> Παρακαλώ συμπληρώστε τα στοιχεία του μαθητή και στη συνέχεια επιλέξτε <i>Συνέχεια</i>. <strong>Προσοχη!</strong> Παρακαλώ να συμπληρώσετε τα στοιχεία ακριβώς όπως είναι στον τελευταίο τίτλο κτήσης απολυτηρίου/ πτυχίου του μαθητή.</p>
<p style="margin-top: 20px; line-height: 2em;"> <strong> Η ακρίβεια των στοιχείων που υποβάλλονται με αυτή τη δήλωση μπορεί να ελεγχθεί με βάση το αρχείο άλλων υπηρεσιών (άρθρο 8 παρ. 4 Ν. 1599/1986)</strong></p>
<table>
<tr><td>
<div class="form-group">
......
......@@ -25,6 +25,9 @@ import {AppSettings} from '../../app.settings';
@Component({
selector: 'application-submit',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<div class = "loading" *ngIf="(studentDataFields$ | async).size === 0 || (criteria$ | async).size === 0 || (regions$ | async).size === 0 || (epalclasses$ | async).size === 0 || (loginInfo$ | async).size === 0"></div>
<application-preview-select></application-preview-select>
<button type="button button-lg pull-right" *ngIf="(studentDataFields$ | async).size > 0 && (criteria$ | async).size > 0 && (regions$ | async).size > 0 && (epalclasses$ | async).size > 0 && (loginInfo$ | async).size > 0" class="btn-primary btn-lg pull-center" (click)="submitNow()">Υποβολή</button>
......
......@@ -18,6 +18,9 @@ import {AppSettings} from '../../app.settings';
@Component({
selector: 'course-fields-select',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<form [formGroup]="formGroup">
<div formArrayName="formArray">
<div *ngFor="let courseField$ of courseFields$ | async; let i=index">
......
......@@ -20,11 +20,15 @@ import {AppSettings} from '../../app.settings';
@Component({
selector: 'epal-class-select',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<h4> Επιλογή Τάξης </h4>
<form [formGroup]="formGroup">
<p style="margin-top: 20px; line-height: 2em;"> Παρακαλώ επιλέξτε την τάξη εισαγωγής του μαθητή στην Επαγγελματική Εκπαίδευση και στη συνέχεια επιλέξτε <i>Συνέχεια</i>.</p>
<div *ngFor="let epalclass$ of epalclasses$ | async;"> </div>
<div class="form-group" style= "margin-top: 50px; margin-bottom: 100px;">
<label for="name">Παρακαλώ επιλέξτε την τάξη εισαγωγής του μαθητή στην Επαγγελματική Εκπαίδευση</label><br/>
<label for="name"></label><br/>
<select class="form-control" formControlName="name" (change)="initializestore()">
<option value="Α' Λυκείου">Α' Λυκείου</option>
<option value="Β' Λυκείου">Β' Λυκείου</option>
......
......@@ -28,12 +28,19 @@ import {AppSettings} from '../../app.settings';
@Component({
selector: 'region-schools-select',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<div class = "loading" *ngIf="(regions$ | async).size === 0">
</div>
<!-- <div class="row equal">
<div class="col-md-12"> -->
<h4> Επιλογή Σχολείου</h4>
<form [formGroup]="formGroup">
<div formArrayName="formArray">
<p style="margin-top: 20px; line-height: 2em;"> Παρακαλώ επιλέξτε <strong>τρία </strong> ΕΠΑΛ στα οποία θα ήθελε να φοιτήσει ο μαθητής. Επιλέξτε πρώτα την Περιφερειακή Διεύθυνση που ανήκει το κάθε σχολείο της επιλογής σας, επιλέξτε τα σχολεία και στη συνέχεια επιλέξτε <i>Συνέχεια</i>.
Μπορείτε να επιλέξετε σχολεία που ανήκουν σε περισσότερες απο μια Περιφερειακές Διευθύνσεις. <strong> Προσοχή!</strong> Σε ειδικές περιπτώσεις σχολείων μπορείτε να επιλέξετε και λιγότερα απο τρία σχολεία</p>
<ul class="list-group main-view">
<div *ngFor="let region$ of regions$ | async; let i=index; let isOdd=odd; let isEven=even" >
<li class="list-group-item isclickable" (click)="setActiveRegion(i)" [class.oddout]="isOdd" [class.evenout]="isEven" [class.selectedout]="regionActive === i">
......
......@@ -12,6 +12,9 @@ import {AppSettings} from '../../app.settings';
@Component({
selector: 'schools-order-select',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<div class = "loading" *ngIf="(selectedSchools$ | async).length === 0 || (regions$ | async).size === 0">
</div>
......@@ -23,9 +26,9 @@ import {AppSettings} from '../../app.settings';
<ul class="list-group main-view" style="margin-top: 50px; margin-bottom: 50px;">
<div *ngFor="let selectedSchool$ of selectedSchools$ | async; let i=index; let isOdd=odd; let isEven=even">
<li class="list-group-item" [class.oddout]="isOdd" [class.evenout]="isEven">
<li class="list-group-item " [class.oddout]="isOdd" [class.evenout]="isEven">
<span class="roundedNumber">{{(i+1)}}</span>&nbsp;&nbsp;{{selectedSchool$.epal_name}}
<i (click)="changeOrder(i)" *ngIf = "i !== 0" class="fa fa-arrow-circle-up isclickable pull-right" style="font-size: 2em;"></i>
<i (click)="changeOrder(i)" *ngIf = "i !== 0" class="fa fa-arrow-circle-up isclickable pull-right" style="font-size: 1.5em;"></i>
</li>
</div>
</ul>
......@@ -41,6 +44,7 @@ import {AppSettings} from '../../app.settings';
</button>
</div>
</div>
`
})
......
......@@ -22,10 +22,15 @@ import {AppSettings} from '../../app.settings';
@Component({
selector: 'sectorcourses-fields-select',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<div class = "loading" *ngIf="(sectors$ | async).size === 0">
</div>
<h4> Επιλογή Ειδικότητας</h4>
<form [formGroup]="formGroup">
<div formArrayName="formArray">
<p style="margin-top: 20px; line-height: 2em;"> Παρακαλώ επιλέξτε την ειδικότητα που θα παρακολουθήσει ο μαθητής στην Επαγγελματική Εκπαίδευση με βάση τον τομέα που έχει ολοκληρώσει και στη συνέχεια επιλέξτε <i>Συνέχεια</i>.</p>
<ul class="list-group">
<div *ngFor="let sector$ of sectors$ | async; let i=index; let isOdd=odd; let isEven=even">
<li class="list-group-item isclickable" (click)="setActiveSector(i)" [class.oddout]="isOdd" [class.evenout]="isEven" [class.selectedout]="sectorActive === i">
......
......@@ -14,16 +14,21 @@ import {
FormBuilder,
FormGroup,
FormControl,
FormArray
FormArray
} from '@angular/forms';
import {AppSettings} from '../../app.settings';
@Component({
selector: 'sector-fields-select',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
<h4> Επιλογή Τομέα </h4>
<div class = "loading" *ngIf="(sectorFields$ | async).size === 0">
</div>
<form [formGroup]="formGroup">
<p style="margin-top: 20px; line-height: 2em;"> Παρακαλώ επιλέξτε τον τομέα που θα παρακολουθήσει ο μαθητής στην επαγγελματική εκπαίδευση στη συνέχεια επιλέξτε <i>Συνέχεια</i>.</p>
<div formArrayName="formArray">
<ul class="list-group main-view">
<div *ngFor="let sectorField$ of sectorFields$ | async; let i=index; let isOdd=odd; let isEven=even">
......
......@@ -14,23 +14,50 @@ import {Router, ActivatedRoute, Params} from '@angular/router';
import { BehaviorSubject, Subscription } from 'rxjs/Rx';
@Component({
@Component({
selector: 'submited-preview',
template: `
<div class="row">
<breadcrubs></breadcrubs>
</div>
Έχει υποβληθεί αίτηση για εγγραφή στην Επαγγελματική Εκπαίδευση των παρακάτω ατόμων:
<table class = "submited">
<tr>
<th>Όνομα</th>
<th>Επώνυμο</th>
<th></th>
</tr>
<tr *ngFor="let UserData$ of SubmitedApplic$ | async">
<td>{{UserData$.name}} </td>
<td>{{UserData$.studentsurname}} </td>
<td> <button type="button" (click)="studentpreview(UserData$.id)"> <i class="fa fa-eye" aria-hidden="true"></i> </button> </td>
</tr>
<ul class="list-group main-view">
<div *ngFor="let UserData$ of SubmitedApplic$ | async; let i=index; let isOdd=odd; let isEven=even" >
<li class="list-group-item isclickable" [class.oddout]="isOdd"
[class.evenout]="isEven" (click)="setActiveUser(UserData$.id)" [class.selectedout]="userActive === UserData$.id" >
<h5> {{UserData$.name}}&nbsp;{{UserData$.studentsurname}} </h5>
</li>
<div id = "target">
<div *ngFor="let StudentDetails$ of SubmitedDetails$ | async" [hidden]="UserData$.id !== userActive" >
<strong> Όνομα:</strong> <p style="border:1px solid #eceeef;"> {{StudentDetails$.name}} </p>
<strong> Επώνυμο:</strong> <p style="border:1px solid #eceeef;"> {{StudentDetails$.studentsurname}} </p>
<strong> Όνομα Πατέρα:</strong> <p style="border:1px solid #eceeef;"> {{StudentDetails$.fatherfirstname}}</p>
<strong> Επώνυμο Πατέρα:</strong> <p style="border:1px solid #eceeef;">{{StudentDetails$.fathersurname}}</p>
<strong> Όνομα Μητέρας:</strong> <p style="border:1px solid #eceeef;">{{StudentDetails$.motherfirstname}}</p>
<strong> Επώνυμο Μητέρας:</strong> <p style="border:1px solid #eceeef;">{{StudentDetails$.mothersurname}}</p>
<strong> Ημερομηνία Γέννησης:</strong> <p style="border:1px solid #eceeef;">{{StudentDetails$.birthdate}}</p>
<p><b>Επιλογές ΕΠΑΛ</b> </p>
<br>
</div>
<div *ngFor="let epalChoices$ of EpalChosen$ | async" [hidden]="UserData$.id !== userActive">
Σχολείο: {{epalChoices$.epal_id}}
Σειρά Προτίμισης:{{epalChoices$.choice_no}}
</div>
</div>
</div>
</ul>
<br>
<button type="button" (click)="createPdf()">Εξαγωγή σε PDF</button>
`
})
......@@ -40,19 +67,35 @@ import { BehaviorSubject, Subscription } from 'rxjs/Rx';
private SubmitedApplic$: BehaviorSubject<any>;
private SubmitedUsersSub: Subscription;
private SubmitedDetails$: BehaviorSubject<any>;
private SubmitedDetailsSub: Subscription;
private EpalChosen$: BehaviorSubject<any>;
private EpalChosenSub: Subscription;
public StudentId;
private userActive = <number>-1;
constructor(private _hds: HelperDataService,
private activatedRoute: ActivatedRoute,
private router: Router )
{
this.SubmitedApplic$ = new BehaviorSubject([{}]);
this.SubmitedDetails$ = new BehaviorSubject([{}]);
this.EpalChosen$ = new BehaviorSubject([{}]);
}
ngOnDestroy()
{
if (this.SubmitedUsersSub)
this.SubmitedUsersSub.unsubscribe();
if (this.SubmitedDetailsSub)
this.SubmitedDetailsSub.unsubscribe();
if (this.EpalChosenSub)
this.EpalChosenSub.unsubscribe();
this.SubmitedDetails$.unsubscribe();
this.EpalChosen$.unsubscribe();
this.SubmitedApplic$.unsubscribe();
}
......@@ -60,17 +103,62 @@ import { BehaviorSubject, Subscription } from 'rxjs/Rx';
ngOnInit() {
this.SubmitedUsersSub = this._hds.getSubmittedPreviw().subscribe(this.SubmitedApplic$);
this.SubmitedUsersSub = this._hds.getSubmittedPreviw().subscribe(data => {
this.SubmitedApplic$.next(data)},
error => {
this.SubmitedApplic$.next([{}]);
console.log("Error Getting Schools");
},
() => console.log("Getting Schools"));
console.log(this.SubmitedApplic$);
}
studentpreview(StudentId)
setActiveUser(ind,i)
{
ind = +ind;
console.log(this.userActive,"RA",ind);
if (ind === this.userActive){
ind = -1;
}
ind--;
this.userActive = ind+1 ;
this.SubmitedDetailsSub = this._hds.getStudentDetails(this.userActive+1).subscribe(data => {
this.SubmitedDetails$.next(data)},
error => {
this.SubmitedDetails$.next([{}]);
console.log("Error Getting Schools");
},
() => console.log("Getting Schools"));
this.EpalChosenSub = this._hds.getEpalchosen(this.userActive+1).subscribe(data => {
this.EpalChosen$.next(data)},
error => {
this.EpalChosen$.next([{}]);
console.log("Error Getting Schools");
},
() => console.log("Getting Schools"));
}
createPdf()
{
this.router.navigate(['/submited-person', {'id':StudentId}]);
html2canvas(document.getElementById("target")).then(function(canvas)
{
var img = canvas.toDataURL();
var doc = new jsPDF('p', 'mm');
doc.addImage(img, 'PNG', 10, 10);
doc.save('applications.pdf');
});
}
}
......@@ -30,11 +30,13 @@ import InformStudents from '../components/minister/minister-informstudents';
import SchoolAuthGuard from '../guards/school.auth.guard';
import StudentAuthGuard from '../guards/student.auth.guard';
import RegionEduAuthGuard from '../guards/regionedu.auth.guard';
import Breadcrubs from '../components/main/breadcrubs';
export const MainRoutes: Routes = [
{ path: '', component: Home },
{ path: 'school', component: SchoolHome },
{ path: 'ministry', component: MinistryHome },
{ path: 'breadcrubs', component: Breadcrubs },
{ path: 'parent-form', component: ParentForm, canActivate: [StudentAuthGuard] },
{ path: 'student-application-form-main', component: StudentApplicationMain, canActivate: [StudentAuthGuard] },
// { path: 'students-list', component: StudentsList },
......@@ -81,4 +83,5 @@ export const MainDeclarations = [
MinisterReports,
InformStudents,
PerfectureView,
Breadcrubs
];
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