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

区域交互修改

parent 8ec1bf36
...@@ -114,7 +114,6 @@ class PointsPool extends Component { ...@@ -114,7 +114,6 @@ 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}
editFlag={this.props.editFlag}
selectPoints={this.props.selectPoints} selectPoints={this.props.selectPoints}
/> />
{/* <PatrolPoint {/* <PatrolPoint
......
...@@ -40,7 +40,7 @@ class AreaLeftTree extends Component { ...@@ -40,7 +40,7 @@ class AreaLeftTree extends Component {
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
console.log(nextProps) console.log(nextProps,'nextProps')
let {treeData,pointTypeArr} = nextProps; let {treeData,pointTypeArr} = nextProps;
this.setState({ this.setState({
treeData, treeData,
......
...@@ -45,14 +45,14 @@ class PointLeftTree extends Component { ...@@ -45,14 +45,14 @@ class PointLeftTree extends Component {
let {treeData,pointTypeArr} = nextProps; let {treeData,pointTypeArr} = nextProps;
this.setState({ this.setState({
treeData, treeData,
pointTypeArr, // pointTypeArr,
pointType: pointTypeArr[0]?pointTypeArr[0].code:'' // pointType: pointTypeArr[0]?pointTypeArr[0].code:''
}) })
} }
onSelectChange = (value, item) =>{ onSelectChange = (value, item) =>{
console.log(value, item); console.log(value, item);
this.state.pointType = value; this.setState({pointType:value})
this.props.pointTypeChange(value); this.props.pointTypeChange(value);
} }
onSearchChange = (e, value) => { onSearchChange = (e, value) => {
...@@ -194,7 +194,7 @@ class PointLeftTree extends Component { ...@@ -194,7 +194,7 @@ class PointLeftTree extends Component {
<div className="leftTree"> <div className="leftTree">
<div className='leftContainer'> <div className='leftContainer'>
<div className='topForm'> <div className='topForm'>
<Select onChange={this.onSelectChange} defaultValue={pointType} className='leftSelect'> <Select onChange={this.onSelectChange} defaultValue={pointType} value={pointType} className='leftSelect'>
{ {
pointTypeArr.map(item => { pointTypeArr.map(item => {
return (<Option value={item.code} >{item.name}</Option>) return (<Option value={item.code} >{item.name}</Option>)
......
...@@ -15,43 +15,50 @@ const RadioGroup = Radio.Group; ...@@ -15,43 +15,50 @@ const RadioGroup = Radio.Group;
class RightEditRegionPanel extends Component { class RightEditRegionPanel extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
form: { form: {},
rules: {},
}, treeDetailData:[],
rules:{}, detailData: {},
treeDetailData:[] heightInput: 0
}; };
} }
componentDidMount() { componentDidMount() {
console.log(JSON.stringify(this.props.detailData)) console.log(JSON.stringify(this.props.detailData))
// getAreaTreeDetailAction().then(data => { const { detailData,routePathData } = this.props;
// console.log(data); this.mergeDetailData(detailData,routePathData);
// this.setState({
// treeDetailData:data || []
// })
// this.props.getAreaData(data || [])
// })
} }
componentWillUnmount() { componentWillUnmount() {
} }
componentWillReceiveProps(nextProps) { componentWillReceiveProps(nextProps) {
console.log(nextProps) console.log(nextProps)
let {treeData,pointTypeArr} = nextProps; // if(this.props.detailData != nextProps.detailData || this.props.routePathData != nextProps.routePathData){
// this.setState({ let { detailData,routePathData } = nextProps;
this.mergeDetailData(detailData,routePathData);
// }
}
// }) mergeDetailData = (detailData,routePathData) => {
let { heightInput } = this.state;
const { rightHeight } = this.props;
routePathData && routePathData.forEach(r => {
if(r.riskSourceId === detailData.id){
detailData.routePath = r.routePath;
}
});
heightInput = detailData && detailData.routePath && detailData.routePath != '' && JSON.parse(detailData.routePath).regionHeigth || rightHeight;
this.setState({ detailData, heightInput });
} }
onChange = (key, e) => { onChange = (key, e) => {
const value = e.target.value; const value = e.target.value;
const newForm = Object.assign({}, this.state.form, { [key]: value }); const newForm = Object.assign({}, this.state.form, { [key]: value });
this.setState({ this.setState({
form: newForm form: newForm,
heightInput: value
}); });
} }
onRadioChange = (value) => { onRadioChange = (value) => {
...@@ -67,15 +74,9 @@ class RightEditRegionPanel extends Component { ...@@ -67,15 +74,9 @@ class RightEditRegionPanel extends Component {
}); });
} }
handleSubmit = (e) => { handleSubmit = (e) => {
// e.preventDefault(); // e.preventDefault();
const {detailData} = this.props const {detailData} = this.state;
this.form.validate((valid, dataValues, errors) => { this.form.validate((valid, dataValues, errors) => {
console.log('返回内容:', dataValues, valid, errors); console.log('返回内容:', dataValues, valid, errors);
if (valid) { if (valid) {
...@@ -83,10 +84,19 @@ class RightEditRegionPanel extends Component { ...@@ -83,10 +84,19 @@ class RightEditRegionPanel extends Component {
let routePathData=[ { let routePathData=[ {
riskSourceId: detailData.id, riskSourceId: detailData.id,
routePath: JSON.stringify({ routePath: JSON.stringify({
routePath:detailData.routePath, routePath:JSON.parse(detailData.routePath).routePath,
regionHeigth:parseFloat(dataValues.positionZ) regionHeigth:parseFloat(dataValues.positionZ)
})}] })}]
this.props.saveRoutePath(routePathData)
// this.props.saveRoutePath(routePathData)
let routePathDataNode={
riskSourceId: detailData.id,
routePath: JSON.stringify({
routePath:JSON.parse(detailData.routePath).routePath,
regionHeigth:parseFloat(dataValues.positionZ)
})
}
this.props.changeRoutePath(routePathDataNode);
} else { } else {
console.log('error submit!!'); console.log('error submit!!');
return false; return false;
...@@ -95,8 +105,8 @@ class RightEditRegionPanel extends Component { ...@@ -95,8 +105,8 @@ class RightEditRegionPanel extends Component {
} }
render() { render() {
let { rules, form,pointTypeArr,pointType, } = this.state; let { rules, form,pointTypeArr,pointType,detailData,heightInput } = this.state;
let { pageType,detailData,rightHeight } = this.props; let { pageType,rightHeight } = this.props;
const formItemLayout = { const formItemLayout = {
labelCol: { labelCol: {
xs: { span: 28 }, xs: { span: 28 },
...@@ -174,7 +184,10 @@ class RightEditRegionPanel extends Component { ...@@ -174,7 +184,10 @@ class RightEditRegionPanel extends Component {
</div> */} </div> */}
<div className='positionItem'> <div className='positionItem'>
<FormItem label="高" field="positionZ" {...formItemLayout}> <FormItem label="高" field="positionZ" {...formItemLayout}>
<Input placeholder={rightHeight} onChange={(e) => this.onChange('positionZ', e)}/> <Input
placeholder={detailData.routePath && JSON.parse(detailData.routePath).regionHeigth || rightHeight}
value={heightInput}
onChange={(e) => this.onChange('positionZ', e)}/>
{/* <Input value={detailData.ue4Location && detailData.ue4Location[2]} /> */} {/* <Input value={detailData.ue4Location && detailData.ue4Location[2]} /> */}
</FormItem> </FormItem>
</div> </div>
......
...@@ -3,6 +3,7 @@ import PropTypes from 'prop-types'; ...@@ -3,6 +3,7 @@ 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 { BaseObjHelper } from 'base-r3d/lib/factory';
import formatUrl from 'amos-processor/lib/utils/urlFormat';
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';
...@@ -17,29 +18,6 @@ const getIcon = (markerType, level) => { ...@@ -17,29 +18,6 @@ const getIcon = (markerType, level) => {
return marker3DIoncMapper[`${markerType}`] return marker3DIoncMapper[`${markerType}`]
}; };
const buildMarkerOptions = (markers, markerType, defaultParams = {}) => {
if (!utils.isEmpty(markers)){
markers.forEach(m => {
const url = getIcon(markerType, m.level);
let position;
if (!utils.isArray(m.position)){
position = Object.values(m.position);
}
for (let k of Object.keys(defaultParams)) {
m[k] = defaultParams[k];
}
m.key = m.key || m.id;
m.url = url;
m.position = utils.isArray(m.position) ? m.position : position;
m.size = 10;
m.name = m.name ? m.name : m.label;
m.label = null;
// m.label = createMarkerLabel(m.name);
});
}
return markers;
};
const createMarkerLabel = (text) => { const createMarkerLabel = (text) => {
const div = document.createElement('div'); const div = document.createElement('div');
div.style.position = 'absolute'; div.style.position = 'absolute';
...@@ -100,7 +78,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -100,7 +78,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
} }
componentWillReceiveProps = nextProps => { componentWillReceiveProps = nextProps => {
// if(nextProps.editFlag){ // if(nextProps.isEditMode){
// this.markersCache.eachValue(obj=>{ // this.markersCache.eachValue(obj=>{
// if(nextProps.selectPoints.type == obj.extData.type && nextProps.selectPoints.id ==obj.extData.id ){ // if(nextProps.selectPoints.type == obj.extData.type && nextProps.selectPoints.id ==obj.extData.id ){
// this.setTwinkleConf(obj); // this.setTwinkleConf(obj);
...@@ -136,9 +114,6 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -136,9 +114,6 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
onMarkerClick = (marker, e) => { onMarkerClick = (marker, e) => {
const { isClick } = this.state; const { isClick } = this.state;
if(this.props.editFlag){
return false
}
if (this.props.isEditMode) { if (this.props.isEditMode) {
return false return false
} }
...@@ -165,13 +140,13 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -165,13 +140,13 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
} }
} }
markerCreated = ({ markersCache }) => { markerCreated = ({ markersCache }) => {
let {editFlag,selectKey} =this.props let {isEditMode,selectKey} =this.props
this.markersCache = markersCache; this.markersCache = markersCache;
//this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined; this.stagePilot = this.props.stagePilot;
this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined;
markersCache.eachValue(obj=>{ markersCache.eachValue(obj=>{
this.setTopCardConf(obj, obj.extData); this.setTopCardConf(obj, obj.extData);
if(obj.extData.type === "riskSource" && markerType != 'impEquipmentMode' && !editFlag){ if(obj.extData.type === "riskSource" && markerType != 'impEquipmentMode' && !isEditMode){
this.setTwinkleConf(obj); this.setTwinkleConf(obj);
} }
}); });
...@@ -222,12 +197,46 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -222,12 +197,46 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
obj.baseObjHelper.title = cardTitle; obj.baseObjHelper.title = cardTitle;
} }
buildMarkerOptions = (markers, markerType, defaultParams = {}) => {
const { isEditMode } = this.props;
if (!utils.isEmpty(markers)){
markers.forEach(m => {
const url = getIcon(markerType, m.level);
let position;
if (!utils.isArray(m.position)){
position = Object.values(m.position);
}
for (let k of Object.keys(defaultParams)) {
if((markerType === 'riskSource' || markerType === 'patrol' ) && k != 'useModel' && !isEditMode){
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-${m.level}` });
}else if((markerType === 'riskSource' || markerType === 'patrol' ) && k != 'useModel' && isEditMode){
if(markerType === 'riskSource'){
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-4` });
}else{
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-1` });
}
}else{
m[k] = defaultParams[k];
}
}
m.key = m.key || m.id;
m.url = url;
m.position = utils.isArray(m.position) ? m.position : position;
m.size = 10;
m.name = m.name ? m.name : m.label;
m.label = null;
// m.label = createMarkerLabel(m.name);
});
}
return markers;
};
render() { render() {
const { markers, ...rest } = this.props; const { markers, ...rest } = this.props;
const { planStarted } = this.state; const { planStarted } = this.state;
let dialogStyle = { zIndex: 1000 }; let dialogStyle = { zIndex: 1000 };
const result = buildMarkerOptions(markers, markerType, markerParams); const result = this.buildMarkerOptions(markers, markerType, markerParams);
return ( return (
<WrappedComponent> <WrappedComponent>
<Markers <Markers
......
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