Compare commits

..

No commits in common. "c9346e52195fd1a8fcf6dde5a18c1158248d70bc" and "ab2c1151fa7faeb1622985946d2008ca7f2b1cf1" have entirely different histories.

7 changed files with 3 additions and 16785 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,869 +0,0 @@
import {
greenColumn,
whiteColumn,
orangeColumn,
yellowColumn,
redColumn,
blueColumn,
} from "../columnColors";
export const config = {
config: {
colors: {
"data.section_code": {
color_type: greenColumn,
accessorKey: "data.section_code",
},
"data.name": {
color_type: greenColumn,
accessorKey: "data.name",
},
"data.plan.support.q1": {
color_type: greenColumn,
accessorKey: "data.plan.support.q1",
},
"data.plan.support.q2": {
color_type: greenColumn,
accessorKey: "data.plan.support.q2",
},
"data.plan.support.q3": {
color_type: greenColumn,
accessorKey: "data.plan.support.q3",
},
"data.plan.support.q4": {
color_type: greenColumn,
accessorKey: "data.plan.support.q4",
},
"data.plan.support.year": {
color_type: greenColumn,
accessorKey: "data.plan.support.year",
},
"data.plan.development.q1": {
color_type: greenColumn,
accessorKey: "data.plan.development.q1",
},
"data.plan.development.q2": {
color_type: greenColumn,
accessorKey: "data.plan.development.q2",
},
"data.plan.development.q3": {
color_type: greenColumn,
accessorKey: "data.plan.development.q3",
},
"data.plan.development.q4": {
color_type: greenColumn,
accessorKey: "data.plan.development.q4",
},
"data.plan.development.year": {
color_type: greenColumn,
accessorKey: "data.plan.development.year",
},
itogo_2026_field_field_field: {
color_type: greenColumn,
accessorKey: "itogo_2026_field_field_field",
},
"data.approved.support.q1": {
color_type: greenColumn,
accessorKey: "data.approved.support.q1",
},
"data.approved.support.q2": {
color_type: greenColumn,
accessorKey: "data.approved.support.q2",
},
"data.approved.support.q3": {
color_type: greenColumn,
accessorKey: "data.approved.support.q3",
},
"data.approved.support.q4": {
color_type: greenColumn,
accessorKey: "data.approved.support.q4",
},
"data.approved.support.year": {
color_type: greenColumn,
accessorKey: "data.approved.support.year",
},
"data.approved.development.q1": {
color_type: greenColumn,
accessorKey: "data.approved.development.q1",
},
"data.approved.development.q2": {
color_type: greenColumn,
accessorKey: "data.approved.development.q2",
},
"data.approved.development.q3": {
color_type: greenColumn,
accessorKey: "data.approved.development.q3",
},
"data.approved.development.q4": {
color_type: greenColumn,
accessorKey: "data.approved.development.q4",
},
"data.approved.development.year": {
color_type: greenColumn,
accessorKey: "data.approved.development.year",
},
"data.fact.support.q1": {
color_type: greenColumn,
accessorKey: "data.fact.support.q1",
},
"data.fact.support.q2": {
color_type: greenColumn,
accessorKey: "data.fact.support.q2",
},
"data.fact.support.q3": {
color_type: greenColumn,
accessorKey: "data.fact.support.q3",
},
"data.fact.support.q4": {
color_type: greenColumn,
accessorKey: "data.fact.support.q4",
},
"data.fact.support.year": {
color_type: greenColumn,
accessorKey: "data.fact.support.year",
},
"data.fact.development.q1": {
color_type: greenColumn,
accessorKey: "data.fact.development.q1",
},
"data.fact.development.q2": {
color_type: greenColumn,
accessorKey: "data.fact.development.q2",
},
"data.fact.development.q3": {
color_type: greenColumn,
accessorKey: "data.fact.development.q3",
},
"data.fact.development.q4": {
color_type: greenColumn,
accessorKey: "data.fact.development.q4",
},
"data.fact.development.year": {
color_type: greenColumn,
accessorKey: "data.fact.development.year",
},
"data.corrected.support.q2": {
color_type: greenColumn,
accessorKey: "data.corrected.support.q2",
},
"data.corrected.support.q3": {
color_type: greenColumn,
accessorKey: "data.corrected.support.q3",
},
"data.corrected.support.q4": {
color_type: greenColumn,
accessorKey: "data.corrected.support.q4",
},
"data.corrected.development.q2": {
color_type: greenColumn,
accessorKey: "data.corrected.development.q2",
},
"data.corrected.development.q3": {
color_type: greenColumn,
accessorKey: "data.corrected.development.q3",
},
"data.corrected.development.q4": {
color_type: greenColumn,
accessorKey: "data.corrected.development.q4",
},
},
columns: [
{
header: "№ п/п",
accessorKey: "pp",
columns: [
{
header: "",
accessorKey: "pp_field",
columns: [
{
header: "",
accessorKey: "data.section_code",
columnLetter: "B",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Перечень расходов и затрат",
accessorKey: "perechen_raskhodov_i_zatrat",
columns: [
{
header: "",
accessorKey: "perechen_raskhodov_i_zatrat_field",
columns: [
{
header: "",
accessorKey: "data.name",
columnLetter: "C",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Расходы, планируемые ССП на 2026 год",
accessorKey: "raskhody_planiruemye_ssp_na_2026_god",
columns: [
{
header: "Поддержка",
accessorKey: "raskhody_planiruemye_ssp_na_2026_god_podderzhka",
columns: [
{
header: "I квартал",
accessorKey:
"raskhody_planiruemye_ssp_na_2026_god_podderzhka_i_kvartal",
accessorKey: "data.plan.support.q1",
columnLetter: "D",
size: 150,
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "II квартал",
accessorKey:
"raskhody_planiruemye_ssp_na_2026_god_podderzhka_ii_kvartal",
accessorKey: "data.plan.support.q2",
columnLetter: "E",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey:
"raskhody_planiruemye_ssp_na_2026_god_podderzhka_iii_kvartal",
accessorKey: "data.plan.support.q3",
columnLetter: "F",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.plan.support.q4",
columnLetter: "G",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "ИТОГОПоддержка",
accessorKey: "data.plan.support.year",
columnLetter: "H",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Развитие",
accessorKey: "raskhody_planiruemye_ssp_na_2026_god_razvitie",
columns: [
{
header: "I квартал",
accessorKey: "data.plan.development.q1",
columnLetter: "I",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "II квартал",
accessorKey: "data.plan.development.q2",
columnLetter: "J",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.plan.development.q3",
columnLetter: "K",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.plan.development.q4",
columnLetter: "L",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "ИТОГОРазвитие",
accessorKey: "data.plan.development.year",
columnLetter: "M",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Утвержденные базовые расходы на 2026 год",
accessorKey: "utverzhdennye_bazovye_raskhody_na_2026_god",
columns: [
{
header: "Поддержка",
accessorKey:
"utverzhdennye_bazovye_raskhody_na_2026_god_podderzhka",
columns: [
{
header: "I квартал",
accessorKey: "data.approved.support.q1",
columnLetter: "P",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "II квартал",
accessorKey: "data.approved.support.q2",
columnLetter: "Q",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.approved.support.q3",
columnLetter: "R",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.approved.support.q4",
columnLetter: "S",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "ИТОГОПоддержка",
accessorKey: "data.approved.support.year",
columnLetter: "T",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Развитие",
accessorKey: "utverzhdennye_bazovye_raskhody_na_2026_god_razvitie",
columns: [
{
header: "I квартал",
accessorKey: "data.approved.development.q1",
columnLetter: "U",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "II квартал",
accessorKey: "data.approved.development.q2",
columnLetter: "V",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.approved.development.q3",
columnLetter: "W",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.approved.development.q4",
columnLetter: "X",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "ИТОГОРазвитие",
accessorKey: "data.approved.development.year",
columnLetter: "Y",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Фактические расходы за 2026 год",
accessorKey: "fakticheskie_raskhody_za_2026_god",
columns: [
{
header: "Поддержка",
accessorKey: "fakticheskie_raskhody_za_2026_god_podderzhka",
columns: [
{
header: "I квартал",
accessorKey: "data.fact.support.q1",
columnLetter: "AB",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "II квартал",
accessorKey: "data.fact.support.q2",
columnLetter: "AC",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.fact.support.q3",
columnLetter: "AD",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.fact.support.q4",
columnLetter: "AE",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "ИТОГОПоддержка",
accessorKey: "data.fact.support.year",
columnLetter: "AF",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Развитие",
accessorKey: "fakticheskie_raskhody_za_2026_god_razvitie",
columns: [
{
header: "I квартал",
accessorKey: "data.fact.development.q1",
columnLetter: "AG",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "II квартал",
accessorKey: "data.fact.development.q2",
columnLetter: "AH",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.fact.development.q3",
columnLetter: "AI",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.fact.development.q4",
columnLetter: "AJ",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "ИТОГОРазвитие",
accessorKey: "data.fact.development.year",
columnLetter: "AK",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Скорректированная смета расходов на 2026 год",
accessorKey: "skorrektirovannaya_smeta_raskhodov_na_2026_god",
columns: [
{
header: "Поддержка",
accessorKey:
"skorrektirovannaya_smeta_raskhodov_na_2026_god_podderzhka",
columns: [
{
header: "II квартал",
accessorKey: "data.corrected.support.q2",
columnLetter: "AN",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.corrected.support.q3",
columnLetter: "AO",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.corrected.support.q4",
columnLetter: "AP",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "Развитие",
accessorKey:
"skorrektirovannaya_smeta_raskhodov_na_2026_god_razvitie",
columns: [
{
header: "II квартал",
accessorKey: "data.corrected.development.q2",
columnLetter: "AQ",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "III квартал",
accessorKey: "data.corrected.development.q3",
columnLetter: "AR",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
{
header: "IV квартал",
accessorKey: "data.corrected.development.q4",
columnLetter: "AS",
size: 150,
filterFn: "contains",
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
muiTableHeadCellProps: {
sx: {
backgroundColor: "#BFBFBF",
color: "#000000",
},
},
},
],
},
};

File diff suppressed because it is too large Load Diff

View File

@ -79,8 +79,8 @@ const useRealtimeData = (formId, sheetName, direction, formType, year) => {
setIsLoading(true);
let res;
if (formType == "PROJECT") {
res = await ProjectsApi.getTableData(formId, sheetName, year);
if(formType == 'PROJECT'){
res = await ProjectsApi.getTableData(formId, sheetName, year)
} else if (direction !== null) {
res = await FormsSheetApi.get(formId, sheetName, {
params: { direction: direction },

View File

@ -44,29 +44,6 @@ export function setNewValueToData(data, colId, rowId, value) {
export function updateCells(data, newRows) {
const updatedRows = JSON.parse(JSON.stringify(data));
function deepMerge(target, source) {
if (!source || typeof source !== "object") {
return source;
}
if (!target || typeof target !== "object") {
target = {};
}
Object.keys(source).forEach((key) => {
if (
source[key] &&
typeof source[key] === "object" &&
!Array.isArray(source[key])
) {
target[key] = deepMerge(target[key], source[key]);
} else {
target[key] = source[key];
}
});
return target;
}
newRows.forEach((update) => {
const [rowType, depth, sortOrder, newData] = update;
@ -84,8 +61,7 @@ export function updateCells(data, newRows) {
Object.keys(newData).forEach((key) => {
if (row.data && row.data[key]) {
if (typeof row.data[key] === "object") {
console.log(newData[key], row.data[key], key, newData);
row.data[key] = deepMerge(row.data[key], newData[key]);
row.data[key] = { ...row.data[key], ...newData[key] };
} else {
row.data[key] = newData[key];
}
@ -114,7 +90,6 @@ export function updateCells(data, newRows) {
return updatedRows;
}
export function insertCell(data, newRow, expense_item_id) {
const updatedRows = JSON.parse(JSON.stringify(data));
const [row_type, depth, sort_order, dataRow] = newRow;