forked from ddrilling/asb_cloud_front
Исправлен зум карты на некоторых пользователях
This commit is contained in:
parent
c2647d1466
commit
bdc9a4c285
@ -1,14 +1,14 @@
|
|||||||
import { Map, Overlay } from "pigeon-maps"
|
import { Map, Overlay } from "pigeon-maps"
|
||||||
import pointer from '../images/pointer.svg'
|
import { PointerIcon } from '../components/PointerIcon'
|
||||||
import {Link} from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
import LoaderPortal from '../components/LoaderPortal'
|
import LoaderPortal from '../components/LoaderPortal'
|
||||||
import { useState, useEffect } from "react";
|
import { useState, useEffect } from "react";
|
||||||
import {ClusterService} from '../services/api'
|
import { ClusterService } from '../services/api'
|
||||||
import { invokeWebApiWrapperAsync } from "../components/factory"
|
import { invokeWebApiWrapperAsync } from "../components/factory"
|
||||||
|
|
||||||
const calcViewParams = (clusters) => {
|
const calcViewParams = (clusters) => {
|
||||||
if ((!clusters) || clusters.length === 0)
|
if ((!clusters) || clusters.length === 0)
|
||||||
return {center:[60.81226, 70.0562], zoom: 5}
|
return { center: [60.81226, 70.0562], zoom: 5 }
|
||||||
|
|
||||||
const center = clusters.reduce((sum, cluster) => {
|
const center = clusters.reduce((sum, cluster) => {
|
||||||
sum[0] += (cluster.latitude / clusters.length)
|
sum[0] += (cluster.latitude / clusters.length)
|
||||||
@ -27,44 +27,44 @@ const calcViewParams = (clusters) => {
|
|||||||
// zoom min = 1 (mega far)
|
// zoom min = 1 (mega far)
|
||||||
// 4 - full Russia (161.6 deg)
|
// 4 - full Russia (161.6 deg)
|
||||||
// 13.5 - Khanty-Mansiysk
|
// 13.5 - Khanty-Mansiysk
|
||||||
let zoom = 5 + 5/maxDeg
|
let zoom = 5 + 5 / (maxDeg + 0.5)
|
||||||
zoom = zoom < 5 ? 5: zoom
|
zoom = zoom < 5 ? 5 : zoom
|
||||||
zoom = zoom > 15 ? 15: zoom
|
zoom = zoom > 15 ? 15 : zoom
|
||||||
|
|
||||||
return {center, zoom}
|
return { center, zoom }
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Deposit() {
|
export default function Deposit() {
|
||||||
const [clustersData, setClustersData] = useState([])
|
const [clustersData, setClustersData] = useState([])
|
||||||
const [showLoader, setShowLoader] = useState(false)
|
const [showLoader, setShowLoader] = useState(false)
|
||||||
|
|
||||||
useEffect(()=>invokeWebApiWrapperAsync(async()=>{
|
useEffect(() => invokeWebApiWrapperAsync(async () => {
|
||||||
const data = await ClusterService.getClusters()
|
const data = await ClusterService.getClusters()
|
||||||
setClustersData(data)
|
setClustersData(data)
|
||||||
},
|
},
|
||||||
setShowLoader,
|
setShowLoader,
|
||||||
`Не удалось загрузить список кустов`),
|
`Не удалось загрузить список кустов`),
|
||||||
[])
|
[])
|
||||||
|
|
||||||
const viewParams = calcViewParams(clustersData)
|
const viewParams = calcViewParams(clustersData)
|
||||||
const markers = clustersData.map(cluster =>
|
|
||||||
<Overlay
|
|
||||||
width={32}
|
|
||||||
anchor={[cluster.latitude, cluster.longitude]}
|
|
||||||
key={`${cluster.latitude} ${cluster.longitude}`}>
|
|
||||||
<Link to={`/cluster/${cluster.id}/all`}>
|
|
||||||
<img width={40} src={pointer} alt="+"/>
|
|
||||||
<span>{cluster.caption}</span>
|
|
||||||
</Link>
|
|
||||||
</Overlay >)
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<LoaderPortal show={showLoader}>
|
<LoaderPortal show={showLoader}>
|
||||||
<div className={'h-100vh'}>
|
<div className={'h-100vh'}>
|
||||||
<Map {...viewParams}>
|
<Map {...viewParams}>
|
||||||
{markers}
|
{clustersData.map(cluster =>
|
||||||
|
<Overlay
|
||||||
|
width={32}
|
||||||
|
anchor={[cluster.latitude, cluster.longitude]}
|
||||||
|
key={`${cluster.latitude} ${cluster.longitude}`}>
|
||||||
|
<Link to={`/cluster/${cluster.id}/all`}>
|
||||||
|
<PointerIcon color={'black'} />
|
||||||
|
<span>{cluster.caption}</span>
|
||||||
|
</Link>
|
||||||
|
</Overlay >
|
||||||
|
)}
|
||||||
</Map>
|
</Map>
|
||||||
</div>
|
</div>
|
||||||
</LoaderPortal>
|
</LoaderPortal>
|
||||||
);
|
)
|
||||||
}
|
}
|
||||||
|
@ -42,6 +42,7 @@ export type { WellOperationCategoryDto } from './models/WellOperationCategoryDto
|
|||||||
export type { WellOperationDto } from './models/WellOperationDto';
|
export type { WellOperationDto } from './models/WellOperationDto';
|
||||||
export type { WellOperationDtoPaginationContainer } from './models/WellOperationDtoPaginationContainer';
|
export type { WellOperationDtoPaginationContainer } from './models/WellOperationDtoPaginationContainer';
|
||||||
export type { WellOperationDtoPlanFactPredictBase } from './models/WellOperationDtoPlanFactPredictBase';
|
export type { WellOperationDtoPlanFactPredictBase } from './models/WellOperationDtoPlanFactPredictBase';
|
||||||
|
export type { WellParamsDto } from './models/WellParamsDto';
|
||||||
|
|
||||||
export { AdminClusterService } from './services/AdminClusterService';
|
export { AdminClusterService } from './services/AdminClusterService';
|
||||||
export { AdminCompanyService } from './services/AdminCompanyService';
|
export { AdminCompanyService } from './services/AdminCompanyService';
|
||||||
|
@ -10,6 +10,8 @@ export type StatWellDto = {
|
|||||||
id?: number;
|
id?: number;
|
||||||
caption?: string | null;
|
caption?: string | null;
|
||||||
wellType?: string | null;
|
wellType?: string | null;
|
||||||
|
state?: string | null;
|
||||||
|
lastTelemetryDate?: string;
|
||||||
sections?: Array<StatSectionDto> | null;
|
sections?: Array<StatSectionDto> | null;
|
||||||
total?: StatOperationsDtoPlanFactBase;
|
total?: StatOperationsDtoPlanFactBase;
|
||||||
companies?: Array<CompanyDto> | null;
|
companies?: Array<CompanyDto> | null;
|
||||||
|
@ -10,6 +10,9 @@ export type UserDto = {
|
|||||||
name?: string | null;
|
name?: string | null;
|
||||||
surname?: string | null;
|
surname?: string | null;
|
||||||
patronymic?: string | null;
|
patronymic?: string | null;
|
||||||
|
email?: string | null;
|
||||||
|
phone?: string | null;
|
||||||
|
position?: string | null;
|
||||||
id?: number;
|
id?: number;
|
||||||
idCompany?: number | null;
|
idCompany?: number | null;
|
||||||
idRole?: number | null;
|
idRole?: number | null;
|
||||||
|
@ -8,6 +8,9 @@ export type UserTokenDto = {
|
|||||||
name?: string | null;
|
name?: string | null;
|
||||||
surname?: string | null;
|
surname?: string | null;
|
||||||
patronymic?: string | null;
|
patronymic?: string | null;
|
||||||
|
email?: string | null;
|
||||||
|
phone?: string | null;
|
||||||
|
position?: string | null;
|
||||||
id?: number;
|
id?: number;
|
||||||
companyName?: string | null;
|
companyName?: string | null;
|
||||||
roleName?: string | null;
|
roleName?: string | null;
|
||||||
|
@ -12,6 +12,7 @@ export type WellDto = {
|
|||||||
latitude?: number | null;
|
latitude?: number | null;
|
||||||
longitude?: number | null;
|
longitude?: number | null;
|
||||||
wellType?: string | null;
|
wellType?: string | null;
|
||||||
|
idState?: number;
|
||||||
lastTelemetryDate?: string;
|
lastTelemetryDate?: string;
|
||||||
telemetry?: TelemetryDto;
|
telemetry?: TelemetryDto;
|
||||||
}
|
}
|
||||||
|
11
src/services/api/models/WellParamsDto.ts
Normal file
11
src/services/api/models/WellParamsDto.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
/* istanbul ignore file */
|
||||||
|
/* tslint:disable */
|
||||||
|
/* eslint-disable */
|
||||||
|
|
||||||
|
export type WellParamsDto = {
|
||||||
|
caption?: string | null;
|
||||||
|
latitude?: number | null;
|
||||||
|
longitude?: number | null;
|
||||||
|
idWellType?: number;
|
||||||
|
idState?: number;
|
||||||
|
}
|
@ -2,11 +2,13 @@
|
|||||||
/* tslint:disable */
|
/* tslint:disable */
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
import type { WellDto } from '../models/WellDto';
|
import type { WellDto } from '../models/WellDto';
|
||||||
|
import type { WellParamsDto } from '../models/WellParamsDto';
|
||||||
import { request as __request } from '../core/request';
|
import { request as __request } from '../core/request';
|
||||||
|
|
||||||
export class WellService {
|
export class WellService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Возвращает список доступных скважин
|
||||||
* @returns WellDto Success
|
* @returns WellDto Success
|
||||||
* @throws ApiError
|
* @throws ApiError
|
||||||
*/
|
*/
|
||||||
@ -19,6 +21,31 @@ export class WellService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* Редактирует указанные поля скважины
|
||||||
|
* @param idWell Id скважины
|
||||||
|
* @param requestBody Объект параметров скважины.
|
||||||
|
* IdWellType: 1 - Наклонно-направленная, 2 - Горизонтальная.
|
||||||
|
* State: 0 - Неизвестно, 1 - В работе, 2 - Завершена.
|
||||||
|
* @returns number Success
|
||||||
|
* @throws ApiError
|
||||||
|
*/
|
||||||
|
public static async updateWell(
|
||||||
|
idWell?: number,
|
||||||
|
requestBody?: WellParamsDto,
|
||||||
|
): Promise<number> {
|
||||||
|
const result = await __request({
|
||||||
|
method: 'PUT',
|
||||||
|
path: `/api/well`,
|
||||||
|
query: {
|
||||||
|
'idWell': idWell,
|
||||||
|
},
|
||||||
|
body: requestBody,
|
||||||
|
});
|
||||||
|
return result.body;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Возвращает список скважин, передающих телеметрию в данный момент
|
||||||
* @returns WellDto Success
|
* @returns WellDto Success
|
||||||
* @throws ApiError
|
* @throws ApiError
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user