/* Парус 8 - Панели мониторинга - ПУДП - Пользовательская инструкция Панель мониторинга: Пользовательская инструкция */ //--------------------- //Подключение библиотек //--------------------- import React, { useContext, useState } from "react"; //Классы React import PropTypes from "prop-types"; //Контроль свойств компонента import { Box, Grid, Typography, Link, List, ListItem, ListItemButton, ListItemText, Divider, Fab, Icon } from "@mui/material"; //Интерфейсные элементы import { BUTTONS } from "../../../app.text"; //Текстовые ресурсы import { ApplicationСtx } from "../../context/application"; //Контекст приложения import img11 from "./img/11.png"; //Изображение import img12 from "./img/12.png"; //Изображение import img13 from "./img/13.png"; //Изображение import img14 from "./img/14.png"; //Изображение import img15 from "./img/15.png"; //Изображение import img21 from "./img/21.png"; //Изображение import img22 from "./img/22.png"; //Изображение import img23 from "./img/23.png"; //Изображение import img24 from "./img/24.png"; //Изображение import img25 from "./img/25.png"; //Изображение import img211 from "./img/211.png"; //Изображение import img212 from "./img/212.png"; //Изображение import img213 from "./img/213.png"; //Изображение //--------- //Константы //--------- //Оглавление const CONTENT = [ { id: "prg1", caption: "1. О структуре производства" }, { id: "prg2", caption: "2. НСИ о продукции" } ]; //Стили const STYLES = { IMG_CONT: { textAlign: "center", padding: "10px" }, IMG: { maxWidth: "100%", height: "auto" }, PRGF_TABLE: { paddingTop: "20px", paddingBottom: "20px", display: "flex", justifyContent: "center" }, TABLE: { width: "80%" }, TABLE_TITLE: { backgroundColor: "lightgray" }, TABLE_SUBTITLE: { textAlign: "center", backgroundColor: "#f3eded", fontWeight: "bold" }, FAB_BACK: { position: "absolute", right: "20px", marginTop: "20px" } }; //-------------------------------- //Вспомогательные функции и классы //-------------------------------- //Переход к элементу страницы const scrollToElement = id => document.getElementById(id).scrollIntoView(); //Заголовок первого уровня const Hdr1 = ({ id, children }) => ( {children} ); //Контроль свойств - Заголовок первого уровня Hdr1.propTypes = { id: PropTypes.string, children: PropTypes.any }; //Заголовок второго уровня const Hdr2 = ({ id, children }) => ( {children} ); //Контроль свойств - Заголовок второго уровня Hdr2.propTypes = { id: PropTypes.string, children: PropTypes.any }; //Заголовок третьего уровня const Hdr3 = ({ id, children }) => ( {children} ); //Контроль свойств - Заголовок третьего уровня Hdr3.propTypes = { id: PropTypes.string, children: PropTypes.any }; //Параграф const Prgf = ({ style, children }) => ( {children} ); //Контроль свойств - Параграф Prgf.propTypes = { style: PropTypes.object, children: PropTypes.any }; //Изображение const Img = ({ src }) => (
); //Контроль свойств - Изображение Img.propTypes = { src: PropTypes.string.isRequired }; //Ссылка на раздел Системы const UnitLink = ({ unitCode, children }) => { //Подключение к контексту приложения const { pOnlineShowUnit } = useContext(ApplicationСtx); //Генерация содержимого return ( pOnlineShowUnit({ unitCode })}> {children} ); }; //Контроль свойств - Ссылка на раздел Системы UnitLink.propTypes = { unitCode: PropTypes.string.isRequired, children: PropTypes.any }; //Ссылка на главу инструкции const ChapterLink = ({ id, dstId, onClick, children }) => { //Генерация содержимого return ( { scrollToElement(dstId); if (onClick && id) onClick(id); }} > {children} ); }; //Контроль свойств - Ссылка на главу инструкции ChapterLink.propTypes = { id: PropTypes.string, dstId: PropTypes.string.isRequired, onClick: PropTypes.func, children: PropTypes.any }; //Ссылка на информационную панель const PanelLink = ({ panelName, children }) => { //Подключение к контексту приложения const { configUrlBase, findPanelByName, pOnlineShowTab } = useContext(ApplicationСtx); //Генерация содержимого return ( { const panel = findPanelByName(panelName); if (panel) pOnlineShowTab({ id: panel.name, url: `${configUrlBase}${panel.url}`, caption: panel.caption }); }} > {children} ); }; //Контроль свойств - Ссылка на информационную панель PanelLink.propTypes = { panelName: PropTypes.string.isRequired, children: PropTypes.any }; //----------- //Тело модуля //----------- //Корневая панель пользовательской инструкции const MechRecHelp = () => { //Собственное состояние const [navStack, setNavStack] = useState([]); //Переход по оглавлению const handleTitleClick = id => { scrollToElement(id); setNavStack([]); }; //Обработка нажатия на кнопку "Назад" const handleBackClick = () => { if (navStack.length > 0) { const tmp = [...navStack]; const backId = tmp.pop(); scrollToElement(backId); setNavStack(tmp); } }; //Генерация содержимого return ( {navStack.length > 0 ? ( arrow_back_ios {BUTTONS.NAVIGATE_BACK} ) : null} Оперативное управление производством {CONTENT.map((c, i) => ( handleTitleClick(c.id)}> ))} Оперативное управление производством 1. О структуре производства В макете настроена штатная структура предприятия и определены склады подразделений. Для просмотра штатной структуры перейдите в раздел «Подразделения». Производство состоит из 4 цехов, для цехов № 2 и № 4 определены участки. Участки цеха № 2 используются в описании макета при формировании сменных заданий. Для централизованного и внутрицехового учета материалов, покупных комплектующих (далее – ПКИ), деталей и сборочных единиц (далее – ДСЕ) в макете определены склады. Для просмотра перечня складов перейдите в раздел «Склады». Централизованный склад ЦМС используется для учета прихода материалов и ПКИ от поставщиков и выдачи в цеха. Склады цехов используются для учета в цехе получения материалов и ПКИ с ЦМС, поступления готовых ДСЕ от других цехов и от участков цеха, списание материалов, ПКИ и ДСЕ на затраты производства. На централизованный склад СГП выполняется сдача готовой продукции. Для выдачи заданий на станки в макете для участков цеха № 2 определено оборудование. Просмотреть оборудование можно в разделе «Подразделения» в окне «Оборудование». 2. НСИ о продукции Нормативно-справочная информация (далее – НСИ) о продукции доступна для просмотра через пункт головного меню «Учет». Для просмотра НСИ перейдите в разделы, указанные в строках контекстного меню. При переходе в разделы открывается окно «Отбор», нажимайте в окне кнопку «ОК». Нормативная информация о производимой продукции в макете размещена в следующих разделах:

