Merge pull request #15 from JurunenseDevInterno/fix-tabela-analitica-agregador
Fix tabela analitica agregador
This commit is contained in:
commit
8b8bd9cea3
|
|
@ -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(() => {
|
||||
let count = 0;
|
||||
|
||||
// Contar filtros de coluna
|
||||
// Contar filtros de coluna (filtros do modal customizado)
|
||||
count += Object.keys(columnFilters).length;
|
||||
|
||||
// Contar filtro global
|
||||
// Contar filtro global (se aplicável)
|
||||
if (globalFilter && globalFilter.trim() !== "") {
|
||||
count += 1;
|
||||
}
|
||||
|
||||
// Contar filtros externos (se aplicáveis)
|
||||
if (filtrosExternos.codigoConta || filtrosExternos.centroCusto) {
|
||||
count += 1;
|
||||
}
|
||||
|
||||
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(() => {
|
||||
setColumnFilters({});
|
||||
setColumnSorts({});
|
||||
setGlobalFilter("");
|
||||
}, []);
|
||||
|
||||
// Atualizar filtros externos quando os props mudarem
|
||||
|
|
@ -905,6 +901,8 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
|||
slots={{ toolbar: GridToolbar }}
|
||||
disableColumnMenu={true}
|
||||
disableColumnSorting={true}
|
||||
pagination={false}
|
||||
disableVirtualization={false}
|
||||
initialState={{
|
||||
aggregation: {
|
||||
model: {
|
||||
|
|
@ -928,7 +926,10 @@ export default function AnaliticoComponent({ filtros }: AnaliticoProps) {
|
|||
borderBottom: "1px solid #f0f0f0",
|
||||
fontSize: "0.875rem",
|
||||
},
|
||||
"& .MuiDataGrid-virtualScroller": { overflowY: "auto" },
|
||||
"& .MuiDataGrid-virtualScroller": {
|
||||
overflowY: "auto",
|
||||
maxHeight: "calc(40vh - 120px)"
|
||||
},
|
||||
"& .MuiDataGrid-toolbarContainer": {
|
||||
backgroundColor: "#f8fafc",
|
||||
borderBottom: "1px solid #e5e7eb",
|
||||
|
|
|
|||
|
|
@ -264,13 +264,7 @@ export default function Teste() {
|
|||
// Extrair centros de custo únicos com nome e código
|
||||
const centrosCustoUnicos = [...new Set(dadosCompletos.map((item: DREItem) => item.centro_custo))].sort() as string[];
|
||||
|
||||
// Filtrar centro de custo com código específico
|
||||
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);
|
||||
setOpcoesCentrosCusto(centrosCustoUnicos);
|
||||
|
||||
// Criar objeto de códigos dos centros de custo
|
||||
const codigos: Record<string, string> = {};
|
||||
|
|
@ -294,9 +288,19 @@ export default function Teste() {
|
|||
});
|
||||
setCodigosContas(codigosContasObj);
|
||||
|
||||
// Inicializar com todos os itens selecionados
|
||||
setCentrosCustoSelecionados(centrosCustoUnicos);
|
||||
setContasSelecionadas(contasUnicas);
|
||||
// Inicializar com todos os itens selecionados, exceto o centro de custo 002.003.017 e conta 100050
|
||||
const centrosCustoIniciaisSelecionados = centrosCustoUnicos.filter(centro => {
|
||||
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) {
|
||||
console.error("Erro ao carregar períodos:", error);
|
||||
|
|
|
|||
Loading…
Reference in New Issue