Subversion Repositories bacoAlunos

Rev

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 &lt; 100) || cu.taxaAprovacao &lt; 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 &lt; 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 &lt; 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>