1) «Спецификации изделий»

Для изделий «Лебедка» и входящих в изделия сборочных единиц введены данные конструкторских составов.

2) «Ведомости материалов и оснастки»

Для деталей введены нормы расхода основного материала.

3) «Маршрутные карты»

Для изделий и ДСЕ введены данные маршрутных карт технологических процессов.

4) «Маршруты» в макете не используются, маршрут ДСЕ определяется маршрутной картой.

Справочник материальных ресурсов, производимых и потребляемых в процессе производства продукции, находится в разделе «Инженерные данные». 2.1. Производственные составы изделий На основании нормативной информации для изделий «Лебедка» сформированы Производственные составы (далее – ПС). ПС материальных ресурсов отображаются в разделе «Инженерные данные» в окне «Производственный состав». Пользователь может сформировать новые ПС и переформировать существующие, используя действия контекстного меню. ПС используется в процессе планирования производства продукции, как основной нормативный документ об изделии. ПС – это иерархическая маршрутно-материальная ведомость изделия. Для просмотра состава ПС выполните на строке заголовка ПС действие «Показать». Для автоматического определения при планировании производства «какой ПС использовать» созданные в макете ПС изделий «Лебедка» переведены в «Состояние» = «Производство» и определены как «используемые по умолчанию».
); }; //---------------- //Интерфейс модуля //---------------- export { MechRecHelp };