Commit ded01661 authored by suhuiguang's avatar suhuiguang

Merge branch 'developer' of http://172.16.10.76/station/amos-station-module-view into developer

# Conflicts: # mods/components/3dviewConvertor/view/moduleEditComponent/AreaLeftTree.js
parents 623735d3 4fb030cc
...@@ -53,6 +53,7 @@ class PointsPool extends Component { ...@@ -53,6 +53,7 @@ class PointsPool extends Component {
} }
onMarkersCreated = (type, { markersCache }) => { onMarkersCreated = (type, { markersCache }) => {
this.markerList[type] = markersCache; this.markerList[type] = markersCache;
(markersCache || []).forEach(mc => { (markersCache || []).forEach(mc => {
const extData = mc.getExtData(); const extData = mc.getExtData();
......
...@@ -14,15 +14,20 @@ class PromptModal extends Component { ...@@ -14,15 +14,20 @@ class PromptModal extends Component {
} }
}; };
saveData = () => { saveData = () => {
const { isback, type } = this.props.promptData; const { isback, type,pointType,pointParams } = this.props.promptData;
if (isback) {
this.props.handleOutExceptModel();
}
this.props.closePromptModal(); this.props.closePromptModal();
if (type === 'region') { if (type === 'region') {
this.props.saveAreaData(); this.props.saveAreaData();
} else { } else {
this.props.savePointData(); if (isback){
this.props.savePointData();
} else {
this.props.savePointAndRefreshMarker(pointType,pointParams);
}
}
if (isback) {
this.props.handleOutExceptModel();
} }
}; };
render() { render() {
...@@ -34,7 +39,7 @@ class PromptModal extends Component { ...@@ -34,7 +39,7 @@ class PromptModal extends Component {
content={ content={
<div className="prompt-content"> <div className="prompt-content">
<div>{promptData.promptContent}</div> <div>{promptData.promptContent}</div>
{promptData.btnType == 'isOk' ? ( {promptData.btnType === 'isOk' ? (
<div className="prompt-buttons"> <div className="prompt-buttons">
<span className={'promptOk'} onClick={this.saveData} /> <span className={'promptOk'} onClick={this.saveData} />
<span className={'promptNo'} onClick={this.cancel} /> <span className={'promptNo'} onClick={this.cancel} />
......
...@@ -987,7 +987,17 @@ class View3D extends Component { ...@@ -987,7 +987,17 @@ class View3D extends Component {
pointType: selectPoints.type, pointType: selectPoints.type,
position3d: `` position3d: ``
}); });
this.savePointAndRefreshMarker(pointType,pointParams); this.setState({ promptData: {
promptvisible: true,
promptContent: '确定将选中删除?',
type: 'point',
btnType: 'isOk',
isback: false,
pointType,
pointParams
}
});
//this.savePointAndRefreshMarker(pointType,pointParams);
} else if (selectPoints && selectPoints.isRegion && selectPoints.children){ } else if (selectPoints && selectPoints.isRegion && selectPoints.children){
let pointParams = []; let pointParams = [];
pointParams = selectPoints.children.filter(e => e.position3d && e.position3d.length > 0).map(item=>{ pointParams = selectPoints.children.filter(e => e.position3d && e.position3d.length > 0).map(item=>{
...@@ -997,13 +1007,15 @@ class View3D extends Component { ...@@ -997,13 +1007,15 @@ class View3D extends Component {
position3d: '' position3d: ''
}; };
}); });
this.savePointAndRefreshMarker(pointType,pointParams); //this.savePointAndRefreshMarker(pointType,pointParams);
this.setState({ promptData: { this.setState({ promptData: {
promptvisible: true, promptvisible: true,
promptContent: '是否删除该区域下所有点?', promptContent: '是否删除该区域下所有点?',
type: 'point', type: 'point',
btnType: 'isOk', btnType: 'isOk',
isback: false isback: false,
pointType,
pointParams
} }
}); });
} }
...@@ -1143,12 +1155,13 @@ class View3D extends Component { ...@@ -1143,12 +1155,13 @@ class View3D extends Component {
this.setState({ this.setState({
pointType, pointType,
treeData: [], treeData: [],
treeDataList: [],
selectArea: '', selectArea: '',
selectPoints: '', selectPoints: '',
dragItem: '' dragItem: ''
}); });
getPointTreeAction(pointType).then(data => { getPointTreeAction(pointType).then(data => {
//alert(JSON.stringify(data)) this.generateList(data);
this.getPointList(pointType,data); this.getPointList(pointType,data);
this.setState({ this.setState({
pointType, pointType,
...@@ -1202,6 +1215,7 @@ class View3D extends Component { ...@@ -1202,6 +1215,7 @@ class View3D extends Component {
} }
const isInside = this.polygonRegion[dragItem.parentId].pointInPolygon([position.x,position.y,position.z]); const isInside = this.polygonRegion[dragItem.parentId].pointInPolygon([position.x,position.y,position.z]);
console.log(isInside); console.log(isInside);
if (dragItem) { if (dragItem) {
if (isInside === false) { if (isInside === false) {
message.danger('只能放置在当前区域'); message.danger('只能放置在当前区域');
...@@ -1267,28 +1281,6 @@ class View3D extends Component { ...@@ -1267,28 +1281,6 @@ class View3D extends Component {
}); });
} }
} }
changeMarkerType = (item, isCancel) => {
const { markers } = this.state;
if (item.isLine) {
this.setState({
toggleRoad: !isCancel
});
} else {
if (isCancel) {
markers[item.type] = [];
this.setState({
markers
});
} else {
// if (totalDelta < mousewheelCount) {
this.asyncLoadMarkerData(item.type);
}
}
};
asyncLoadMarkerData = (markerType, riskSourceId) => { asyncLoadMarkerData = (markerType, riskSourceId) => {
const { markers } = this.state; const { markers } = this.state;
this.setState({ showMap: false }); this.setState({ showMap: false });
...@@ -1729,6 +1721,7 @@ class View3D extends Component { ...@@ -1729,6 +1721,7 @@ class View3D extends Component {
<PromptModal promptData={promptData} <PromptModal promptData={promptData}
saveAreaData={this.saveAreaData} saveAreaData={this.saveAreaData}
handleOutExceptModel={this.handleOutExceptModel} handleOutExceptModel={this.handleOutExceptModel}
savePointAndRefreshMarker={(pointType,pointParams)=>this.savePointAndRefreshMarker(pointType,pointParams)}
savePointData={this.savePointData} savePointData={this.savePointData}
closePromptModal={this.closePromptModal} closePromptModal={this.closePromptModal}
/> />
......
...@@ -86,8 +86,7 @@ class AreaLeftTree extends Component { ...@@ -86,8 +86,7 @@ class AreaLeftTree extends Component {
expandedKeys, expandedKeys,
autoExpandParent: false autoExpandParent: false
}); });
}; }
onTreeSelect = (selectedKeys, info) => { onTreeSelect = (selectedKeys, info) => {
console.log('onSelect', info); console.log('onSelect', info);
...@@ -96,12 +95,11 @@ class AreaLeftTree extends Component { ...@@ -96,12 +95,11 @@ class AreaLeftTree extends Component {
selectedKeys selectedKeys
}); });
this.props.selectItemChange(selectItem); this.props.selectItemChange(selectItem);
}; }
renderTreeNodes = (data) => {
renderTreeNodes = data => { let { searchValue } = this.state;
const { searchValue } = this.state;
if (data.length > 0) { if (data.length > 0) {
return data.map(item => { return data.map((item) => {
const index = item.name.indexOf(searchValue); const index = item.name.indexOf(searchValue);
const beforeStr = item.name.substr(0, index); const beforeStr = item.name.substr(0, index);
const afterStr = item.name.substr(index + searchValue.length); const afterStr = item.name.substr(index + searchValue.length);
...@@ -128,14 +126,12 @@ class AreaLeftTree extends Component { ...@@ -128,14 +126,12 @@ class AreaLeftTree extends Component {
<TreeNode <TreeNode
title={ title={
<div> <div>
{' '}
{ {
<span> <span >
{' '} {title}
{title}{' '} <span className='icon'>
<span className="icon"> {
{' '} item.isBind ? '' :
{item.isBind ? '' :
<img <img
src={moduleEditIcon.editBtn} src={moduleEditIcon.editBtn}
alt="" alt=""
...@@ -145,17 +141,17 @@ class AreaLeftTree extends Component { ...@@ -145,17 +141,17 @@ class AreaLeftTree extends Component {
this.props.startDrow(item); this.props.startDrow(item);
}} }}
/> />
}{' '} }
{item.isBind ? <img src={moduleEditIcon.bindedTip} alt="" /> : item.routePath ? <img src={moduleEditIcon.noSaveTip} alt="" /> : <img src={moduleEditIcon.noSaveTip} alt="" />}{' '} {item.isBind ? <img src={moduleEditIcon.bindedTip} alt="" /> : item.routePath ? <img src={moduleEditIcon.noSaveTip} alt="" /> : <img src={moduleEditIcon.noSaveTip} alt="" />}
</span>{' '} </span>
</span> </span>
}{' '} }
</div> </div>
} }
key={item.id} key={item.id}
dataRef={item} dataRef={item}
> >
{this.renderTreeNodes(item.children)}{' '} {this.renderTreeNodes(item.children)}
</TreeNode> </TreeNode>
); );
} }
......
...@@ -66,9 +66,8 @@ class PointLeftTree extends Component { ...@@ -66,9 +66,8 @@ class PointLeftTree extends Component {
this.setState({ pointType: value }); this.setState({ pointType: value });
this.props.pointTypeChange(value); this.props.pointTypeChange(value);
} }
onSearchChange = e => { onSearchChange = (e,value) => {
const { treeDataList,treeData } = this.state; const { treeDataList,treeData } = this.state;
const value = e.target.value;
const expandedKeys = treeDataList const expandedKeys = treeDataList
.map(item => { .map(item => {
if (item.title.indexOf(value) > -1) { if (item.title.indexOf(value) > -1) {
......
...@@ -2,13 +2,13 @@ import React, { Component } from 'react'; ...@@ -2,13 +2,13 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { utils } from 'amos-tool'; import { utils } from 'amos-tool';
import { Markers } from 'amos-3d/lib/designer'; import { Markers } from 'amos-3d/lib/designer';
import { BaseObjHelper } from 'base-r3d/lib/factory';
import formatUrl from 'amos-processor/lib/utils/urlFormat'; import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { CONSTS } from './../../consts/storageConsts'; import { CONSTS } from './../../consts/storageConsts';
import PointDialog from './PointDialog'; import PointDialog from './PointDialog';
import { tirggerPlanTopic } from './../dataProcessor'; import { tirggerPlanTopic } from './../dataProcessor';
import { marker3DIoncMapper, markerTitleBgMapper } from './../../consts/imgStatic'; import { marker3DIoncMapper, markerTitleBgMapper } from './../../consts/imgStatic';
import MarkerIcon from './MarkerIcon'; import { eventTopics, isPointEvent , isLevelFilter } from './../consts';
import { parseMarkers, parseLevelFilter } from '../dataProcessor';
const getIcon = (markerType, level) => { const getIcon = (markerType, level) => {
// return marker3DIoncMapper[`${markerType}_${level}`]; // return marker3DIoncMapper[`${markerType}_${level}`];
...@@ -18,17 +18,17 @@ const getIcon = (markerType, level) => { ...@@ -18,17 +18,17 @@ const getIcon = (markerType, level) => {
return marker3DIoncMapper[`${markerType}`]; return marker3DIoncMapper[`${markerType}`];
}; };
const createMarkerLabel = text => { // const createMarkerLabel = text => {
const div = document.createElement('div'); // const div = document.createElement('div');
div.style.position = 'absolute'; // div.style.position = 'absolute';
div.style.marginTop = '-3rem'; // div.style.marginTop = '-3rem';
div.className = 'three-ui-anchor'; // div.className = 'three-ui-anchor';
div.innerText = text; // div.innerText = text;
return div; // return div;
}; // };
const urlMapper = { const urlMapper = {
fireCar: { file: 'fire-car', label: '消防车' }, fireCar: { file: 'fire-car', label: '消防车' },
fireEquipment: { file: 'pool', label: '消防' }, fireEquipment: { file: 'fireEquip', label: '消防设备' },
fireFoamRoom: { file: 'fireFoam', label: '泡沫间' }, fireFoamRoom: { file: 'fireFoam', label: '泡沫间' },
fireChamber: { file: 'fireChamber', label: '消防室' }, fireChamber: { file: 'fireChamber', label: '消防室' },
hydrant: { file: 'hydrant', label: '消防栓' }, hydrant: { file: 'hydrant', label: '消防栓' },
...@@ -47,6 +47,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options) { ...@@ -47,6 +47,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
constructor(props) { constructor(props) {
super(props); super(props);
this.markerList = {};
this.markerEvents = { this.markerEvents = {
click: this.onMarkerClick, click: this.onMarkerClick,
// dblclick: this.onMarkerDblClick, // dblclick: this.onMarkerDblClick,
...@@ -83,12 +84,23 @@ export default function marker3DFactory(WrappedComponent = 'div', options) { ...@@ -83,12 +84,23 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
componentWillMount = () => { componentWillMount = () => {
this.setState({ planStarted: this.props.planStarted }); this.setState({ planStarted: this.props.planStarted });
}; };
componentDidMount() {
this.props.subscribe(eventTopics.base3d_view, (topic, data) => {
if (isPointEvent(topic)){
parseMarkers(this, topic, data);
} else if (isLevelFilter(topic)) {
parseLevelFilter(this, topic, data);
}
});
this.props.subscribe('base3d.fromws1.showFireTruckRoute', (topic, data) => {
parseMarkers(this, topic, data);
});
}
componentWillReceiveProps = nextProps => { componentWillReceiveProps = nextProps => {
if (nextProps.isEditMode) { if (nextProps.isEditMode) {
this.markersCache.eachValue(obj => { this.markersCache.eachValue(obj => {
// this.setTopCardConf(obj, obj.extData); // this.setTopCardConf(obj, obj.extData);
if (nextProps.selectPoints.type == obj.extData.type && nextProps.selectPoints.id == obj.extData.id) { if (nextProps.selectPoints.type === obj.extData.type && nextProps.selectPoints.id === obj.extData.id) {
this.setTwinkleConf(obj); this.setTwinkleConf(obj);
} }
}); });
...@@ -150,16 +162,15 @@ export default function marker3DFactory(WrappedComponent = 'div', options) { ...@@ -150,16 +162,15 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined; this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined;
markersCache.eachValue(obj => { markersCache.eachValue(obj => {
this.setTopCardConf(obj, obj.extData); this.setTopCardConf(obj, obj.extData);
if (obj.extData.type === 'riskSource' && markerType != 'impEquipmentMode' && !isEditMode) { if (obj.extData.type === 'riskSource' && markerType !== 'impEquipmentMode' && !isEditMode) {
this.setTwinkleConf(obj); this.setTwinkleConf(obj);
} }
}); });
}; };
setTwinkleConf = obj => { setTwinkleConf = obj => {
const { twinkle, frequency } = obj.extData; const { twinkle, frequency } = obj.extData;
let pulsePeriod = twinkle && frequency != 0 ? 1 / frequency : null; let pulsePeriod = twinkle && frequency !== 0 ? 1 / frequency : null;
let color = twinkle && frequency != 0 ? '#FF0000' : null; let color = twinkle && frequency !== 0 ? '#FF0000' : null;
if (!obj.baseObjHelper.outlineHelper) { if (!obj.baseObjHelper.outlineHelper) {
obj.baseObjHelper.setOutlineHelper(this.outlineHelper); obj.baseObjHelper.setOutlineHelper(this.outlineHelper);
} }
......
...@@ -260,14 +260,18 @@ class SearchPane extends Component { ...@@ -260,14 +260,18 @@ class SearchPane extends Component {
} }
} }
closeModal(){
this.props.changeSearchPaneVisible();
this.setState({ activeKey: 'search' },()=>this.paramsOnChange([]));
}
render() { render() {
const { dataList,activeKey,retrieveType,totalCount,msgDataList,recordDataList,trajectoryDataList } = this.state; const { dataList,activeKey,retrieveType,totalCount,msgDataList,recordDataList,trajectoryDataList } = this.state;
return ( return (
<div> <div>
{ this.props.visible && <div className="search-pane-bg" /> } { this.props.visible && <div className="search-pane-bg" /> }
{ this.props.visible && <SidePane className="search-pane"> { this.props.visible && <SidePane className="search-pane">
<div className="search-pane-close" onClick={this.props.changeSearchPaneVisible()}> <div className="search-pane-close" onClick={()=>this.closeModal()}>
<Icon icon="close" /> <Icon icon="close" />
</div> </div>
<Tabs <Tabs
......
...@@ -3,8 +3,7 @@ import PropTypes from 'prop-types'; ...@@ -3,8 +3,7 @@ import PropTypes from 'prop-types';
import { SidePane } from 'amos-framework'; import { SidePane } from 'amos-framework';
import { Store } from 'amos-tool'; import { Store } from 'amos-tool';
import BizControlPane from './BizControlPane'; import BizControlPane from './BizControlPane';
import InnateControlPane from './InnateControlPane'; import { bizControls } from './../conf';
import { viewController, bizControls } from './../conf';
const loginUserName = Store.lsTool.read('userName'); const loginUserName = Store.lsTool.read('userName');
const filterUser = ['tianbo', 'opera1', 'opera2']; const filterUser = ['tianbo', 'opera1', 'opera2'];
...@@ -54,7 +53,7 @@ class SideControl extends Component { ...@@ -54,7 +53,7 @@ class SideControl extends Component {
}; };
render() { render() {
const { layerConfig, animationProps } = this.props; const { animationProps } = this.props;
let _bizControls = bizControls; let _bizControls = bizControls;
if (filterUser.includes(loginUserName)) { if (filterUser.includes(loginUserName)) {
let target = _bizControls.find(item => item.key === 'fireResource-point'); let target = _bizControls.find(item => item.key === 'fireResource-point');
......
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment