Merge pull request #16 from JurunenseDevInterno/dev

Dev
This commit is contained in:
Alessandro Gonçalves 2025-10-23 15:16:28 -03:00 committed by GitHub
commit 3f54206d5e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 26 additions and 21 deletions

View File

@ -310,30 +310,26 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
})); }));
}, []); }, []);
// Função para contar filtros aplicados // Função para contar filtros aplicados (apenas filtros internos do modal customizado)
const getFilterCount = React.useCallback(() => { const getFilterCount = React.useCallback(() => {
let count = 0; let count = 0;
// Contar filtros de coluna // Contar filtros de coluna (filtros do modal customizado)
count += Object.keys(columnFilters).length; count += Object.keys(columnFilters).length;
// Contar filtro global // Contar filtro global (se aplicável)
if (globalFilter && globalFilter.trim() !== "") { if (globalFilter && globalFilter.trim() !== "") {
count += 1; count += 1;
} }
// Contar filtros externos (se aplicáveis)
if (filtrosExternos.codigoConta || filtrosExternos.centroCusto) {
count += 1;
}
return count; return count;
}, [columnFilters, globalFilter, filtrosExternos]); }, [columnFilters, globalFilter]);
// Função para limpar todos os filtros // Função para limpar todos os filtros internos (mantém filtros externos)
const clearAllFilters = React.useCallback(() => { const clearAllFilters = React.useCallback(() => {
setColumnFilters({}); setColumnFilters({});
setColumnSorts({}); setColumnSorts({});
setGlobalFilter("");
}, []); }, []);
// Atualizar filtros externos quando os props mudarem // Atualizar filtros externos quando os props mudarem
@ -905,6 +901,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
slots={{ toolbar: GridToolbar }} slots={{ toolbar: GridToolbar }}
disableColumnMenu={true} disableColumnMenu={true}
disableColumnSorting={true} disableColumnSorting={true}
pagination={false}
disableVirtualization={false}
initialState={{ initialState={{
aggregation: { aggregation: {
model: { model: {
@ -928,7 +926,10 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
borderBottom: "1px solid #f0f0f0", borderBottom: "1px solid #f0f0f0",
fontSize: "0.875rem", fontSize: "0.875rem",
}, },
"& .MuiDataGrid-virtualScroller": { overflowY: "auto" }, "& .MuiDataGrid-virtualScroller": {
overflowY: "auto",
maxHeight: "calc(40vh - 120px)"
},
"& .MuiDataGrid-toolbarContainer": { "& .MuiDataGrid-toolbarContainer": {
backgroundColor: "#f8fafc", backgroundColor: "#f8fafc",
borderBottom: "1px solid #e5e7eb", borderBottom: "1px solid #e5e7eb",

View File

@ -264,13 +264,7 @@ export default function Teste() {
// Extrair centros de custo únicos com nome e código // Extrair centros de custo únicos com nome e código
const centrosCustoUnicos = [...new Set(dadosCompletos.map((item: DREItem) => item.centro_custo))].sort() as string[]; const centrosCustoUnicos = [...new Set(dadosCompletos.map((item: DREItem) => item.centro_custo))].sort() as string[];
// Filtrar centro de custo com código específico setOpcoesCentrosCusto(centrosCustoUnicos);
const centrosCustoFiltrados = centrosCustoUnicos.filter(centro => {
const item = dadosCompletos.find((d: DREItem) => d.centro_custo === centro);
return item?.codigo_centro_custo !== "002.003.017";
});
setOpcoesCentrosCusto(centrosCustoFiltrados);
// Criar objeto de códigos dos centros de custo // Criar objeto de códigos dos centros de custo
const codigos: Record<string, string> = {}; const codigos: Record<string, string> = {};
@ -294,9 +288,19 @@ export default function Teste() {
}); });
setCodigosContas(codigosContasObj); setCodigosContas(codigosContasObj);
// Inicializar com todos os itens selecionados // Inicializar com todos os itens selecionados, exceto o centro de custo 002.003.017 e conta 100050
setCentrosCustoSelecionados(centrosCustoUnicos); const centrosCustoIniciaisSelecionados = centrosCustoUnicos.filter(centro => {
setContasSelecionadas(contasUnicas); const item = dadosCompletos.find((d: DREItem) => d.centro_custo === centro);
return item?.codigo_centro_custo !== "002.003.017";
});
const contasIniciaisSelecionadas = contasUnicas.filter(conta => {
const item = dadosCompletos.find((d: DREItem) => d.conta === conta);
return item?.codigo_conta?.toString() !== "100050";
});
setCentrosCustoSelecionados(centrosCustoIniciaisSelecionados);
setContasSelecionadas(contasIniciaisSelecionadas);
} catch (error) { } catch (error) {
console.error("Erro ao carregar períodos:", error); console.error("Erro ao carregar períodos:", error);