77 lines
2.8 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
Парус 8 - Панели мониторинга - ТОиР - Аналитика по ремонтам АТС
Дополнительная разметка и вёрстка клиентских элементов
*/
//---------------------
//Подключение библиотек
//---------------------
import React from "react"; //Классы React
import { Icon, Stack, Link } from "@mui/material"; //Интерфейсные компоненты
import { formatDateRF } from "../../core/utils"; //Вспомогательные функции
//---------
//Константы
//---------
//-----------
//Тело модуля
//-----------
//Формирование значения для колонки "Состояние"
const formatStateValue = (value, addText = false) => {
const [text, icon] =
value == 0
? ["Не утвержден", "clear"]
: value == 2
? ["Утвержден", "done"]
: value == 3
? ["Закрыт", "lock_outlined"]
: ["Не определен", "question_mark"];
return (
<Stack direction="row" gap={0.5} alignItems="center" justifyContent="center">
<Icon title={text}>{icon}</Icon>
{addText == true ? text : null}
</Stack>
);
};
//Формирование значения для колонки "Номер документа"
const formatNumbValue = (row, columnDef, showEquipRepairSheets) => {
return (
<Link component="button" variant="body2" align="left" underline="hover" onClick={() => showEquipRepairSheets({ nRn: row["NRN"] })}>
{row[columnDef.name]}
</Link>
);
};
//Генерация представления ячейки c данными
export const dataCellRender = ({ row, columnDef, showEquipRepairSheets }) => {
switch (columnDef.name) {
case "SNUMB":
return { data: formatNumbValue(row, columnDef, showEquipRepairSheets) };
}
};
//Форматирование значений колонок
export const valueFormatter = ({ value, columnDef }) => {
switch (columnDef.name) {
case "NSTATE":
return formatStateValue(value, false);
}
return value;
};
//Форматирование фильтров панелей для фильтров таблицы
export const formatFilterValues = filter => {
return [
{ name: "DDATEBEGIN_FILTER", from: formatDateRF(filter.dDateBegin), to: formatDateRF(filter.dDateEnd) },
{ name: "SCUSTOMERDEPT_FILTER", from: filter.sCustomerDept, to: "" },
{ name: "SWORKTYPE_FILTER", from: filter.sWorkType, to: "" },
{ name: "SWORKKIND_FILTER", from: filter.sWorkKind, to: "" },
{ name: "NSTATE_FILTER", from: filter.nState, to: "" },
{ name: "NTYPESPEND_FILTER", from: filter.nType, to: "" }
];
};