Commit 6c1be8a6 authored by 单奇雲's avatar 单奇雲

冲突

parents 5f3c0611 23356c33
...@@ -245,5 +245,10 @@ export const safetyIndexIconMapper = { ...@@ -245,5 +245,10 @@ export const safetyIndexIconMapper = {
}; };
export const markerTitleBgMapper = { export const markerTitleBgMapper = {
base: require('../assets/convertor/3dview/markers/markerTitle.png') base: '/mods/components/3dviewConvertor/assets/convertor/3dview/markers/markerTitle.png'
};
export const equipStatusIconMapper = {
equip_false: '/mods/components/3dviewConvertor/assets/convertor/3dview/markers/pa-0.png',
equip_true: '/mods/components/3dviewConvertor/assets/convertor/3dview/markers/pa-1.png'
}; };
...@@ -112,6 +112,7 @@ ...@@ -112,6 +112,7 @@
line-height: 31px; line-height: 31px;
padding: 5px; padding: 5px;
color: #F0DF2D; color: #F0DF2D;
} }
.leftSearch { .leftSearch {
height: 33px; height: 33px;
......
...@@ -114,6 +114,7 @@ class PointsPool extends Component { ...@@ -114,6 +114,7 @@ class PointsPool extends Component {
onCreated={(val) => this.onMarkersCreated('riskSource', val)} onCreated={(val) => this.onMarkersCreated('riskSource', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker} addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints} selectPoints={this.props.selectPoints}
/> />
{/* <PatrolPoint {/* <PatrolPoint
......
...@@ -2,11 +2,10 @@ import React, { Component } from 'react'; ...@@ -2,11 +2,10 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { utils,UUID, deepCopy } from 'amos-tool'; import { utils,UUID, deepCopy } from 'amos-tool';
import { PubSub } from 'ray-eventpool'; import { PubSub } from 'ray-eventpool';
import { Connect as UIConnect, Modal,message,AmosAlert, Toast } from 'amos-framework'; import { Connect as UIConnect, message, AmosAlert } from 'amos-framework';
import { FatLine } from 'amos-3d/lib/advanced'; import { FatLine } from 'amos-3d/lib/advanced';
import A3DDesigner, { Connect, FireObject,DESIGNER_CONSTS,PolygonRegion } from 'amos-3d/lib/designer'; import A3DDesigner, { Connect, FireObject,DESIGNER_CONSTS,PolygonRegion } from 'amos-3d/lib/designer';
import WorkerObjContent from 'amos-3d/lib/worker/WorkerObjContent'; import WorkerObjContent from 'amos-3d/lib/worker/WorkerObjContent';
import { transitionHelper } from 'amos-3d/lib/helpers';
import * as endConf from 'amos-processor/lib/config/endconf'; import * as endConf from 'amos-processor/lib/config/endconf';
import { LensJumpFactory } from 'base-r3d/lib/factory'; import { LensJumpFactory } from 'base-r3d/lib/factory';
import { CONSTS } from '../consts/storageConsts'; import { CONSTS } from '../consts/storageConsts';
...@@ -123,6 +122,7 @@ class View3D extends Component { ...@@ -123,6 +122,7 @@ class View3D extends Component {
positionxyz:'', positionxyz:'',
rightHeight:1, rightHeight:1,
isPointSave:true, isPointSave:true,
treeDataList:[],
}; };
getObjFromNet(view3dFile, (objs, asyncModels) => { getObjFromNet(view3dFile, (objs, asyncModels) => {
...@@ -284,8 +284,8 @@ class View3D extends Component { ...@@ -284,8 +284,8 @@ class View3D extends Component {
let fireEquipmentPosition = data.contingencyRo.fireEquipmentPosition.split(','); let fireEquipmentPosition = data.contingencyRo.fireEquipmentPosition.split(',');
this.setState({ fireEquipmentPosition }); this.setState({ fireEquipmentPosition });
} }
assembleTroubleView(this, data, this.state.markers);
this.handleExceptModel('out_except_model'); this.handleExceptModel('out_except_model');
assembleTroubleView(this, data, this.state.markers);
break; break;
case 'base3d.fromws.mapArea_action1-2': //镜头切换(旋转+推进) case 'base3d.fromws.mapArea_action1-2': //镜头切换(旋转+推进)
changeGoodView(this, data); changeGoodView(this, data);
...@@ -778,7 +778,6 @@ class View3D extends Component { ...@@ -778,7 +778,6 @@ class View3D extends Component {
} }
//选中点变化 //选中点变化
selectPointChange = (selectPoints) => { selectPointChange = (selectPoints) => {
if(selectPoints.isRegion){ if(selectPoints.isRegion){
this.setState({selectArea:selectPoints}) this.setState({selectArea:selectPoints})
}else{ }else{
...@@ -908,16 +907,20 @@ class View3D extends Component { ...@@ -908,16 +907,20 @@ class View3D extends Component {
} }
} }
} }
savePointListAction(paramsArr).then(data => { savePointListAction(paramsArr).then(
message.success("保存成功"); data => {
getPointTreeAction(pointType).then(data => { getPointTreeAction(pointType).then(
data => {
this.setState({ this.setState({
treeData: data || [], treeData: data || [],
pageType: 'point', pageType: 'point',
showRightPanel: false showRightPanel: false
}); });
}); }
}) );
message.success('保存成功');
},error => message.error('保存失败')
);
} }
...@@ -951,9 +954,9 @@ class View3D extends Component { ...@@ -951,9 +954,9 @@ class View3D extends Component {
fireDetection:[] fireDetection:[]
} }
for (let i = 0; i < data.length;i++){ for (let i = 0; i < data.length;i++){
newMarkers[data[i].type].push(data[i]) newMarkers[data[i].type].push(data[i]);
} }
this.setState({markers:newMarkers}) this.setState( {markers: newMarkers });
}) })
this.setState({ this.setState({
...@@ -965,38 +968,47 @@ class View3D extends Component { ...@@ -965,38 +968,47 @@ class View3D extends Component {
}) })
} }
} }
toastWarningInfo =(content)=>{
Toast.warning({
title:'警告',
content,
placement:'topMiddle',
})
}
//删除区域 //删除区域
deleteAreaBind = () => { deleteAreaBind = () => {
let { selectArea,treeData } = this.state; let { selectArea,treeData } = this.state;
if (selectArea) { if (selectArea) {
getPointsByRegionIdAction(selectArea.id).then(d => { getPointsByRegionIdAction(selectArea.id).then(d => {
if(d && d.length == 0){ if (d && d.length == 0){
this.state.routePathData.push({ this.state.routePathData.push({
riskSourceId: selectArea.id, riskSourceId: selectArea.id,
routePath: '', routePath: ''
}) });
var tree = new Object(); var tree = new Object();
tree.children = treeData; tree.children = treeData;
this.removeTreeDataRoutePathByChildId(selectArea.id,tree); this.removeTreeDataRoutePathByChildId(selectArea.id,tree);
this.getAreas(tree.children); this.getAreas(tree.children);
this.setState({ this.setState({
routePathData: this.state.routePathData, routePathData: this.state.routePathData,
treeData: tree.children, treeData: tree.children
}); });
}else{ } else {
this.toastWarningInfo('请先清除点的绑定再进行删除!') message.danger('请先清除点的绑定再进行删除!');
} }
}); });
} }
} }
/**
* 处理数据
*/
generateList = data => {
let {treeDataList } =this.state;
for (let i = 0; i < data.length; i++) {
const node = data[i];
const key = node.id;
const title = node.name;
treeDataList.push({ key, title });
if (node.children.length>0) {
this.generateList(node.children);
}
}
this.setState({treeDataList})
}
removeTreeDataRoutePathByChildId = ( areaId, obj ) => { removeTreeDataRoutePathByChildId = ( areaId, obj ) => {
let oldSize = obj.children.length; let oldSize = obj.children.length;
...@@ -1021,23 +1033,26 @@ class View3D extends Component { ...@@ -1021,23 +1033,26 @@ class View3D extends Component {
} }
} }
/** /**
* 切换区域和点页面 * 切换区域和点页面
*/ */
changeAreaPoint = (type) => { changeAreaPoint = (type) => {
let { pointTypeArr } = this.state; let { pointTypeArr } = this.state;
this.setState({treeDataList:[]})
if (type === 'region') { if (type === 'region') {
getAreaTreeAction().then(data => { getAreaTreeAction().then(data => {
this.generateList(data)
this.setState({ this.setState({
treeData: data || [], treeData: data || [],
pageType: 'region', pageType: 'region',
showRightPanel: false showRightPanel: false
}); });
}); });
this.disabledCamera();
} else { } else {
getPointTreeAction(pointTypeArr[0].code || '').then(data => { getPointTreeAction(pointTypeArr[0].code || '').then(data => {
this.getPointList( pointTypeArr[0].code, data ); this.getPointList( pointTypeArr[0].code, data );
this.generateList(data);
this.setState({ this.setState({
pointType: pointTypeArr[0].code || '', pointType: pointTypeArr[0].code || '',
treeData: data || [], treeData: data || [],
...@@ -1045,16 +1060,17 @@ class View3D extends Component { ...@@ -1045,16 +1060,17 @@ class View3D extends Component {
showRightPanel: false showRightPanel: false
}); });
}); });
this.enableCamera();
} }
} }
pointTypeChange = (pointType) => { pointTypeChange = (pointType) => {
let {isPointSave} =this.state let { isPointSave } = this.state;
if(!isPointSave){ if (!isPointSave){
this.showConfirm() this.showConfirm();
} }
this.setState({ this.setState({
pointType, pointType,
treeData:[] treeData: []
}); });
getPointTreeAction(pointType).then(data => { getPointTreeAction(pointType).then(data => {
this.getPointList(pointType,data); this.getPointList(pointType,data);
...@@ -1067,10 +1083,10 @@ class View3D extends Component { ...@@ -1067,10 +1083,10 @@ class View3D extends Component {
showConfirm = () => { showConfirm = () => {
AmosAlert.confirm('提示', '有未保存数据,是否保存?', { AmosAlert.confirm('提示', '有未保存数据,是否保存?', {
callback: (flag) => { callback: (flag) => {
if(flag){ if (flag){
this.savePointData() this.savePointData();
} else { } else {
this.setState({isPointSave:true}) this.setState({ isPointSave: true });
} }
} }
}); });
...@@ -1095,11 +1111,11 @@ class View3D extends Component { ...@@ -1095,11 +1111,11 @@ class View3D extends Component {
drop = (event) => { drop = (event) => {
console.log('drop'); console.log('drop');
event.preventDefault(); event.preventDefault();
this.setState({isPointSave:false}) this.setState({ isPointSave: false });
let { dragItem,markers } = this.state; let { dragItem,markers } = this.state;
if (dragItem) { if (dragItem) {
if (dragItem.isBind) { if (dragItem.isBind) {
this.toastWarningInfo('只能放置未绑定的标记点') message.danger('只能放置未绑定的标记点');
return false; return false;
} }
...@@ -1113,7 +1129,7 @@ class View3D extends Component { ...@@ -1113,7 +1129,7 @@ class View3D extends Component {
console.log(isInside); console.log(isInside);
if (dragItem) { if (dragItem) {
if (isInside === false) { if (isInside === false) {
this.toastWarningInfo('只能放置在当前区域') message.danger('只能放置在当前区域');
return false; return false;
} }
let uid = UUID.uuidFast(); let uid = UUID.uuidFast();
...@@ -1159,6 +1175,7 @@ class View3D extends Component { ...@@ -1159,6 +1175,7 @@ class View3D extends Component {
this.setState({ isEditMode }); this.setState({ isEditMode });
if (isEditMode === true) { if (isEditMode === true) {
getAreaTreeAction().then(treeData => { getAreaTreeAction().then(treeData => {
this.generateList(treeData)
this.setState({ this.setState({
treeData: treeData || [] treeData: treeData || []
}); });
...@@ -1335,6 +1352,7 @@ class View3D extends Component { ...@@ -1335,6 +1352,7 @@ class View3D extends Component {
onActionItemClick = (actionType, label, showLabel) => { onActionItemClick = (actionType, label, showLabel) => {
const { pageType } = this.state;
this.clearMarkers(); this.clearMarkers();
this.props.editModelChange(false); this.props.editModelChange(false);
this.setState({ this.setState({
...@@ -1355,6 +1373,10 @@ class View3D extends Component { ...@@ -1355,6 +1373,10 @@ class View3D extends Component {
} else if (actionType === 'editMode'){ } else if (actionType === 'editMode'){
this.editButtonClick(); this.editButtonClick();
this.props.editModelChange(true); this.props.editModelChange(true);
if (pageType === 'region'){
this.disabledCamera();
}
this.setState({ this.setState({
isShowActionBar: false, //隐藏工具栏 isShowActionBar: false, //隐藏工具栏
startLoadExceptionArea: false,//隐藏marker startLoadExceptionArea: false,//隐藏marker
...@@ -1383,6 +1405,18 @@ class View3D extends Component { ...@@ -1383,6 +1405,18 @@ class View3D extends Component {
} }
disabledCamera =()=>{
this.stagePilot.cameraFactory.orbitControl.maxPolarAngle = 0;//不能旋转
this.stagePilot.cameraFactory.orbitControl.minPolarAngle = 0;//不能旋转
this.cameraFactory.fitView(desigerHelperConfig.verticalCameraEffect);//视角调整为平面视角
}
enableCamera =()=>{
this.stagePilot.cameraFactory.orbitControl.maxPolarAngle = desigerConf.cameraOptions.builtInOrbit.maxPolarAngle;//恢复正常视角
this.stagePilot.cameraFactory.orbitControl.minPolarAngle = desigerConf.cameraOptions.builtInOrbit.minPolarAngle;//恢复正常视角
this.executeOperate({ key: 'fitview' });//初始视角
}
onRectCreated = (polygonRegion,area,index) => { onRectCreated = (polygonRegion,area,index) => {
polygonRegion.visible = false; polygonRegion.visible = false;
const { regionHeigth = 10 } = area.routePath; const { regionHeigth = 10 } = area.routePath;
...@@ -1428,7 +1462,7 @@ class View3D extends Component { ...@@ -1428,7 +1462,7 @@ class View3D extends Component {
} }
handleExceptModel =(type,areaId)=>{ handleExceptModel =(type,areaId)=>{
let {isPointSave}=this.state let { isPointSave } = this.state;
this.clearMarkers(); this.clearMarkers();
if (type === 'into_except_model'){//进入耳朵模式 if (type === 'into_except_model'){//进入耳朵模式
this.props.editModelChange(true);//隐藏全景统计 this.props.editModelChange(true);//隐藏全景统计
...@@ -1440,14 +1474,16 @@ class View3D extends Component { ...@@ -1440,14 +1474,16 @@ class View3D extends Component {
errorAreaId: areaId errorAreaId: areaId
}); });
} else if (type === 'out_except_model'){ } else if (type === 'out_except_model'){
if(!isPointSave){ if (!isPointSave){
AmosAlert.confirm('提示', '有未保存数据,是否保存?', { AmosAlert.confirm('提示', '有未保存数据,是否保存?', {
callback: (flag) => { callback: (flag) => {
if(flag){ if (flag){
this.savePointData() this.savePointData();
this.executeOperate({ key: 'fitview' });//恢复正常视角
this.props.editModelChange(false);//显示全景统计 this.props.editModelChange(false);//显示全景统计
this.setState({ this.setState({
treeData:[], treeData: [],
pageType: 'region',//区域
sideControlShow: false, //隐藏耳朵 sideControlShow: false, //隐藏耳朵
isShowActionBar: true, //显示工具栏 isShowActionBar: true, //显示工具栏
startLoadExceptionArea: true, //显示marker, startLoadExceptionArea: true, //显示marker,
...@@ -1458,8 +1494,9 @@ class View3D extends Component { ...@@ -1458,8 +1494,9 @@ class View3D extends Component {
} else { } else {
this.props.editModelChange(false);//显示全景统计 this.props.editModelChange(false);//显示全景统计
this.setState({ this.setState({
isPointSave:true, isPointSave: true,
treeData:[], treeData: [],
pageType: 'region',//区域
sideControlShow: false, //隐藏耳朵 sideControlShow: false, //隐藏耳朵
isShowActionBar: true, //显示工具栏 isShowActionBar: true, //显示工具栏
startLoadExceptionArea: true, //显示marker, startLoadExceptionArea: true, //显示marker,
...@@ -1470,10 +1507,12 @@ class View3D extends Component { ...@@ -1470,10 +1507,12 @@ class View3D extends Component {
} }
} }
}); });
}else{ } else {
this.props.editModelChange(false);//显示全景统计 this.props.editModelChange(false);//显示全景统计
this.enableCamera();//恢复相机
this.setState({ this.setState({
treeData:[], treeData: [],
pageType: 'region',//区域
sideControlShow: false, //隐藏耳朵 sideControlShow: false, //隐藏耳朵
isShowActionBar: true, //显示工具栏 isShowActionBar: true, //显示工具栏
startLoadExceptionArea: true, //显示marker, startLoadExceptionArea: true, //显示marker,
...@@ -1500,7 +1539,6 @@ class View3D extends Component { ...@@ -1500,7 +1539,6 @@ class View3D extends Component {
return object; return object;
} }
addMarker=({extData,position})=>{ addMarker=({extData,position})=>{
console.log('addMarker');
let {markers} =this.state; let {markers} =this.state;
for (let i = 0; i < markers[extData.type].length; i++) { for (let i = 0; i < markers[extData.type].length; i++) {
...@@ -1522,11 +1560,12 @@ class View3D extends Component { ...@@ -1522,11 +1560,12 @@ class View3D extends Component {
type: extData.type, type: extData.type,
position3d: position position3d: position
} }
this.setState({selectPoints,markers}); this.setState({selectPoints,markers,showRightPanel:true });
// savePointListAction(paramsArr).then(data => { // savePointListAction(paramsArr).then(data => {
// }) // })
// this.setState({positionxyz: position}) // this.setState({positionxyz: position})
} }
render() { render() {
const { const {
...@@ -1548,6 +1587,7 @@ class View3D extends Component { ...@@ -1548,6 +1587,7 @@ class View3D extends Component {
errorAreaId, errorAreaId,
positionxyz, positionxyz,
rightHeight, rightHeight,
treeDataList
} = this.state; } = this.state;
const { dimension, hiddenScreenSaver, editModelChange } = this.props; const { dimension, hiddenScreenSaver, editModelChange } = this.props;
const graphicProps = { const graphicProps = {
...@@ -1652,6 +1692,7 @@ class View3D extends Component { ...@@ -1652,6 +1692,7 @@ class View3D extends Component {
selectItemChange={this.selectItemChange} selectItemChange={this.selectItemChange}
// stopDrowing={this.stopDrowing} // stopDrowing={this.stopDrowing}
pageType={pageType} pageType={pageType}
treeDataList={treeDataList}
pointTypeArr={pointTypeArr} pointTypeArr={pointTypeArr}
pointTypeChange={this.pointTypeChange} pointTypeChange={this.pointTypeChange}
dragItemChange={this.dragItemChange} dragItemChange={this.dragItemChange}
...@@ -1663,6 +1704,7 @@ class View3D extends Component { ...@@ -1663,6 +1704,7 @@ class View3D extends Component {
selectPointChange={this.selectPointChange} selectPointChange={this.selectPointChange}
// stopDrowing={this.stopDrowing} // stopDrowing={this.stopDrowing}
pageType={pageType} pageType={pageType}
treeDataList={treeDataList}
// pointType={pointType} // pointType={pointType}
pointTypeArr={pointTypeArr} pointTypeArr={pointTypeArr}
pointTypeChange={this.pointTypeChange} pointTypeChange={this.pointTypeChange}
......
...@@ -362,6 +362,10 @@ export const desigerHelperConfig = { ...@@ -362,6 +362,10 @@ export const desigerHelperConfig = {
}, },
objAnchor: { objAnchor: {
position: [0, 5, 0] position: [0, 5, 0]
},
verticalCameraEffect: {
position: [2.3815615940156256, 419.57425506421896, 11.965199740306224],
target: [2.408441971875859, 1.3271790975878637, 3.918674823963386]
} }
}; };
......
...@@ -7,7 +7,20 @@ import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditS ...@@ -7,7 +7,20 @@ import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditS
const eventConnect = Connect.eventConnect; const eventConnect = Connect.eventConnect;
const TreeNode = Tree.TreeNode; const TreeNode = Tree.TreeNode;
const Option = Select.Option; const Option = Select.Option;
const getParentKey = (key, tree) => {
let parentKey;
for (let i = 0; i < tree.length; i++) {
const node = tree[i];
if (node.children && node.children.length >0) {
if (node.children.some(item => item.id === key)) {
parentKey = node.id;
} else if (getParentKey(key, node.children)) {
parentKey = getParentKey(key, node.children);
}
}
}
return parentKey;
};
@eventConnect @eventConnect
class AreaLeftTree extends Component { class AreaLeftTree extends Component {
...@@ -22,29 +35,34 @@ class AreaLeftTree extends Component { ...@@ -22,29 +35,34 @@ class AreaLeftTree extends Component {
selectedKeys: [], selectedKeys: [],
treeData:[], treeData:[],
pointTypeArr:[], pointTypeArr:[],
pointType:'' pointType:'',
treeDataList : [],
searchValue:''
}; };
} }
componentDidMount() { componentDidMount() {
let {treeData,pointTypeArr} = this.props; let {treeData,pointTypeArr,treeDataList} = this.props;
this.setState({ this.setState({
treeData, treeData,
treeDataList,
pointTypeArr, pointTypeArr,
pointType: pointTypeArr[0]?pointTypeArr[0].code:'' pointType: pointTypeArr[0]?pointTypeArr[0].code:''
}) })
} }
componentWillUnmount() { componentWillUnmount() {
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
console.log(nextProps,'nextProps') console.log(nextProps)
let {treeData,pointTypeArr} = nextProps; let {treeData,pointTypeArr,pageType,treeDataList} = nextProps;
this.setState({ this.setState({
treeData, treeData,
pointTypeArr, pointTypeArr,
treeDataList,
pointType: pointTypeArr[0]?pointTypeArr[0].code:'' pointType: pointTypeArr[0]?pointTypeArr[0].code:''
}) })
} }
...@@ -54,10 +72,23 @@ class AreaLeftTree extends Component { ...@@ -54,10 +72,23 @@ class AreaLeftTree extends Component {
// this.state.pointType = value; // this.state.pointType = value;
// this.props.pointTypeChange(value); // this.props.pointTypeChange(value);
// } // }
onSearchChange = (e, value) => {
console.log(e, value); onSearchChange = e => {
const {treeDataList,treeData} = this.state
const value = e.target.value;
const expandedKeys = treeDataList
.map(item => {
if (item.title.indexOf(value) > -1) {
return getParentKey(item.key, treeData);
}
return null;
})
.filter((item, i, self) => item && self.indexOf(item) === i);
this.setState({ this.setState({
value expandedKeys,
searchValue: value,
autoExpandParent: true
}); });
} }
...@@ -105,9 +136,23 @@ class AreaLeftTree extends Component { ...@@ -105,9 +136,23 @@ class AreaLeftTree extends Component {
} }
// onClick={(e)=>{e.nativeEvent.stopImmediatePropagation();e.stopPropagation();console.log(123123);}} // onClick={(e)=>{e.nativeEvent.stopImmediatePropagation();e.stopPropagation();console.log(123123);}}
renderTreeNodes = (data) => { renderTreeNodes = (data) => {
let {searchValue} =this.state
// console.log(data); // console.log(data);
if (data.length>0) { if (data.length>0) {
return data.map((item) => { return data.map((item) => {
const index = item.name.indexOf(searchValue);
const beforeStr = item.name.substr(0, index);
const afterStr = item.name.substr(index + searchValue.length);
const title =
index > -1 ? (
<span>
{beforeStr}
<span style={{ color: '#f50' }}>{searchValue}</span>
{afterStr}
</span>
) : (
<span>{item.name}</span>
);
if (item.children) { if (item.children) {
return ( return (
<TreeNode <TreeNode
...@@ -115,7 +160,7 @@ class AreaLeftTree extends Component { ...@@ -115,7 +160,7 @@ class AreaLeftTree extends Component {
<div> <div>
{ {
<span > <span >
{item.name} {title}
<span className='icon'> <span className='icon'>
{ {
item.isBind?'': item.isBind?'':
...@@ -145,46 +190,12 @@ class AreaLeftTree extends Component { ...@@ -145,46 +190,12 @@ class AreaLeftTree extends Component {
</TreeNode> </TreeNode>
); );
} }
return <TreeNode
key={item.id}
title={
<div>
{
<span >
{item.name}
<span className='icon'>
{
item.isBind?'':
<img
src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/editBtn.png'
onClick={(e) => {
e.nativeEvent.stopImmediatePropagation();
e.stopPropagation();
this.props.startDrow(item);
}}
/>
}
{
item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
item.routePath?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/noSaveTip.png' />:
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/nobindTip.png' />
}
</span>
</span>
}
</div>
}
dataRef={item}
{...item}
/>;
}); });
} }
} }
render() { render() {
let { treeData, checkedKeys,pointTypeArr,pointType } = this.state; let { treeData, checkedKeys,pointTypeArr,pointType} = this.state;
let { pageType } = this.props; let { pageType } = this.props;
return ( return (
<div className="leftTree"> <div className="leftTree">
...@@ -199,7 +210,7 @@ class AreaLeftTree extends Component { ...@@ -199,7 +210,7 @@ class AreaLeftTree extends Component {
selectable={true} selectable={true}
onExpand={this.onExpand} onExpand={this.onExpand}
expandedKeys={this.state.expandedKeys} expandedKeys={this.state.expandedKeys}
autoExpandParent={this.state.autoExpandParent} autoExpandParent={true}
// onCheck={this.onCheck} // onCheck={this.onCheck}
// checkedKeys={checkedKeys} // checkedKeys={checkedKeys}
onSelect={this.onTreeSelect} onSelect={this.onTreeSelect}
......
...@@ -7,7 +7,20 @@ import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditS ...@@ -7,7 +7,20 @@ import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditS
const eventConnect = Connect.eventConnect; const eventConnect = Connect.eventConnect;
const TreeNode = Tree.TreeNode; const TreeNode = Tree.TreeNode;
const Option = Select.Option; const Option = Select.Option;
const getParentKey = (key, tree) => {
let parentKey;
for (let i = 0; i < tree.length; i++) {
const node = tree[i];
if (node.children) {
if (node.children.some(item => item.name === key)) {
parentKey = node.id;
} else if (getParentKey(key, node.children)) {
parentKey = getParentKey(key, node.children);
}
}
}
return parentKey;
};
@eventConnect @eventConnect
class PointLeftTree extends Component { class PointLeftTree extends Component {
...@@ -22,15 +35,18 @@ class PointLeftTree extends Component { ...@@ -22,15 +35,18 @@ class PointLeftTree extends Component {
selectedKeys: [], selectedKeys: [],
treeData:[], treeData:[],
pointTypeArr:[], pointTypeArr:[],
pointType:'' pointType:'',
treeDataList : [],
searchValue:''
}; };
} }
componentDidMount() { componentDidMount() {
let {treeData,pointTypeArr} = this.props; let {treeData,pointTypeArr,treeDataList} = this.props;
this.setState({ this.setState({
treeData, treeData,
treeDataList,
pointTypeArr, pointTypeArr,
pointType: pointTypeArr[0]?pointTypeArr[0].code:'' pointType: pointTypeArr[0]?pointTypeArr[0].code:''
}) })
...@@ -42,11 +58,12 @@ class PointLeftTree extends Component { ...@@ -42,11 +58,12 @@ class PointLeftTree extends Component {
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
console.log(nextProps) console.log(nextProps)
let {treeData,pointTypeArr} = nextProps; let {treeData,pointTypeArr,treeDataList} = nextProps;
this.setState({ this.setState({
treeData, treeData,
// pointTypeArr, treeDataList,
// pointType: pointTypeArr[0]?pointTypeArr[0].code:'' //pointTypeArr,
//pointType: pointTypeArr[0]?pointTypeArr[0].code:''
}) })
} }
...@@ -55,10 +72,21 @@ class PointLeftTree extends Component { ...@@ -55,10 +72,21 @@ class PointLeftTree extends Component {
this.setState({pointType:value}) this.setState({pointType:value})
this.props.pointTypeChange(value); this.props.pointTypeChange(value);
} }
onSearchChange = (e, value) => { onSearchChange = e => {
console.log(e, value); const {treeDataList,treeData} = this.state
const value = e.target.value;
const expandedKeys = treeDataList
.map(item => {
if (item.title.indexOf(value) > -1) {
return getParentKey(item.title, treeData);
}
return null;
})
.filter((item, i, self) => item && self.indexOf(item) === i);
this.setState({ this.setState({
value expandedKeys,
searchValue: value,
autoExpandParent: true
}); });
} }
...@@ -80,9 +108,23 @@ class PointLeftTree extends Component { ...@@ -80,9 +108,23 @@ class PointLeftTree extends Component {
} }
renderTreeNodes = (data) => { renderTreeNodes = (data) => {
let {searchValue} =this.state
// console.log(data); // console.log(data);
if (data.length>0) { if (data.length>0) {
return data.map((item) => { return data.map((item) => {
const index = item.name.indexOf(searchValue);
const beforeStr = item.name.substr(0, index);
const afterStr = item.name.substr(index + searchValue.length);
const title =
index > -1 ? (
<span>
{beforeStr}
<span style={{ color: '#f50' }}>{searchValue}</span>
{afterStr}
</span>
) : (
<span>{item.name}</span>
);
if (item.children) { if (item.children) {
return ( return (
<TreeNode <TreeNode
...@@ -90,7 +132,7 @@ class PointLeftTree extends Component { ...@@ -90,7 +132,7 @@ class PointLeftTree extends Component {
<div> <div>
{item.isRegion? {item.isRegion?
<span> <span>
{item.name} {title}
<span className='icon'> <span className='icon'>
{ {
item.isRegion?item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />: item.isRegion?item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
...@@ -107,7 +149,7 @@ class PointLeftTree extends Component { ...@@ -107,7 +149,7 @@ class PointLeftTree extends Component {
this.props.dragItemChange(item) this.props.dragItemChange(item)
}} }}
> >
{item.name} {title}
<span className='icon'> <span className='icon'>
{ {
item.isRegion?item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />: item.isRegion?item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
...@@ -129,46 +171,6 @@ class PointLeftTree extends Component { ...@@ -129,46 +171,6 @@ class PointLeftTree extends Component {
</TreeNode> </TreeNode>
); );
} }
return <TreeNode
key={item.id}
title={
<div>
{item.isRegion?
<span>
{item.name}
<span className='icon'>
{
item.isRegion?item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/nobindTip.png' />:
item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
item.position3d?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/noSaveTip.png' />:
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/nobindTip.png' />
}
</span>
</span>:
<span
draggable={true}
onDragStart={() => {
this.props.dragItemChange(item)
}}
>
{item.name}
<span className='icon'>
{
item.isRegion?item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/nobindTip.png' />:
item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />:
item.position3d?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/noSaveTip.png' />:
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/nobindTip.png' />
}
</span>
</span>}
</div>
}
dataRef={item}
{...item}
// onClick={() => {console.log('aaa')}}
/>;
}); });
} }
...@@ -181,19 +183,14 @@ class PointLeftTree extends Component { ...@@ -181,19 +183,14 @@ class PointLeftTree extends Component {
this.setState({ selectedKeys }); this.setState({ selectedKeys });
this.props.selectPointChange(selectItem) this.props.selectPointChange(selectItem)
} }
render() { render() {
let { treeData, checkedPointsKeys,pointTypeArr,pointType } = this.state; let { treeData, checkedPointsKeys,pointTypeArr,pointType } = this.state;
let { pageType } = this.props; let { pageType } = this.props;
console.log(treeData)
console.log(this.props)
return ( return (
<div className="leftTree"> <div className="leftTree">
<div className='leftContainer'> <div className='leftContainer'>
<div className='topForm'> <div className='topForm'>
{(pointType!='') &&
<Select onChange={this.onSelectChange} defaultValue={pointType} value={pointType} className='leftSelect'> <Select onChange={this.onSelectChange} defaultValue={pointType} value={pointType} className='leftSelect'>
{ {
pointTypeArr.map(item => { pointTypeArr.map(item => {
...@@ -201,7 +198,9 @@ class PointLeftTree extends Component { ...@@ -201,7 +198,9 @@ class PointLeftTree extends Component {
}) })
} }
</Select> </Select>
<Search className='leftSearch' icon="search" value={''} onChange={this.onSearchChange} onIconClick={this.onSearchChange} /> }
<Search className='leftSearch' icon="search" onChange={this.onSearchChange} onIconClick={this.onSearchChange} />
</div> </div>
<div className='treeBox'> <div className='treeBox'>
<Tree <Tree
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import { equipStatusListAction } from './../../../services/panoramicService'; import { equipStatusListAction } from './../../../services/panoramicService';
import { equipStatusIconMapper } from './../../../consts/imgStatic';
const getIcon = (status)=>{
return equipStatusIconMapper[`equip_${status}`];
};
/** /**
* 设备状态消息 * 设备状态消息
*/ */
...@@ -32,7 +37,7 @@ export default class EquipStatusList extends Component { ...@@ -32,7 +37,7 @@ export default class EquipStatusList extends Component {
return ( return (
<div key={item.id} className="title-child"> <div key={item.id} className="title-child">
<div className="title-date" >{item.changeDate}</div> <div className="title-date" >{item.changeDate}</div>
<div className="title-text" >{item.label}</div> <div className="title-text" >{item.label}&nbsp;&nbsp;<img src={getIcon(item.status)} alt="" /></div>
</div> </div>
); );
}) })
......
...@@ -78,22 +78,16 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -78,22 +78,16 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
} }
componentWillReceiveProps = nextProps => { componentWillReceiveProps = nextProps => {
// if(nextProps.isEditMode){ if(nextProps.isEditMode){
// this.markersCache.eachValue(obj=>{ this.markersCache.eachValue(obj=>{
// if(nextProps.selectPoints.type == obj.extData.type && nextProps.selectPoints.id ==obj.extData.id ){ // this.setTopCardConf(obj, obj.extData);
// this.setTwinkleConf(obj); if(nextProps.selectPoints.type == obj.extData.type && nextProps.selectPoints.id ==obj.extData.id ){
// } this.setTwinkleConf(obj);
// }); }
// } });
}
this.setState({ planStarted: nextProps.planStarted }); this.setState({ planStarted: nextProps.planStarted });
} }
// onEditorChangeDone = (evt) => {
// if (evt && evt.target && evt.target.object){
// const marker = evt.target.object;
// //alert(marker.position.toArray());//(marker.extData
// this.props.addMarker(marker)
// }
// }
componentWillUnmount() { componentWillUnmount() {
this.objAnchorHelper && this.objAnchorHelper.destroy(); this.objAnchorHelper && this.objAnchorHelper.destroy();
} }
...@@ -172,17 +166,17 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -172,17 +166,17 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
obj.baseObjHelper.titleConfig = { obj.baseObjHelper.titleConfig = {
// 顶牌平面参数 // 顶牌平面参数
planeOptions: { planeOptions: {
width: 30, width: 40,
height: 15, height: 20,
position: [0,20,0], position: [0,20,0],
doubleSide: true doubleSide: true
}, },
canvasOptions: { canvasOptions: {
font: '34px Microsoft YaHei', font: '28px Microsoft YaHei',
fillStyle: 'white', fillStyle: 'white',
textBaseline: 'middle', textBaseline: 'middle',
textAlign: 'center', textAlign: 'center',
textX: 128, textX: 128
}, },
imgWidth: 256, imgWidth: 256,
imgHeight: 128, imgHeight: 128,
......
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