source: publico/ILSAPL/trunk/skins/sk_sapl/cadastros/proposicao/proposicao_form.dtml @ 968

Última Alteração nesse arquivo desde 968 foi 968, incluída por ciciliati, 16 anos atrás

Ajuste do nome do campo "proposicao.txt_justificativa", para
"proposicao.txt_justif_devolucao".

File size: 22.4 KB
Linha 
1<SCRIPT LANGUAGE = "JavaScript">
2<!--
3
4  function redir_texto_integral(){
5      var ok = 1;
6      var form = document.proposicao_form;
7 
8      if (form.hdn_alterou.value!=0)
9          if (confirm("Dados básicos foram alterados, e essas alterações podem ser perdidas. Deseja salvá-las antes de prosseguir?"))
10              ok = campos_criticar(form);
11
12      if (ok)
13          location.href="proposicao_editar_texto_form?cod_proposicao=<dtml-var cod_proposicao missing>";
14      return;
15  }
16
17
18  function campos_criticar(form){
19      /*-----------------------------
20         Função: Critica os campos obrigatórios do formulário. É chamada
21                 pelo botão btn_proposicao_salvar do formulário para validação
22                 dos campos.
23         Argumentos: form : formulário em si.
24         Retorno: Invoca o SUBMIT do formulário ou retorna valor booleano
25                falso, caso haja algum campo incorreto, juntamente com uma
26                uma mensagem de erro e o cursor no campo a ser corrigido.
27      ------------------------------*/
28
29      if (form.lst_tip_proposicao[form.lst_tip_proposicao.selectedIndex].value == "-1") {
30          alert("Deve ser selecionado um Tipo de Proposição!");
31          form.lst_tip_proposicao.focus();
32          return false;
33      }
34   
35      if (form.txt_descricao.value=="") {
36          alert("Deve ser informada uma descrição para a Proposição!");
37          form.txt_descricao.focus();
38          return false;
39      }
40
41      var tipo_proposicao = form.lst_tip_proposicao[form.lst_tip_proposicao.selectedIndex].value;
42      var separador = tipo_proposicao.indexOf("&");
43      var ind_mat_ou_doc = tipo_proposicao.split("&");
44      if (ind_mat_ou_doc[1]=='D') {
45          if ((form.lst_tip_id_basica[form.lst_tip_id_basica.selectedIndex].value == "") ||
46             (form.txt_num_ident_basica.value == "") || (form.txt_ano_ident_basica.value == ""))  {
47              alert("Devem ser informados Tipo, Número e Ano da matéria legislativa a qual esta proposição será vinculada!");
48              form.lst_tip_id_basica.focus();
49              return false;
50          }
51      }
52
53      if ((form.radTipTxtIntegral.value == "Arq") && (form.file_nom_arquivo.value != "")) {
54          form.hdn_file.value = "1";
55      }
56      else {
57          form.hdn_file.value = "0";
58      }
59
60      if (form.hdn_cod_proposicao.value == "" && form.hdn_file.value == "0" && form.radTipTxtIntegral.value == "Arq"){
61          alert("Você Deve Escolher Um Arquivo!");
62          return false;
63      }     
64
65      form.hdn_tip_proposicao.value = tipo_proposicao.substring(0, separador);
66      form.submit();
67      return;
68  }
69
70  function proposicao_excluir(){
71      /*-----------------------------
72         Função: Chama o Método DTML de exclusão da proposicao.
73                 Apenas uma proposição que não foi recebida, ou que foi descartada(criar esse estado?), pode ser excluída.
74      ------------------------------*/
75       
76       if (confirm("Deseja realmente excluir?")) { 
77          location.href="proposicao_excluir_proc?cod_proposicao=<dtml-var cod_proposicao missing>";
78       }
79  }
80
81  function proposicao_devolver(form){
82        if((form.txa_txt_justificativa.value=="")||(form.txa_txt_justificativa.value=="None")){
83                alert('A justificativa deve ser preenchida');
84        }
85        else{
86                location.href="proposicao_salvar_devolucao_proc?cod_proposicao=<dtml-var cod_proposicao missing>&txt_justif_devolucao="+form.txa_txt_justificativa.value ;
87        }
88 
89  }
90 
91  function proposicao_retomar(){
92      /*-----------------------------
93         Função: Chama o Método DTML de retomada de proposicao enviada.
94                 Apenas uma proposição que não foi recebida, pode ser retomada.
95      ------------------------------*/
96       
97       location.href="proposicao_retomar_proc?cod_proposicao=<dtml-var cod_proposicao missing>";
98  }
99
100  function tipo_proposicao_mudou(){
101      /*-----------------------------
102         Função: Reinvoca a página habilitando os campos da matéria legislativa caso ind_mat_ou_doc[1]='D'.
103         Retorno: A página atualizada com os campos da matéria legislativa habilitados ou não.
104         Man Qi em 18/12/03.
105      ------------------------------*/
106       
107    var form = document.proposicao_form;
108
109    form.hdn_alterou.value=1;
110
111    var tipo_proposicao = form.lst_tip_proposicao[form.lst_tip_proposicao.selectedIndex].value;
112    var separador = tipo_proposicao.indexOf("&");
113    var ind_mat_ou_doc = tipo_proposicao.split("&");
114    if (ind_mat_ou_doc[2]=='') {
115      form.radTipTxtIntegral[0].disabled = 1;
116      form.radTipTxtIntegral[1].checked=true;
117      form.file_nom_arquivo.disabled = 0;
118    }
119    else form.radTipTxtIntegral[0].disabled = 0;
120    if (ind_mat_ou_doc[1]=='D') {
121      form.lst_tip_id_basica.disabled = 0;
122      form.txt_num_ident_basica.disabled = 0;
123      form.txt_ano_ident_basica.disabled = 0;
124    }
125    else {
126      form.lst_tip_id_basica.disabled = 1;
127      form.txt_num_ident_basica.disabled = 1;
128      form.txt_ano_ident_basica.disabled = 1;
129    }
130    return;
131
132  }
133
134  function tipo_texto_integral(tipo) {
135    var form = document.proposicao_form;
136    if (tipo=='A') {
137      form.file_nom_arquivo.disabled = 0;
138      form.btn_proposicao_salvar.value = "Salvar Dados Básicos e Enviar Proposição";
139      form.radTipTxtIntegral.value = 'Arq';
140    }
141    else {
142      form.file_nom_arquivo.disabled = 1;
143      form.btn_proposicao_salvar.value = "Salvar Dados Básicos e Criar Texto Integral";
144      form.radTipTxtIntegral.value = 'XML';
145    }
146    return;
147  }
148   
149  function exe_carrega(){
150    var form = document.proposicao_form;
151
152    if (form.radTipTxtIntegral[0].checked == true)
153      form.radTipTxtIntegral.value = "XML";
154    if (form.radTipTxtIntegral[1].checked == true)
155      form.radTipTxtIntegral.value = "Arq";
156    if (form.radTipTxtIntegral.value == "XML")
157      if (form.estah_alterando == '1')
158        form.btn_proposicao_salvar.value = "Salvar Dados Básicos";
159      else
160        form.btn_proposicao_salvar.value = "Salvar Dados Básicos e Criar Texto Integral";
161    if (form.radTipTxtIntegral.value == "Arq") {
162      form.btn_proposicao_salvar.value = "Salvar Dados Básicos e Enviar Proposição";
163      form.file_nom_arquivo.disabled = 0;
164    }
165  }
166//-->
167</SCRIPT>
168<body onload="exe_carrega()">
169<dtml-unless dat_envio>
170    <dtml-call expr="REQUEST.set('dat_envio','00/00/0000')">
171</dtml-unless>
172<dtml-call expr="REQUEST.set('prop_enviada',(dat_envio!='00/00/0000'))">
173
174
175<dtml-if cod_proposicao>
176    <dtml-call expr="REQUEST.set('usr_eh_autor',(col_username==AUTHENTICATED_USER.getUserName()))">
177    <dtml-call expr="REQUEST.set('estah_alterando','1')">
178<dtml-else>
179    <dtml-call expr="REQUEST.set('usr_eh_autor',(1==1))">
180    <dtml-call expr="REQUEST.set('estah_alterando','0')">
181</dtml-if>
182
183<dtml-if cod_proposicao>
184    <dtml-call expr="REQUEST.set('tipo_txtint',(pysc.proposicao_tipo_texto_integral_pysc(cod_proposicao)))">
185</dtml-if>
186
187<dtml-if expr="usr_eh_autor or (AUTHENTICATED_USER.hasRole(this(), ['Operador', 'Operador Materia']))"> 
188  <dtml-var standard_html_header>
189              <table width="98%" border="0" cellspacing="0" cellpadding="0" align="center">
190                <tr class="fundo">
191  <dtml-if cod_proposicao>
192                  <td class="form-label">
193      <dtml-if expr="not (prop_enviada)">
194          <dtml-if expr="tipo_txtint=='XML'">
195                  <span> | </span><a href="javascript:redir_texto_integral()">Editar Texto Integral</a> |
196          </dtml-if>
197      <dtml-else>
198          <dtml-if usr_eh_autor>
199              <dtml-let cod_doc="pysc.proposicao_calcular_checksum_pysc(cod_proposicao)">
200                  <span> </span>| <a target="blank" href="proposicao_recibo_imprimir?cod_documento=<dtml-var cod_doc>">Imprimir Recibo</a> | | <a target="blank" href="proposicao_texto_imprimir?cod_documento=<dtml-var cod_doc>">Imprimir Texto Integral</a> |
201              </dtml-let>
202          </dtml-if>
203      </dtml-if>
204                  </td>
205  <dtml-else>
206                  <td class="form-label">&nbsp;</td>
207  </dtml-if>
208                </tr>
209              </table>
210            <form name ="proposicao_form" method="post" action="proposicao_salvar_proc" enctype="multipart/form-data">
211              <table width="100%" border="0" cellspacing="0" cellpadding="0"><tr><td height="10"></td></tr></table>
212              <table width="98%" border="1" cellspacing="0" cellpadding="0" class="borda" vspace="0" hspace="0" align="center">
213                <tr align="center" valign="top">
214                  <td>
215                      <input type="hidden" name="hdn_alterou" value="0">                     
216                      <input type="hidden" name="hdn_tip_proposicao" value="">
217                      <input type="hidden" name="hdn_file" value=0>
218  <dtml-if cod_proposicao>
219                      <input type="hidden" name="hdn_cod_proposicao" value="<dtml-var cod_proposicao>">
220  <dtml-else>
221                      <input type="hidden" name="hdn_cod_proposicao" value="">
222  </dtml-if>
223                      <table width="98%" border="0" cellspacing="0" cellpadding="0" align="center" vspace="0" hspace="0">
224                        <tr align="left" class="fundo">
225                          <td class="form-label">&nbsp;Dados B&aacute;sicos</td>
226                        </tr>
227                        <tr>
228                          <td>
229                            <table width="100%" border="0" cellspacing="0" align="center">
230  <dtml-if cod_proposicao>
231    <dtml-if expr="(prop_enviada and usr_eh_autor) or dat_recebimento">
232                              <tr height="30" valign="middle">
233                                <td width="100%" colspan=3 class="form-element">Código do Documento: <dtml-var expr="pysc.proposicao_calcular_checksum_pysc(cod_proposicao)"></b>
234                                </td>
235                              </tr>
236    </dtml-if>
237  </dtml-if>
238                              <tr height="40" valign="top">
239                                <td width="40%" class="form-element">
240                                  Tipo<br>   
241
242                                  <select name="lst_tip_proposicao" onChange="javascript:tipo_proposicao_mudou()"
243                                    <dtml-if "prop_enviada or _.has_key('cod_proposicao')">
244                                      disabled
245                                    </dtml-if>
246                                  >                                 
247                                    <option value="-1"></option>
248                                    <dtml-in expr="zsql.tipo_proposicao_obter_zsql()">
249                                    <option
250                                      <dtml-if tip_proposicao_sel>
251                                        <dtml-if expr="_.int(tip_proposicao) == _.int(tip_proposicao_sel)">
252                                          selected
253                                        </dtml-if>
254                                      </dtml-if>
255                                      value="<dtml-var tip_proposicao>&<dtml-var ind_mat_ou_doc>&<dtml-var nom_modelo url_quote>"><dtml-var des_tipo_proposicao>
256                                      </option>
257                                    </dtml-in>
258                                  </select>
259
260                                </td>
261
262                                <td width="30%" class="form-text">
263                       
264  <dtml-if cod_proposicao>
265                                  <b>Data de Envio</b><br>
266    <dtml-if prop_enviada>
267                                  <input type="text" name="txt_dat_criacao" value="<dtml-var dat_envio missing>" size="10" maxlength="10" onBlur="formata_data(form.txt_dat_criacao)" onChange="javascript:form.hdn_alterou.value=1" readonly><span class="nota"> (dd/mm/aaaa)</span>
268    <dtml-else>
269                                  Proposição ainda não enviada.
270    </dtml-if>
271  <dtml-else>
272                                  <input type="hidden" name="txt_dat_criacao" value="00/00/0000">
273  </dtml-if>
274                                </td>
275                                <td width="30%" class="form-text">
276  <dtml-if cod_proposicao>
277                                  <b>Data de Recebimento</b><br>
278    <dtml-if dat_recebimento>
279                                  <input type="text" name="txt_dat_recebimento" value="<dtml-var dat_recebimento missing>" size="10" maxlength="10" onBlur="formata_data(form.txt_dat_recebimento)" onChange="javascript:form.hdn_alterou.value=1" readonly><span class="nota"> (dd/mm/aaaa)</span>
280<!-- ********* v 2.1 start-block ********* -->
281        <dtml-if cod_mat_ou_doc>
282            <dtml-if expr="ind_mat_ou_doc=='D'">
283                <dtml-in expr="zsql.documento_acessorio_obter_zsql(cod_documento=cod_mat_ou_doc)">
284                    <dtml-call expr="REQUEST.set('cod_mat', cod_materia)">
285                </dtml-in>
286            <dtml-else>
287                <dtml-call expr="REQUEST.set('cod_mat', cod_mat_ou_doc)">
288            </dtml-if>
289            <dtml-in expr="zsql.materia_obter_zsql(cod_materia=cod_mat)">
290                                  <br>Mat. Leg.: <dtml-var sgl_tipo_materia>-<dtml-var num_ident_basica>/<dtml-var ano_ident_basica>
291            </dtml-in>
292        <dtml-else><dtml-if dat_devolucao> <br> PROPOSIÇÃO DEVOLVIDA!
293                           <dtml-else>       <br>PROPOSIÇÃO RECEBIDA, MAS NÃO APROVEITADA AINDA!
294                   </dtml-if>             
295        </dtml-if>
296<!-- ********* v 2.1 end-block ********* -->
297    <dtml-else>
298                                  Proposição ainda não recebida.
299    </dtml-if>
300  <dtml-else>
301                                  <input type="hidden" name="txt_dat_recebimento" value="">
302  </dtml-if>
303                                </td>                               
304                              </tr>
305                              <tr height="40" valign="top">
306                                <td width="100%" colspan=3 class="form-element">Descri&ccedil;&atilde;o<br>
307                                  <input type="text" name="txt_descricao" value="<dtml-var txt_descricao missing>" size="80" maxlength="100" onChange="javascript:form.hdn_alterou.value=1" <dtml-if prop_enviada>readonly</dtml-if>>
308                                </td>
309                              </tr>
310                              <tr height="40" valign="top">
311                                <td width="40%" class="form-element">Mat&eacute;ria Legislativa<br>
312                                  <select name="lst_tip_id_basica"
313                                    <dtml-if "not _.has_key('tip_id_basica_sel') or prop_enviada">                                       
314                                           disabled
315                                    </dtml-if>
316                                  >   
317                                    <option></option>
318                                    <dtml-in expr="zsql.tipo_materia_legislativa_obter_zsql(ind_excluido=0)">
319                                    <option
320                                      <dtml-if tip_id_basica_sel>
321                                        <dtml-if expr="_.int(tip_materia) == _.int(tip_id_basica_sel)">
322                                          selected
323                                        </dtml-if>
324                                      </dtml-if>
325                                      value="<dtml-var tip_materia missing>">
326                                      <dtml-var sgl_tipo_materia> - <dtml-var des_tipo_materia></option>
327                                    </dtml-in>
328                                  </select>
329                                </td>
330                                <td width="30%" class="form-element">N&uacute;mero<br>
331                                  <input type="text" name="txt_num_ident_basica" size="5" value="<dtml-var num_ident_basica_sel missing>" maxlength="5"
332                                    <dtml-if "not _.has_key('num_ident_basica_sel') or prop_enviada">                                       
333                                           disabled>
334                                    </dtml-if>
335                                </td>
336                                <td width="30%" class="form-element">Ano<br>
337                                  <input type="text" name="txt_ano_ident_basica" size="4" value="<dtml-var ano_ident_basica_sel missing>" maxlength="4"
338                                    <dtml-if "not _.has_key('ano_ident_basica_sel') or prop_enviada">                                       
339                                           disabled>
340                                    </dtml-if>
341                                </td>
342                              </tr>
343  <dtml-if prop_enviada>
344                              <tr height="10">
345                                <td></td>
346                              </tr>
347  <dtml-else>
348    <dtml-if cod_proposicao>
349      <dtml-if expr="tipo_txtint=='XML'">
350                              <input type="hidden" name="radTipTxtIntegral" value="XML">
351      <dtml-else>
352                              <tr>
353                                  <td colspan="3" class="form-text" valign="center">
354                                      <dtml-let id_documento="_.str(cod_proposicao)">
355                                          <dtml-if "_.hasattr(sapl_documentos.proposicao,id_documento)">
356                                              <dtml-let documento="_.getattr(sapl_documentos.proposicao,id_documento).absolute_url">
357                                                  <b>Texto Integral</b><br>
358                                                      <a target="_blank" href="<dtml-var documento>"><img align="middle" border="0" src="sapl/imagens/archiv.gif" alt="Texto integral"></a>
359                                              </dtml-let>
360                                          </dtml-if>
361                                      </dtml-let>
362                                      <span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Substituir por: </span><input type="file" name="file_nom_arquivo" size="40" maxlength="100">
363                                  </td>   
364                              <tr>
365                              <input type="hidden" name="radTipTxtIntegral" value="Arq">
366      </dtml-if>
367                              <tr height="10">
368                                <td></td>
369                              </tr>
370    <dtml-else>
371                              <tr height="40" valign="top">
372                                <td colspan=3 class="form-element">Texto Integral:<br>
373                                  <input type="radio" class="form-element" name="radTipTxtIntegral"
374                                  value="XML"
375                                  onClick="tipo_texto_integral('X')"
376                                  checked> Criar texto em XML
377                                </td>
378                              </tr>
379                              <tr>
380                                <td colspan="3" class="form-element">
381                                  <input type="radio" class="form-element" name="radTipTxtIntegral" value="Arq" onClick="tipo_texto_integral('A')"> Carregar Arquivo Externo&nbsp;&nbsp;
382                                  <input type="file" name="file_nom_arquivo" size="40" maxlength="100" disabled>
383                                </td>
384                              </tr>
385    </dtml-if>
386  </dtml-if>
387    <dtml-if usr_eh_autor>
388        <dtml-if dat_devolucao>
389                <tr height="40" valign="top">
390                        <td  colspan=2 class="form-element">Justificativa da Devolução(*)
391                            <br>
392                            <textarea name="txa_txt_justificativa" cols="70"
393                            onBlur="form.txa_txt_justificativa.value = form.txa_txt_justificativa.value.toUpperCase()"
394                            onChange="javascript:form.hdn_alterou.value=1" <dtml-if txt_justif_devolucao>readonly</dtml-if>><dtml-if txt_justif_devolucao><dtml-var txt_justif_devolucao missing></dtml-if></textarea>
395                          </td>
396                        <td colspan=1 class="form-element">
397                                  <b>Data de devolução</b><br>
398                                        <input type="text" name="txt_dat_devolucao" value="<dtml-var dat_devolucao missing>" size="10" maxlength="10" onBlur="formata_data(form.txt_dat_devolucao)" onChange="javascript:form.hdn_alterou.value=1" readonly><span class="nota"> (dd/mm/aaaa)</span>
399                               
400                        </td>
401                </tr>
402        </dtml-if>     
403  </dtml-if>
404
405                               
406  <dtml-unless usr_eh_autor>
407        <dtml-if dat_recebimento>
408                <dtml-unless cod_mat_ou_doc>
409                <tr height="40" valign="top">
410                        <td  colspan=3 class="form-element">Justificativa da Devolução(*)
411                            <br>
412                            <textarea name="txa_txt_justificativa" cols="70"
413                            onBlur="form.txa_txt_justificativa.value = form.txa_txt_justificativa.value.toUpperCase()"
414                            onChange="javascript:form.hdn_alterou.value=1" <dtml-if txt_justif_devolucao>readonly</dtml-if>><dtml-if txt_justif_devolucao><dtml-var txt_justif_devolucao missing></dtml-if></textarea>
415                          </td>
416                </tr>
417                </dtml-unless cod_mat_ou_doc>   
418        </dtml-if dat_recebimento>             
419  </dtml-unless usr_eh_autor>
420 
421                            </table>
422                          </td>
423                        </tr>
424                      </table>
425
426                  </td>
427                </tr>
428              </table>
429              <table border="0" width="100%">
430                <tr height="40" valign="bottom">
431                  <td align="center">
432  <dtml-if usr_eh_autor>
433    <dtml-if cod_proposicao>
434      <dtml-if prop_enviada>
435        <dtml-unless dat_recebimento>
436            <input type="button" name="btn_proposicao_retomar" value="Retomar proposição enviada" onClick="proposicao_retomar()">
437        </dtml-unless>
438      <dtml-else>
439        <dtml-if expr="tipo_txtint=='ArqExt'">
440                    <input type="button" name="btn_proposicao_salvar" value="Salvar e Enviar Proposição" onClick="campos_criticar(document.proposicao_form)">
441        <dtml-else>
442                    <input type="button" name="btn_proposicao_salvar" value="Salvar dados básicos" onClick="campos_criticar(document.proposicao_form)">
443        </dtml-if>
444                    <input type="button" name="btn_proposicao_excluir" value="Excluir" onClick="proposicao_excluir()">
445      </dtml-if>
446    <dtml-else>
447                    <input type="button" name="btn_proposicao_salvar" value="Salvar Dados Básicos e Criar Texto Integral" onClick="campos_criticar(document.proposicao_form)">
448    </dtml-if>
449    <dtml-else>
450        <dtml-if dat_recebimento>
451                <dtml-unless cod_mat_ou_doc>
452                        <dtml-unless dat_devolucao>
453                                <input type="button" name="btn_proposicao_devolver" value="Devolver proposição ao autor" onClick="proposicao_devolver(document.proposicao_form)">
454                        </dtml-unless>
455                </dtml-unless>
456        </dtml-if>   
457  </dtml-if>
458 
459                  </td> 
460                </tr>
461              </table>
462    </form>
463  <dtml-var standard_html_footer>
464<dtml-else>
465  <dtml-let mensagem="'Você não tem permissão para ver esta proposição!'">
466     <dtml-var mensagem_emitir>
467  </dtml-let>
468</dtml-if>
469</body>
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.