Commit bf4c3390 authored by 张博's avatar 张博

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

parents 7d940ca8 996cb134
......@@ -3,29 +3,20 @@ import PropTypes from 'prop-types';
import { utils } from 'amos-tool';
import { Markers } from 'amos-3d/lib/designer';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
import { EVENT_CONSTS } from 'amos-3d/lib/designer';
import { CONSTS } from './../../consts/storageConsts';
import PointDialog from './PointDialog';
import { tirggerPlanTopic } from './../dataProcessor';
import { tirggerPlanTopic,tirggerTransTopic } from './../dataProcessor';
import { marker3DIoncMapper, markerTitleBgMapper } from './../../consts/imgStatic';
import { eventTopics, isPointEvent , isLevelFilter } from './../consts';
import { parseMarkers, parseLevelFilter } from '../dataProcessor';
const { EVENT_TYPE_CORE } = EVENT_CONSTS;
const getIcon = (markerType, level) => {
// return marker3DIoncMapper[`${markerType}_${level}`];
if (markerType === 'riskSource' || markerType === 'patrol' || markerType === 'impEquipmentMode') {
return marker3DIoncMapper[`${markerType}_${level}`];
}
return marker3DIoncMapper[`${markerType}`];
};
// const createMarkerLabel = text => {
// const div = document.createElement('div');
// div.style.position = 'absolute';
// div.style.marginTop = '-3rem';
// div.className = 'three-ui-anchor';
// div.innerText = text;
// return div;
// };
const urlMapper = {
fireCar: { file: 'fire-car', label: '消防车' },
fireEquipment: { file: 'fireEquip', label: '消防设备' },
......@@ -42,7 +33,13 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
// marker 显隐
visible: PropTypes.bool,
markers: PropTypes.array,
planStarted: PropTypes.bool
planStarted: PropTypes.bool,
isEditMode: PropTypes.bool,
addMarker: PropTypes.func,
stagePilot: PropTypes.object,
subscribe: PropTypes.func,
selectPoints: PropTypes.object,
onCreated: PropTypes.func
};
constructor(props) {
......@@ -50,28 +47,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
this.markerList = {};
this.markerEvents = {
click: this.onMarkerClick,
// dblclick: this.onMarkerDblClick,
dragend: this.markerDragend,
mouseover: (marker) => {
if (marker.object2DPipe){
marker.object2DPipe.pipeNode.visible = true;
marker.object2DPipe.pipeNode.elementVisible = true;
marker.object2DPipe.toggleDisplay(true);
}
if (!this.props.isEditMode) {
this.setTopCardConf(marker, marker.extData);
}
},
mouseout: (marker) => {
if (marker.object2DPipe){
marker.object2DPipe.pipeNode.visible = false;
marker.object2DPipe.pipeNode.elementVisible = false;
marker.object2DPipe.toggleDisplay(false);
}
if (!this.props.isEditMode) {
marker.baseObjHelper.title = null;
}
}
dragend: this.markerDragend
};
this.state = {
isClick: true
......@@ -80,19 +56,8 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
componentWillMount = () => {
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 => {
if (nextProps.isEditMode) {
this.markersCache.eachValue(obj => {
......@@ -103,7 +68,8 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
});
}
this.setState({ planStarted: nextProps.planStarted });
};
}
componentWillUnmount() {
this.objAnchorHelper && this.objAnchorHelper.destroy();
}
......@@ -131,7 +97,6 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
return false;
}
tirggerPlanTopic(CONSTS.plan_detail, { type: marker.extData.type, data: marker.extData });
if (isClick) {
this.setState({ isClick: false }); //将isClick 变成false,将不会执行处理事件
// this.pdRef && this.pdRef.onOpenClick(marker);
......@@ -145,11 +110,12 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
that.setState({ isClick: true }); // 将isClick设置为true
}, 1000);
};
setTwinkleConf = ( obj ) => {
const { twinkle,frequency } = obj.extData;
setTwinkleConf = obj => {
const { twinkle, frequency } = obj.extData;
let pulsePeriod = twinkle && frequency !== 0 ? 1 / frequency : null;
let color = twinkle && frequency !== 0 ? '#FF0000' : null;
if (!obj.baseObjHelper.outlineHelper){
if (!obj.baseObjHelper.outlineHelper) {
obj.baseObjHelper.setOutlineHelper(this.outlineHelper);
}
obj.baseObjHelper.style.outlineColor = color;
......@@ -159,8 +125,8 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
});
};
setTopCardConf = (obj, extData )=>{
const { title , name } = extData;
setTopCardConf = (obj, extData) => {
const { title, name } = extData;
let cardTitle = null;
console.log(extData);
obj.baseObjHelper.titleConfig = {
......@@ -189,6 +155,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
// }
obj.baseObjHelper.title = cardTitle;
};
markerDragend = (marker, evt) => {
if (marker) {
console.log(marker.position);
......@@ -197,8 +164,8 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
}
};
markerCreated = (data) => {
let { isEditMode } = this.props;
let { markersCache } = data;
const { isEditMode } = this.props;
const { markersCache } = data;
if (markersCache.cacheMap.size > 0) {
this.props.onCreated(data);
}
......@@ -206,16 +173,28 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
this.stagePilot = this.props.stagePilot;
this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined;
markersCache.eachValue(obj=>{
if (isEditMode){
this.setTopCardConf(obj, obj.extData);
const extData = obj.extData;
if (isEditMode) {
this.setTopCardConf(obj, extData);
}
if (obj.extData.type === 'riskSource' && markerType !== 'impEquipmentMode' && !isEditMode){
if (extData.type === 'riskSource' && markerType !== 'impEquipmentMode' && !isEditMode) {
this.setTwinkleConf(obj);
}
// 鼠标移入
obj.node.on(EVENT_TYPE_CORE.MouseEnter, evt => {
if (!isEditMode) {
this.setTopCardConf(obj, extData);
}
});
// 鼠标移出
obj.node.on(EVENT_TYPE_CORE.MouseLeave, evt => {
if (!isEditMode) {
obj.baseObjHelper.title = null;
}
});
});
}
buildMarkerOptions = (markers, markerType, defaultParams = {}) => {
console.log(markers);
const { isEditMode } = this.props;
if (!utils.isEmpty(markers)) {
markers.forEach(m => {
......@@ -260,7 +239,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
return (
<WrappedComponent>
<Markers {...rest} draggable={isEditMode} markers={result} events={this.markerEvents} onCreated={this.markerCreated} />
{!planStarted && <PointDialog style={dialogStyle} ref={node => (this.pdRef = node)} />}
{!planStarted && <PointDialog style={dialogStyle} ref={node => this.pdRef = node} />}
</WrappedComponent>
);
}
......
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