Commit 0ac02935 authored by 张博's avatar 张博

冲突

parents 70199983 a33f4921
......@@ -16,7 +16,7 @@ export const FscSerUrl = {
//*******************************************************************************
// 3D视图
//*******************************************************************************
view3dInitUrl: completePrefix(view3dURI, 'api/view3d/init3dViewNode?type={type}&riskSourceId={riskSourceId}'), // 初始化三维视图 get
view3dInitUrl: completePrefix(view3dURI, 'api/view3d/init3dViewNode?type={type}&riskSourceId={riskSourceId}&abnormalStatus={abnormalStatus}'), // 初始化三维视图 get
view3dInitLinkUrl: completePrefix(view3dURI, 'view3d/initViewLink'), // 初始化三维视图 获取link get
searchRegionListUrl: completePrefix(patrolURI, 'api/group/queryDept'), //右侧菜单-检索-区域集合
searchViewUrl: completePrefix(view3dURI, 'api/view3d/retrieve/all'), // 右侧菜单-检索
......
......@@ -32,12 +32,11 @@ export const getObjFromNet = (url, callback) => {
* 获取各个类型的marker
* @param {string} type
*/
export const initView3DAction = (type,riskSourceId) => {
export const initView3DAction = (type,riskSourceId,abnormalStatus) => {
if (!riskSourceId) {
riskSourceId="";
riskSourceId = '';
}
const url = formatUrl(FscSerUrl.view3dInitUrl, {type,riskSourceId});
const url = formatUrl(FscSerUrl.view3dInitUrl, { type,riskSourceId,abnormalStatus });
return commonGet(url);
};
......
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:47:57
newmtl fireDetector
Ns 10.0000
Ni 1.5000
d 1.0000
Tr 0.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.5880 0.5880 0.5880
Kd 0.5880 0.5880 0.5880
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Ka fireDetector.png
map_Kd fireDetector.png
map_d fireDetector.png
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:47:57
mtllib fireDetector.mtl
#
# object fireDetector
#
v -1.6371 -0.5656 0.0000
v -0.8185 -0.5656 0.0000
v -0.8185 0.3553 0.0000
v -1.6371 0.3553 0.0000
v 0.0000 -0.5656 0.0000
v 0.0000 0.3553 0.0000
v 0.8185 -0.5656 0.0000
v 0.8185 0.3553 0.0000
v 1.6371 -0.5656 0.0000
v 1.6371 0.3553 0.0000
v -0.8185 1.2761 0.0000
v -1.6371 1.2761 0.0000
v 0.0000 1.2761 0.0000
v 0.8185 1.2761 0.0000
v 1.6371 1.2761 0.0000
v -0.8185 2.1970 0.0000
v -1.6371 2.1970 0.0000
v 0.0000 2.1970 0.0000
v 0.8185 2.1970 0.0000
v 1.6371 2.1970 0.0000
v -0.8185 3.1178 0.0000
v -1.6371 3.1178 0.0000
v 0.0000 3.1178 0.0000
v 0.8185 3.1178 0.0000
v 1.6371 3.1178 0.0000
# 25 vertices
vn 0.0000 -0.0000 1.0000
# 1 vertex normals
vt 0.0000 0.0000 0.0000
vt 0.2500 0.0000 0.0000
vt 0.2500 0.2500 0.0000
vt 0.0000 0.2500 0.0000
vt 0.5000 0.0000 0.0000
vt 0.5000 0.2500 0.0000
vt 0.7500 0.0000 0.0000
vt 0.7500 0.2500 0.0000
vt 1.0000 0.0000 0.0000
vt 1.0000 0.2500 0.0000
vt 0.2500 0.5000 0.0000
vt 0.0000 0.5000 0.0000
vt 0.5000 0.5000 0.0000
vt 0.7500 0.5000 0.0000
vt 1.0000 0.5000 0.0000
vt 0.2500 0.7500 0.0000
vt 0.0000 0.7500 0.0000
vt 0.5000 0.7500 0.0000
vt 0.7500 0.7500 0.0000
vt 1.0000 0.7500 0.0000
vt 0.2500 1.0000 0.0000
vt 0.0000 1.0000 0.0000
vt 0.5000 1.0000 0.0000
vt 0.7500 1.0000 0.0000
vt 1.0000 1.0000 0.0000
# 25 texture coords
g fireDetector
usemtl fireDetector
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/2/1 5/5/1 6/6/1 3/3/1
f 5/5/1 7/7/1 8/8/1 6/6/1
f 7/7/1 9/9/1 10/10/1 8/8/1
f 4/4/1 3/3/1 11/11/1 12/12/1
f 3/3/1 6/6/1 13/13/1 11/11/1
f 6/6/1 8/8/1 14/14/1 13/13/1
f 8/8/1 10/10/1 15/15/1 14/14/1
f 12/12/1 11/11/1 16/16/1 17/17/1
f 11/11/1 13/13/1 18/18/1 16/16/1
f 13/13/1 14/14/1 19/19/1 18/18/1
f 14/14/1 15/15/1 20/20/1 19/19/1
f 17/17/1 16/16/1 21/21/1 22/22/1
f 16/16/1 18/18/1 23/23/1 21/21/1
f 18/18/1 19/19/1 24/24/1 23/23/1
f 19/19/1 20/20/1 25/25/1 24/24/1
# 16 polygons
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:50:46
newmtl fireEquip
Ns 10.0000
Ni 1.5000
d 1.0000
Tr 0.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.5880 0.5880 0.5880
Kd 0.5880 0.5880 0.5880
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Ka fireEquip.png
map_Kd fireEquip.png
map_d fireEquip.png
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:50:46
mtllib fireEquip.mtl
#
# object fireEquip
#
v -1.6371 -0.5656 0.0000
v -0.8185 -0.5656 0.0000
v -0.8185 0.3553 0.0000
v -1.6371 0.3553 0.0000
v 0.0000 -0.5656 0.0000
v 0.0000 0.3553 0.0000
v 0.8185 -0.5656 0.0000
v 0.8185 0.3553 0.0000
v 1.6371 -0.5656 0.0000
v 1.6371 0.3553 0.0000
v -0.8185 1.2761 0.0000
v -1.6371 1.2761 0.0000
v 0.0000 1.2761 0.0000
v 0.8185 1.2761 0.0000
v 1.6371 1.2761 0.0000
v -0.8185 2.1970 0.0000
v -1.6371 2.1970 0.0000
v 0.0000 2.1970 0.0000
v 0.8185 2.1970 0.0000
v 1.6371 2.1970 0.0000
v -0.8185 3.1178 0.0000
v -1.6371 3.1178 0.0000
v 0.0000 3.1178 0.0000
v 0.8185 3.1178 0.0000
v 1.6371 3.1178 0.0000
# 25 vertices
vn 0.0000 -0.0000 1.0000
# 1 vertex normals
vt 0.0000 0.0000 0.0000
vt 0.2500 0.0000 0.0000
vt 0.2500 0.2500 0.0000
vt 0.0000 0.2500 0.0000
vt 0.5000 0.0000 0.0000
vt 0.5000 0.2500 0.0000
vt 0.7500 0.0000 0.0000
vt 0.7500 0.2500 0.0000
vt 1.0000 0.0000 0.0000
vt 1.0000 0.2500 0.0000
vt 0.2500 0.5000 0.0000
vt 0.0000 0.5000 0.0000
vt 0.5000 0.5000 0.0000
vt 0.7500 0.5000 0.0000
vt 1.0000 0.5000 0.0000
vt 0.2500 0.7500 0.0000
vt 0.0000 0.7500 0.0000
vt 0.5000 0.7500 0.0000
vt 0.7500 0.7500 0.0000
vt 1.0000 0.7500 0.0000
vt 0.2500 1.0000 0.0000
vt 0.0000 1.0000 0.0000
vt 0.5000 1.0000 0.0000
vt 0.7500 1.0000 0.0000
vt 1.0000 1.0000 0.0000
# 25 texture coords
g fireEquip
usemtl fireEquip
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/2/1 5/5/1 6/6/1 3/3/1
f 5/5/1 7/7/1 8/8/1 6/6/1
f 7/7/1 9/9/1 10/10/1 8/8/1
f 4/4/1 3/3/1 11/11/1 12/12/1
f 3/3/1 6/6/1 13/13/1 11/11/1
f 6/6/1 8/8/1 14/14/1 13/13/1
f 8/8/1 10/10/1 15/15/1 14/14/1
f 12/12/1 11/11/1 16/16/1 17/17/1
f 11/11/1 13/13/1 18/18/1 16/16/1
f 13/13/1 14/14/1 19/19/1 18/18/1
f 14/14/1 15/15/1 20/20/1 19/19/1
f 17/17/1 16/16/1 21/21/1 22/22/1
f 16/16/1 18/18/1 23/23/1 21/21/1
f 18/18/1 19/19/1 24/24/1 23/23/1
f 19/19/1 20/20/1 25/25/1 24/24/1
# 16 polygons
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:52:49
newmtl fireFoam
Ns 10.0000
Ni 1.5000
d 1.0000
Tr 0.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.5880 0.5880 0.5880
Kd 0.5880 0.5880 0.5880
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Ka fireFoam.png
map_Kd fireFoam.png
map_d fireFoam.png
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:52:49
mtllib fireFoam.mtl
#
# object fireFoam
#
v -1.6371 -0.5656 0.0000
v -0.8185 -0.5656 0.0000
v -0.8185 0.3553 0.0000
v -1.6371 0.3553 0.0000
v 0.0000 -0.5656 0.0000
v 0.0000 0.3553 0.0000
v 0.8185 -0.5656 0.0000
v 0.8185 0.3553 0.0000
v 1.6371 -0.5656 0.0000
v 1.6371 0.3553 0.0000
v -0.8185 1.2761 0.0000
v -1.6371 1.2761 0.0000
v 0.0000 1.2761 0.0000
v 0.8185 1.2761 0.0000
v 1.6371 1.2761 0.0000
v -0.8185 2.1970 0.0000
v -1.6371 2.1970 0.0000
v 0.0000 2.1970 0.0000
v 0.8185 2.1970 0.0000
v 1.6371 2.1970 0.0000
v -0.8185 3.1178 0.0000
v -1.6371 3.1178 0.0000
v 0.0000 3.1178 0.0000
v 0.8185 3.1178 0.0000
v 1.6371 3.1178 0.0000
# 25 vertices
vn 0.0000 -0.0000 1.0000
# 1 vertex normals
vt 0.0000 0.0000 0.0000
vt 0.2500 0.0000 0.0000
vt 0.2500 0.2500 0.0000
vt 0.0000 0.2500 0.0000
vt 0.5000 0.0000 0.0000
vt 0.5000 0.2500 0.0000
vt 0.7500 0.0000 0.0000
vt 0.7500 0.2500 0.0000
vt 1.0000 0.0000 0.0000
vt 1.0000 0.2500 0.0000
vt 0.2500 0.5000 0.0000
vt 0.0000 0.5000 0.0000
vt 0.5000 0.5000 0.0000
vt 0.7500 0.5000 0.0000
vt 1.0000 0.5000 0.0000
vt 0.2500 0.7500 0.0000
vt 0.0000 0.7500 0.0000
vt 0.5000 0.7500 0.0000
vt 0.7500 0.7500 0.0000
vt 1.0000 0.7500 0.0000
vt 0.2500 1.0000 0.0000
vt 0.0000 1.0000 0.0000
vt 0.5000 1.0000 0.0000
vt 0.7500 1.0000 0.0000
vt 1.0000 1.0000 0.0000
# 25 texture coords
g fireFoam
usemtl fireFoam
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/2/1 5/5/1 6/6/1 3/3/1
f 5/5/1 7/7/1 8/8/1 6/6/1
f 7/7/1 9/9/1 10/10/1 8/8/1
f 4/4/1 3/3/1 11/11/1 12/12/1
f 3/3/1 6/6/1 13/13/1 11/11/1
f 6/6/1 8/8/1 14/14/1 13/13/1
f 8/8/1 10/10/1 15/15/1 14/14/1
f 12/12/1 11/11/1 16/16/1 17/17/1
f 11/11/1 13/13/1 18/18/1 16/16/1
f 13/13/1 14/14/1 19/19/1 18/18/1
f 14/14/1 15/15/1 20/20/1 19/19/1
f 17/17/1 16/16/1 21/21/1 22/22/1
f 16/16/1 18/18/1 23/23/1 21/21/1
f 18/18/1 19/19/1 24/24/1 23/23/1
f 19/19/1 20/20/1 25/25/1 24/24/1
# 16 polygons
......@@ -31,6 +31,7 @@ class ConvertorView3DRoot extends Basic {
isEdit: false
};
this.pushTimeOutId = null;
}
componentDidMount() {}
......@@ -89,15 +90,11 @@ class ConvertorView3DRoot extends Basic {
}
}
refshExceptAreaData = ()=>{
this.view3d.initExceptionAreasData && this.view3d.initExceptionAreasData();
}
render() {
const { isEdit } = this.state;
return (
<div style={{ height: '100%' }}>
{ isEdit ? '' : <Statistical refshExceptAreaData={this.refshExceptAreaData} /> }
{ isEdit ? '' : <Statistical /> }
<div className="sys-view-3d">
<View3D
ref={node => this.view3d = node}
......
......@@ -113,8 +113,8 @@ class MaskContent extends Component {
return (
<div className="mask-content">
<AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect debug />
{ !alarmStarted && sideControlShow && <SideControl multiple={multiple} errorAreaId={errorAreaId} onItemClick={onItemClick} layerConfig={layerConfig} animationProps={controlAnimation} />}
{ !alarmStarted && isShowActionBar && <SearchPane visible={searchPaneVisible} focusPosition={focusPosition} changeSearchPaneVisible={() => this.changeSearchPaneVisible} />}
{ !alarmStarted && sideControlShow && <SideControl multiple={multiple} errorAreaId={errorAreaId} onItemClick={onItemClick} layerConfig={layerConfig} animationProps={controlAnimation} activeAction={activeAction}/>}
{ !alarmStarted && isShowActionBar && <SearchPane visible={searchPaneVisible} focusPosition={focusPosition} changeSearchPaneVisible={this.changeSearchPaneVisible} />}
<TopMsg alarmStart={alarmStart} />
{ !alarmStarted && !isShowActionBar && <ModelHeader animationProps={controlAnimation} headerName={headerName} handleExceptModel={this.handleExceptModel} />}
{ !alarmStarted && isShowActionBar && <ActionBar activeAction={activeAction} onActionItemClick={(e) => this.actionBarClick(e)} animationProps={controlAnimation} /> }
......
......@@ -135,6 +135,7 @@ class View3D extends Component {
isPointSave: false,
isAreaSave: false,
treeDataList: [],
abnormalStatus: true, //点告警状态
promptData: {
promptvisible: false,
promptContent: '',
......@@ -288,6 +289,8 @@ class View3D extends Component {
this.asyncLoadMarkerData('fireResource');
} else if (topic === eventTopics.view_fresh) {
this.viewFreshInit();
} else if (topic === eventTopics.exceptionAreas_fresh) {
this.initExceptionAreasData();
}
});
};
......@@ -796,13 +799,10 @@ class View3D extends Component {
//选中区域变化
selectItemChange = (selectArea) => {
this.a3dRef.changeDrawState(PEN_STATE.CLEARED);//清除当前路径
// 结束绘制
this.setState({
drawing: false
});
this.setState({
selectArea,
rightHeight: JSON.parse(selectArea.routePath).regionHeigth,
selectArea: { ...selectArea },
drawing: false,// 结束绘制
rightHeight: selectArea.routePath ? JSON.parse(selectArea.routePath).regionHeigth : 10,
showRightPanel: true
});
}
......@@ -848,7 +848,6 @@ class View3D extends Component {
this.areas.push(<PolygonRegion {...this.areaStyles.normal} points={item.routePath ? JSON.parse(item.routePath).routePath : ''} onCreated={(e) => {this.onRegionCreated(e,item);}} />);
{this.getAreas(item.children);}
}
} else {
if (dragItem) {
if ( dragItem && dragItem.parentId && dragItem.parentId === item.id) {
......@@ -862,7 +861,6 @@ class View3D extends Component {
}
}
} else {
if (item.children && item.children.length > 0) {
this.getAreas(item.children);
......@@ -1049,10 +1047,10 @@ class View3D extends Component {
riskSourceId: selectArea.id,
routePath: ''
});
// var tree = new Object();
// tree.children = treeData;
// this.removeTreeDataRoutePathByChildId(selectArea.id,tree);
//this.getAreas(tree.children);
var tree = new Object();
tree.children = treeData;
this.removeTreeDataRoutePathByChildId(selectArea.id,tree);
this.getAreas(tree.children);
this.setState({
routePathData: this.state.routePathData,
//treeData: tree.children,
......@@ -1287,18 +1285,18 @@ class View3D extends Component {
}
}
asyncLoadMarkerData = (markerType, riskSourceId) => {
const { markers } = this.state;
const { markers,abnormalStatus } = this.state;
this.setState({ showMap: false });
this.clearMarkers();
initView3DAction(markerType,riskSourceId).then(d => {
initView3DAction(markerType,riskSourceId,abnormalStatus).then(d => {
if (markerType === 'fireResource') {
markers['hydrant'] = d['hydrant'];
markers['pool'] = d['pool'];
markers['fireCar'] = d['fireCar'];
markers['fireEquipment'] = d['fireEquipment'];
markers['fireChamber'] = d['fireChamber'];
markers['fireFoamRoom'] = d['fireFoamRoom'];
markers['fireDetection'] = d['fireDetection'];
markers['hydrant'] = d.filter(e => e.type === 'hydrant');
markers['pool'] = d.filter(e => e.type === 'pool');
markers['fireCar'] = d.filter(e => e.type === 'fireCar');
markers['fireEquipment'] = d.filter(e => e.type === 'fireEquipment');
markers['fireChamber'] = d.filter(e => e.type === 'fireChamber');
markers['fireFoamRoom'] = d.filter(e => e.type === 'fireFoamRoom');
markers['fireDetection'] = d.filter(e => e.type === 'fireDetection');
markers[markerType] = d;
this.setState({
markers
......@@ -1449,10 +1447,21 @@ class View3D extends Component {
startLoadExceptionArea: false,//隐藏marker
sideControlShow: false //隐藏耳朵
});
} else if (actionType === 'panoramicMonitor'){
this.props.editModelChange(true);
this.setState({
sideControlShow: true,//耳朵
startLoadExceptionArea: false, //隐藏marker
isShowActionBar: false, //隐藏工具栏
abnormalStatus: false //点告警状态
});
} else {
this.props.editModelChange(false);
this.setState({
isEditMode: false
isEditMode: false,
sideControlShow: false,
abnormalStatus: true
});
}
}
......@@ -1506,12 +1515,15 @@ class View3D extends Component {
getExceptionAreasList = () => {
exceptionRegionListAction().then(data=>{
this.setState({ exceptionAreas: data });
const exceptionAreas = data.filter(e=>{
return e.routePath && e.routePath.routePath && e.routePath.routePath.length > 0;
});
this.setState({ exceptionAreas });
});
}
initExceptionAreasData = ()=>{
this.setState({ startLoadExceptionArea: false },()=>{
this.setState({ startLoadExceptionArea: true },()=>{
this.getExceptionAreasList();
});
}
......@@ -1831,7 +1843,6 @@ class View3D extends Component {
</div>
</div>
}
</div>
);
}
......
......@@ -81,14 +81,14 @@ export const viewController = [
export const actionBars = [
{ key: 'impEquipment-action', icon: 'impEquipment', type: 'impEquipment', singleClick: false, label: '重点设备',showLabel: true },
{ key: 'panoramic-action', icon: 'panoramic', type: 'panoramic', singleClick: false, label: '全景', showLabel: true },
{ key: 'burst-action', icon: 'burst', type: 'burst', singleClick: true, label: '分解' , showLabel: false },
{ key: 'panoramicMonitor-action', icon: 'burst', type: 'panoramicMonitor', singleClick: false, label: '全景监控' , showLabel: true },
{ key: 'fitview-action', icon: 'fitview', type: 'fitview', singleClick: true, label: '初始视图' , showLabel: false },
{ key: 'edit-action', icon: 'editMode', type: 'editMode', singleClick: false, label: '编辑' , showLabel: true },
{ key: 'search-action', icon: 'chaxun', type: 'search', singleClick: true, label: '检索' , showLabel: true }
];
/**
* 业务控制
* 告警模式
*/
export const bizControls = [
{ key: 'riskSource-point', icon: 'fengxiandian', type: 'riskSource', label: '风险点', subs: [
......@@ -114,10 +114,41 @@ export const bizControls = [
// { key: 'fireFoamRoom', label: '泡沫间' },
// { key: 'fireDetection', label: '火探' }
// ] },
// { key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '探测设备' },
{ key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '探测设备' }
// { key: 'monitor-point', icon: 'xunjiandian', type: 'video', label: '视频点' }
];
/**
* 全景监控模式模式
*/
export const pMonitorControls = [
{ key: 'riskSource-point', icon: 'fengxiandian', type: 'riskSource', label: '风险点', subs: [
{ key: 'level_1', label: '1级' },
{ key: 'level_2', label: '2级' },
{ key: 'level_3', label: '3级' },
{ key: 'level_4', label: '4级' },
{ key: 'level_5', label: '5级' }
] },
{ key: 'risk-point', icon: 'dianwei-zhongdianshebei', type: 'patrol', label: '巡检点',subs: [
{ key: 'level_3', label: '漏检' },
{ key: 'level_2', label: '不合格' },
{ key: 'level_1', label: '合格' },
{ key: 'level_0', label: '未计划' }
] },
{ key: 'impEquipment-point', icon: 'zhongdianshebeixiangqing', type: 'impEquipment', label: '重点设备' },
{ key: 'fireResource-point', icon: 'xiaofang', type: 'fireResource', label: '消防设备', subs: [
{ key: 'hydrant', label: '消防栓' },
{ key: 'pool', label: '消防水池' },
{ key: 'fireCar', label: '消防车' },
{ key: 'fireEquipment', label: '灭火器' },
{ key: 'fireChamber', label: '消防室' },
{ key: 'fireFoamRoom', label: '泡沫间' },
{ key: 'fireDetection', label: '火探' }
] },
{ key: 'monitorEquipment-point', icon: 'shujudian', type: 'monitorEquipment', label: '探测设备' },
{ key: 'monitor-point', icon: 'xunjiandian', type: 'video', label: '视频点' }
];
export const bizControlsTypes = [
{ key: 'riskSource', label: '风险点' },
......
......@@ -47,6 +47,7 @@ export const eventTopics = {
point_change: 'base3d.view.point_change', // marker 点变化
batch_point_change: 'base3d.view.batch_point_change', // 批量 marker 点变化
linkdata_change: 'base3d.view.linkdata_change', // marker 点变化
point_position_change: 'base3d.view.point_change', // marker 点变化
point_patrol: 'base3d.view.point_patrol', // 巡检点
point_risk: 'base3d.view.point_risk', // 风险点
......@@ -65,6 +66,7 @@ export const eventTopics = {
broadcast_fresh: 'base3d.view.broadcast_fresh',//执行步骤数据刷新
view_fresh: 'base3d.view.view_fresh',//视图刷新
fromws: 'base3d.fromws',
exceptionAreas_fresh: 'base3d.view.exceptionAreas_fresh',//异常区域刷新
datapane_msg: 'base3d.fromws.datapane_msg', // datapane 消息
......
......@@ -70,7 +70,7 @@ class ExceptionArea extends Component {
imgHeight: 128,
image: safetyIndexIconMapper['transparent_rpn']
};
obj.baseObjHelper.title = safetyIndex;
obj.baseObjHelper.title = String(safetyIndex);
}
toCameraPosition = (item) => {
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Connect, Tree, Search, Button } from 'amos-framework';
import { Tree, Search, Button } from 'amos-framework';
import imgStatic from '../../consts/imgStatic';
const moduleEditIcon = imgStatic.moduleEditIcon;
const eventConnect = Connect.eventConnect;
const TreeNode = Tree.TreeNode;
const getParentKey = (key, tree) => {
let parentKey;
......@@ -21,7 +20,9 @@ const getParentKey = (key, tree) => {
return parentKey;
};
@eventConnect
/**
* 区域绑定树
*/
class AreaLeftTree extends Component {
constructor(props) {
super(props);
......@@ -36,11 +37,33 @@ class AreaLeftTree extends Component {
treeDataList: [],
searchValue: ''
};
}
componentWillMount() {
const { treeData, pointTypeArr, treeDataList } = this.props;
this.setState({
treeData,
treeDataList,
pointTypeArr,
pointType: pointTypeArr[0] ? pointTypeArr[0].code : ''
});
}
componentWillReceiveProps(nextProps) {
console.log(nextProps);
const { treeData, pointTypeArr, treeDataList } = nextProps;
this.setState({
treeData,
pointTypeArr,
treeDataList,
pointType: pointTypeArr[0] ? pointTypeArr[0].code : ''
});
}
onSearchChange =(e,value) => {
const { treeDataList,treeData } = this.props;
onSearchChange = (e,v) => {
const { treeDataList, treeData } = this.state;
let value = v ? v : '';
const expandedKeys = treeDataList
.map(item => {
if (item.title.indexOf(value) > -1) {
......@@ -53,12 +76,10 @@ class AreaLeftTree extends Component {
expandedKeys,
searchValue: value,
autoExpandParent: true
});
}
};
onExpand = (expandedKeys) => {
//console.log('onExpand', arguments);
onExpand = expandedKeys => {
// if not set autoExpandParent to false, if children expanded, parent can not collapse.
// or, you can remove all expanded children keys.
this.setState({
......@@ -70,7 +91,9 @@ class AreaLeftTree extends Component {
onTreeSelect = (selectedKeys, info) => {
console.log('onSelect', info);
let selectItem = info.node.props.dataRef;
this.setState({ selectedKeys });
this.setState({
selectedKeys
});
this.props.selectItemChange(selectItem);
}
renderTreeNodes = (data) => {
......@@ -83,12 +106,20 @@ class AreaLeftTree extends Component {
const title =
index > -1 ? (
<span>
{beforeStr}
<span style={{ color: '#f50' }}>{searchValue}</span>
{afterStr}
{' '}
{beforeStr}{' '}
<span
style={{
color: '#f50'
}}
>
{' '}
{searchValue}{' '}
</span>{' '}
{afterStr}{' '}
</span>
) : (
<span>{item.name}</span>
<span> {item.name} </span>
);
if (item.children) {
return (
......@@ -103,23 +134,20 @@ class AreaLeftTree extends Component {
item.isBind ? '' :
<img
src={moduleEditIcon.editBtn}
onClick={(e) => {
alt=""
onClick={e => {
e.nativeEvent.stopImmediatePropagation();
e.stopPropagation();
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>
}
}
</div>
}
}
key={item.id}
dataRef={item}
>
......@@ -129,26 +157,21 @@ class AreaLeftTree extends Component {
}
});
}
}
};
render() {
let { treeData } = this.props;
const { treeData } = this.state;
return (
<div className="leftTree">
<div className='leftContainer'>
<div className='topForm'>
<Search className='leftSearch' icon="search" onChange={this.onSearchChange} onIconClick={this.onSearchChange} />
<div className="leftContainer">
<div className="topForm">
<Search className="leftSearch" icon="search" onChange={this.onSearchChange} onIconClick={this.onSearchChange} />
</div>
<div className='treeBox'>
<div className="treeBox">
<Tree
// checkable
// checkStrictly
selectable
onExpand={this.onExpand}
expandedKeys={this.state.expandedKeys}
autoExpandParent
// onCheck={this.onCheck}
// checkedKeys={checkedKeys}
onSelect={this.onTreeSelect}
selectedKeys={this.state.selectedKeys}
blockNode
......@@ -156,30 +179,31 @@ class AreaLeftTree extends Component {
{this.renderTreeNodes(treeData)}
</Tree>
</div>
<div className='bottomBtns'>
<div className="bottomBtns">
<Button
className='sureBtn'
onClick={() => {
this.props.saveAreaData();
}}
className="sureBtn"
onClick={() => this.props.saveAreaData()}
/>
<Button
className='deleteBtn'
onClick={() => {
this.props.deleteAreaBind();
}}
className="deleteBtn"
onClick={() => this.props.deleteAreaBind()}
/>
</div>
</div>
</div>
);
}
}
AreaLeftTree.propTypes = {
subscribe: PropTypes.func,
trigger: PropTypes.func
treeData: PropTypes.array,
pointTypeArr: PropTypes.array,
treeDataList: PropTypes.array,
saveAreaData: PropTypes.func,
deleteAreaBind: PropTypes.func,
pageType: PropTypes.string,
startDrow: PropTypes.func,
selectItemChange: PropTypes.func
};
export default AreaLeftTree;
......@@ -66,8 +66,9 @@ class PointLeftTree extends Component {
this.setState({ pointType: value });
this.props.pointTypeChange(value);
}
onSearchChange = (e,value) => {
onSearchChange = (e,v) => {
const { treeDataList,treeData } = this.state;
let value = v ? v : '';
const expandedKeys = treeDataList
.map(item => {
if (item.title.indexOf(value) > -1) {
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Connect, Button, Input, Form, Radio } from 'amos-framework';
import { PubSub } from 'ray-eventpool';
import { getPointTreeDetailAction } from '../../services/moduleEditServices';
import { eventTopics } from './../consts';
import imgStatic from '../../consts/imgStatic';
const moduleEditIcon = imgStatic.moduleEditIcon;
......@@ -90,6 +92,7 @@ class RightEditPointPanel extends Component {
mreageMarkerPosition = ( position ) => {
const { detailData } = this.state;
PubSub.publish(eventTopics.point_position_change, { id: detailData.id, position });
this.props.changeMarkersData(position,detailData.type,detailData.id);
}
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { PubSub } from 'ray-eventpool';
import EquipStatusList from './EquipStatusList';
import SafetyExecuteList from './SafetyExecuteList';
import SafetyIndex from './SafetyIndex';
......@@ -8,6 +9,7 @@ import StatisticsCheck from './StatisticsCheck';
import StatisticsDuty from './StatisticsDuty';
import AmosWebSocket from 'amos-websocket';
import SysWsURL, { completeToken } from './../../../consts/wsUrlConsts';
import { eventTopics } from './../../consts';
/**
* 全景监控统计
......@@ -40,7 +42,7 @@ export default class Statistical extends Component {
break;
case 'error_status':
console.log('异常区域刷新~~~~~~~~~~~~~~~~~~~~');
this.props.refshExceptAreaData && this.props.refshExceptAreaData();
PubSub.publish(eventTopics.exceptionAreas_fresh, {});
break;
case 'week_safety_index':
console.log('一周安全指数趋势刷新~~~~~~~~~~~~~~~~~~~~');
......
......@@ -23,8 +23,6 @@ export const RiskPoint = marker3DFactory(BasicPoint,
useModel: true,
objPath: '/mods/components/3dviewConvertor/threeres/marker-models/riskSource/{url}.obj',
mtlPath: '/mods/components/3dviewConvertor/threeres/marker-models/riskSource/{url}.mtl'
// objPath: '/mods/components/3dviewConvertor/threeres/marker-models/riskSource/riskSource-1.obj',
// mtlPath: '/mods/components/3dviewConvertor/threeres/marker-models/riskSource/riskSource-1.mtl'
}
}
);
......
......@@ -52,27 +52,24 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
click: this.onMarkerClick,
// dblclick: this.onMarkerDblClick,
dragend: this.markerDragend,
mouseover: marker => {
console.log('111');
if (marker.object2DPipe) {
mouseover: (marker) => {
if (marker.object2DPipe){
marker.object2DPipe.pipeNode.visible = true;
marker.object2DPipe.pipeNode.elementVisible = true;
marker.object2DPipe.toggleDisplay(true);
}
if (marker.extData.type === 'riskSource') {
marker.baseObjHelper.title = marker.extData.name;
marker.object2DPipe && marker.object2DPipe.toggleDisplay(true);
if (!this.props.isEditMode) {
this.setTopCardConf(marker, marker.extData);
}
},
mouseout: marker => {
if (marker.object2DPipe) {
mouseout: (marker) => {
if (marker.object2DPipe){
marker.object2DPipe.pipeNode.visible = false;
marker.object2DPipe.pipeNode.elementVisible = false;
marker.object2DPipe.toggleDisplay(false);
}
if (marker.extData.type === 'riskSource') {
marker.baseObjHelper.title = marker.extData.title;
marker.object2DPipe.toggleDisplay(false);
if (!this.props.isEditMode) {
marker.baseObjHelper.title = null;
}
}
};
......@@ -160,18 +157,21 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
this.markersCache = markersCache;
this.stagePilot = this.props.stagePilot;
this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined;
markersCache.eachValue(obj => {
this.setTopCardConf(obj, obj.extData);
if (obj.extData.type === 'riskSource' && markerType !== 'impEquipmentMode' && !isEditMode) {
markersCache.eachValue(obj=>{
if (isEditMode){
this.setTopCardConf(obj, obj.extData);
}
if (obj.extData.type === 'riskSource' && markerType !== 'impEquipmentMode' && !isEditMode){
this.setTwinkleConf(obj);
}
});
};
setTwinkleConf = obj => {
const { twinkle, frequency } = obj.extData;
let pulsePeriod = twinkle && frequency !== 0 ? 1 / frequency : null;
}
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;
......@@ -181,8 +181,8 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
});
};
setTopCardConf = (obj, extData) => {
const { title, label, type, showInfo, name } = extData;
setTopCardConf = (obj, extData )=>{
const { title , name } = extData;
let cardTitle = null;
console.log(extData);
obj.baseObjHelper.titleConfig = {
......@@ -204,11 +204,11 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
imgHeight: 128,
image: markerTitleBgMapper['base']
};
if (type === 'riskSource' && !this.props.isEditMode) {
cardTitle = '风险值' + title;
} else {
cardTitle = name ? name : title;
}
// if (type === 'riskSource' && !this.props.isEditMode){
// cardTitle = '风险值' + title
// }else{
cardTitle = name ? name : title;
// }
obj.baseObjHelper.title = cardTitle;
};
......@@ -231,7 +231,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options) {
} else {
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-1` });
}
} else if (markerType === 'fireResource' && k !== 'useModel' && isEditMode && urlMapper[m.type]) {
} else if (markerType === 'fireResource' && k !== 'useModel' && urlMapper[m.type]) {
m[k] = formatUrl(defaultParams[k], { url: `${urlMapper[m.type].file}` });
} else {
m[k] = defaultParams[k];
......
......@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import { SidePane } from 'amos-framework';
import { Store } from 'amos-tool';
import BizControlPane from './BizControlPane';
import { bizControls } from './../conf';
import { bizControls, pMonitorControls } from './../conf';
const loginUserName = Store.lsTool.read('userName');
const filterUser = ['tianbo', 'opera1', 'opera2'];
......@@ -53,8 +53,8 @@ class SideControl extends Component {
};
render() {
const { animationProps } = this.props;
let _bizControls = bizControls;
const { animationProps, activeAction } = this.props;
let _bizControls = activeAction === 'panoramic' ? bizControls : pMonitorControls;
if (filterUser.includes(loginUserName)) {
let target = _bizControls.find(item => item.key === 'fireResource-point');
let subControls = target.subs;
......
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