forked from ddrilling/asb_cloud_front
CF2-6 Добавлена страница формирования отчёта. Добавлены элементы.
This commit is contained in:
parent
86974e201b
commit
d59e5a0fe4
1
package-lock.json
generated
1
package-lock.json
generated
@ -18,6 +18,7 @@
|
|||||||
"chartjs-plugin-datalabels": "^2.0.0-beta.1",
|
"chartjs-plugin-datalabels": "^2.0.0-beta.1",
|
||||||
"craco-less": "^1.17.1",
|
"craco-less": "^1.17.1",
|
||||||
"date-fns": "^2.20.0",
|
"date-fns": "^2.20.0",
|
||||||
|
"moment": "^2.29.1",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-datepicker": "^3.8.0",
|
"react-datepicker": "^3.8.0",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
|
@ -14,6 +14,7 @@
|
|||||||
"chartjs-plugin-datalabels": "^2.0.0-beta.1",
|
"chartjs-plugin-datalabels": "^2.0.0-beta.1",
|
||||||
"craco-less": "^1.17.1",
|
"craco-less": "^1.17.1",
|
||||||
"date-fns": "^2.20.0",
|
"date-fns": "^2.20.0",
|
||||||
|
"moment": "^2.29.1",
|
||||||
"react": "^17.0.2",
|
"react": "^17.0.2",
|
||||||
"react-datepicker": "^3.8.0",
|
"react-datepicker": "^3.8.0",
|
||||||
"react-dom": "^17.0.2",
|
"react-dom": "^17.0.2",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import ChartDataLabels from 'chartjs-plugin-datalabels'
|
import ChartDataLabels from 'chartjs-plugin-datalabels'
|
||||||
|
|
||||||
const defaoultOptionsDeepLabels = {
|
const defaultOptionsDepthLabels = {
|
||||||
borderWidth: 1,
|
borderWidth: 1,
|
||||||
borderColor: black,
|
borderColor: black,
|
||||||
borderRadius: 4,
|
borderRadius: 4,
|
@ -1,32 +1,98 @@
|
|||||||
import React, { useState } from "react";
|
import React, { useState } from "react";
|
||||||
import DatePicker, { registerLocale, setDefaultLocale } from "react-datepicker";
|
import {
|
||||||
import ru from 'date-fns/locale/ru';
|
DatePicker,
|
||||||
|
Radio,
|
||||||
import "react-datepicker/dist/react-datepicker.css";
|
ConfigProvider,
|
||||||
|
Button,
|
||||||
|
Select,
|
||||||
|
Checkbox,
|
||||||
|
Pagination
|
||||||
|
} from 'antd';
|
||||||
|
import 'moment/locale/ru';
|
||||||
|
import locale from 'antd/lib/locale/ru_RU';
|
||||||
|
|
||||||
|
|
||||||
registerLocale('ru', ru)
|
const { RangePicker } = DatePicker;
|
||||||
|
const { Option } = Select;
|
||||||
|
|
||||||
export default function Report(props){
|
|
||||||
|
// Расширение файла для составленного рапорта
|
||||||
|
const ExeptionFileChecker = () => {
|
||||||
|
const [value, setValue] = React.useState(1);
|
||||||
|
const onChange = e => {
|
||||||
|
console.log('radio checked', e.target.value);
|
||||||
|
setValue(e.target.value);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (<Radio.Group onChange={onChange} value={value}>
|
||||||
|
<Radio value={1}>PDF</Radio>
|
||||||
|
<Radio value={2}>LAS</Radio>
|
||||||
|
</Radio.Group>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Выбор периода времени
|
||||||
const PeriodOfTime = () => {
|
const PeriodOfTime = () => {
|
||||||
const [startDate, setStartDate] = useState(new Date());
|
const [startDate, setStartDate] = useState(new Date());
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<DatePicker
|
<ConfigProvider locale={locale}>
|
||||||
selected={startDate}
|
<RangePicker
|
||||||
onChange={date => setStartDate(date)}
|
showTime
|
||||||
locale='ru'
|
|
||||||
/>
|
/>
|
||||||
);
|
</ConfigProvider>
|
||||||
};
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Выбор содержимого
|
||||||
|
const ContentSelection = () => {
|
||||||
|
function onChange(e) {
|
||||||
|
console.log(`checked = ${e.target.checked}`);
|
||||||
|
}
|
||||||
|
|
||||||
return (<>
|
return (<>
|
||||||
<h2>Рапорт</h2>
|
<Checkbox onChange={onChange}>Графики</Checkbox>
|
||||||
<h3>Выбор за период времени и расширение файла</h3>
|
<Checkbox onChange={onChange}>Сообщения</Checkbox>
|
||||||
<select>
|
|
||||||
<option>las</option>
|
|
||||||
<option>pdf</option>
|
|
||||||
</select>
|
|
||||||
<PeriodOfTime />
|
|
||||||
</>
|
</>
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Выбор шага графика
|
||||||
|
const GraphicStep = () => {
|
||||||
|
function handleChange(value) {
|
||||||
|
console.log(`selected ${value}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Select defaultValue="1 minute" style={{ width: 100 }} onChange={handleChange}>
|
||||||
|
<Option value="1 minute">1 минута</Option>
|
||||||
|
<Option value="1 day">1 день</Option>
|
||||||
|
<Option value="1 week">1 неделя</Option>
|
||||||
|
</Select>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Экспорт рендера
|
||||||
|
export default function Report(props) {
|
||||||
|
return (<>
|
||||||
|
<h2>Рапорт</h2>
|
||||||
|
<hr />
|
||||||
|
<h3>Выбор за период времени и расширение файла</h3>
|
||||||
|
<PeriodOfTime />
|
||||||
|
<h3>Шаг графиков</h3>
|
||||||
|
<GraphicStep />
|
||||||
|
{/* <h3>Содержимое отчёта</h3>
|
||||||
|
<ContentSelection /> */}
|
||||||
|
<div></div>
|
||||||
|
<ExeptionFileChecker />
|
||||||
|
<p>*Предполагаемое колличество страниц</p>
|
||||||
|
<hr />
|
||||||
|
<div>
|
||||||
|
<Button type="primary" style={{ display: 'flex', alignItems: 'center', padding: '20px', borderRadius: '5px' }}>Получить рапорт</Button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO ограничить датапикер по дате за 3 дня до
|
||||||
|
Loading…
Reference in New Issue
Block a user