стили
This commit is contained in:
parent
b580e38117
commit
499664511a
@ -1,9 +1,9 @@
|
|||||||
import api from './client';
|
import api from './client';
|
||||||
|
|
||||||
export const FormsSheetApi = {
|
export const FormsSheetApi = {
|
||||||
get(form, sheetName) {
|
get(formId, sheetName) {
|
||||||
return api
|
return api
|
||||||
.get(`/form/${4}/sheet/${sheetName}`)
|
.get(`/form/${formId}/sheet/${sheetName}`)
|
||||||
// .get(`/forms/${form}/sheet/${sheetName}`)
|
// .get(`/forms/${form}/sheet/${sheetName}`)
|
||||||
.then((r) => r.data);
|
.then((r) => r.data);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -7,6 +7,9 @@ export const TasksApi = {
|
|||||||
getSheets(taskId) {
|
getSheets(taskId) {
|
||||||
return api.get(`/form/${taskId}/sheets`).then((r) => r.data);
|
return api.get(`/form/${taskId}/sheets`).then((r) => r.data);
|
||||||
},
|
},
|
||||||
|
getById(formId){
|
||||||
|
return api.get(`/form/${formId}`).then((r) => r.data);
|
||||||
|
},
|
||||||
getTaskStages(taskId) {
|
getTaskStages(taskId) {
|
||||||
return api.get(`/tasks/${taskId}/stages`).then((r) => r.data);
|
return api.get(`/tasks/${taskId}/stages`).then((r) => r.data);
|
||||||
},
|
},
|
||||||
|
|||||||
@ -50,6 +50,7 @@ export const AppRoutes = () => {
|
|||||||
<Route path="/new-table" element={<NewTablePage />} />
|
<Route path="/new-table" element={<NewTablePage />} />
|
||||||
<Route path="/tables-new" element={<TablesTest />} />
|
<Route path="/tables-new" element={<TablesTest />} />
|
||||||
<Route path="/tables/:form/:sheetName" element={<NewFormTablePage />} />
|
<Route path="/tables/:form/:sheetName" element={<NewFormTablePage />} />
|
||||||
|
<Route path="/table/form/:formId/form-type/:formType/:sheetName" element={<NewFormTablePage />} />
|
||||||
</Route>
|
</Route>
|
||||||
</Route>
|
</Route>
|
||||||
</Routes>
|
</Routes>
|
||||||
|
|||||||
@ -20,8 +20,8 @@ import {
|
|||||||
getTablePaperStyles,
|
getTablePaperStyles,
|
||||||
} from './constants/tableConfig';
|
} from './constants/tableConfig';
|
||||||
|
|
||||||
const RealtimeTable = ({ form, sheetName }) => {
|
const RealtimeTable = ({ formType, formId, sheetName }) => {
|
||||||
const { data, setData } = useRealtimeData(form, sheetName);
|
const { data, setData } = useRealtimeData(formId, sheetName);
|
||||||
const [isLoading, setIsLoading] = useState(true);
|
const [isLoading, setIsLoading] = useState(true);
|
||||||
const [globalFilter, setGlobalFilter] = useState('');
|
const [globalFilter, setGlobalFilter] = useState('');
|
||||||
const [showColumnFilters, setShowColumnFilters] = useState(false);
|
const [showColumnFilters, setShowColumnFilters] = useState(false);
|
||||||
@ -51,18 +51,18 @@ const RealtimeTable = ({ form, sheetName }) => {
|
|||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const loadConfig = async () => {
|
const loadConfig = async () => {
|
||||||
try {
|
try {
|
||||||
const { config } = await import(`./constants/${form}/${sheetName}.js`);
|
const { config } = await import(`./constants/${formType}/${sheetName}.js`);
|
||||||
|
|
||||||
// Make sure config.configData has the expected structure
|
// Make sure config.configData has the expected structure
|
||||||
setColumnsConfig(config.config);
|
setColumnsConfig(config.config);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(`Failed to load data for ${form}/${sheetName}:`, error);
|
console.error(`Failed to load data for ${formType}/${sheetName}:`, error);
|
||||||
setColumnsConfig({ columns: [], colors: {} });
|
setColumnsConfig({ columns: [], colors: {} });
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
loadConfig();
|
loadConfig();
|
||||||
}, [form, sheetName]);
|
}, [formType, sheetName]);
|
||||||
|
|
||||||
const columns = useMemo(() => {
|
const columns = useMemo(() => {
|
||||||
if (!columnsConfig || !columnsConfig.columns) return [];
|
if (!columnsConfig || !columnsConfig.columns) return [];
|
||||||
|
|||||||
@ -1,17 +1,17 @@
|
|||||||
export const BASE_TABLE_CONFIG = {
|
export const BASE_TABLE_CONFIG = {
|
||||||
muiTableRowProps: {
|
muiTableRowProps: {
|
||||||
sx: { height: '5rem' },
|
sx: { height: "5rem" },
|
||||||
},
|
},
|
||||||
enableExpanding: true,
|
enableExpanding: true,
|
||||||
enableStickyHeader: true,
|
enableStickyHeader: true,
|
||||||
enableColumnPinning: true,
|
enableColumnPinning: true,
|
||||||
enableEditing: true,
|
enableEditing: true,
|
||||||
editDisplayMode: 'cell',
|
editDisplayMode: "cell",
|
||||||
renderTopToolbar: false,
|
renderTopToolbar: false,
|
||||||
renderBottomToolbar: false,
|
renderBottomToolbar: false,
|
||||||
layoutMode: 'grid-no-grow',
|
layoutMode: "grid-no-grow",
|
||||||
enablePagination: false,
|
enablePagination: false,
|
||||||
memoMode: 'cells',
|
memoMode: "cells",
|
||||||
autoResetHiddenColumns: false,
|
autoResetHiddenColumns: false,
|
||||||
autoResetSortBy: false,
|
autoResetSortBy: false,
|
||||||
autoResetAll: false,
|
autoResetAll: false,
|
||||||
@ -19,12 +19,12 @@ export const BASE_TABLE_CONFIG = {
|
|||||||
enableColumnResizing: true,
|
enableColumnResizing: true,
|
||||||
enableGlobalFilter: true,
|
enableGlobalFilter: true,
|
||||||
enableColumnFilter: true,
|
enableColumnFilter: true,
|
||||||
globalFilterFn: 'contains',
|
globalFilterFn: "contains",
|
||||||
filterFromLeafRows: true,
|
filterFromLeafRows: true,
|
||||||
positionGlobalFilter: 'left',
|
positionGlobalFilter: "left",
|
||||||
positionPinning: { left: 0, right: 0 },
|
positionPinning: { left: 0, right: 0 },
|
||||||
defaultColumn: { filterFn: 'contains' },
|
defaultColumn: { filterFn: "contains" },
|
||||||
columnResizeMode: 'onChange',
|
columnResizeMode: "onChange",
|
||||||
localization: {
|
localization: {
|
||||||
noRecordsToDisplay: <span>Нет данных для отображения</span>,
|
noRecordsToDisplay: <span>Нет данных для отображения</span>,
|
||||||
},
|
},
|
||||||
@ -32,23 +32,25 @@ export const BASE_TABLE_CONFIG = {
|
|||||||
|
|
||||||
export const getTableHeadCellStyles = () => ({
|
export const getTableHeadCellStyles = () => ({
|
||||||
sx: {
|
sx: {
|
||||||
whiteSpace: 'auto',
|
whiteSpace: "auto",
|
||||||
wordBreak: 'normal',
|
wordBreak: "normal",
|
||||||
boxSizing: 'border-box',
|
boxSizing: "border-box",
|
||||||
minHeight: '3rem',
|
minHeight: "3rem",
|
||||||
maxHeight: '3rem',
|
maxHeight: "3rem",
|
||||||
border: '1px solid #E6E6E6',
|
border: "1px solid #E6E6E6",
|
||||||
fontSize: '11px',
|
fontSize: "11px",
|
||||||
fontFamily: 'Calibri, Arial, sans-serif',
|
fontFamily: "Calibri, Arial, sans-serif",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
export const getTablePaperStyles = () => ({
|
export const getTablePaperStyles = () => ({
|
||||||
sx: {
|
sx: {
|
||||||
boxShadow: 'none',
|
boxShadow: "none",
|
||||||
border: '1px solid #d1d1d1',
|
border: "1px solid #d1d1d1",
|
||||||
height: '100%',
|
height: "100%",
|
||||||
display: 'flex',
|
display: "flex",
|
||||||
flexDirection: 'column',
|
flexDirection: "column",
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export const rowHeight = 32;
|
||||||
|
|||||||
@ -11,7 +11,6 @@ export const useTableScale = (tableRef, isLoading) => {
|
|||||||
}, [sizeMult]);
|
}, [sizeMult]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
const tableScaleStyle = useMemo(
|
const tableScaleStyle = useMemo(
|
||||||
() => ({
|
() => ({
|
||||||
transform: `scale(${sizeMult})`,
|
transform: `scale(${sizeMult})`,
|
||||||
|
|||||||
@ -2,7 +2,7 @@ import { useState, useEffect, useCallback } from "react";
|
|||||||
import { dataMock } from "../../mocks/mockTable";
|
import { dataMock } from "../../mocks/mockTable";
|
||||||
import { FormsSheetApi } from "../../api/form_sheet";
|
import { FormsSheetApi } from "../../api/form_sheet";
|
||||||
|
|
||||||
const useRealtimeData = (form, sheetName) => {
|
const useRealtimeData = (formId, sheetName) => {
|
||||||
const [data, setData] = useState([]);
|
const [data, setData] = useState([]);
|
||||||
|
|
||||||
const formatedToSubRows = useCallback((depth, oldData) => {
|
const formatedToSubRows = useCallback((depth, oldData) => {
|
||||||
@ -26,7 +26,7 @@ const useRealtimeData = (form, sheetName) => {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const loadInitialData = async () => {
|
const loadInitialData = async () => {
|
||||||
const res = await FormsSheetApi.get(form, sheetName);
|
const res = await FormsSheetApi.get(formId, sheetName);
|
||||||
const mockData = res.result;
|
const mockData = res.result;
|
||||||
const maxDepth = mockData.reduce((prev, current) => {
|
const maxDepth = mockData.reduce((prev, current) => {
|
||||||
return prev.depth > current.depth ? prev : current;
|
return prev.depth > current.depth ? prev : current;
|
||||||
|
|||||||
@ -17,8 +17,9 @@ const TablesList = ({
|
|||||||
};
|
};
|
||||||
|
|
||||||
const renderTableCard = (table) => {
|
const renderTableCard = (table) => {
|
||||||
console.log(table)
|
//пока нет ручки
|
||||||
const path = `${basePath}/${table.id}`;
|
formInfo = {form_type_code: 'FORM_2', id: 4}
|
||||||
|
const path = `${basePath}/form/${formInfo.id}/form-type/${formInfo.form_type_code}/${table.sheet}`;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<TableCard
|
<TableCard
|
||||||
|
|||||||
@ -95,7 +95,7 @@ export const TaskCardComponent = ({
|
|||||||
onAddForExport,
|
onAddForExport,
|
||||||
}) => {
|
}) => {
|
||||||
const navigate = useNavigate();
|
const navigate = useNavigate();
|
||||||
const { id, title, name, start_date, end_date, tables_count, ssp, form_type_code } = taskForm;
|
const { id, title, name, start_date, end_date, tables_count, org_unit, form_type_code } = taskForm;
|
||||||
|
|
||||||
const [isEditModalOpen, setEditModalOpen] = useState(false);
|
const [isEditModalOpen, setEditModalOpen] = useState(false);
|
||||||
const [editedTitle, setEditedTitle] = useState('');
|
const [editedTitle, setEditedTitle] = useState('');
|
||||||
@ -228,14 +228,13 @@ export const TaskCardComponent = ({
|
|||||||
{formattedDateRange}
|
{formattedDateRange}
|
||||||
</IconWithContent>
|
</IconWithContent>
|
||||||
<IconWithContent icon={<UserIcon />}>
|
<IconWithContent icon={<UserIcon />}>
|
||||||
{/* <Chip>{ssp.title}</Chip> */}
|
<Chip>{org_unit.title}</Chip>
|
||||||
</IconWithContent>
|
</IconWithContent>
|
||||||
<IconWithContent icon={<TableIcon />}>
|
<IconWithContent icon={<TableIcon />}>
|
||||||
Таблиц: {tables_count}
|
Таблиц: {tables_count}
|
||||||
</IconWithContent>
|
</IconWithContent>
|
||||||
</CardBody>
|
</CardBody>
|
||||||
|
|
||||||
|
|
||||||
{exportMode && (
|
{exportMode && (
|
||||||
<div>
|
<div>
|
||||||
{isChecked ? (
|
{isChecked ? (
|
||||||
|
|||||||
@ -22,13 +22,11 @@ const TableInfo = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export default function NewTablePage() {
|
export default function NewTablePage() {
|
||||||
const { form, sheetName } = useParams()
|
const { formId, formType, sheetName } = useParams()
|
||||||
console.log(form, sheetName)
|
|
||||||
useEffect(() => {
|
|
||||||
}, [form, sheetName])
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<RealtimeTable form={form} sheetName={sheetName} />
|
<RealtimeTable formType={formType} formId={formId} sheetName={sheetName} />
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,7 +68,6 @@ export default function TaskPage() {
|
|||||||
toast.error(
|
toast.error(
|
||||||
error?.response?.data?.detail || 'Ошибка получения данных задачи',
|
error?.response?.data?.detail || 'Ошибка получения данных задачи',
|
||||||
);
|
);
|
||||||
setTask(null);
|
|
||||||
} finally {
|
} finally {
|
||||||
setIsLoading(false);
|
setIsLoading(false);
|
||||||
}
|
}
|
||||||
@ -79,6 +78,23 @@ export default function TaskPage() {
|
|||||||
}
|
}
|
||||||
}, [id]);
|
}, [id]);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
const getFormInfo = async () => {
|
||||||
|
setIsLoading(true);
|
||||||
|
try {
|
||||||
|
// TasksApi.
|
||||||
|
} catch (error) {
|
||||||
|
|
||||||
|
} finally {
|
||||||
|
setIsLoading(false);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if (Number.isFinite(id)) {
|
||||||
|
getFormInfo();
|
||||||
|
}
|
||||||
|
}, [id]);
|
||||||
|
|
||||||
const handleCreateProject = (projectData) => {
|
const handleCreateProject = (projectData) => {
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user