Novo git da alteração
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
application.type=widget
|
||||
application.code=consulta_solicitacoes
|
||||
application.title=ConsultaSolicitacoes
|
||||
application.description=Description: Widget para consultar solicitações de compras
|
||||
application.fluig.version=null
|
||||
application.category=DevGin
|
||||
application.renderer=freemarker
|
||||
developer.code=G-ALES1NT-TEC06
|
||||
developer.name=andrey.cunha
|
||||
developer.url=http://www.fluig.com
|
||||
application.uiwidget=true
|
||||
application.mobileapp=true
|
||||
application.version=${build.version}-${build.revision}
|
||||
view.file=view.ftl
|
||||
edit.file=edit.ftl
|
||||
locale.file.base.name=consulta_solicitacoes
|
||||
application.resource.js.1=/resources/js/consulta_solicitacoes.js
|
||||
application.resource.css.2=/resources/css/consulta_solicitacoes.css
|
||||
hash=4a16315e9e66fa7d797b3f6b1fb365b69f9a4ce2
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
+2
@@ -0,0 +1,2 @@
|
||||
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
<div id="consultaSolicitacoes"
|
||||
class="super-widget fluig-style-guide"
|
||||
data-params="MyWidget.instance()">
|
||||
|
||||
<h3>Consultar Solicitações</h3>
|
||||
|
||||
<!-- Filtros -->
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
<label>Nº da Solicitação</label>
|
||||
<input type="text" id="numSolicitacao" class="form-control">
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<label>Solicitante</label>
|
||||
<input type="text" id="solicitante" class="form-control" placeholder="login do usuário">
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<label>Status</label>
|
||||
<select id="status" class="form-control">
|
||||
<option value="">Todos</option>
|
||||
<option value="0">Aberto</option>
|
||||
<option value="1">Cancelado</option>
|
||||
<option value="2">Finalizado</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<label> </label><br>
|
||||
<button class="btn btn-primary" data-pesquisar="true">Pesquisar</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<!-- Resultados -->
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Nº Solicitação</th>
|
||||
<th>Solicitante</th>
|
||||
<th>Data</th>
|
||||
<th>Status</th>
|
||||
<th>Ações</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody id="tbSolicitacoes">
|
||||
<tr><td colspan="5" class="text-center">Nenhum resultado</td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
@@ -0,0 +1,4 @@
|
||||
<div id="MyWidget_${instanceId}" class="super-widget wcm-widget-class fluig-style-guide" data-params="MyWidget.instance()">
|
||||
|
||||
</div>
|
||||
|
||||
+5
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<jboss-web>
|
||||
<context-root>/consulta_solicitacoes</context-root>
|
||||
<disable-cross-context>false</disable-cross-context>
|
||||
</jboss-web>
|
||||
@@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
|
||||
version="3.0">
|
||||
<session-config>
|
||||
<session-timeout>
|
||||
30
|
||||
</session-timeout>
|
||||
</session-config>
|
||||
</web-app>
|
||||
+1
@@ -0,0 +1 @@
|
||||
/* Coloque aqui seu codigo CSS */
|
||||
BIN
Binary file not shown.
|
After Width: | Height: | Size: 7.7 KiB |
+106
@@ -0,0 +1,106 @@
|
||||
var MyWidget = SuperWidget.extend({
|
||||
|
||||
// variáveis globais se precisar
|
||||
variavelNumerica: null,
|
||||
variavelCaracter: null,
|
||||
|
||||
// quando a widget carrega
|
||||
init: function() {
|
||||
// já pode disparar consulta inicial se quiser
|
||||
this.consultarSolicitacoes();
|
||||
},
|
||||
|
||||
// binds de botões
|
||||
bindings: {
|
||||
local: {
|
||||
'pesquisar': ['click_consultarSolicitacoes'] // data-pesquisar="true"
|
||||
},
|
||||
global: {}
|
||||
},
|
||||
|
||||
// método que consulta o dataset
|
||||
consultarSolicitacoes: function() {
|
||||
var numSolicitacao = $("#numSolicitacao").val();
|
||||
var solicitante = $("#solicitante").val();
|
||||
var status = $("#status").val();
|
||||
|
||||
var constraints = [];
|
||||
|
||||
// filtra apenas o processo correto
|
||||
constraints.push(DatasetFactory.createConstraint(
|
||||
"processId",
|
||||
"Solicitação de compras - v2", // ⚠️ deve ser idêntico ao dataset tester
|
||||
"Solicitação de compras - v2",
|
||||
ConstraintType.MUST
|
||||
));
|
||||
|
||||
// filtro nº solicitação
|
||||
if (numSolicitacao) {
|
||||
constraints.push(DatasetFactory.createConstraint(
|
||||
"workflowProcessPK.processInstanceId",
|
||||
numSolicitacao,
|
||||
numSolicitacao,
|
||||
ConstraintType.MUST
|
||||
));
|
||||
}
|
||||
|
||||
// filtro solicitante
|
||||
if (solicitante) {
|
||||
constraints.push(DatasetFactory.createConstraint(
|
||||
"requesterId",
|
||||
solicitante,
|
||||
solicitante,
|
||||
ConstraintType.MUST
|
||||
));
|
||||
}
|
||||
|
||||
// filtro status
|
||||
if (status !== "") {
|
||||
constraints.push(DatasetFactory.createConstraint(
|
||||
"status",
|
||||
status,
|
||||
status,
|
||||
ConstraintType.MUST
|
||||
));
|
||||
}
|
||||
|
||||
// consulta dataset
|
||||
var ds = DatasetFactory.getDataset("workflowProcess", null, constraints, null);
|
||||
|
||||
// monta tabela
|
||||
var tbody = $("#tbSolicitacoes");
|
||||
tbody.empty();
|
||||
|
||||
if (ds && ds.values && ds.values.length > 0) {
|
||||
ds.values.forEach(function(item) {
|
||||
var statusTxt = traduzStatus(item["status"]);
|
||||
|
||||
var tr = "<tr>";
|
||||
tr += "<td>" + item["workflowProcessPK.processInstanceId"] + "</td>";
|
||||
tr += "<td>" + item["requesterId"] + "</td>";
|
||||
tr += "<td>" + item["startDateProcess"] + "</td>";
|
||||
tr += "<td>" + statusTxt + "</td>";
|
||||
tr += "<td><button class='btn btn-info btn-sm' onclick='abrirSolicitacao("
|
||||
+ item["workflowProcessPK.processInstanceId"] + ")'>Abrir</button></td>";
|
||||
tr += "</tr>";
|
||||
|
||||
tbody.append(tr);
|
||||
});
|
||||
} else {
|
||||
tbody.append("<tr><td colspan='5' class='text-center'>Nenhum resultado encontrado</td></tr>");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// helpers fora do extend
|
||||
|
||||
function traduzStatus(status) {
|
||||
if (status === "0") return "Aberto";
|
||||
if (status === "1") return "Cancelado";
|
||||
if (status === "2") return "Finalizado";
|
||||
return status;
|
||||
}
|
||||
|
||||
function abrirSolicitacao(processInstanceId) {
|
||||
window.open('/portal/p/1/pageworkflowview?app_ecm_workflowview&processInstanceId=' + processInstanceId, '_blank');
|
||||
}
|
||||
Reference in New Issue
Block a user