application.form.main.html 10.3 KB
Newer Older
1
<div class = "loading" *ngIf="(criteria$ | async).size === 0"></div>
2

3
  <form novalidate  [formGroup]="studentDataGroup" #form>
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    <form [formGroup]="applicantDataGroup">
      <table>
        <tr><td>
          <div class="form-group">
            <label for="guardianfirstname">Όνομα κηδεμόνα</label><input class="form-control" type="text" formControlName="guardianfirstname" disabled = "true">
          </div>
        </td>
        <td>
          <div class="form-group">
            <label for="guardiansurname">Επώνυμο κηδεμόνα</label><input class="form-control" type="text" formControlName="guardiansurname" disabled = "true">
          </div>
        </td></tr>
      </table>
    </form>

19
    <div class="form-group">
20
        <label for="name">Όνομα μαθητή</label><input class="form-control" type="text" formControlName="name">
21
    </div>
22
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('name').touched && studentDataGroup.get('name').hasError('required')">
23
24
        Το πεδίο δεν μπορεί να αφεθεί κενό!
    </div>
25
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('name').dirty && studentDataGroup.get('name').hasError('pattern')">
26
27
28
        Δεν επιτρέπονται ψηφία ή άλλοι μη έγκυροι χαρακτήρες σε αυτό το πεδίο!
    </div>

29
    <div class="form-group">
30
        <label for="studentsurname">Επώνυμο μαθητή</label><input class="form-control" type="text" formControlName="studentsurname">
31
    </div>
32
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('studentsurname').touched && studentDataGroup.get('studentsurname').hasError('required')">
33
34
        Το πεδίο δεν μπορεί να αφεθεί κενό!
    </div>
35
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('studentsurname').dirty && studentDataGroup.get('studentsurname').hasError('pattern')">
36
37
38
39
40
41
42
        Δεν επιτρέπονται ψηφία ή άλλοι μη έγκυροι χαρακτήρες σε αυτό το πεδίο!
    </div>

    <table>
        <tr>
            <td>
                <div class="form-group">
43
                    <label for="regionaddress">Διεύθυνση κατοικίας</label><input class="form-control" type="text" formControlName="regionaddress">
44
                </div>
45
                <div class="alert alert-danger" *ngIf="studentDataGroup.get('regionaddress').touched && studentDataGroup.get('regionaddress').hasError('required')">
46
47
                    Το πεδίο δεν μπορεί να αφεθεί κενό!
                </div>
48
                <div class="alert alert-danger" *ngIf="studentDataGroup.get('regionaddress').dirty && studentDataGroup.get('regionaddress').hasError('pattern')">
49
50
                    Δεν επιτρέπονται μη έγκυροι χαρακτήρες σε αυτό το πεδίο!
                </div>
51
52
53
            </td>
            <td>
                <div class="form-group">
54
                    <label for="regiontk">TK </label><input class="form-control" type="text" formControlName="regiontk">
55
                </div>
56
                <div class="alert alert-danger" *ngIf="studentDataGroup.get('regiontk').touched && studentDataGroup.get('regiontk').hasError('required')">
57
58
                    Το πεδίο δεν μπορεί να αφεθεί κενό!
                </div>
59
                <div class="alert alert-danger" *ngIf="studentDataGroup.get('regiontk').dirty && studentDataGroup.get('regiontk').hasError('pattern')">
60
61
                    Δεν επιτρέπονται γράμματα αλφαβήτου ή μη έγκυροι χαρακτήρες σε αυτό το πεδίο!
                </div>
62
63
64
            </td>
            <td>
                <div class="form-group">
65
                    <label for="regionarea">Πόλη/Περιοχή</label><input class="form-control" type="text" formControlName="regionarea">
66
                </div>
67
                <div class="alert alert-danger" *ngIf="studentDataGroup.get('regionarea').touched && studentDataGroup.get('regionarea').hasError('required')">
68
69
                    Το πεδίο δεν μπορεί να αφεθεί κενό!
                </div>
70
                <div class="alert alert-danger" *ngIf="studentDataGroup.get('regionarea').dirty && studentDataGroup.get('regionarea').hasError('pattern')">
71
72
                    Δεν επιτρέπονται μη έγκυροι χαρακτήρες σε αυτό το πεδίο!
                </div>
73
74
75
76
            </td>
        </tr>
    </table>

77
    <div class="form-group">
78
79
        <label for="certificatetype">Τύπος απολυτηρίου</label><br/>
        <select class="form-control" formControlName="certificatetype">
80
        <option value="noincomecriterio">Παρακαλώ επιλέξτε..</option>
81
82
83
84
        <option value="Απολυτήριο Γυμνασίου">Απολυτήριο Γυμνασίου</option>
        <option value="Απολυτήριο Λυκείου">Απολυτήριο Λυκείου</option>
    </select>
    </div>
85
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('certificatetype').dirty && studentDataGroup.get('certificatetype').hasError('status')">
86
87
88
        Η επιλογή από αυτή τη λίστα είναι απαραίτητη!
    </div>

89
    <div class="form-group">
90
91
        <label for="relationtostudent">Η αίτηση γίνεται από:</label><br/>
        <select class="form-control" formControlName="relationtostudent">
