permitir o usuario a ver o fechamento com o status em aberto

This commit is contained in:
Vitex Tecnologia
2026-06-05 16:38:24 -03:00
parent 521ca9743f
commit 2ff508f471
2 changed files with 20 additions and 8 deletions
@@ -165,11 +165,17 @@ function toPontuacaoInput(value: number): string {
return String(rounded); return String(rounded);
} }
/** Datas Asana/competência são civis (YYYY-MM-DD); evita exibir dia anterior por fuso (ex.: 01/04 UTC → 31/03 BRT). */
function formatDateOnly(value: string | null): string { function formatDateOnly(value: string | null): string {
if (!value) return "—"; if (!value) return "—";
const isoMatch = value.match(/^(\d{4})-(\d{2})-(\d{2})/);
if (isoMatch) {
const [, year, month, day] = isoMatch;
return `${day}/${month}/${year}`;
}
const parsed = new Date(value); const parsed = new Date(value);
if (Number.isNaN(parsed.getTime())) return "—"; if (Number.isNaN(parsed.getTime())) return "—";
return parsed.toLocaleDateString("pt-BR"); return parsed.toLocaleDateString("pt-BR", { timeZone: "UTC" });
} }
function normalizeTextFilter(value: string): string { function normalizeTextFilter(value: string): string {
@@ -1143,7 +1149,18 @@ export default function FechamentoDetalhes() {
`Reprocessamento concluído: ${data.tarefasImportadas} tarefa(s) atualizada(s), ${data.tarefasRemovidasForaCompetencia} removida(s) fora da competência.`, `Reprocessamento concluído: ${data.tarefasImportadas} tarefa(s) atualizada(s), ${data.tarefasRemovidasForaCompetencia} removida(s) fora da competência.`,
); );
setIsReprocessAsanaOpen(false); setIsReprocessAsanaOpen(false);
if (data.fechamentoId !== fechamentoId) {
navigate(`/intelligence-score/fechamentos/${data.fechamentoId}`, {
replace: true,
state: {
competenciaId,
status: "em_aberto" as const,
readonlyView: initialState?.readonlyView,
},
});
} else {
await loadTarefas(); await loadTarefas();
}
} catch (error) { } catch (error) {
const message = error instanceof Error ? error.message : "Erro ao reprocessar Asana."; const message = error instanceof Error ? error.message : "Erro ao reprocessar Asana.";
toast.error(message); toast.error(message);
@@ -37,9 +37,6 @@ function formatPontos(valor: number): string {
export default function MeuFechamento() { export default function MeuFechamento() {
const navigate = useNavigate(); const navigate = useNavigate();
const { me } = useAuthAccess(); const { me } = useAuthAccess();
const caps = me?.capabilities;
const podeExportarPlanilha = caps?.fechamentos.exportarPlanilha ?? false;
const podeExportarPdf = caps?.fechamentos.exportarPdf ?? false;
const currentYear = new Date().getFullYear(); const currentYear = new Date().getFullYear();
const [loading, setLoading] = useState(true); const [loading, setLoading] = useState(true);
const [exportacao, setExportacao] = useState<{ fechamentoId: string; tipo: "planilha" | "pdf" } | null>(null); const [exportacao, setExportacao] = useState<{ fechamentoId: string; tipo: "planilha" | "pdf" } | null>(null);
@@ -287,7 +284,6 @@ export default function MeuFechamento() {
disabled={ disabled={
!item.fechamento || !item.fechamento ||
item.fechamento.status !== "fechado" || item.fechamento.status !== "fechado" ||
!podeExportarPlanilha ||
(exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "planilha") || (exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "planilha") ||
(exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "pdf") (exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "pdf")
} }
@@ -304,7 +300,6 @@ export default function MeuFechamento() {
disabled={ disabled={
!item.fechamento || !item.fechamento ||
item.fechamento.status !== "fechado" || item.fechamento.status !== "fechado" ||
!podeExportarPdf ||
(exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "planilha") || (exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "planilha") ||
(exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "pdf") (exportacao?.fechamentoId === item.fechamento?.id && exportacao?.tipo === "pdf")
} }
@@ -318,7 +313,7 @@ export default function MeuFechamento() {
<Button <Button
size="sm" size="sm"
variant="outline" variant="outline"
disabled={!item.fechamento || item.fechamento.status !== "fechado"} disabled={!item.fechamento}
onClick={() => onClick={() =>
navigate(`/intelligence-score/fechamentos/${item.fechamento?.id}`, { navigate(`/intelligence-score/fechamentos/${item.fechamento?.id}`, {
state: { state: {