Commit 876bde88 authored by suhuiguang's avatar suhuiguang

1.修复缺陷760

2.修复缺陷初次放置点,右侧详情信息栏不打开及坐标信息回填
parent bc90be9e
...@@ -926,10 +926,8 @@ class View3D extends Component { ...@@ -926,10 +926,8 @@ class View3D extends Component {
//保存点绑定 //保存点绑定
savePointData = () => { savePointData = () => {
let { markers, pointType } = this.state; let { markers, pointType } = this.state;
this.setState({ isPointSave: false }); this.setState({ isPointSave: false });
if (pointType === 'fireEquipment') { if (pointType === 'fireEquipment') {
let typeArr = ['fireEquipment','pool','hydrant','fireChamber','fireCar','fireFoamRoom']; let typeArr = ['fireEquipment','pool','hydrant','fireChamber','fireCar','fireFoamRoom'];
for (let i = 0;i < typeArr.length;i++){ for (let i = 0;i < typeArr.length;i++){
...@@ -959,6 +957,7 @@ class View3D extends Component { ...@@ -959,6 +957,7 @@ class View3D extends Component {
}; };
}); });
this.savePointList(pointType,paramsArr); this.savePointList(pointType,paramsArr);
this.stagePilot.positionCtl.clearDrag();
} }
} }
...@@ -967,6 +966,7 @@ class View3D extends Component { ...@@ -967,6 +966,7 @@ class View3D extends Component {
data => { data => {
getPointTreeAction(pointType).then( getPointTreeAction(pointType).then(
data => { data => {
this.getPointList(pointType,data);
this.setState({ this.setState({
treeData: data || [], treeData: data || [],
pageType: 'point', pageType: 'point',
...@@ -978,9 +978,7 @@ class View3D extends Component { ...@@ -978,9 +978,7 @@ class View3D extends Component {
},error =>{ },error =>{
isfirst && message.error('保存失败'); isfirst && message.error('保存失败');
});
}
);
} }
// 删除点绑定 // 删除点绑定
...@@ -1201,7 +1199,6 @@ class View3D extends Component { ...@@ -1201,7 +1199,6 @@ class View3D extends Component {
message.danger('只能放置未绑定的标记点'); message.danger('只能放置未绑定的标记点');
return false; return false;
} }
} }
const objs = this.a3dRef.pickerCoordinate(event.clientX, event.clientY, null, true); const objs = this.a3dRef.pickerCoordinate(event.clientX, event.clientY, null, true);
let position; let position;
...@@ -1232,14 +1229,15 @@ class View3D extends Component { ...@@ -1232,14 +1229,15 @@ class View3D extends Component {
let selectPoints = { let selectPoints = {
id: dragItem.id, id: dragItem.id,
type: dragItem.type type: dragItem.type,
position: position.toArray()
}; };
markers[`${type}`] = markers[`${type}`] && markers[`${type}`].filter(e => e.id !== dragItem.id ); markers[`${type}`] = markers[`${type}`] && markers[`${type}`].filter(e => e.id !== dragItem.id );
markers[`${type}`].push(addPointParam); markers[`${type}`].push(addPointParam);
this.setState({ this.setState({
markers: deepCopy(markers), markers: deepCopy(markers),
selectPoints selectPoints,
// positionxyz: position.toArray() showRightPanel: true
}); });
} }
} }
...@@ -1626,8 +1624,13 @@ class View3D extends Component { ...@@ -1626,8 +1624,13 @@ class View3D extends Component {
return object; return object;
} }
/**
*多线程加载子模型
*
* @memberof View3D
*/
multLoadWorkerObjContent =(asyncModels)=>{ multLoadWorkerObjContent =(asyncModels)=>{
const sliceArry = chunk(asyncModels, 5); const sliceArry = chunk(asyncModels, 5);//每5个一组
return sliceArry.map(objs=>{ return sliceArry.map(objs=>{
return <WorkerObjContent return <WorkerObjContent
onComplete={this.onComplete} onComplete={this.onComplete}
...@@ -1814,6 +1817,7 @@ class View3D extends Component { ...@@ -1814,6 +1817,7 @@ class View3D extends Component {
pageType={pageType} pageType={pageType}
treeDataList={treeDataList} treeDataList={treeDataList}
// pointType={pointType} // pointType={pointType}
markers={markers}
pointTypeArr={pointTypeArr} pointTypeArr={pointTypeArr}
pointTypeChange={this.pointTypeChange} pointTypeChange={this.pointTypeChange}
dragItemChange={this.dragItemChange} dragItemChange={this.dragItemChange}
......
/* eslint-disable react/prop-types */ /* eslint-disable react/prop-types */
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Connect, Tree, Select, Search, Button } from 'amos-framework'; import { Tree, Select, Search, Button } from 'amos-framework';
import imgStatic from '../../consts/imgStatic'; import imgStatic from '../../consts/imgStatic';
const moduleEditIcon = imgStatic.moduleEditIcon; const moduleEditIcon = imgStatic.moduleEditIcon;
const eventConnect = Connect.eventConnect;
const TreeNode = Tree.TreeNode; const TreeNode = Tree.TreeNode;
const Option = Select.Option; const Option = Select.Option;
const getParentKey = (key, tree) => { const getParentKey = (key, tree) => {
...@@ -23,7 +22,7 @@ const getParentKey = (key, tree) => { ...@@ -23,7 +22,7 @@ const getParentKey = (key, tree) => {
return parentKey; return parentKey;
}; };
@eventConnect
class PointLeftTree extends Component { class PointLeftTree extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
...@@ -43,15 +42,14 @@ class PointLeftTree extends Component { ...@@ -43,15 +42,14 @@ class PointLeftTree extends Component {
} }
componentDidMount() { componentWillMount() {
let { treeData, pointTypeArr, treeDataList } = this.props; const { treeData, pointTypeArr, treeDataList } = this.props;
this.setState({ this.setState({
treeData, treeData,
treeDataList, treeDataList,
pointTypeArr, pointTypeArr,
pointType: pointTypeArr[0]?pointTypeArr[0].code:'' pointType: pointTypeArr[0] ? pointTypeArr[0].code : ''
}); });
// console.log(this.props)
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
...@@ -102,8 +100,7 @@ class PointLeftTree extends Component { ...@@ -102,8 +100,7 @@ class PointLeftTree extends Component {
} }
// eslint-disable-next-line react/sort-comp // eslint-disable-next-line react/sort-comp
renderTreeNodes = (data) => { renderTreeNodes = (data) => {
let { searchValue } = this.state; const { searchValue, pointType } = this.state;
// 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 index = item.name.indexOf(searchValue);
...@@ -121,41 +118,33 @@ class PointLeftTree extends Component { ...@@ -121,41 +118,33 @@ class PointLeftTree extends Component {
); );
if (item.children) { if (item.children) {
return ( return (
<TreeNode <TreeNode
title={ title={
<div> <div>
{item.isRegion ? {item.isRegion ?
<span> <span>
{title} {title}
<span className='icon'> <span className='icon'>
{ { item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> : <img src={moduleEditIcon.nobindTip} alt='' /> }
item.isRegion ? item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> : </span>
<img src={moduleEditIcon.nobindTip} alt='' /> : </span> :
item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> : <span
item.position3d ? <img src={moduleEditIcon.noSaveTip} alt='' /> : draggable
<img src={moduleEditIcon.nobindTip} alt='' /> onDragStart={() => {
} this.props.dragItemChange(item);
</span> }}
</span> : >
<span {title}
draggable <span className='icon'>
onDragStart={() => { {
this.props.dragItemChange(item); this.checkPointIsNoSave(pointType,item) ? <img src={moduleEditIcon.noSaveTip} alt='' /> :
}} item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> :
> <img src={moduleEditIcon.nobindTip} alt='' />
{title} }
<span className='icon'> </span>
{ </span>}
item.isRegion ? item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> : </div>
<img src={moduleEditIcon.nobindTip} alt='' /> : }
item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> :
item.position3d ? <img src={moduleEditIcon.noSaveTip} alt='' /> :
<img src={moduleEditIcon.nobindTip} alt='' />
}
</span>
</span>}
</div>
}
key={item.id} key={item.id}
dataRef={item} dataRef={item}
onDragStart={() => { onDragStart={() => {
...@@ -178,6 +167,18 @@ class PointLeftTree extends Component { ...@@ -178,6 +167,18 @@ class PointLeftTree extends Component {
this.setState({ selectedKeys }); this.setState({ selectedKeys });
this.props.selectPointChange(selectItem); this.props.selectPointChange(selectItem);
} }
checkPointIsNoSave =(pointType,{ id })=>{
const { markers } = this.props;
const selectPoints = markers[pointType];
const point = selectPoints.find(point=>point.id === id);
if (point && point.isEdit) {
return true;
} else {
return false;
}
}
render() { render() {
let { treeData,pointTypeArr,pointType } = this.state; let { treeData,pointTypeArr,pointType } = this.state;
return ( return (
...@@ -232,8 +233,7 @@ class PointLeftTree extends Component { ...@@ -232,8 +233,7 @@ class PointLeftTree extends Component {
} }
PointLeftTree.propTypes = { PointLeftTree.propTypes = {
subscribe: PropTypes.func, markers: PropTypes.object
trigger: PropTypes.func
}; };
export default PointLeftTree; export default PointLeftTree;
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