92
        <option value="noincomecriterio">Παρακαλώ επιλέξτε..</option>
93
94
95
        <option value="Γονέας/Κηδεμόνας">Γονέας/Κηδεμόνας</option>
        <option value="Μαθητής">Μαθητής</option>
    </select>
96
        <div class="alert alert-danger" *ngIf="studentDataGroup.get('relationtostudent').dirty && studentDataGroup.get('relationtostudent').hasError('status')">
97
98
            Η επιλογή από αυτή τη λίστα είναι απαραίτητη!
        </div>
99
100
    </div>

101
102
103
104
105
106
107
108
109
110
    <div class="form-group">
        <label for="telnum">Τηλέφωνο επικοινωνίας</label><input class="form-control" type="text" formControlName="telnum">
    </div>
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('telnum').touched && studentDataGroup.get('telnum').hasError('required')">
        Το πεδίο δεν μπορεί να αφεθεί κενό!
    </div>
    <div class="alert alert-danger" *ngIf="studentDataGroup.get('telnum').dirty && studentDataGroup.get('telnum').hasError('pattern')">
        Επιτρέπονται μόνο ψηφία σε αυτό το πεδίο!
    </div>

111

112
    <form novalidate [formGroup]="studentCriteriaGroup">
113
      <!--
114
        <fieldset class="group">
115
      -->
116
117
        <legend>Εισοδηματικά κριτήρια</legend>

118
        <!-- TEST for defining income in combolist in a redux-dynamic way
119
120
121
122
123
        <select #cblsttest class="form-control" (change)="checkstatus(cblsttest)" formControlName="incometest">
        <option *ngFor="let criter$ of criteria$   | async; let i=index" >
          <div *ngIf="criter$.name === 'Εισόδημα' && criter$.name !== 'Απόσταση'">
        {{criter$.name}} </div></option>
        </select>
124
      -->
125
126


127
        <div class="form-group">
128

129
            <label for="income">Το κατά κεφαλήν εισόδημα στο προηγούμενο φορολογικό έτος είναι:</label><br/>
130
131
132
133
134
135
              <select #cblst class="form-control" (change)="checkstatus(cblst)" formControlName="income">
              <option value="noincomecriterio" [selected] = "selectionIncomeId === 0" >Παρακαλώ επιλέξτε..</option>
              <option value="<= 3000 Ευρώ" [selected] = "selectionIncomeId === 8" >μικρότερο ή ίσο των 3000 Ευρώ</option>
              <option value="<= 6000 Ευρώ" [selected] = "selectionIncomeId === 9" >μικρότερο ή ίσο των 6000 Ευρώ</option>
              <option value="<= 9000 Ευρώ" [selected] = "selectionIncomeId === 10" >μικρότερο ή ίσο των 9000 Ευρώ</option>
              <option value="> 9000 Ευρώ" [selected] = "selectionIncomeId === 11" >μεγαλύτερο των 9000 Ευρώ</option>
136
            </select>
137

138
            <div class="alert alert-danger" *ngIf=" studentCriteriaGroup.get('income').hasError('status')">
139
140
141
142
                  Η επιλογή από αυτή τη λίστα είναι απαραίτητη!
            </div>
        </div>

143
144
        <div formArrayName="formArray">

145
146
147
148
149
          <legend>Κοινωνικά κριτήρια</legend>
          <p style="margin-top: 15px; line-height: 1.5em;">Επιλέξτε όσα από τα παρακάτω κριτήρια πληρούνται για εσάς.
            Οι επιλογές σας επέχουν θέση υπέυθυνης δήλωσης.
            Θα πρέπει να προσκομίσετε τα αντίστοιχα δικαιολογητικά στο σχολείο εγγραφής σας, όταν σας ζητηθεί.
          </p>
150
151

          <div *ngFor="let criter$ of criteria$   | async; let i=index">
152
153
154
155
156
157
158
159
            <div class="row" *ngIf="criter$.name !== 'Εισόδημα' && criter$.name !== 'Απόσταση'">
              <div class="col-md-1">
                  <input #cb type="checkbox" (change)="checkcriteria(cb, criter$.mutual_disabled_id)" formControlName={{i}}>
              </div>
              <div class="col-md-11 pull-left">
                  {{criter$.name}}
              </div>
            </div>
160
161
162
163
164
165
          </div>

      <div class="row">
      </div>

      <!--
166
      </fieldset>
167
168
    -->
    </div>
169
170
171

    </form>

172
    <div class="row" style="margin-top: 20px;" *ngIf="(criteria$ | async).size > 0">
173
174
        <div class="col-md-6">
            <button type="button" class="btn-primary btn-lg pull-left" (click)="navigateBack()">
Open Source Developer's avatar
Open Source Developer committed
175
                <i class="fa fa-backward"></i>
176
177
            </button>
        </div>
178
        <div class="col-md-6">
179
            <button type="button" class="btn-primary btn-lg pull-right" (click)="submitSelected()" [disabled]="studentDataGroup.invalid || (studentCriteriaGroup.invalid || selectionIncomeId === 0)" >
Open Source Developer's avatar
Open Source Developer committed
180
                <i class="fa fa-forward"></i>
181
182
            </button>
        </div>
183

184
185
    </div>

186
  </form>