新增图层优化,loading
This commit is contained in:
parent
08775d8685
commit
bfdf00ce46
@ -113,9 +113,12 @@ body {
|
|||||||
background: url(./assets/images/modal_bg.png) no-repeat;
|
background: url(./assets/images/modal_bg.png) no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
.ant-modal-header {
|
.edit-layer-modal .ant-modal-header {
|
||||||
background: none;
|
background: none;
|
||||||
}
|
}
|
||||||
|
#edit-layer-form {
|
||||||
|
margin-top: 36px;
|
||||||
|
}
|
||||||
.ant-modal-footer {
|
.ant-modal-footer {
|
||||||
text-align: center !important;
|
text-align: center !important;
|
||||||
}
|
}
|
||||||
@ -207,3 +210,18 @@ body {
|
|||||||
background: url(./assets//icon/logout_big.png) no-repeat;
|
background: url(./assets//icon/logout_big.png) no-repeat;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
}
|
}
|
||||||
|
.ant-pro-global-header-right-content {
|
||||||
|
display: none !important;
|
||||||
|
}
|
||||||
|
#spin-show {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
position: absolute;
|
||||||
|
z-index: 9999;
|
||||||
|
}
|
||||||
|
#spin-show > span {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50% -50%);
|
||||||
|
}
|
||||||
|
@ -155,7 +155,7 @@ class LayerData extends React.Component {
|
|||||||
<Button type='primary' id='add-layer' className={this.state.treeData.length > 0 ? 'showItem' : 'hideItem'}
|
<Button type='primary' id='add-layer' className={this.state.treeData.length > 0 ? 'showItem' : 'hideItem'}
|
||||||
onClick={this.showModal}>新建图层</Button>
|
onClick={this.showModal}>新建图层</Button>
|
||||||
<Modal title="新建图层" open={this.state.isModalOpen} onOk={this.handleOk} onCancel={this.handleCancel} className='edit-layer-modal'>
|
<Modal title="新建图层" open={this.state.isModalOpen} onOk={this.handleOk} onCancel={this.handleCancel} className='edit-layer-modal'>
|
||||||
<Form name='base' onFinish={this.handleOk}>
|
<Form name='base' id='edit-layer-form' onFinish={this.handleOk}>
|
||||||
<Form.Item label="图层名称"
|
<Form.Item label="图层名称"
|
||||||
rules={[
|
rules={[
|
||||||
{
|
{
|
||||||
@ -179,7 +179,8 @@ class LayerData extends React.Component {
|
|||||||
</Radio.Group>
|
</Radio.Group>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
<Form.Item label="图层备注">
|
<Form.Item label="图层备注">
|
||||||
<Input.TextArea name='note' value={this.state.addLayer.note} onChange={this.onLayerNoteChange}/>
|
<Input.TextArea name='note' value={this.state.addLayer.note} onChange={this.onLayerNoteChange}
|
||||||
|
style={{height: '120px'}}/>
|
||||||
</Form.Item>
|
</Form.Item>
|
||||||
</Form>
|
</Form>
|
||||||
</Modal>
|
</Modal>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import React from 'react';
|
import React from 'react';
|
||||||
import { Select, Input, Card, Col, Row, Button, message, Modal } from 'antd';
|
import { Select, Input, Card, Col, Row, Button, message, Modal, Spin } from 'antd';
|
||||||
import axios from 'axios';
|
import axios from 'axios';
|
||||||
import LayerData from './LayerData';
|
import LayerData from './LayerData';
|
||||||
import { AimOutlined } from '@ant-design/icons';
|
import { AimOutlined } from '@ant-design/icons';
|
||||||
@ -50,8 +50,19 @@ class BaseMap extends React.Component{
|
|||||||
inputExplainValue: "请输入地址详情信息",
|
inputExplainValue: "请输入地址详情信息",
|
||||||
inputContent: '',
|
inputContent: '',
|
||||||
heatMapList: [],
|
heatMapList: [],
|
||||||
|
loading: false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
startLoading = () => {
|
||||||
|
this.setState({
|
||||||
|
loading: true,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
stopLoading = () => {
|
||||||
|
this.setState({
|
||||||
|
loading: false,
|
||||||
|
});
|
||||||
|
}
|
||||||
// 钩子,打开执行
|
// 钩子,打开执行
|
||||||
componentDidMount = () => {
|
componentDidMount = () => {
|
||||||
this.getAllProvince();
|
this.getAllProvince();
|
||||||
@ -84,6 +95,7 @@ class BaseMap extends React.Component{
|
|||||||
// 获取图层明细点位数据/热力图数据
|
// 获取图层明细点位数据/热力图数据
|
||||||
getLayerPoints = (layerId, selected, nodeType) => {
|
getLayerPoints = (layerId, selected, nodeType) => {
|
||||||
if (selected) {
|
if (selected) {
|
||||||
|
this.startLoading();
|
||||||
return axios.get('/api/basicMap/getLayerPoints', {
|
return axios.get('/api/basicMap/getLayerPoints', {
|
||||||
params: {
|
params: {
|
||||||
adcode: this.state.districtAdcode || this.state.cityAdcode || this.state.provinceAdcode,
|
adcode: this.state.districtAdcode || this.state.cityAdcode || this.state.provinceAdcode,
|
||||||
@ -102,6 +114,8 @@ class BaseMap extends React.Component{
|
|||||||
} else if (nodeType === 4) {
|
} else if (nodeType === 4) {
|
||||||
this.setHeatMap(layerPointsData, layerId);
|
this.setHeatMap(layerPointsData, layerId);
|
||||||
}
|
}
|
||||||
|
}).then(() => {
|
||||||
|
this.stopLoading();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
let self = this;
|
let self = this;
|
||||||
@ -124,13 +138,12 @@ class BaseMap extends React.Component{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 在地图上设置点位 【经度,纬度】
|
// 在地图上设置点位 【经度,纬度】
|
||||||
setMarkers = (data, layerId) => {debugger
|
setMarkers = (data, layerId) => {
|
||||||
let self = this;
|
let self = this;
|
||||||
let map = this.state.map;
|
let map = this.state.map;
|
||||||
let LabelsData = data || [];
|
let LabelsData = data || [];
|
||||||
let logoImage = data.length > 0 && data[0].logoImage;
|
let logoImage = data.length > 0 && data[0].logoImage;
|
||||||
// map.addImage('icon', logoImage);
|
// map.addImage( 'blueIcon',logoImage,);
|
||||||
map.addImage( 'blueIcon',logoImage,);
|
|
||||||
map.addImage('yellowIcon', icon2,);
|
map.addImage('yellowIcon', icon2,);
|
||||||
map.addImage( 'greenIcon','https://gw.alipayobjects.com/zos/basement_prod/7aa1f460-9f9f-499f-afdf-13424aa26bbf.svg',);
|
map.addImage( 'greenIcon','https://gw.alipayobjects.com/zos/basement_prod/7aa1f460-9f9f-499f-afdf-13424aa26bbf.svg',);
|
||||||
const pointLayer = new PointLayer({name: layerId})
|
const pointLayer = new PointLayer({name: layerId})
|
||||||
@ -141,7 +154,7 @@ class BaseMap extends React.Component{
|
|||||||
y: 'lat',
|
y: 'lat',
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.shape('blueIcon')
|
.shape('yellowIcon')
|
||||||
.size(20)
|
.size(20)
|
||||||
// .color('mag', mag => {
|
// .color('mag', mag => {
|
||||||
// return mag > 4.5 ? '#5B8FF9' : '#5CCEA1';
|
// return mag > 4.5 ? '#5B8FF9' : '#5CCEA1';
|
||||||
@ -364,6 +377,7 @@ class BaseMap extends React.Component{
|
|||||||
onCityChange = (cityAdcode,data) => {
|
onCityChange = (cityAdcode,data) => {
|
||||||
var self = this;
|
var self = this;
|
||||||
let getLayers = this.state.map.getLayers();
|
let getLayers = this.state.map.getLayers();
|
||||||
|
self.startLoading();
|
||||||
// let getOverlays = this.state.map.getAllOverlays();
|
// let getOverlays = this.state.map.getAllOverlays();
|
||||||
for (let i = 0; i < getLayers.length; i++) {
|
for (let i = 0; i < getLayers.length; i++) {
|
||||||
if (getLayers[i].CLASS_NAME === 'AMap.LabelsLayer') {
|
if (getLayers[i].CLASS_NAME === 'AMap.LabelsLayer') {
|
||||||
@ -372,7 +386,9 @@ class BaseMap extends React.Component{
|
|||||||
}
|
}
|
||||||
// this.state.map.remove(getOverlays);
|
// this.state.map.remove(getOverlays);
|
||||||
this.getDistrictByCity(`${cityAdcode}`);
|
this.getDistrictByCity(`${cityAdcode}`);
|
||||||
this.refs.getLayerDataFun.getBasicLayerMenu(`${cityAdcode}`);
|
this.refs.getLayerDataFun.getBasicLayerMenu(`${cityAdcode}`).then(() => {
|
||||||
|
self.stopLoading();
|
||||||
|
});
|
||||||
data && this.gotoCity(data);
|
data && this.gotoCity(data);
|
||||||
this.hideHeatMap();
|
this.hideHeatMap();
|
||||||
|
|
||||||
@ -411,6 +427,7 @@ class BaseMap extends React.Component{
|
|||||||
onDistrictChange = (provinceAdcode,data) => {
|
onDistrictChange = (provinceAdcode,data) => {
|
||||||
var self = this;
|
var self = this;
|
||||||
let getLayers = this.state.map.getLayers();
|
let getLayers = this.state.map.getLayers();
|
||||||
|
self.startLoading()
|
||||||
// let getOverlays = this.state.map.getAllOverlays();
|
// let getOverlays = this.state.map.getAllOverlays();
|
||||||
for (let i = 0; i < getLayers.length; i++) {
|
for (let i = 0; i < getLayers.length; i++) {
|
||||||
if (getLayers[i].CLASS_NAME === 'AMap.LabelsLayer') {
|
if (getLayers[i].CLASS_NAME === 'AMap.LabelsLayer') {
|
||||||
@ -418,7 +435,9 @@ class BaseMap extends React.Component{
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
// this.state.map.remove(getOverlays);
|
// this.state.map.remove(getOverlays);
|
||||||
this.refs.getLayerDataFun.getBasicLayerMenu(`${provinceAdcode}`);
|
this.refs.getLayerDataFun.getBasicLayerMenu(`${provinceAdcode}`).then(() => {
|
||||||
|
self.stopLoading();
|
||||||
|
});
|
||||||
data && this.gotoCity(data);
|
data && this.gotoCity(data);
|
||||||
this.hideHeatMap();
|
this.hideHeatMap();
|
||||||
this.setState({
|
this.setState({
|
||||||
@ -494,6 +513,7 @@ class BaseMap extends React.Component{
|
|||||||
render(){
|
render(){
|
||||||
return (
|
return (
|
||||||
<div className={styles.basseMap} id='base_map'>
|
<div className={styles.basseMap} id='base_map'>
|
||||||
|
<Spin id='spin-show' size='large' spinning={this.state.loading}></Spin>
|
||||||
<Header></Header>
|
<Header></Header>
|
||||||
{/* 筛选框 */}
|
{/* 筛选框 */}
|
||||||
<Card className={styles.selectWrap} bordered={false}>
|
<Card className={styles.selectWrap} bordered={false}>
|
||||||
|
Loading…
Reference in New Issue
Block a user