From b690d3a38747175b6ba0f496077bb1e061082112 Mon Sep 17 00:00:00 2001 From: Mikhail Chechnev Date: Sat, 3 Feb 2024 01:30:52 +0300 Subject: [PATCH] =?UTF-8?q?WEB=20APP:=20=D0=9D=D0=BE=D0=B2=D0=B0=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BD=D0=B5=D0=BB=D1=8C=20=D0=9F=D0=A3=D0=9F=20-?= =?UTF-8?q?=20=D0=93=D1=80=D0=B0=D1=84=D0=B8=D0=BA=D0=B8=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B5=D0=BA=D1=82=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/panels/prj_graph/index.js | 16 +++++ app/panels/prj_graph/layouts.js | 96 ++++++++++++++++++++++++++++++ app/panels/prj_graph/prj_graph.js | 93 +++++++++++++++++++++++++++++ img/prj_graph.jpg | Bin 0 -> 50396 bytes 4 files changed, 205 insertions(+) create mode 100644 app/panels/prj_graph/index.js create mode 100644 app/panels/prj_graph/layouts.js create mode 100644 app/panels/prj_graph/prj_graph.js create mode 100644 img/prj_graph.jpg diff --git a/app/panels/prj_graph/index.js b/app/panels/prj_graph/index.js new file mode 100644 index 0000000..ca5d2c3 --- /dev/null +++ b/app/panels/prj_graph/index.js @@ -0,0 +1,16 @@ +/* + Парус 8 - Панели мониторинга - ПУП - Графики проектов + Панель мониторинга: Точка входа +*/ + +//--------------------- +//Подключение библиотек +//--------------------- + +import { PrjGraph } from "./prj_graph"; //Корневая панель графиков проекта + +//---------------- +//Интерфейс модуля +//---------------- + +export const RootClass = PrjGraph; diff --git a/app/panels/prj_graph/layouts.js b/app/panels/prj_graph/layouts.js new file mode 100644 index 0000000..f2605bf --- /dev/null +++ b/app/panels/prj_graph/layouts.js @@ -0,0 +1,96 @@ +/* + Парус 8 - Панели мониторинга - ПУП - Графики проектов + Дополнительная разметка и вёрстка клиентских элементов +*/ + +//--------------------- +//Подключение библиотек +//--------------------- + +import React from "react"; //Классы React +import { Icon, Stack, Link } from "@mui/material"; //Интерфейсные компоненты +import { formatDateRF } from "../../core/utils"; //Вспомогательные процедуры и функции + +//--------- +//Константы +//--------- + +//Шаблон имени ячейки месяца +const MONTH_COLUMN_REG_EXP = /[0-9]{4}_[0-9]{1,2}/; + +//----------- +//Тело модуля +//----------- + +//Формирование значения для плашки этапа +const formatStageItemValue = (state, text) => { + const [stateText, icon] = + state == 0 + ? ["Зарегистрирован", "app_registration"] + : state == 1 + ? ["Открыт", "lock_open"] + : state == 2 + ? ["Закрыт", "lock_outline"] + : state == 3 + ? ["Согласован", "thumb_up_alt"] + : state == 4 + ? ["Исполнение прекращено", "block"] + : ["Остановлен", "do_not_disturb_on"]; + return ( + + {icon} + {text} + + ); +}; + +//Генерация представления ячейки заголовка группы +export const groupCellRender = ({ group, pOnlineShowDocument }) => ({ + cellStyle: { padding: "2px" }, + data: ( + pOnlineShowDocument({ unitCode: "Projects", document: group.name })}> + {group.caption} + + ) +}); + +//Генерация представления ячейки c данными +export const dataCellRender = ({ row, columnDef, pOnlineShowDocument }) => { + if (MONTH_COLUMN_REG_EXP.test(columnDef.name)) { + const dF = new Date(row.DFROM); + const dT = new Date(row.DTO); + const [year, month] = columnDef.name.split("_"); + const mF = new Date(year, month - 1, 1); + const mT = new Date(year, month, 0); + let cellStyle = {}; + let cellProps = {}; + let data = null; + if ((dF <= mF && dT >= mT) || (dF >= mF && dF <= mT) || (dT >= mF && dT <= mT)) { + if (year == dF.getFullYear() && month == dF.getMonth() + 1) data = formatStageItemValue(row.NSTATE, row.SRESP); + cellStyle = { backgroundColor: row.NSTATE == 0 ? "lightyellow" : row.NSTATE == 1 ? "lightgreen" : "lightblue", cursor: "pointer" }; + cellProps = { + title: `${formatDateRF(dF)} - ${formatDateRF(dT)}`, + onClick: () => pOnlineShowDocument({ unitCode: "ProjectsStages", document: row.NRN }) + }; + } + return { + cellStyle: { padding: "2px", maxWidth: "30px", overflow: "visible", fontSize: "smaller", whiteSpace: "nowrap", ...cellStyle }, + cellProps, + data + }; + } + switch (columnDef.name) { + case "SJOB": + return { + cellProps: { title: row[columnDef.name] }, + cellStyle: { + padding: "2px", + maxWidth: "300px", + textOverflow: "ellipsis", + overflow: "hidden", + whiteSpace: "pre", + fontSize: "smaller" + } + }; + } +}; diff --git a/app/panels/prj_graph/prj_graph.js b/app/panels/prj_graph/prj_graph.js new file mode 100644 index 0000000..c4ba8ca --- /dev/null +++ b/app/panels/prj_graph/prj_graph.js @@ -0,0 +1,93 @@ +/* + Парус 8 - Панели мониторинга - ПУП - Графики проектов + Панель мониторинга: Корневая панель графиков проекта +*/ + +//--------------------- +//Подключение библиотек +//--------------------- + +import React, { useState, useContext, useCallback, useEffect } from "react"; //Классы React +import { Grid, Box } from "@mui/material"; //Интерфейсные элементы +import { P8PDataGrid, P8P_DATA_GRID_SIZE } from "../../components/p8p_data_grid"; //Таблица данных +import { P8P_DATA_GRID_CONFIG_PROPS } from "../../config_wrapper"; //Подключение компонентов к настройкам приложения +import { ApplicationСtx } from "../../context/application"; //Контекст приложения +import { BackEndСtx } from "../../context/backend"; //Контекст взаимодействия с сервером +import { dataCellRender, groupCellRender } from "./layouts"; //Дополнительная разметка и вёрстка клиентских элементов + +//----------- +//Тело модуля +//----------- + +//Графики проектов +const PrjGraph = () => { + //Собственное состояние - таблица данных + const [dataGrid, setdataGrid] = useState({ + dataLoaded: false, + columnsDef: [], + groups: [], + rows: [], + reload: true + }); + + //Подключение к контексту приложения + const { pOnlineShowDocument } = useContext(ApplicationСtx); + + //Подключение к контексту взаимодействия с сервером + const { executeStored } = useContext(BackEndСtx); + + //Загрузка данных таблицы с сервера + const loadData = useCallback(async () => { + if (dataGrid.reload) { + const data = await executeStored({ + stored: "PKG_P8PANELS_PROJECTS.GRAPH", + args: {}, + respArg: "COUT", + attributeValueProcessor: (name, val) => (["caption", "name", "parent"].includes(name) ? undefined : val) + }); + setdataGrid(pv => ({ + ...pv, + columnsDef: data.XCOLUMNS_DEF ? [...data.XCOLUMNS_DEF] : pv.columnsDef, + rows: [...(data.XROWS || [])], + groups: [...(data.XGROUPS || [])], + dataLoaded: true, + reload: false + })); + } + }, [dataGrid.reload, executeStored]); + + //При необходимости обновить данные таблицы + useEffect(() => { + loadData(); + }, [dataGrid.reload, loadData]); + + //Генерация содержимого + return ( +
+ + + + {dataGrid.dataLoaded ? ( + dataCellRender({ ...prms, pOnlineShowDocument })} + groupCellRender={prms => groupCellRender({ ...prms, pOnlineShowDocument })} + /> + ) : null} + + + +
+ ); +}; + +//---------------- +//Интерфейс модуля +//---------------- + +export { PrjGraph }; diff --git a/img/prj_graph.jpg b/img/prj_graph.jpg new file mode 100644 index 0000000000000000000000000000000000000000..355b6c84433dded10e612813e77230d74cad3ca6 GIT binary patch literal 50396 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 literal 0 HcmV?d00001