Commit 876bde88 authored by suhuiguang's avatar suhuiguang

1.修复缺陷760

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