Commit ecfc7560 authored by 单奇雲's avatar 单奇雲

修改3dfactory

parent 597a66d2
...@@ -100,15 +100,6 @@ export default { ...@@ -100,15 +100,6 @@ export default {
fire: require('../assets/convertor/3dview/markers/fire.png'), fire: require('../assets/convertor/3dview/markers/fire.png'),
fireDetection: require('../assets/convertor/3dview/markers/fireDetector.png'), fireDetection: require('../assets/convertor/3dview/markers/fireDetector.png'),
//重点设备模式
impEquipmentMode_monitorEquipment: require('../assets/convertor/3dview/markers/IeqMode-monitorEquipment.png'),
impEquipmentMode_impEquipment: require('../assets/convertor/3dview/markers/IeqMode-impEquipment.png'),
impEquipmentMode_hydrant: require('../assets/convertor/3dview/markers/IeqMode-hydrant.png'),
impEquipmentMode_pool: require('../assets/convertor/3dview/markers/IeqMode-pool.png'),//
impEquipmentMode_fireChamber: require('../assets/convertor/3dview/markers/IeqMode-fireChamber.png'),//
impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fireCar.png'),
}, },
color: { color: {
hydrant: {color: '#f12525'}, hydrant: {color: '#f12525'},
...@@ -196,13 +187,18 @@ impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fi ...@@ -196,13 +187,18 @@ impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fi
}, },
}; };
export const markerTitleBgMapper = {
impEquipmentMode: require('../assets/convertor/3dview/prePlan/shapan-qipao2.svg'),
quanjing: require('../assets/convertor/3dview/prePlan/shapan-qipao2.png')
}
export const marker3DIoncMapper = { export const marker3DIoncMapper = {
riskSource_0: require('../assets/convertor/3dview/markers/risk-0.png'), riskSource_0: require('../assets/convertor/3dview/markers/risk-0.png'),
riskSource_1: require('../assets/convertor/3dview/markers/risk-1.png'), riskSource_1: require('../assets/convertor/3dview/markers/risk-1.png'),
riskSource_2: require('../assets/convertor/3dview/markers/risk-2.png'), riskSource_2: require('../assets/convertor/3dview/markers/risk-2.png'),
riskSource_3: require('../assets/convertor/3dview/markers/risk-3.png'), riskSource_3: require('../assets/convertor/3dview/markers/risk-3.png'),
riskSource_4: require('../assets/convertor/3dview/markers/risk-4.png'), riskSource_4: require('../assets/convertor/3dview/markers/risk-4.png'),
riskSource_5: require('../assets/convertor/3dview/markers/risk-5.png'), riskSource_5: require('../assets/convertor/3dview/markers/risk-5.png'),
risk_0: '/mods/components/3dviewConvertor/threeres/markers/risk-0.png', risk_0: '/mods/components/3dviewConvertor/threeres/markers/risk-0.png',
risk_1: '/mods/components/3dviewConvertor/threeres/markers/risk-1.png', risk_1: '/mods/components/3dviewConvertor/threeres/markers/risk-1.png',
risk_2: '/mods/components/3dviewConvertor/threeres/markers/risk-2.png', risk_2: '/mods/components/3dviewConvertor/threeres/markers/risk-2.png',
...@@ -210,11 +206,10 @@ export const marker3DIoncMapper = { ...@@ -210,11 +206,10 @@ export const marker3DIoncMapper = {
risk_4: '/mods/components/3dviewConvertor/threeres/markers/risk-4.png', risk_4: '/mods/components/3dviewConvertor/threeres/markers/risk-4.png',
risk_5: '/mods/components/3dviewConvertor/threeres/markers/risk-5.png', risk_5: '/mods/components/3dviewConvertor/threeres/markers/risk-5.png',
patrol_1: '/mods/components/3dviewConvertor/threeres/markers/patrol-1.png', patrol_0: require('../assets/convertor/3dview/markers/pa-0.png'),
patrol_2: '/mods/components/3dviewConvertor/threeres/markers/patrol-2.png', patrol_1: require('../assets/convertor/3dview/markers/pa-1.png'),
patrol_3: '/mods/components/3dviewConvertor/threeres/markers/patrol-3.png', patrol_2: require('../assets/convertor/3dview/markers/pa-2.png'),
patrol_4: '/mods/components/3dviewConvertor/threeres/markers/patrol-4.png', patrol_3: require('../assets/convertor/3dview/markers/pa-3.png'),
patrol_5: '/mods/components/3dviewConvertor/threeres/markers/patrol-5.png',
person_0: '/mods/components/3dviewConvertor/threeres/markers/person-0.png', person_0: '/mods/components/3dviewConvertor/threeres/markers/person-0.png',
...@@ -232,6 +227,15 @@ export const marker3DIoncMapper = { ...@@ -232,6 +227,15 @@ export const marker3DIoncMapper = {
impEquipmentMode_fireChamber: require('../assets/convertor/3dview/markers/IeqMode-fireChamber.png'),// impEquipmentMode_fireChamber: require('../assets/convertor/3dview/markers/IeqMode-fireChamber.png'),//
impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fireCar.png'), impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fireCar.png'),
hydrant: require('../assets/convertor/3dview/markers/hydrant.png'),
pool: require('../assets/convertor/3dview/markers/pool.png'),
fireCar: require('../assets/convertor/3dview/markers/fireCar.png'),
fireEquipment: require('../assets/convertor/3dview/markers/fireEquip.png'),
fireFoamRoom: require('../assets/convertor/3dview/markers/fireFoam.png'),
fireChamber: require('../assets/convertor/3dview/markers/fireChamber.png'),
impEquipment: require('../assets/convertor/3dview/markers/impEquip.png'),
monitorEquipment: require('../assets/convertor/3dview/markers/monitorEquip.png'),
video: require('../assets/convertor/3dview/markers/video.png'),
}; };
......
...@@ -43,35 +43,6 @@ ...@@ -43,35 +43,6 @@
} }
.sys-view-3d { .sys-view-3d {
height: 100%; height: 100%;
.three-renderer {
.three-container {
position: absolute;
top: 0;
width: 100%;
height: 100%;
}
.css2d-label {
width: 129px;
max-width: 25rem;
margin-top: -3rem !important;
font-size: 12px;
font-weight: 700;
color: #f9f4f4;
text-align: center;
background: url('./../assets/convertor/3dview/prePlan/shapan-qipao2.svg') no-repeat;
background-size: cover;
box-shadow: none;
&::before {
display: none;
}
&::after {
display: none;
}
}
}
} }
.side-control-pane, .side-control-pane,
......
...@@ -35,6 +35,7 @@ ...@@ -35,6 +35,7 @@
#ff0057 100%); #ff0057 100%);
opacity: 0.6; opacity: 0.6;
text-align: center; text-align: center;
padding: 4px;
.amosicon-close{ .amosicon-close{
font-style: normal; font-style: normal;
......
...@@ -51,11 +51,13 @@ class MarkerIcon extends Component { ...@@ -51,11 +51,13 @@ class MarkerIcon extends Component {
}; };
onMouseOver = () => { onMouseOver = () => {
console.log('MarkerIcon','onMouseOver');
this.setState({ showRiskName: true, showInfo: true }); this.setState({ showRiskName: true, showInfo: true });
}; };
// display:none; // display:none;
onMouseLeave = () => { onMouseLeave = () => {
console.log('MarkerIcon','onMouseLeave');
const { title, type, nextShowInfo } = this.state; const { title, type, nextShowInfo } = this.state;
if (type === 'risk' && (title.includes('miss') > 0 || title.includes('offGrade') > 0)) { if (type === 'risk' && (title.includes('miss') > 0 || title.includes('offGrade') > 0)) {
this.setState({ showRiskName: false }); this.setState({ showRiskName: false });
......
...@@ -16,7 +16,7 @@ class BasicPoint extends Component { ...@@ -16,7 +16,7 @@ class BasicPoint extends Component {
/** /**
* 风险 * 风险
*/ */
export const RiskPoint = markerFactory(BasicPoint, export const RiskPoint = marker3DFactory(BasicPoint,
{ {
markerType: 'riskSource' markerType: 'riskSource'
} }
...@@ -25,9 +25,9 @@ export const RiskPoint = markerFactory(BasicPoint, ...@@ -25,9 +25,9 @@ export const RiskPoint = markerFactory(BasicPoint,
/** /**
* 巡检 * 巡检
*/ */
export const PatrolPoint = markerFactory(BasicPoint, export const PatrolPoint = marker3DFactory(BasicPoint,
{ {
markerType: 'risk' markerType: 'patrol'
} }
); );
...@@ -43,7 +43,7 @@ export const PersonPoint = markerFactory(BasicPoint, ...@@ -43,7 +43,7 @@ export const PersonPoint = markerFactory(BasicPoint,
/** /**
* 监控 * 监控
*/ */
export const MonitorPoint = markerFactory(BasicPoint, export const MonitorPoint = marker3DFactory(BasicPoint,
{ {
markerType: 'video' markerType: 'video'
} }
...@@ -52,7 +52,7 @@ export const MonitorPoint = markerFactory(BasicPoint, ...@@ -52,7 +52,7 @@ export const MonitorPoint = markerFactory(BasicPoint,
/** /**
* 探测点 * 探测点
*/ */
export const ProbePoint = markerFactory(BasicPoint, export const ProbePoint = marker3DFactory(BasicPoint,
{ {
markerType: 'monitorEquipment' markerType: 'monitorEquipment'
} }
...@@ -67,7 +67,7 @@ export const FireResourcePoint = markerFactory(BasicPoint, ...@@ -67,7 +67,7 @@ export const FireResourcePoint = markerFactory(BasicPoint,
} }
); );
export const EquipmentPoint = markerFactory(BasicPoint, export const EquipmentPoint = marker3DFactory(BasicPoint,
{ {
markerType: 'impEquipment' markerType: 'impEquipment'
} }
......
...@@ -2,14 +2,19 @@ import React, { Component } from 'react'; ...@@ -2,14 +2,19 @@ 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 { 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 } from './../../consts/imgStatic'; import { marker3DIoncMapper, markerTitleBgMapper } from './../../consts/imgStatic';
import MarkerIcon from './MarkerIcon'; import MarkerIcon from './MarkerIcon';
const getIcon = (markerType, level) => { const getIcon = (markerType, level) => {
return marker3DIoncMapper[`${markerType}_${level}`]; // return marker3DIoncMapper[`${markerType}_${level}`];
if (markerType === 'riskSource' || markerType === 'patrol' || markerType === 'impEquipmentMode') {
return marker3DIoncMapper[`${markerType}_${level}`];
}
return marker3DIoncMapper[`${markerType}`]
}; };
const buildMarkerOptions = (markers, markerType, defaultParams = {}) => { const buildMarkerOptions = (markers, markerType, defaultParams = {}) => {
...@@ -27,7 +32,9 @@ const buildMarkerOptions = (markers, markerType, defaultParams = {}) => { ...@@ -27,7 +32,9 @@ const buildMarkerOptions = (markers, markerType, defaultParams = {}) => {
m.url = url; m.url = url;
m.position = utils.isArray(m.position) ? m.position : position; m.position = utils.isArray(m.position) ? m.position : position;
m.size = 10; m.size = 10;
m.label = createMarkerLabel(m.name); m.name = m.name ? m.name : m.label;
m.label = null;
// m.label = createMarkerLabel(m.name);
}); });
} }
return markers; return markers;
...@@ -57,13 +64,26 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -57,13 +64,26 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
super(props); super(props);
this.markerEvents = { this.markerEvents = {
click: this.onMarkerClick, click: this.onMarkerClick,
// dblclick: this.onMarkerDblClick,
mouseover: (marker) => { mouseover: (marker) => {
marker.object2DPipe.pipeNode.visible = true; console.log('111')
marker.object2DPipe.pipeNode.elementVisible = true; if(marker.object2DPipe){
marker.object2DPipe.pipeNode.visible = true;
marker.object2DPipe.pipeNode.elementVisible = true;
}
if(marker.extData.type === 'riskSource'){
marker.node.baseObjHelper.title = marker.extData.name;
}
}, },
mouseout: (marker) => { mouseout: (marker) => {
marker.object2DPipe.pipeNode.visible = false; console.log('2222')
marker.object2DPipe.pipeNode.elementVisible = false; if(marker.object2DPipe){
marker.object2DPipe.pipeNode.visible = false;
marker.object2DPipe.pipeNode.elementVisible = false;
}
if(marker.extData.type === 'riskSource'){
marker.node.baseObjHelper.title = marker.extData.title;
}
} }
}; };
this.state = { this.state = {
...@@ -79,18 +99,85 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -79,18 +99,85 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
this.setState({ planStarted: nextProps.planStarted }); this.setState({ planStarted: nextProps.planStarted });
} }
componentWillUnmount() {
this.objAnchorHelper && this.objAnchorHelper.destroy();
}
onMarkerDblClick = (marker, e) => {
console.log('marker3DFactory','onMarkerDblClick')
if (this.props.isEditMode) {
return false
}
clearTimeout(this.time);
// tirggerPlanTopic(CONSTS.plan_detail, { type: marker.extData.type, data: marker.extData });
if (marker.extData.markerType === 'fire' && void 0 !== marker.extData.show) {
tirggerTransTopic(CONSTS.forward, { details: { type: 'impEquipment', dialogId: marker.extData.equipmentId, show: marker.extData.show }, dateTime: Date.now() });
return;
}
this.pdRef.tirggerBussines(marker);
}
onMarkerClick = (marker, e) => { onMarkerClick = (marker, e) => {
const { isClick } = this.state; const { isClick } = this.state;
if (this.props.isEditMode) {
return false
}
tirggerPlanTopic(CONSTS.plan_detail, { type: marker.extData.type, data: marker.extData });
if (isClick) { if (isClick) {
this.setState({ isClick: false }); //将isClick 变成false,将不会执行处理事件 this.setState({ isClick: false }); //将isClick 变成false,将不会执行处理事件
this.pdRef && this.pdRef.onOpenClick(marker); // this.pdRef && this.pdRef.onOpenClick(marker);
this.time = setTimeout(() => this.pdRef && this.pdRef.onOpenClick(marker), 1000);
}else{
this.onMarkerDblClick(marker, e);
} }
const that = this; // 为定时器中的setState绑定this const that = this; // 为定时器中的setState绑定this
setTimeout(function() { setTimeout(function() {
// 设置延迟事件,3秒后将执行 // 设置延迟事件,3秒后将执行
that.setState({ isClick: true }); // 将isClick设置为true that.setState({ isClick: true }); // 将isClick设置为true
}, 3000); }, 1000);
tirggerPlanTopic(CONSTS.plan_detail, { type: marker.extData.type, data: marker.extData }); }
markerCreated = ({ markersCache }) => {
this.markersCache = markersCache;
markersCache.eachValue(item=>{
const obj = item.node;
const boh = new BaseObjHelper({ obj });
obj.baseObjHelper = boh;
this.setTopCardConf(obj, item.extData);
});
}
setTopCardConf = (obj, extData )=>{
const { title, label , type, showInfo , name } = extData;
let cardTitle = null;
console.log(extData)
obj.baseObjHelper.titleConfig = {
// 顶牌平面参数
planeOptions: {
width: 30,
height: 15,
position: [0,20,0],
doubleSide: true
},
canvasOptions: {
font: '34px Microsoft YaHei',
// fillStyle: 'white',
textBaseline: 'middle',
textAlign: 'center',
textX: 128,
},
imgWidth: 256,
imgHeight: 128,
// image: markerTitleBgMapper['quanjing']
};
if(type === 'riskSource'){
cardTitle = '风险值' + title
}else{
cardTitle = title ? title : name;
}
obj.baseObjHelper.title = cardTitle;
} }
render() { render() {
...@@ -104,6 +191,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -104,6 +191,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
{...rest} {...rest}
markers={result} markers={result}
events={this.markerEvents} 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> </WrappedComponent>
......
...@@ -31,11 +31,13 @@ export default function markerFactory(WrappedComponent = 'div', options){ ...@@ -31,11 +31,13 @@ export default function markerFactory(WrappedComponent = 'div', options){
// marker.redraw(this.renderMarker); // marker.redraw(this.renderMarker);
// } // }
mouseover: (marker, evt) => { mouseover: (marker, evt) => {
console.log('mouseover', marker, evt); console.log('markerFactory','mouseover');
// console.log('mouseover', marker, evt);
marker.object2DPipe && marker.object2DPipe.toggleDisplay(true); marker.object2DPipe && marker.object2DPipe.toggleDisplay(true);
}, },
mouseout: (marker, evt) => { mouseout: (marker, evt) => {
console.log('mouseout', marker, evt); console.log('markerFactory','mouseout');
// console.log('mouseout', marker, evt);
marker.object2DPipe && marker.object2DPipe.toggleDisplay(false); marker.object2DPipe && marker.object2DPipe.toggleDisplay(false);
} }
}; };
...@@ -54,6 +56,7 @@ export default function markerFactory(WrappedComponent = 'div', options){ ...@@ -54,6 +56,7 @@ export default function markerFactory(WrappedComponent = 'div', options){
} }
onMarkerClick = (marker, e) => { onMarkerClick = (marker, e) => {
console.log('markerFactory','onMarkerClick');
if (this.props.isEditMode) { if (this.props.isEditMode) {
return false return false
} }
......
...@@ -241,6 +241,7 @@ class SearchPane extends Component { ...@@ -241,6 +241,7 @@ class SearchPane extends Component {
// 更新视图数据 // 更新视图数据
let views = new Array(); let views = new Array();
if(record.position){ if(record.position){
record.id = record.id.replace( record.type + '-' ,'' );
views.push(record); views.push(record);
let args = { let args = {
target: views, target: views,
......
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