maket sage0

This commit is contained in:
Фролов 2021-04-08 12:29:19 +05:00
parent ef8bca20a4
commit d4d51941d7
8 changed files with 85 additions and 9 deletions

65
package-lock.json generated
View File

@ -1873,6 +1873,28 @@
"integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==",
"dev": true
},
"@microsoft/signalr": {
"version": "5.0.5",
"resolved": "https://registry.npmjs.org/@microsoft/signalr/-/signalr-5.0.5.tgz",
"integrity": "sha512-1aIr9LfuVHkJA6YHvJ9+V2GPUOlVtH94babg4LmBHk3tO7bI9YDHz3axYsp/GI5MVMqCKg/7BzEorr6zs/w2XA==",
"requires": {
"abort-controller": "^3.0.0",
"eventsource": "^1.0.7",
"fetch-cookie": "^0.7.3",
"node-fetch": "^2.6.0",
"ws": "^6.0.0"
},
"dependencies": {
"ws": {
"version": "6.2.1",
"resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz",
"integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==",
"requires": {
"async-limiter": "~1.0.0"
}
}
}
},
"@nodelib/fs.scandir": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz",
@ -2768,6 +2790,14 @@
"resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz",
"integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q=="
},
"abort-controller": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
"integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
"requires": {
"event-target-shim": "^5.0.0"
}
},
"accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
@ -5677,6 +5707,11 @@
"next-tick": "~1.0.0"
}
},
"es6-denodeify": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/es6-denodeify/-/es6-denodeify-0.1.5.tgz",
"integrity": "sha1-MdTV/pxVA+ElRgQ5MQ4WoqPznB8="
},
"es6-iterator": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz",
@ -6338,6 +6373,11 @@
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc="
},
"event-target-shim": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
"integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
},
"eventemitter3": {
"version": "4.0.7",
"resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
@ -6687,6 +6727,26 @@
"bser": "2.1.1"
}
},
"fetch-cookie": {
"version": "0.7.3",
"resolved": "https://registry.npmjs.org/fetch-cookie/-/fetch-cookie-0.7.3.tgz",
"integrity": "sha512-rZPkLnI8x5V+zYAiz8QonAHsTb4BY+iFowFBI1RFn0zrO343AVp9X7/yUj/9wL6Ef/8fLls8b/vGtzUvmyAUGA==",
"requires": {
"es6-denodeify": "^0.1.1",
"tough-cookie": "^2.3.3"
},
"dependencies": {
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz",
"integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==",
"requires": {
"psl": "^1.1.28",
"punycode": "^2.1.1"
}
}
}
},
"figgy-pudding": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
@ -10814,6 +10874,11 @@
}
}
},
"node-fetch": {
"version": "2.6.1",
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw=="
},
"node-forge": {
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz",

View File

@ -4,6 +4,7 @@
"private": true,
"dependencies": {
"@craco/craco": "^6.1.1",
"@microsoft/signalr": "^5.0.5",
"@testing-library/jest-dom": "^5.11.10",
"@testing-library/react": "^11.2.6",
"@testing-library/user-event": "^12.8.3",

5
src/context/Context.js Normal file
View File

@ -0,0 +1,5 @@
import {createContext} from 'react'
const Context = createContext()
export default Context

View File

@ -27,7 +27,7 @@ export default function Login() {
const logoIcon = <img src={logo} alt="АСБ" className="logo"/>
let handleSubmit = async (formData) =>{
let handleLogin = async (formData) =>{
setLoader(true)
try{
let user = await login(formData)
@ -44,7 +44,7 @@ export default function Login() {
return (
<div className='login_page shadow'>
<Card title="Система мониторинга" className='shadow' bordered={true} style={{ width: 350 }} extra={logoIcon}>
<Form onFinish={handleSubmit}>
<Form onFinish={handleLogin}>
<Form.Item
name="login"
rules={[{ required: true, message: 'Пожалуйста введите имя!' }]}>

View File

@ -4,6 +4,7 @@ import logo from '../images/logo_32.png'
import { useState } from 'react'
import { Switch, Route, Redirect, Link} from "react-router-dom"
import Wells from './Wells'
import Well from './Well'
import Files from './Files'
const { Header, Content, Sider } = Layout
@ -12,7 +13,7 @@ export default function Main(){
const [sidebarVisible, setSidebarVisible] = useState(true)
const login = localStorage['login']
let handlerExit = ()=>{
let handleLogout = () => {
localStorage.removeItem('login')
localStorage.removeItem('token')
}
@ -23,7 +24,7 @@ export default function Main(){
<Button icon={<MenuOutlined />} onClick={()=>setSidebarVisible(!sidebarVisible)}/>
<img src={logo} alt="АСБ" className="logo"/>
<h1 className="title">Мониторинг</h1>
<Link to="/login" onClick={handlerExit}>
<Link to="/login" onClick={handleLogout}>
<Button icon={<UserOutlined/>}>
({login}) Выход
</Button>
@ -55,7 +56,7 @@ export default function Main(){
<Files />
</Route>
<Route path="/well/:id">
<Wells/>
<Well/>
</Route>
<Route path="/well">
<Wells />

View File

@ -1,3 +1,6 @@
import {useParams} from 'react-router-dom'
export default function Well(props){
return(<div>Well id: {props.id}</div>)
let { id } = useParams();
return(<div>Well id: {id}</div>)
}

View File

@ -1,5 +1,5 @@
import React, { useState, useEffect } from 'react';
import { WellService, OpenAPI } from '../services/api'
import { WellService } from '../services/api'
import Loader from '../components/Loader'
import { Table } from 'antd';
import { useHistory } from 'react-router-dom'
@ -35,6 +35,7 @@ export default function Wells(props){
let updateWellsList = async () => {
setLoader(true)
try{
setWells( await WellService.get())
}
catch(e){
@ -52,7 +53,7 @@ export default function Wells(props){
columns={columns}
onRow={(record, rowIndex) => {
return {
onClick: event => {history.push(`wells/${record.id}`)},
onClick: event => {history.push(`well/${record.id}`)},
};
}}/>
{loader&&<Loader/>}