atualizacao tela de fechamento
This commit is contained in:
@@ -414,7 +414,7 @@ export default function CompetenciaFechamentos() {
|
|||||||
<TableHead className="min-w-[100px]">Logo</TableHead>
|
<TableHead className="min-w-[100px]">Logo</TableHead>
|
||||||
<TableHead className="min-w-[280px]">Nome</TableHead>
|
<TableHead className="min-w-[280px]">Nome</TableHead>
|
||||||
<TableHead className="min-w-[140px] text-right">Pontuação Total</TableHead>
|
<TableHead className="min-w-[140px] text-right">Pontuação Total</TableHead>
|
||||||
<TableHead className="min-w-[150px] text-right">Pontuação Aprovada</TableHead>
|
<TableHead className="min-w-[150px] text-right">Pontuação Paga</TableHead>
|
||||||
<TableHead className="min-w-[120px]">Status</TableHead>
|
<TableHead className="min-w-[120px]">Status</TableHead>
|
||||||
<TableHead className="text-center">Ações</TableHead>
|
<TableHead className="text-center">Ações</TableHead>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
@@ -456,7 +456,7 @@ export default function CompetenciaFechamentos() {
|
|||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className="text-right tabular-nums text-muted-foreground">
|
<TableCell className="text-right tabular-nums text-muted-foreground">
|
||||||
{row.status === "fechado"
|
{row.status === "fechado"
|
||||||
? formatPontuacaoDecimal(Number(row.pontuacaoAprovada))
|
? formatPontuacaoDecimal(Number(row.pontuacaoPaga))
|
||||||
: "—"}
|
: "—"}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell>
|
<TableCell>
|
||||||
|
|||||||
@@ -241,6 +241,7 @@ export default function FechamentoDetalhes() {
|
|||||||
const [lancamentoPontuacao, setLancamentoPontuacao] = useState("0");
|
const [lancamentoPontuacao, setLancamentoPontuacao] = useState("0");
|
||||||
const [lancamentoValorReal, setLancamentoValorReal] = useState("");
|
const [lancamentoValorReal, setLancamentoValorReal] = useState("");
|
||||||
const [pontuacaoMeta, setPontuacaoMeta] = useState<number | null>(null);
|
const [pontuacaoMeta, setPontuacaoMeta] = useState<number | null>(null);
|
||||||
|
const [pontuacaoPagaFechamento, setPontuacaoPagaFechamento] = useState<number | null>(null);
|
||||||
const [parceiroId, setParceiroId] = useState<string | null>(null);
|
const [parceiroId, setParceiroId] = useState<string | null>(null);
|
||||||
const [parceiroNome, setParceiroNome] = useState<string | null>(null);
|
const [parceiroNome, setParceiroNome] = useState<string | null>(null);
|
||||||
const [parceiroFator, setParceiroFator] = useState<number | null>(null);
|
const [parceiroFator, setParceiroFator] = useState<number | null>(null);
|
||||||
@@ -397,6 +398,9 @@ export default function FechamentoDetalhes() {
|
|||||||
if (!current) return;
|
if (!current) return;
|
||||||
setFechamentoStatus(current.status);
|
setFechamentoStatus(current.status);
|
||||||
setPontuacaoMeta(current.pontuacaoMeta);
|
setPontuacaoMeta(current.pontuacaoMeta);
|
||||||
|
setPontuacaoPagaFechamento(
|
||||||
|
current.status === "fechado" ? Number(current.pontuacaoPaga) : null,
|
||||||
|
);
|
||||||
setCompetenciaStatus(competenciaAtual?.status ?? "em_aberto");
|
setCompetenciaStatus(competenciaAtual?.status ?? "em_aberto");
|
||||||
setParceiroId(current.parceiroId);
|
setParceiroId(current.parceiroId);
|
||||||
setParceiroNome(current.parceiroNome);
|
setParceiroNome(current.parceiroNome);
|
||||||
@@ -729,6 +733,7 @@ export default function FechamentoDetalhes() {
|
|||||||
});
|
});
|
||||||
toast.success(`Fechamento concluído. Banco de pontos: ${formatPontosAte2Casas(data.pontuacaoBanco)}.`);
|
toast.success(`Fechamento concluído. Banco de pontos: ${formatPontosAte2Casas(data.pontuacaoBanco)}.`);
|
||||||
setFechamentoStatus("fechado");
|
setFechamentoStatus("fechado");
|
||||||
|
setPontuacaoPagaFechamento(Number(data.pontuacaoPaga));
|
||||||
if (supervisorPodeExportarPdf) {
|
if (supervisorPodeExportarPdf) {
|
||||||
try {
|
try {
|
||||||
const { buffer, filename } = await fechamentoFechamentosService.exportarPdf(fechamentoId);
|
const { buffer, filename } = await fechamentoFechamentosService.exportarPdf(fechamentoId);
|
||||||
@@ -778,6 +783,7 @@ export default function FechamentoDetalhes() {
|
|||||||
});
|
});
|
||||||
toast.success("Fechamento reaberto com sucesso.");
|
toast.success("Fechamento reaberto com sucesso.");
|
||||||
setFechamentoStatus(data.status);
|
setFechamentoStatus(data.status);
|
||||||
|
setPontuacaoPagaFechamento(null);
|
||||||
setIsReabrirOpen(false);
|
setIsReabrirOpen(false);
|
||||||
setMotivoReabertura("");
|
setMotivoReabertura("");
|
||||||
await loadTarefas();
|
await loadTarefas();
|
||||||
@@ -1090,7 +1096,7 @@ export default function FechamentoDetalhes() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
{!loading ? (
|
{!loading ? (
|
||||||
<div className="mt-4 grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-3">
|
<div className="mt-4 grid grid-cols-1 gap-3 sm:grid-cols-2 xl:grid-cols-4">
|
||||||
{isCompetenciaConcluida ? (
|
{isCompetenciaConcluida ? (
|
||||||
<div className="sm:col-span-2 xl:col-span-4 rounded-lg border border-amber-300 bg-amber-50 p-3 text-sm text-amber-900">
|
<div className="sm:col-span-2 xl:col-span-4 rounded-lg border border-amber-300 bg-amber-50 p-3 text-sm text-amber-900">
|
||||||
Competência concluída. Reabra a competência para editar este fechamento.
|
Competência concluída. Reabra a competência para editar este fechamento.
|
||||||
@@ -1120,11 +1126,26 @@ export default function FechamentoDetalhes() {
|
|||||||
<CardHeader className="space-y-2 p-4">
|
<CardHeader className="space-y-2 p-4">
|
||||||
<div className="flex items-start justify-between">
|
<div className="flex items-start justify-between">
|
||||||
<CardDescription className="text-[11px] uppercase tracking-wide">
|
<CardDescription className="text-[11px] uppercase tracking-wide">
|
||||||
Pontuação aprovada
|
Pontuação tasks selecionadas
|
||||||
|
</CardDescription>
|
||||||
|
<CheckCircle2 className="h-4 w-4 text-muted-foreground" />
|
||||||
|
</div>
|
||||||
|
<CardTitle className="text-3xl">{formatPontos(totais.pontos)}</CardTitle>
|
||||||
|
</CardHeader>
|
||||||
|
</Card>
|
||||||
|
<Card className="border-border/70 bg-card shadow-sm transition hover:shadow-md">
|
||||||
|
<CardHeader className="space-y-2 p-4">
|
||||||
|
<div className="flex items-start justify-between">
|
||||||
|
<CardDescription className="text-[11px] uppercase tracking-wide">
|
||||||
|
Pontuação paga
|
||||||
</CardDescription>
|
</CardDescription>
|
||||||
<Target className="h-4 w-4 text-muted-foreground" />
|
<Target className="h-4 w-4 text-muted-foreground" />
|
||||||
</div>
|
</div>
|
||||||
<CardTitle className="text-3xl">{formatPontos(totais.pontos)}</CardTitle>
|
<CardTitle className="text-3xl">
|
||||||
|
{isFechado && pontuacaoPagaFechamento != null
|
||||||
|
? formatPontos(pontuacaoPagaFechamento)
|
||||||
|
: "—"}
|
||||||
|
</CardTitle>
|
||||||
</CardHeader>
|
</CardHeader>
|
||||||
</Card>
|
</Card>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -209,7 +209,7 @@ export default function MeuFechamento() {
|
|||||||
<Card className="border-border/70 bg-card shadow-sm">
|
<Card className="border-border/70 bg-card shadow-sm">
|
||||||
<CardHeader className="space-y-2 p-4">
|
<CardHeader className="space-y-2 p-4">
|
||||||
<div className="flex items-start justify-between">
|
<div className="flex items-start justify-between">
|
||||||
<CardDescription className="text-[11px] uppercase tracking-wide">Total de pontos</CardDescription>
|
<CardDescription className="text-[11px] uppercase tracking-wide">Total pontuação paga</CardDescription>
|
||||||
<Target className="h-4 w-4 text-muted-foreground" />
|
<Target className="h-4 w-4 text-muted-foreground" />
|
||||||
</div>
|
</div>
|
||||||
<CardTitle className="text-2xl">{formatPontos(dados?.indicadores.totalPontos ?? 0)}</CardTitle>
|
<CardTitle className="text-2xl">{formatPontos(dados?.indicadores.totalPontos ?? 0)}</CardTitle>
|
||||||
@@ -251,7 +251,7 @@ export default function MeuFechamento() {
|
|||||||
<TableRow>
|
<TableRow>
|
||||||
<TableHead className="min-w-[220px]">Competência</TableHead>
|
<TableHead className="min-w-[220px]">Competência</TableHead>
|
||||||
<TableHead className="min-w-[140px]">Status fechamento</TableHead>
|
<TableHead className="min-w-[140px]">Status fechamento</TableHead>
|
||||||
<TableHead className="min-w-[130px] text-right">Pontos</TableHead>
|
<TableHead className="min-w-[130px] text-right">Pontuação paga</TableHead>
|
||||||
<TableHead className="min-w-[240px] text-center">Ações</TableHead>
|
<TableHead className="min-w-[240px] text-center">Ações</TableHead>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
</TableHeader>
|
</TableHeader>
|
||||||
@@ -274,7 +274,11 @@ export default function MeuFechamento() {
|
|||||||
"—"
|
"—"
|
||||||
)}
|
)}
|
||||||
</TableCell>
|
</TableCell>
|
||||||
<TableCell className="text-right">{formatPontos(Number(item.fechamento?.pontuacaoTotalEntregue ?? 0))}</TableCell>
|
<TableCell className="text-right tabular-nums">
|
||||||
|
{item.fechamento?.status === "fechado"
|
||||||
|
? formatPontos(Number(item.fechamento.pontuacaoPaga))
|
||||||
|
: "—"}
|
||||||
|
</TableCell>
|
||||||
<TableCell className="text-center">
|
<TableCell className="text-center">
|
||||||
<div className="flex flex-wrap items-center justify-center gap-2">
|
<div className="flex flex-wrap items-center justify-center gap-2">
|
||||||
<Button
|
<Button
|
||||||
|
|||||||
Reference in New Issue
Block a user