Browse Source

Ajuste de usabilidade

- encaminha além da descrição do status, também a data de tramitação, unidade local e unidade de destino de cada tramitação
- recebe os dados acima na interface, monta options com data, e status.
- qualquer alteração no select, monta um alert, assim como para matéria selecionada, com os dados cima da tramitação
pull/3584/head
LeandroJatai 3 years ago
parent
commit
ab6d699f25
  1. 13
      sapl/sessao/views.py
  2. 28
      sapl/templates/sessao/expedientemateria_form.html

13
sapl/sessao/views.py

@ -841,17 +841,24 @@ def recuperar_materia(request):
def recuperar_tramitacao(request):
tipo = TipoMateriaLegislativa.objects.get(pk=request.GET['tipo_materia'])
tipo = request.GET['tipo_materia']
numero = request.GET['numero_materia']
ano = request.GET['ano_materia']
try:
materia = MateriaLegislativa.objects.get(tipo=tipo,
materia = MateriaLegislativa.objects.get(tipo_id=tipo,
ano=ano,
numero=numero)
tramitacao = {}
for obj in materia.tramitacao_set.all():
tramitacao[obj.id] = obj.status.descricao
tramitacao[obj.id] = {
'status': obj.status.descricao,
'texto': obj.texto,
'data_tramitacao': obj.data_tramitacao.strftime('%d/%m/%Y'),
'unidade_tramitacao_local': str(obj.unidade_tramitacao_local),
'unidade_tramitacao_destino': str(obj.unidade_tramitacao_destino)
}
response = JsonResponse(tramitacao)
except ObjectDoesNotExist:

28
sapl/templates/sessao/expedientemateria_form.html

@ -17,7 +17,7 @@
{ tipo_materia: tipo_materia, numero_materia: numero_materia, ano_materia: ano_materia },
function(data, status) {
if ($(".ementa-materia").length === 0){
$("#div_id_tipo_materia").closest('.row').after($('<div class="row"/>').append($('<div class="col-xs-12"/>').append(
$("#div_id_tipo_materia").closest('.row').after($('<div class="row"/>').append($('<div class="col-12"/>').append(
$('<div class="alert alert-info ementa-materia"/>').html(data.ementa)
)))
}
@ -65,15 +65,39 @@
{ tipo_materia: tipo_materia, numero_materia: numero_materia, ano_materia: ano_materia },
function(data, status) {
if (status == 'success') {
$('#id_tramitacao_select').off('change')
$('#id_tramitacao_select').find('option').remove()
$('#id_tramitacao_select').append('<option value="-1">Selecione uma opção..</option>');
for (const property in data) {
console.log(tramitacao_salvo + "===" + property)
$('#id_tramitacao_select').append('<option value="' + property + '">' + data[property] +'</option>');
const option = $(`<option value="${property}">${data[property].data_tramitacao} - ${data[property].status}</option>`)
option[0].data = data[property]
$('#id_tramitacao_select').append(option)
if (property == tramitacao_salvo) {
$("#id_tramitacao_select option[value='"+ property +"']").attr("selected", "selected");
}
}
$('#id_tramitacao_select').on('change', function(event) {
const option = event.currentTarget.selectedOptions[0]
if (option.data === undefined)
return
const html_alert = `Data da Tramitação: ${option.data.data_tramitacao}<br>
De: <strong>${option.data.unidade_tramitacao_local}</strong> - Para: <strong>${option.data.unidade_tramitacao_destino}</strong><br>
Status Atual: ${option.data.status}<br>
Texto da Ação: ${option.data.texto}`
if ($(".tramitacao-materia").length === 0){
$("#id_tramitacao_select").closest('.row').after($('<div class="row"/>').append($('<div class="col-12"/>').append(
$('<div class="alert alert-info w-100 tramitacao-materia"/>').html(html_alert)
)))
}
else {
$('.tramitacao-materia').html(html_alert)
}
}).trigger('change')
}
});
}

Loading…
Cancel
Save