Rev 1856 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1830 | jmachado | 1 | <%@ page contentType="text/html;charset=UTF-8" language="java" %> |
1848 | jmachado | 2 | <style> |
1869 | jmachado | 3 | .sections |
4 | { |
||
5 | padding-left: 20px; |
||
6 | } |
||
1848 | jmachado | 7 | .buttonTools |
8 | { |
||
9 | border: 1px solid gray; |
||
10 | background-color: lightgray; |
||
11 | padding: 5px; |
||
12 | } |
||
13 | .customComponent |
||
14 | { |
||
15 | padding: 0; |
||
16 | } |
||
17 | .documentSimpleComponent |
||
18 | { |
||
19 | border: 1px solid gray; |
||
20 | padding: 5px; |
||
21 | margin-bottom: 5px; |
||
22 | } |
||
23 | .componentBody |
||
24 | { |
||
25 | border: 1px solid gray; |
||
26 | padding: 5px; |
||
27 | } |
||
28 | </style> |
||
1830 | jmachado | 29 | |
1869 | jmachado | 30 | <!--Require templateObj--> |
31 | <script type="text/ng-template" id="callDocumentTemplate"> |
||
1848 | jmachado | 32 | |
1869 | jmachado | 33 | <div ng-include="class2id(templateObj)"></div> |
34 | </script> |
||
35 | |||
1830 | jmachado | 36 | <%-- |
37 | customPane Need component customPane in variable customPane |
||
38 | docAppSelector selector usualy an html ID for ng-app example #docReport |
||
39 | --%> |
||
1848 | jmachado | 40 | <script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_CustomPane"> |
41 | <div class="customComponent clearfix component"> |
||
1830 | jmachado | 42 | <div class="buttonTools clearfix"> |
1848 | jmachado | 43 | <button class="btn btn-default pullleft" type="button" ng-click="addText(comp)"> |
1830 | jmachado | 44 | <span class="glyphicon glyphicon-plus"></span> |
45 | <span class="glyphicon glyphicon-font"></span> |
||
46 | </button> |
||
47 | |||
1848 | jmachado | 48 | <button class="btn btn-default pullleft" type="button" ng-click="addImage(comp)"> |
1830 | jmachado | 49 | <span class="glyphicon glyphicon-plus"></span> |
50 | <span class="glyphicon glyphicon-picture"></span> |
||
51 | </button> |
||
52 | Secção personalizada |
||
53 | </div> |
||
1848 | jmachado | 54 | <div class="componentBody"> |
55 | <div class="clearfix" ng-repeat="subComp in comp.components" ng-init="parent=comp;comp=subComp" ng-include="class2id(subComp)"> |
||
1830 | jmachado | 56 | |
1848 | jmachado | 57 | </div> |
58 | <div> |
||
59 | </div> |
||
60 | </script> |
||
1830 | jmachado | 61 | |
1848 | jmachado | 62 | <script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_ImageComponent"> |
63 | <div class="imageComponent component"> |
||
64 | <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix"> |
||
65 | <button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)"> |
||
1830 | jmachado | 66 | <span class="glyphicon glyphicon-remove"></span> |
67 | </button> |
||
1848 | jmachado | 68 | <label>Componente de Imagem (Use esta funcinalidade para adicionar gráficos ou tabelas que ache necessárias)</label> |
69 | </div> |
||
1830 | jmachado | 70 | |
1848 | jmachado | 71 | <div class="componentBody" ng-if="comp['@class']=='pt.estgp.estgweb.utils.documentBuilder.ImageComponent'"> |
1830 | jmachado | 72 | <div class="form-group clearfix" ng-if="comp.image.identifier"> |
73 | <label class="col-md-2 control-label">Legenda</label> |
||
74 | <div class="col-md-10"> |
||
75 | <input type="text" class="form-control" rows="10" ng-model="comp.title"> |
||
76 | </div> |
||
77 | </div> |
||
78 | <div class="form-group clearfix"> |
||
79 | <div class="col-md-2 control-label"> |
||
80 | <a class="btn btn-default" href="#" ng-model="comp" |
||
1848 | jmachado | 81 | data-title="Escolha Imagem" |
82 | data-showmetafields="false" |
||
83 | data-confirmonupload="true" |
||
84 | data-toggle="modal" |
||
85 | data-target="#filesUploadModal" |
||
86 | data-multiple="false" |
||
87 | data-allowed-extensions="jpg,png,gif" |
||
88 | data-callback-target-function="angular.element($('{{docAppSelector}}')).scope().callbackUploadedFiles"> |
||
1830 | jmachado | 89 | <span ng-if="comp.image.identifier"> |
1848 | jmachado | 90 | Substituir Imagem |
1830 | jmachado | 91 | </span> |
92 | <span ng-if="!(comp.image.identifier)"> |
||
1848 | jmachado | 93 | Carregar Imagem |
1830 | jmachado | 94 | </span> |
95 | |||
96 | <span class="glyphicon glyphicon-upload"/> |
||
97 | |||
98 | </a> |
||
99 | </div> |
||
100 | |||
101 | <div class="col-md-10"> |
||
1848 | jmachado | 102 | <div ng-if="!(comp.image.identifier)"> |
103 | Clique em carregar imagens e escolha uma imagem para adicionar nesta secção. |
||
1830 | jmachado | 104 | </div> |
105 | |||
106 | <label ng-if="comp.image.identifier"> Limites do PDF </label> |
||
107 | <div ng-if="comp.image.identifier" style="text-align: center; width: 595px; border: 1px solid black; padding: 45px"> |
||
108 | <center> |
||
109 | <div style="width: 200px;height: 200px; max-width: 500px; max-height: 750px" resizable on-resize="resize($evt, $ui, comp)"> |
||
110 | <img style="width: 100%;height: 100%" ng-src="{{comp.imageUrl}}"> |
||
111 | </div> |
||
112 | (Se desejar altere o tamanho da imagem arrastando no canto inferior direito) |
||
113 | </center> |
||
114 | </div> |
||
115 | </div> |
||
116 | </div> |
||
1848 | jmachado | 117 | </div> |
118 | </div> |
||
119 | </script> |
||
1830 | jmachado | 120 | |
1848 | jmachado | 121 | <script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_TextComponent"> |
122 | <div class="textComponent component"> |
||
1830 | jmachado | 123 | |
1848 | jmachado | 124 | <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="buttonTools clearfix"> |
125 | <button class="btn btn-danger pull-right" type="button" ng-click="removeComponent($index,parent.components)"> |
||
126 | <span class="glyphicon glyphicon-remove"></span> |
||
127 | </button> |
||
128 | <label>Componente de Texto</label> |
||
129 | </div> |
||
130 | <div class="componentBody"> |
||
131 | <div ng-if="parent['@class']=='pt.estgp.estgweb.utils.documentBuilder.CustomPane'" class="form-group clearfix"> |
||
132 | <label class="col-md-2 control-label">Titulo de Parágrafo</label> |
||
133 | <div class="col-md-10"> |
||
134 | <input type="text" class="form-control" rows="10" ng-model="comp.title"> |
||
1830 | jmachado | 135 | </div> |
1848 | jmachado | 136 | </div> |
137 | <div class="form-group clearfix"> |
||
138 | <label class="col-md-2 control-label">Texto</label> |
||
139 | <div class="col-md-10"> |
||
140 | <textarea class="form-control" rows="10" ng-model="comp.text"> |
||
1830 | jmachado | 141 | |
1848 | jmachado | 142 | </textarea> |
1830 | jmachado | 143 | </div> |
144 | </div> |
||
145 | </div> |
||
1848 | jmachado | 146 | </div> |
1869 | jmachado | 147 | </script> |
148 | |||
149 | <!-- |
||
150 | @section objeto com seccoes e componentes |
||
151 | @optional @chapter capitulo do documento para esta seccao para contcatenar às subsections |
||
152 | --> |
||
153 | <script type="text/ng-template" id="pt_estgp_estgweb_utils_documentBuilder_DocumentSection"> |
||
154 | <div class="sections"> |
||
155 | <ul class="nav nav-tabs"> |
||
156 | <li ng-model="section" class="separatorSectionNav" |
||
157 | ng-class="{ active : subSection.active}" |
||
158 | ng-repeat="subSection in section.sections"> |
||
159 | <a ng-click="showSep(section,subSection)"> {{$chapter}}{{$index+1}} - {{subSection.title}}</a> |
||
160 | </li> |
||
161 | </ul> |
||
162 | <div ng-model="subSection" |
||
163 | ng-class="{ hidden: !subSection.active }" |
||
164 | ng-repeat="subSection in section.sections" |
||
165 | class="separatorSection clearfix"> |
||
166 | <div ng-repeat="comp in subSection.components" |
||
167 | ng-include="class2id(comp)"> |
||
168 | |||
169 | </div> |
||
170 | <div ng-if="subSection.sections" |
||
171 | ng-init="section=subSection;$chapter=$chapter+($index+1)+'.'" |
||
172 | ng-include="class2id(subSection)"> |
||
173 | </div> |
||
174 | </div> |
||
175 | </div> |
||
176 | </script> |
||
177 | |||
178 | <!-- |
||
179 | @section objeto com seccoes e componentes |
||
180 | @optional @chapter capitulo do documento para esta seccao para contcatenar às subsections |
||
181 | --> |
||
182 | |||
183 | <script type="text/ng-template" id="pt_estgp_estgweb_services_courses_coursereport_documentmodel_CourseUnitsReportsSection"> |
||
184 | <div class="sections"> |
||
185 | <a name="indexCus"></a> |
||
186 | <span ng-repeat="cu in section.sections" ng-init="cu.taxaAprovacao = 100 * cu.courseUnitEvaluation.numAlunosAprovTotal/(cu.courseUnitEvaluation.numAlunosInscritos - cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao)"> |
||
187 | <a href="#cu{{$index}}" ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent < 100) || cu.taxaAprovacao < 75 || !cu.courseUnitEvaluation.closed || !cu.courseUnitEvaluation.teacherComplete}"> |
||
188 | {{cu.title}} |
||
189 | </a> | |
||
190 | </span> |
||
191 | <div ng-repeat="cu in section.sections" |
||
192 | class="section panel-primary"> |
||
193 | |||
194 | <a name="cu{{$index}}"></a> |
||
195 | <span ng-if="$index != 0" class="glyphicon glyphicon-backward" ></span><a ng-if="$index != 0" href="#indexCus"> Voltar atrás</a> |
||
196 | <div class="panel-heading"><h2>{{cu.title}}</h2></div> |
||
197 | |||
198 | <div style="padding-left:20px"> |
||
199 | <div><h3><label class="label label-primary">Estado do Relatório</label></h3></div> |
||
200 | |||
201 | <div ng-if="cu.courseUnitEvaluation.closed"> |
||
202 | Entregue e Aceite |
||
203 | </div> |
||
204 | <div class="alert-danger" ng-if="cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete"> |
||
205 | Entregue mas não foi aprovado pela comissão |
||
206 | </div> |
||
207 | <div class="alert-danger" ng-if="!cu.courseUnitEvaluation.closed && !cu.courseUnitEvaluation.teacherComplete"> |
||
208 | Não foi entregue pelo docente para validação |
||
209 | </div> |
||
210 | |||
211 | </div> |
||
212 | |||
213 | |||
214 | <div style="padding-left:20px"> |
||
215 | <div><h3><label class="label label-primary">Resultados</label></h3></div> |
||
216 | <div> |
||
217 | <table class="tablesorter-blue" width="100%"> |
||
218 | <tr> |
||
219 | <th rowspan="2"> |
||
220 | Nº Alunos Inscritos |
||
221 | </th> |
||
222 | <th rowspan="2"> |
||
223 | Nº de alunos sem elementos de avaliação |
||
224 | </th> |
||
225 | <th colspan="5"> |
||
226 | Nº de alunos aprovados em |
||
227 | </th> |
||
228 | <th colspan="2"> |
||
229 | Aprovados com a classificação entre 10 e 13 valores |
||
230 | </th> |
||
231 | <th colspan="2"> |
||
232 | Aprovados com a classificação entre 14 e 16 valores |
||
233 | </th> |
||
234 | <th colspan="2"> |
||
235 | Aprovados com a classificação entre 17 e 20 valores |
||
236 | </th> |
||
237 | </tr> |
||
238 | <tr> |
||
239 | <th>Avaliação de frequência</th> |
||
240 | <th>Exame Época Normal</th> |
||
241 | <th>Exame Época Recurso</th> |
||
242 | <th>Exame Época Especial</th> |
||
243 | <th>Total</th> |
||
244 | <th>Nº</th> |
||
245 | <th>%</th> |
||
246 | <th>Nº</th> |
||
247 | <th>%</th> |
||
248 | <th>Nº</th> |
||
249 | <th>%</th> |
||
250 | </tr> |
||
251 | <tr> |
||
252 | <td class="text-center"> |
||
253 | {{cu.courseUnitEvaluation.numAlunosInscritos}} |
||
254 | </td> |
||
255 | <td class="text-center"> |
||
256 | {{cu.courseUnitEvaluation.numAlunosSemElementosAvaliacao}} |
||
257 | </td> |
||
258 | <td class="text-center"> |
||
259 | {{cu.courseUnitEvaluation.numAlunosAprovFrequencia}} |
||
260 | </td> |
||
261 | <td class="text-center"> |
||
262 | {{cu.courseUnitEvaluation.numAlunosAprovNormal}} |
||
263 | </td> |
||
264 | <td class="text-center"> |
||
265 | {{cu.courseUnitEvaluation.numAlunosAprovRecurso}} |
||
266 | </td> |
||
267 | <td style="text-align: center"> |
||
268 | {{cu.courseUnitEvaluation.numAlunosAprovEspecial}} |
||
269 | </td> |
||
270 | <td class="text-center"> |
||
271 | {{cu.courseUnitEvaluation.numAlunosAprovTotal}} |
||
272 | </td> |
||
273 | <td class="text-center"> |
||
274 | {{cu.courseUnitEvaluation.numAlunosAprov1013}} |
||
275 | </td> |
||
276 | <td class="text-center"> |
||
277 | {{cu.courseUnitEvaluation.numAlunosAprov1013Percent}} |
||
278 | </td> |
||
279 | <td class="text-center"> |
||
280 | {{cu.courseUnitEvaluation.numAlunosAprov1416}} |
||
281 | </td> |
||
282 | <td class="text-center"> |
||
283 | {{cu.courseUnitEvaluation.numAlunosAprov1416Percent}} |
||
284 | </td> |
||
285 | <td class="text-center"> |
||
286 | {{cu.courseUnitEvaluation.numAlunosAprov1720}} |
||
287 | </td> |
||
288 | <td class="text-center"> |
||
289 | {{cu.courseUnitEvaluation.numAlunosAprov1720Percent}} |
||
290 | </td> |
||
291 | </tr> |
||
292 | </table> |
||
293 | </div> |
||
294 | </div> |
||
295 | |||
296 | <div style="padding-left:20px" > |
||
297 | <div><h3><label class="label label-primary">Taxa de Aprovação</label></h3></div> |
||
298 | <div ng-class="{ 'alert-danger': cu.taxaAprovacao < 75 }">{{cu.taxaAprovacao}}%</div> |
||
299 | </div> |
||
300 | |||
301 | |||
302 | |||
303 | <div style="padding-left:20px"> |
||
304 | <div><h3><label class="label label-primary">Apreciação dos resultados quantitativos obtidos pelos estudantes</label></h3></div> |
||
305 | <div>{{cu.courseUnitEvaluation.qualApreciacaoQuantitivos}}</div> |
||
306 | </div> |
||
307 | <div style="padding-left:20px"> |
||
308 | <div><h3><label class="label label-primary">Apreciação do funcionamento da UC</label></h3></div> |
||
309 | <div>{{cu.courseUnitEvaluation.qualApreciacaoUC}}</div> |
||
310 | </div> |
||
311 | <div style="padding-left:20px"> |
||
312 | <div><h3><label class="label label-primary">Percentagem de cumprimento do programa da UC</label></h3></div> |
||
313 | <div ng-class="{ 'alert-danger': (cu.courseUnitEvaluation.cumprimentoProgramaPercent < 100) }"> |
||
314 | {{cu.courseUnitEvaluation.cumprimentoProgramaPercent}}% |
||
315 | </div> |
||
316 | </div> |
||
317 | <div style="padding-left:20px"> |
||
318 | <div><h3><label class="label label-primary">Apreciação do cumprimento do programa da UC</label></h3></div> |
||
319 | <div>{{cu.courseUnitEvaluation.qualApreciacaoCumprimentoPrograma}}</div> |
||
320 | </div> |
||
321 | <div style="padding-left:20px"> |
||
322 | <div><h3><label class="label label-primary">Conclusões</label></h3></div> |
||
323 | <div>{{cu.courseUnitEvaluation.qualConclusoes}}</div> |
||
324 | </div> |
||
325 | </div> |
||
326 | </div> |
||
1830 | jmachado | 327 | </script> |