This commit is contained in:
2026-05-06 16:01:10 -03:00
parent f31f809ce7
commit 4a31410351
26 changed files with 22041 additions and 2083 deletions
@@ -58,27 +58,281 @@
margin-bottom: 24px;
}
.change-weight { font-weight: 400 !important; }
.sc-status-panel {
margin-top: 15px;
padding: 18px;
border: 1px solid #d8e1e8;
border-radius: 12px;
background: #f7fafc;
box-shadow: 0 2px 10px rgba(12, 50, 74, 0.08);
}
.sc-primary-grid,
.sc-secondary-grid {
display: grid;
grid-template-columns: repeat(3, minmax(220px, 1fr));
gap: 12px;
}
.sc-primary-grid {
margin-bottom: 12px;
}
.sc-secondary-grid {
gap: 8px 12px;
}
.sc-info {
background: #fff;
border-radius: 10px;
padding: 12px 14px;
min-height: 72px;
}
.sc-info--primary {
border-left: 4px solid #04506b;
box-shadow: inset 0 0 0 1px #d9e4ec;
}
.sc-info--secondary {
box-shadow: inset 0 0 0 1px #e3ebf2;
opacity: .96;
}
.sc-info--clickable {
cursor: pointer;
transition: box-shadow .2s ease, transform .2s ease;
}
.sc-info--clickable:hover {
transform: translateY(-1px);
box-shadow: inset 0 0 0 1px #c8d9e7, 0 4px 12px rgba(8, 47, 72, 0.1);
}
.sc-label {
font-size: 11px;
color: #4d6073;
letter-spacing: .04em;
text-transform: uppercase;
margin-bottom: 4px;
}
.sc-value {
font-size: 15px;
font-weight: 600;
color: #24313f;
word-break: break-word;
}
.sc-info--primary .sc-value {
font-size: 30px;
line-height: 1.1;
color: #102a43;
font-weight: 700;
letter-spacing: .01em;
}
.sc-hint {
display: block;
margin-top: 6px;
font-size: 11px;
color: #5f7386;
letter-spacing: .02em;
}
.sc-value.badge {
display: inline-flex;
align-items: center;
min-height: 30px;
padding: 6px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 700;
line-height: 1;
}
.sc-timeline-wrap {
margin-top: 16px;
padding-top: 0;
border-top: 1px solid transparent;
transition: background-color .25s ease, max-height .25s ease, opacity .25s ease, padding-top .25s ease;
max-height: 0;
opacity: 0;
overflow: hidden;
pointer-events: none;
}
.sc-timeline-wrap.is-open {
padding-top: 14px;
border-top-color: #d7e2eb;
max-height: 640px;
opacity: 1;
pointer-events: auto;
}
.sc-timeline-wrap.is-focus {
background: #f2f9ff;
border-radius: 8px;
}
.sc-timeline-title {
margin: 0 0 10px;
color: #12344d;
font-size: 14px;
font-weight: 700;
letter-spacing: .01em;
}
.sc-timeline {
list-style: none;
margin: 0;
padding: 0 0 0 18px;
position: relative;
}
.sc-timeline:before {
content: "";
position: absolute;
left: 5px;
top: 2px;
bottom: 2px;
width: 2px;
background: #c8d8e6;
}
.sc-timeline-item {
position: relative;
padding: 0 0 14px 16px;
}
.sc-timeline-item:last-child {
padding-bottom: 0;
}
.sc-timeline-item:before {
content: "";
position: absolute;
left: -18px;
top: 4px;
width: 10px;
height: 10px;
border-radius: 50%;
background: #92a9bf;
box-shadow: 0 0 0 2px #92a9bf;
border: 2px solid #fff;
}
.sc-timeline-item.done:before {
background: #1ab04a;
box-shadow: 0 0 0 2px #1ab04a;
}
.sc-timeline-item.pending:before {
background: #e6a229;
box-shadow: 0 0 0 2px #e6a229;
}
.sc-timeline-title-row {
display: flex;
align-items: baseline;
gap: 8px;
flex-wrap: wrap;
}
.sc-timeline-event {
color: #18354f;
font-size: 14px;
font-weight: 700;
}
.sc-timeline-time {
color: #6b7f92;
font-size: 12px;
font-weight: 500;
}
.sc-timeline-detail {
margin-top: 3px;
color: #3e556b;
font-size: 13px;
}
#tbCotacao {
table-layout: fixed;
width: 100%;
margin-bottom: 0;
}
#tbCotacao thead th {
background: #eef3f8;
color: #3b4d5f;
font-weight: 700;
}
#tbCotacao tbody tr:nth-child(odd) {
background: #f9fbfd;
}
#tbCotacao tbody td,
#tbCotacao thead th,
#tbCotacao tfoot td {
vertical-align: middle;
}
#tbCotacao th:nth-child(3),
#tbCotacao th:nth-child(4),
#tbCotacao th:nth-child(5),
#tbCotacao td:nth-child(3),
#tbCotacao td:nth-child(4),
#tbCotacao td:nth-child(5) {
text-align: right;
}
#tbCotacao td:nth-child(3) input,
#tbCotacao td:nth-child(4) input,
#tbCotacao td:nth-child(5) input {
text-align: right;
}
#tbCotacao tfoot .sc-total-label {
text-align: right;
font-weight: 700;
background: #edf3f8;
color: #324a60;
}
#tbCotacao tfoot .sc-total-value {
background: #edf3f8;
color: #12344d;
font-size: 15px;
font-weight: 700;
text-align: right;
}
@media (max-width: 992px) {
.sc-primary-grid,
.sc-secondary-grid {
grid-template-columns: repeat(2, minmax(180px, 1fr));
}
}
@media (max-width: 640px) {
.sc-primary-grid,
.sc-secondary-grid {
grid-template-columns: 1fr;
}
.sc-info--primary .sc-value {
font-size: 24px;
}
}
</style>
</head>
<body>
<div class="fluig-style-guide" style="background-color:white;">
<h1 id="rcorners" style="margin:0;">Solicitação de compra</h1>
<ul id="wizard-steps" class="steps m-t-20">
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Solicitação</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Validando necessidade</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Solicitando...</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Dados Adicionais</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Indicar Cotação</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Confirmação Cotação</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Aprovação Ccusto</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Aprovação GERF</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Aprovação CEO</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Receber Produto</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Problema</span></li>
<li class="step-item"><span class="step-bullet"></span><span class="step-label">Fim</span></li>
</ul>
<form name="form" role="form">
<!-- Campos ocultos -->
<input type="hidden" id="WKNumProces" name="WKNumProces">
@@ -115,10 +369,6 @@
<div class="row">
<div class="col-md-12">
<h2><i class="flaticon flaticon-tests-central icon-md" aria-hidden="true"></i>Dados da solicitação</h2>
<button type="button" class="btn btn-info btn-sm" id="btnHistorico"
style="background-color:#04506b; border-color:#04506b;">
<i class="fluigicon fluigicon-eye-open"></i> Ver Histórico
</button>
<h6>Dados referentes aos responsáveis pela abertura e pela solicitação do atual processo.</h6>
</div>
</div>
@@ -154,11 +404,16 @@
<input type="zoom" class="form-control" name="estabelecimento" id="estabelecimento" data-zoom="{
'displayKey':'LOJA',
'placeholder': 'Buscar nome do estabelecimento ou filial',
'datasetId':'dsSysCompan',
'datasetId':'dsFiliais',
'fields':[
{'field':'LOJA','label':'Filial','standard':'true','search':'true'},
{'field':'CNPJ','label':'CNPJ','standard':'true'},
{'field':'ESTADO','label':'ESTADO','standard':'true'}
{'field':'REGIONAL','label':'REGIONAL','standard':'true'},
{'field':'UF','label':'UF','standard':'true'},
{'field':'RESPONSAVEL_LOJA','label':'RESPONSAVEL_LOJA','visible':'false'},
{'field':'PDV','label':'PDV','visible':'false'},
{'field':'PROTHEUS','label':'PROTHEUS','visible':'false'},
{'field':'COLLEAGUE_ID','label':'COLLEAGUE_ID','visible':'false'},
{'field':'LOGIN_LOJA','label':'LOGIN_LOJA','visible':'false'}
]
}">
<p class="help-block" id="estabelecimentoFilial" style="display:none;position:absolute;font-size:12px;">
@@ -166,19 +421,9 @@
</p>
</div>
<div class="form-group col-md-3 col-xs-12 divCentroCusto alertaCampo">
<label for="zoom">Centro de custo <span class="required text-danger"><strong>*</strong></span></label>
<input type="zoom" class="form-control" name="centro_custo" id="centro_custo" data-zoom="{
'displayKey':'centroCusto',
'placeholder': 'Buscar número ou nome do centro de custo',
'datasetId':'ds_centroCusto',
'fields':[
{'field':'codigoCentroCusto','label':'Código','standard':'true','search':'true'},
{'field':'centroCusto','label':'Nome','search':'true'},
{'field':'gestorCentroCusto','label':'gestorCentroCusto','visible':'false'},
{'field':'idGestor','label':'idGestor','visible':'false'},
{'field':'emailGestor','label':'emailGestor','visible':'false'}
]
}">
<label>Gestor da loja <span class="required text-danger"><strong>*</strong></span></label>
<input type="text" class="form-control" name="centro_custo" id="centro_custo"
placeholder="Será preenchido automaticamente ao selecionar a filial" readonly>
<p class="help-block" id="centroCusto" style="display:none;position:absolute;font-size:12px;">
Preenchimento obrigatório
</p>
@@ -364,37 +609,53 @@
</div>
</div>
<div class="card" style="margin-top:15px; border-radius:8px; box-shadow:0 2px 5px rgba(0,0,0,0.1);">
<div class="card-body" style="padding:15px; background-color:#f9f9f9;">
<div class="row">
<div class="col-md-4">
<p><strong>Número:</strong> <span id="numeroSCProtheus_label">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Status:</strong> <span id="statusSCProtheus_label" class="badge bg-secondary">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Solicitante:</strong> <span id="solicitanteSCProtheus_label">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Emissão:</strong> <span id="emissaoSCProtheus_label">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Qtd. Itens:</strong> <span id="qtdItensSCProtheus_label">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Data da aprovação:</strong> <span id="dataCadastroSCProtheus_label">-</span> às <span id="horaCadastroSCProtheus_label">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Status:</strong> <span id="statusSC_label" class="badge bg-secondary">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Cotação:</strong> <span id="cotacaoSC_label">-</span></p>
</div>
<div class="col-md-4">
<p><strong>Pedido:</strong> <span id="pedidoSC_label">-</span></p>
</div>
<div class="sc-status-panel">
<div class="sc-primary-grid">
<div class="sc-info sc-info--primary sc-info--clickable" id="cardNumeroSC" title="Clique para ver a linha do tempo da SC">
<div class="sc-label">Número SC</div>
<div class="sc-value" id="numeroSCProtheus_label">-</div>
<span class="sc-hint" id="cardNumeroSCHint">Clique para ver a linha do tempo</span>
</div>
<div class="sc-info sc-info--primary">
<div class="sc-label">Status Cadastro</div>
<span class="sc-value badge bg-secondary" id="statusSCProtheus_label">-</span>
</div>
<div class="sc-info sc-info--primary">
<div class="sc-label">Andamento</div>
<span class="sc-value badge bg-secondary" id="statusSC_label">-</span>
</div>
</div>
<div class="sc-secondary-grid">
<div class="sc-info sc-info--secondary">
<div class="sc-label">Solicitante</div>
<div class="sc-value" id="solicitanteSCProtheus_label">-</div>
</div>
<div class="sc-info sc-info--secondary">
<div class="sc-label">Emissão</div>
<div class="sc-value" id="emissaoSCProtheus_label">-</div>
</div>
<div class="sc-info sc-info--secondary">
<div class="sc-label">Qtd. Itens</div>
<div class="sc-value" id="qtdItensSCProtheus_label">-</div>
</div>
<div class="sc-info sc-info--secondary">
<div class="sc-label">Data do Cadastro</div>
<div class="sc-value"><span id="dataCadastroSCProtheus_label">-</span> às <span id="horaCadastroSCProtheus_label">-</span></div>
</div>
<div class="sc-info sc-info--secondary">
<div class="sc-label">Cotação</div>
<div class="sc-value" id="cotacaoSC_label">-</div>
</div>
<div class="sc-info sc-info--secondary">
<div class="sc-label">Pedido</div>
<div class="sc-value" id="pedidoSC_label">-</div>
</div>
</div>
<div class="sc-timeline-wrap" id="scTimelineSection">
<h4 class="sc-timeline-title">Linha do tempo da SC</h4>
<ul class="sc-timeline" id="scTimeline"></ul>
</div>
</div>
</div>
@@ -430,6 +691,13 @@
<td><input type="checkbox" name="selecionado" id="selecionado" value="S"></td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="4" class="sc-total-label">Total selecionado</td>
<td class="sc-total-value" id="valorTotalCotacaoLabel">R$ 0,00</td>
<td></td>
</tr>
</tfoot>
</table>
</div>
</div>