source: publico/ILSAPL/branches/2.3/skins/sk_sapl/cadastros/sessao_plenaria/votacao/votacao_form.dtml @ 5141

Última Alteração nesse arquivo desde 5141 foi 5141, incluída por claudiomorale, 9 anos atrás

validar quantidade de votos

File size: 20.2 KB
Linha 
1<dtml-var standard_html_header>
2
3<script type="text/javascript" language="Javascript" src="javascript/data_validar_jvsc"></script>
4<script type="text/javascript" language="Javascript">
5
6    function campos_criticar(){
7
8        var form = document.votacao_form;
9        var regexp_digitos = /\D+/;
10        var tipo_votacao = "<dtml-var tip_votacao>";
11
12        if (tipo_votacao != 2) {
13            if (form.txt_votos_sim.value == "" && form.rad_votacao_branco.checked == false) {
14                alert("O numero de votos deve ser preenchido!");
15                form.txt_votos_sim.focus();
16                return false;
17            }
18
19            if (form.txt_votos_nao.value == "" && form.rad_votacao_branco.checked == false) {
20                alert("O numero de votos deve ser preenchido!");
21                form.txt_votos_nao.focus();
22                return false;
23            }
24
25            if (form.txt_votos_abstencao.value == "" && form.rad_votacao_branco.checked == false) {
26                alert("O numero de votos deve ser preenchido!");
27                form.txt_votos_abstencao.focus();
28                return false;
29            }
30
31            if (!(form.rad_ind_votacao_presidente[0].checked || form.rad_ind_votacao_presidente[1].checked)){
32                alert("Indique se o total de votos inclui o voto do Presidente!");
33                form.rad_ind_votacao_presidente[0].focus();
34                return false;
35            }
36             
37            /* --------------------------------------------------------------------------------------------------------- */
38            /* valida quorum: ...[0].checked --> opção: Não - presidente NÃO participa da votação,
39                              ...[1].checked --> opção: Sim - presidente PARTICIPA da votação */
40            /*                                                                                                           */
41            /* c/ o voto do presidente --> quorum de presentes = quantidade de votantes                                  */
42            /* s/ o voto do presidente --> quorum de presentes = quantidade de votantes - 1                              */
43            /* --------------------------------------------------------------------------------------------------------- */
44           
45            var qtv = 0;
46            var qp  = 0;
47            var qvs = parseInt(form.txt_votos_sim.value,10);
48            var qvn = parseInt(form.txt_votos_nao.value,10);
49            var qab = parseInt(form.txt_votos_abstencao.value,10);
50            var quo = parseInt(form.hdn_nro_presentes.value,10);
51            qp = quo;
52            qtv = qvs + qvn + qab;
53            if (form.rad_ind_votacao_presidente[0].checked) {
54               qp = quo - 1;
55            }
56            if (qtv != qp) {
57               alert("O total de votos não confere com o quorum de presentes na Ordem do Dia. Reinforme corretamente!");
58               form.rad_ind_votacao_presidente[0].focus();
59               return false;
60            } 
61        }
62
63        if (form.lst_tip_resultado.selectedIndex == 0 && form.rad_votacao_branco.checked == false){
64            alert("Escolha o tipo do resultado da votação!");
65            form.lst_tip_resultado.focus();
66            return false;
67        }
68
69        form.submit();
70    }
71
72        function submeter(endereco){
73
74            var form = document.votacao_form;
75            endereco += '?cod_sessao_plen=<dtml-var cod_sessao_plen>';
76            endereco += '&cod_sessao_leg=<dtml-var cod_sessao_leg>';
77            endereco += '&cod_num_legislatura=<dtml-var cod_num_legislatura>';
78            endereco += '&dat_sessao=<dtml-var dat_sessao>';
79            endereco += '&tip_sessao=<dtml-var tip_sessao missing>';
80
81            if (form.hdn_cod_sessao_plen.value!=""){
82                location.href = endereco;
83            }
84            return;
85        }
86
87        function votacao_em_branco(tip_votacao){
88             
89            var form = document.votacao_form;
90
91            if (tip_votacao == 1) {
92                if (form.rad_votacao_branco.checked == true) {
93                        alert("Caso exista alguma votação cadastrada ela será perdida!");
94                        form.txt_votos_sim.disabled=1;
95                    form.txt_votos_nao.disabled=1;
96                    form.txt_votos_abstencao.disabled=1;
97                    form.lst_tip_resultado.disabled=1;
98                    }
99                else {
100                        form.txt_votos_sim.disabled=0;
101                    form.txt_votos_nao.disabled=0;
102                    form.txt_votos_abstencao.disabled=0;
103                    form.lst_tip_resultado.disabled=0;
104                    }
105                }
106            if (tip_votacao == 2) {
107                  if (form.rad_votacao_branco.checked == true) {
108                          alert("Caso exista alguma votação cadastrada ela será perdida!");
109                          form.lst_voto_parlamentar.disabled=1;
110                          form.lst_tip_resultado.disabled=1;
111                          }
112                  else {
113                          form.lst_voto_parlamentar.disabled=0;
114                          form.lst_tip_resultado.disabled=0;
115                          }
116                  }
117            if (tip_votacao == 3) {
118                if (form.rad_votacao_branco.checked == true) {
119                        form.txt_votos_sim.disabled=1;
120                    form.txt_votos_nao.disabled=1;
121                    form.txt_votos_abstencao.disabled=1;
122                    form.lst_tip_resultado.disabled=1;
123                    }
124                else {
125                    form.txt_votos_sim.disabled=0;
126                    form.txt_votos_nao.disabled=0;
127                    form.txt_votos_abstencao.disabled=0;
128                    form.lst_tip_resultado.disabled=0;
129                    }
130                }
131            return;
132        }
133</script>
134
135<a id="ajuda" href="&dtml-portal_url;/ajuda/sessao_plenaria_votacao">Ajuda</a>
136<h1 class="firstHeading">Vota&ccedil;&atilde;o</h1>
137<h3 align="center"><dtml-var sessao_plenaria_header></h3>
138<form action="votacao_salvar_proc" name="votacao_form" method="get" enctype="multipart/form-data">
139    <ul>
140            <li>
141                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/mesa_diretora_sessao/index_html')">Mesa</a>
142            </li>
143            <li>
144                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/oradores/index_html')">Oradores</a>
145            </li>
146            <li>
147                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/presenca_sessao/index_html')">Lista de Presen&ccedil;a Sess&atilde;o</a>
148            </li>
149            <li>
150                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/presenca_ordem_dia/index_html')">Lista de Presen&ccedil;a Ordem do Dia</a>
151            </li>
152            <li>
153                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/votacao/index_html')">Vota&ccedil;&atilde;o</a>
154            </li>
155            <li>
156                <a href="javascript:submeter('&dtml-portal_url;/consultas/sessao_plenaria/agenda_sessao_plen_mostrar_proc')">Agenda</a>
157            </li>
158            <li>
159                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/ordem_dia_sessao/index_html')">Mat&eacute;rias da Ordem do Dia</a>
160            </li>
161            <li>
162                <a href="javascript:submeter('&dtml-portal_url;/cadastros/sessao_plenaria/expedientes/index_html')">Expedientes</a>
163            </li>
164            <li>
165                <a href="&dtml-portal_url;/cadastros/sessao_plenaria/sessao_plenaria_mostrar_proc?cod_sessao_plen=<dtml-var cod_sessao_plen>">In&iacute;cio</a>
166            </li>
167        </ul>
168        <input type="hidden" name="hdn_url" value="index_html?cod_ordem=<dtml-var cod_ordem>&cod_materia=<dtml-var cod_materia>&tip_votacao=<dtml-var tip_votacao>&dat_sessao=<dtml-var dat_sessao>&cod_sessao_plen=<dtml-var cod_sessao_plen>&cod_num_legislatura=<dtml-var cod_num_legislatura>&cod_sessao_leg=<dtml-var cod_sessao_leg>&tip_sessao=<dtml-var tip_sessao>" />
169        <input type="hidden" name="hdn_cod_sessao_plen" value="<dtml-var cod_sessao_plen missing>" />
170        <input type="hidden" name="hdn_cod_sessao_leg" value="<dtml-var cod_sessao_leg missing>"/>
171        <input type="hidden" name="hdn_dat_sessao" value="<dtml-var dat_sessao missing>"/>
172        <input type="hidden" name="hdn_num_legislatura" value="<dtml-var cod_num_legislatura missing>"/>
173        <input type="hidden" name="hdn_cod_ordem" value="<dtml-var cod_ordem missing>"/>
174        <input type="hidden" name="hdn_cod_materia" value="<dtml-var cod_materia missing>"/>
175        <input type="hidden" name="hdn_tip_votacao" value="<dtml-var tip_votacao missing>"/>
176        <input type="hidden" name="hdn_cod_votacao" value="<dtml-var cod_votacao missing>"/>
177        <input type="hidden" name="hdn_tip_sessao" value="<dtml-var tip_sessao missing>"/>
178        <input type="hidden" name="hdn_nro_presentes" value="9" />
179    <fieldset>
180        <dtml-if expr="tip_votacao=='1'">
181        <legend>Vota&ccedil;&atilde;o Simb&oacute;lica</legend>
182        <table width="100%">
183            <tr>
184                <td width="15%">
185                    <label for="txt_votos_sim">Sim: (*)</label>
186                    <input type="text" name="txt_votos_sim" id="txt_votos_sim" value="<dtml-var num_votos_sim missing>" size="3" maxlength="3" />
187                </td>
188                <td width="15%">
189                    <label for="txt_votos_nao">N&atilde;o: (*)</label>
190                    <input type="text" name="txt_votos_nao" id="txt_votos_nao" value="<dtml-var num_votos_nao missing>" size="3" maxlength="3" />
191                </td>
192                <td width="15%">
193                    <label for="txt_votos_abstencao">Absten&ccedil;&otilde;es: (*)</label>
194                    <input type="text" name="txt_votos_abstencao" id="txt_votos_abstencao" value="<dtml-var num_abstencao missing>" size="3" maxlength="3" />
195                </td>
196            </tr>
197            <tr>
198                <td width="20%">
199                    <label for="rad_votacao_branco">Sem Vota&ccedil;&atilde;o</label>
200                    <input type="checkbox" name="rad_votacao_branco" onchange="javascript:votacao_em_branco(tip_votacao=1)">
201                </td>
202           
203                <td width="30%"><label for="rad_ind_votacao_presidente">Informe se o total de votos inclui tamb&eacute;m o voto do Presidente: </label>
204                <dtml-in expr="[('Não','0'),('Sim','1')]">
205                  <input type="radio" name="rad_ind_votacao_presidente" value="<dtml-var expr="_['sequence-item']">"
206                     id="rad_ind_votacao_presidente<dtml-var expr="_['sequence-item']">"
207                     <dtml-if expr="_['sequence-item']=='0'">checked="1"</dtml-if> /><dtml-var expr="_['sequence-key']">
208                </dtml-in></td>
209            </tr>
210            <tr>
211                <td colspan="2">
212                    <label for="lst_tip_resultado">Resultado da Vota&ccedil;&atilde;o (*)</label>
213                    <select name="lst_tip_resultado" size="1">
214                        <option value="-1">Selecione...</option>
215                        <dtml-in expr="zsql.tipo_resultado_votacao_obter_zsql()">
216                            <option
217                            <dtml-if expr="_.has_key('cod_votacao') and tip_resultado_votacao==votacao_form.tip_resultado_votacao">
218                                selected
219                            </dtml-if>
220                                value="<dtml-var tip_resultado_votacao>"><dtml-var nom_resultado>
221                            </option>
222                        </dtml-in>
223                    </select>
224                </td>
225            </tr>
226            <tr>
227                <td colspan="3">
228                    <label for="txa_txt_observacao">Observa&ccedil;&otilde;es</label>
229                    <textarea name="txa_txt_observacao" cols="60"><dtml-var txt_observacao missing null=""></textarea>
230                </td>
231            </tr>
232            <tr>
233                <td align="center" colspan="0">
234                    <input class="botao" type="button" name="button" value="Salvar" onClick="campos_criticar()" />
235                    &nbsp;&nbsp;&nbsp;<input class="botao" type="button" name="retorno" value="Retornar" OnClick="history.go(-1)" />
236                </td>
237            </tr>
238        </table>
239        </dtml-if>
240        <dtml-if expr="tip_votacao=='2'">
241        <legend>Vota&ccedil;&atilde;o Nominal</legend>
242        <table width="100%">
243            <dtml-if cod_votacao>
244            <dtml-in expr="zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=cod_sessao_plen, dat_ordem = pysc.data_converter_pysc(data=dat_sessao),  ind_excluido=0)">
245            <dtml-in expr="zsql.parlamentar_obter_zsql(cod_parlamentar = cod_parlamentar, num_legislatura = cod_num_legislatura, ind_ativo=1, ind_excluido=0)">
246            <dtml-in expr="zsql.votacao_parlamentar_obter_zsql(cod_votacao=cod_votacao, cod_parlamentar=cod_parlamentar, ind_excluido=0)">
247            <tr>
248                <td>
249                    <dtml-var nom_parlamentar>/<dtml-var sgl_partido missing null="">
250                    <input type="hidden" name="hdn_cod_parlamentar" value="<dtml-var cod_parlamentar missing>"/>
251                </td>
252                <td>
253                    <dtml-if expr="pysc.voto_parlamentar_obter_pysc(cod_votacao, cod_parlamentar)">votou &nbsp;<b><dtml-var voto missing null=""></b>&nbsp;&nbsp - &nbsp;&nbsp;</dtml-if>
254                    <select name="lst_voto_parlamentar" size="1">
255                        <option value="-1">Selecione...</option>
256                        <dtml-in expr="[('Sim','Sim'),('Não','N&atilde;o'),('Abstenção','Absten&ccedil;&atilde;o'), ('Abstenção Regimental','Absten&ccedil;&atilde;o Regimental')]">
257                        <option
258                            <dtml-if expr="_.has_key('cod_votacao') and vot_parlamentar==_['sequence-key']">
259                                selected
260                            </dtml-if>
261                            value="<dtml-var expr="_['sequence-key']">"><dtml-var expr="_['sequence-item']">
262                        </option>
263                        </dtml-in>
264                    </select>
265                </td>
266            </tr>
267            </dtml-in>
268            </dtml-in>
269            </dtml-in>
270            <dtml-else>
271            <dtml-in expr="zsql.presenca_ordem_dia_obter_zsql(cod_sessao_plen=cod_sessao_plen, dat_ordem=pysc.data_converter_pysc(data=dat_sessao), ind_excluido=0)">
272            <dtml-in expr="zsql.parlamentar_obter_zsql(cod_parlamentar = cod_parlamentar, num_legislatura = cod_num_legislatura, ind_ativo=1, ind_excluido=0)">
273            <tr>
274                <td>
275                    <dtml-var nom_parlamentar>/<dtml-var sgl_partido missing null="">
276                    <input type="hidden" name="hdn_cod_parlamentar" value="<dtml-var cod_parlamentar missing>"/>
277                </td>
278                <td>
279                    <select name="lst_voto_parlamentar" size="1">
280                        <option value="-1">Selecione...</option>
281                        <dtml-in expr="[('Sim','Sim'),('Não','N&atilde;o'),('Abstenção','Absten&ccedil;&atilde;o'),('Abstenção Regimental','Absten&ccedil;&atilde;o Regimental')]">
282                        <option
283                            <dtml-if expr="_.has_key('cod_votacao') and vot_parlamentar==_['sequence-key']">
284                                selected
285                            </dtml-if>
286                            value="<dtml-var expr="_['sequence-key']">"><dtml-var expr="_['sequence-item']">
287                        </option>
288                        </dtml-in>
289                    </select>
290                </td>
291            </tr>
292            </dtml-in>
293            </dtml-in>
294            </dtml-if>
295            <tr>
296                <td>
297                    <label for="rad_votacao_branco">Sem Vota&ccedil;&atilde;o</label>
298                    <input type="checkbox" name="rad_votacao_branco" onchange="javascript:votacao_em_branco(tip_votacao=2)">
299                </td>
300            </tr>
301            <tr>
302                <td colspan="2">
303                    <label for="lst_tip_resultado">Resultado da Vota&ccedil;&atilde;o (*):&nbsp;</label>
304                    <dtml-if cod_votacao>
305                             <font size="1">
306                             <dtml-var "pysc.resultado_votacao_pysc(cod_votacao,cod_materia)">&nbsp;&nbsp; - &nbsp;&nbsp;
307                             </font>
308                    </dtml-if>
309                    <select name="lst_tip_resultado" size="1">
310                        <option value="-1">Selecione...</option>
311                        <dtml-in expr="zsql.tipo_resultado_votacao_obter_zsql()">
312                            <option
313                            <dtml-if expr="_.has_key('cod_votacao') and tip_resultado_votacao==votacao_form.tip_resultado_votacao">
314                                selected
315                            </dtml-if>
316                                value="<dtml-var tip_resultado_votacao>"><dtml-var nom_resultado>
317                            </option>
318                        </dtml-in>
319                    </select>
320                </td>
321            </tr>
322            <tr>
323                <td colspan="3">
324                    <label for="txa_txt_observacao">Observa&ccedil;&otilde;es</label>
325                    <textarea name="txa_txt_observacao" cols="60"><dtml-var txt_observacao missing></textarea>
326                </td>
327            </tr>
328            <tr>
329                <td align="center" colspan="0">
330                    <input class="botao" type="button" name="button" value="Salvar" onClick="campos_criticar()" />
331                    &nbsp;&nbsp;&nbsp;<input class="botao" type="button" name="retorno" value="Retornar" OnClick="history.go(-1)" />
332                </td>
333            </tr>
334        </table>
335
336
337        </dtml-if>
338        <dtml-if expr="tip_votacao=='3'">
339        <legend>Vota&ccedil;&atilde;o Secreta</legend>
340        <table width="100%">
341            <tr>
342                <td width="15%">
343                    <label for="txt_votos_sim">Sim: (*)</label>
344                    <input type="text" name="txt_votos_sim" id="txt_votos_sim" value="<dtml-var num_votos_sim missing>" size="3" maxlength="3" />
345                </td>
346                <td width="15%">
347                    <label for="txt_votos_nao">N&atilde;o: (*)</label>
348                    <input type="text" name="txt_votos_nao" id="txt_votos_nao" value="<dtml-var num_votos_nao missing>" size="3" maxlength="3" />
349                </td>
350                <td width="15%">
351                    <label for="txt_votos_abstencao">Absten&ccedil;&otilde;es: (*)</label>
352                    <input type="text" name="txt_votos_abstencao" id="txt_votos_abstencao" value="<dtml-var num_abstencao missing>" size="3" maxlength="3" />
353                </td>
354            </tr>
355            <tr>
356                <td>
357                    <label for="rad_votacao_branco">Sem Vota&ccedil;&atilde;o</label>
358                    <input type="checkbox" name="rad_votacao_branco" onchange="javascript:votacao_em_branco(tip_votacao=3)>
359                </td>
360            </tr>
361            <tr>
362                <td colspan="2">
363                    <label for="lst_tip_resultado">Resultado da Vota&ccedil;&atilde;o (*)</label>
364                    <select name="lst_tip_resultado" size="1">
365                        <option value="-1">Selecione...</option>
366                        <dtml-in expr="zsql.tipo_resultado_votacao_obter_zsql()">
367                            <option
368                            <dtml-if expr="_.has_key('cod_votacao') and tip_resultado_votacao==votacao_form.tip_resultado_votacao">
369                                selected
370                            </dtml-if>
371                                value="<dtml-var tip_resultado_votacao>"><dtml-var nom_resultado>
372                            </option>
373                        </dtml-in>
374                    </select>
375                </td>
376            </tr>
377            <tr>
378                <td colspan="3">
379                    <label for="txa_txt_observacao">Observa&ccedil;&otilde;es</label>
380                    <textarea name="txa_txt_observacao" cols="60"><dtml-var txt_observacao missing></textarea>
381                </td>
382            </tr>
383            <tr>
384                <td align="center" colspan="0">
385                    <input class="botao" type="button" name="button" value="Salvar" onClick="campos_criticar()" />
386                  &nbsp;&nbsp;&nbsp;<input class="botao" type="button" name="retorno" value="Retornar" OnClick="history.go(-1)" />
387                </td>
388            </tr>
389        </table>
390        </dtml-if>
391    </fieldset>
392</form>
393
394<br/>
395<dtml-var standard_html_footer>
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.