Commit edc99d15 authored by 万伟's avatar 万伟

合并代码冲突

parents 3ac842cd 8b751ee3
......@@ -84,7 +84,6 @@
}
// 左侧树
.leftTree {
position: absolute;
......@@ -114,6 +113,8 @@
color: #F0DF2D;
}
.leftSearch {
height: 33px;
line-height: 33px;
......@@ -260,3 +261,25 @@
left: 50%;
}
}
.amos-select-options{
.selectOption{
color:#fff;
background-color: rgba(10, 53, 62, 0.8);
}
.selectOption:hover{
color:#F0DF2D;
background-color: rgba(10, 53, 62, 0.8)
}
}
// .rayd-modal{
// background-color: rgba(25, 86, 147, 0.6) !important;
// .amos-alert-head{
// color:#fff
// }
// .rayd-content{
// color: #fff !important;
// }
// }
......@@ -10,7 +10,39 @@
background-size: 100% 100%;
z-index: 99;
}
// .ant-calendar{
// background-color: #13428f !important;
// border:none !important;
// .ant-calendar-input{
// background-color: #13428f !important;
// }
// }
.amos-popover-content{
::-webkit-scrollbar { /* 血槽宽度 */
width:5px;
height: 5px;
background-color: rgba(10, 53, 62, 1);
border-radius: 5px;
}
::-webkit-scrollbar-thumb { /* 拖动条 */
border-radius: 5px;
background-color: rgba(255, 255, 255, 0.4);
}
::-webkit-scrollbar-track { /* 背景槽 */
background-color:rgba(17, 44, 88, 0.2);
}
.amos-select-options{
.modalSelectOption{
color:#fff;
background-color: #13428f;
}
.modalSelectOption:hover{
color:#F0DF2D;
background-color: #13428f
}
}
}
.search-pane{
position: absolute !important;
right: 20px !important;
......@@ -261,6 +293,7 @@
}
// }
}
.ant-calendar-picker-container{
.ant-calendar{
border: 1px solid #2b8dd4;
......
......@@ -483,7 +483,7 @@ class View3D extends Component {
onAllDone = objGroup => {
this.sceneFactory.level.change(objGroup);
this.cameraFactory.fitView(desigerHelperConfig.cameraEffect);
this.stagePilot.rendererFactory.setupUModelSahdow();//接受阴影
this.setState({
startAsyncLoad: true
});
......@@ -493,6 +493,8 @@ class View3D extends Component {
onAfterWorkerInit = workerObjGroup => {
// 处理跳跃
this.lensJumpFactory.process(workerObjGroup);
// 子线程模型加上阴影
workerObjGroup.toggleShadow(true);
};
onComplete = obj => {
......@@ -546,17 +548,29 @@ class View3D extends Component {
}
}
};
getPointList = (pointType) => {
let { markers } = this.state
this.clearMarkers();
getPointListAction().then(data => {
for (let i = 0; i < data.length;i++){
if(pointType && data[i].type == pointType){
markers[pointType].push(data[i]);
getPointLoop = ({ markers }, pointType, treeData) => {
treeData.forEach( t => {
if(t.isRegion && t.children && t.children.length > 0){
this.getPointLoop( { markers }, pointType, t.children)
}else if(t.position3d){
t.position = t.position3d;
t.key = `${t.type}-${t.id}`;
t.label = t.name;
markers[pointType].push(t);
}
});
}
//编辑模式获取点
getPointList = (pointType,treeData) => {
this.clearMarkers();
if(treeData){
let markers = {};
markers[pointType] = [];
this.getPointLoop( { markers }, pointType, treeData);
this.setState({markers})
})
}
}
startDrow = (areaItem) => {
// this.a3dRef.addPen(m);
......@@ -767,13 +781,12 @@ class View3D extends Component {
//选中点变化
selectPointChange = (selectPoints) => {
if(selectPoints.isRegion){
this.setState({selectArea:selectPoints})
this.setState({selectArea:selectPoints,selectPoints})
}else{
this.dragItemChange(selectPoints)
this.setState({
selectArea:'',
selectPoints,
positionxyz:selectPoints.position3d && selectPoints.position3d.split(","),
showRightPanel: true,
});
}
......@@ -882,18 +895,18 @@ class View3D extends Component {
savePointData = () => {
let { markers, pointType, isPointSave} = this.state;
this.setState({isPointSave: true});
console.log(markers);
let paramsArr = [];
for ( let key in markers ){
let item = markers[key];
for (let i = 0; i < item.length; i++) {
paramsArr.push({
pointId: item[i].id,
pointType: item[i].type,
position3d: `${item[i].position[0]},${item[i].position[1]},${item[i].position[2]}`
paramsArr = markers[pointType].filter(e=> e.isEdit).map(item=>{
return {
pointId: item.id,
pointType: item.type,
position3d: item.position.length > 1 ? `${item.position[0]},${item.position[1]},${item.position[2]}` : null
};
});
this.savePointList(pointType,paramsArr);
}
}
savePointList = (pointType,paramsArr) => {
savePointListAction(paramsArr).then(
data => {
getPointTreeAction(pointType).then(
......@@ -908,52 +921,52 @@ class View3D extends Component {
message.success('保存成功');
},error => message.error('保存失败')
);
}
// 删除点绑定
deletePointBind = () => {
let { selectPoints ,pointTypeArr,pointType,markers} = this.state;
if (selectPoints) {
if (selectPoints && !selectPoints.isRegion) {
let pointParams = [];
pointParams.push({
pointId: selectPoints.id,
pointType: selectPoints.type,
position3d: ``
})
});
this.savePointAndRefreshMarker(pointType,pointParams);
}else if(selectPoints && selectPoints.isRegion && selectPoints.children){
AmosAlert.confirm('提示', '是否删除该区域下所有点?', {
callback: (flag) => {
if (flag){
let pointParams = [];
pointParams = selectPoints.children.filter(e => e.position3d && e.position3d.length > 0).map(item=>{
return {
pointId: item.id,
pointType: item.type,
position3d: ''
};
});
this.savePointAndRefreshMarker(pointType,pointParams);
} else {
savePointListAction(pointParams).then(data => {
getPointTreeAction(pointType).then(data => {
getPointListAction().then(data => {
let newMarkers ={
riskSource:[],//风险点 - riskSource;
patrol:[],//巡检点 -
impEquipment:[],//重点设备 -
monitorEquipment:[],//探测器 -
video:[],//摄像头 -
fireEquipment:[],//消防设备 -
person:[],
pool:[],
hydrant:[],
fireChamber:[],
fireCar:[],
fire:[],
fireDetection:[]
}
for (let i = 0; i < data.length;i++){
newMarkers[data[i].type].push(data[i]);
}
this.setState( {markers: newMarkers });
})
this.setState({
});
}
}
savePointAndRefreshMarker = (pointType,pointParams) => {
savePointListAction(pointParams).then(data => {
getPointTreeAction(pointType).then(data => {
this.getPointList(pointType,data);
this.setState({
treeData: data || [],
pageType: 'point',
showRightPanel: false
});
});
})
}
});
}
//删除区域
......@@ -1025,10 +1038,11 @@ class View3D extends Component {
*/
changeAreaPoint = (type) => {
let { pointTypeArr } = this.state;
this.setState({treeDataList:[]})
this.setState({ treeDataList: [] });
this.stagePilot.positionCtl.clearDrag();//清除已有选中
if (type === 'region') {
getAreaTreeAction().then(data => {
this.generateList(data)
this.generateList(data);
this.setState({
treeData: data || [],
pageType: 'region',
......@@ -1038,7 +1052,8 @@ class View3D extends Component {
this.disabledCamera();
} else {
getPointTreeAction(pointTypeArr[0].code || '').then(data => {
this.generateList(data)
this.getPointList( pointTypeArr[0].code, data );
this.generateList(data);
this.setState({
pointType: pointTypeArr[0].code || '',
treeData: data || [],
......@@ -1058,8 +1073,8 @@ class View3D extends Component {
pointType,
treeData: []
});
this.getPointList(pointType);
getPointTreeAction(pointType).then(data => {
this.getPointList(pointType,data);
this.setState({
pointType,
treeData: data || []
......@@ -1095,6 +1110,7 @@ class View3D extends Component {
}
drop = (event) => {
this.stagePilot.positionCtl.clearDrag();
event.preventDefault();
this.setState({ isPointSave: false });
let { dragItem,markers } = this.state;
......@@ -1128,11 +1144,20 @@ class View3D extends Component {
title: dragItem.name,
label: dragItem.name,
level: dragItem.level,
levelStr: dragItem.levelStr,
isEdit: true,
levelStr: dragItem.levelStr
};
let selectPoints = {
id: dragItem.id,
type: dragItem.type
};
markers[`${type}`] = markers[`${type}`].filter(e => e.id != dragItem.id );
markers[`${type}`].push(addPointParam);
this.setState({
markers: deepCopy(markers)
markers: deepCopy(markers),
selectPoints
// positionxyz: position.toArray()
});
}
}
......@@ -1151,11 +1176,10 @@ class View3D extends Component {
isEditMode = true;
this.setState({ isEditMode });
if (isEditMode === true) {
getAreaTreeAction().then(data => {
this.generateList(data)
getAreaTreeAction().then(treeData => {
this.generateList(treeData)
this.setState({
treeData: data || []
});
treeData: treeData || []
});
getPointTypeAction().then(data => {
console.log(data);
......@@ -1163,7 +1187,8 @@ class View3D extends Component {
pointTypeArr: data || [],
pointType: data[0] ? data[0].code : ''
});
this.getPointList(data[0].code);
this.getPointList(data[0].code,treeData);
});
});
}
}
......@@ -1451,6 +1476,7 @@ class View3D extends Component {
errorAreaId: areaId
});
} else if (type === 'out_except_model'){
this.stagePilot.positionCtl.clearDrag();
if (!isPointSave){
AmosAlert.confirm('提示', '有未保存数据,是否保存?', {
callback: (flag) => {
......@@ -1515,22 +1541,30 @@ class View3D extends Component {
// 非法元素
return object;
}
addMarker=({extData,position})=>{
const {markers} =this.state
let paramsArr = [{
pointId: extData.id,
pointType: extData.type,
position3d: `${position[0]},${position[1]},${position[2]}`
}];
console.log(paramsArr)
savePointListAction(paramsArr).then(data => {
})
addMarker=({ extData, position })=>{
const me = this;
const { markers } = me.state;
const isInside = me.polygonRegion && extData.parentId && me.polygonRegion[extData.parentId].pointInPolygon([position.x,position.y,position.z]);
// if (isInside){
markers[extData.type].forEach(e => {
if (e.id === extData.id){
e.position = position;
e.isEdit = true;
}
});
extData.position = position;
this.setState({
markers,
positionxyz: position,
showRightPanel:true,
selectPoints:extData
})
showRightPanel: true,
selectPoints: extData
});
// } else {
// message.error('不能放置非所在区域');
// }
}
render() {
const {
objs,
......@@ -1685,7 +1719,7 @@ class View3D extends Component {
showRightPanel && pageType === 'region' ? <RightEditRegionPanel detailData={selectArea} rightHeight={rightHeight} closeRightPanel={()=>this.setState({showRightPanel:false})} changeRoutePath={this.changeRoutePath} routePathData={this.state.routePathData}/> : ''
}
{
showRightPanel && pageType === 'point' ? <RightEditPointPanel detailData={selectPoints} positionxyz={positionxyz} closeRightPanel={()=>this.setState({showRightPanel:false})}/> : ''
showRightPanel && pageType === 'point' ? <RightEditPointPanel detailData={selectPoints} showRightPanel={showRightPanel} closeRightPanel={()=>this.setState({showRightPanel:false})} markers={markers} changeMarkersData={this.changeMarkersData}/> : ''
}
</div>
</div>
......
......@@ -181,7 +181,7 @@ class PointLeftTree extends Component {
console.log('onSelect', info);
let selectItem = info.node.props.dataRef;
this.setState({ selectedKeys });
this.props.selectPointChange(selectItem)
this.props.selectPointChange(selectItem);
}
render() {
let { treeData, checkedPointsKeys,pointTypeArr,pointType } = this.state;
......@@ -191,15 +191,16 @@ class PointLeftTree extends Component {
<div className='leftContainer'>
<div className='topForm'>
{(pointType!='') &&
<Select onChange={this.onSelectChange} defaultValue={pointType} value={pointType} className='leftSelect'>
{
pointTypeArr.map(item => {
return (<Option value={item.code} >{item.name}</Option>)
return (<Option className='selectOption' value={item.code} >{item.name}</Option>)
})
}
</Select>
}
}
<Search className='leftSearch' icon="search" onChange={this.onSearchChange} onIconClick={this.onSearchChange} />
</div>
<div className='treeBox'>
......
......@@ -17,24 +17,25 @@ class RightEditPointPanel extends Component {
super(props);
this.state = {
form: {
},
rules:{},
detailData:[]
form: {},
rules: {},
detailData: [],
positionxyz: [],
positionX: '',
positionY: '',
positionZ: '',
};
}
componentDidMount() {
let {detailData}=this.props
let { detailData, markers }=this.props
getPointTreeDetailAction(detailData.id,detailData.type).then(data => {
console.log(data);
// this.mreageDetailData( data,markers );
this.setState({
detailData: data || [],
},err => {
console.log(err)
});
});
}
......@@ -42,17 +43,38 @@ class RightEditPointPanel extends Component {
componentWillUnmount() {
}
componentWillReceiveProps(nextProps) {
let {detailData}=nextProps
let { detailData, markers, showRightPanel } = nextProps;
console.log('componentWillReceivePropscomponentWillReceiveProps');
// positionxyz && this.setState({ positionxyz, positionX: positionxyz[0], positionY: positionxyz[1], positionZ: positionxyz[2] });
getPointTreeDetailAction(detailData.id,detailData.type).then(data => {
console.log(data);
this.setState({
detailData: data || [],
},err => {
console.log(err)
});
if(detailData.position){
data.position = detailData.position;
}else if(!data.position){
const curTypeMaker = markers[data.type];
for (let i = 0; i < curTypeMaker.length; i++) {
if(data.id == curTypeMaker[i].id){
data.position = curTypeMaker[i].position;
}
}
}
this.setState({detailData: data,positionX: data.position[0], positionY: data.position[1], positionZ: data.position[2]});
});
}
mreageDetailData = (detailData,markers) => {
const curTypeMaker = markers[detailData.type];
for (let i = 0; i < curTypeMaker.length; i++) {
if(detailData.id == curTypeMaker[i].id){
const position = curTypeMaker[i].position;
// detailData.position3d =
position && this.setState({ positionX: position[0], positionY: position[1], positionZ: position[2] });
}
}
this.setState({detailData});
}
onChange = (key, e) => {
const value = e.target.value;
const newForm = Object.assign({}, this.state.form, { [key]: value });
......@@ -66,6 +88,7 @@ class RightEditPointPanel extends Component {
form: newForm
});
}
onHobbyChange = (value, item) => {
const newForm = Object.assign({}, this.state.form, { 'level': value });
this.setState({
......@@ -73,12 +96,6 @@ class RightEditPointPanel extends Component {
});
}
handleSubmit = (e) => {
// e.preventDefault();
this.form.validate((valid, dataValues, errors) => {
......@@ -92,9 +109,38 @@ class RightEditPointPanel extends Component {
});
}
onChangePosition = ( inputType , value ) => {
let { positionX, positionY, positionZ } = this.state;
if(inputType === 'positionX'){
this.state.positionX = Number(value);
}else if(inputType === 'positionY'){
this.state.positionY = Number(value);
}else{
this.state.positionZ = Number(value);
}
let position = [positionX,positionY,positionZ];
this.mreageMarkerPosition(position);
}
mreageMarkerPosition = ( position ) => {
let { markers } = this.props;
const { detailData } = this.state;
const curTypeMaker = markers[detailData.type] || [];
for (let index = 0; index < curTypeMaker.length; index++) {
const marker = curTypeMaker[index];
if(marker.id === detailData.id){
marker.position = position;
marker.isChange = true;
this.props.changeMarkersData(markers);
}
}
}
render() {
let { rules, form,pointTypeArr,pointType ,detailData,} = this.state;
let { pageType,positionxyz } = this.props;
let { rules,form,pointTypeArr,pointType ,detailData,positionxyz,positionX,positionY,positionZ } = this.state;
let { pageType } = this.props;
let radio = detailData.isIndoor ? "prop1":"prop2"
let position = (detailData.position3d) && detailData.position3d.split(",")
const formItemLayout = {
......@@ -164,17 +210,26 @@ class RightEditPointPanel extends Component {
<div className='position'>
<div className='positionItem'>
<FormItem label="X" field="positionX" {...formItemLayout}>
<Input value={positionxyz && positionxyz[0]} />
<Input
value={ this.state.positionX }
onChange={ (e) => this.onChangePosition('positionX',e.target.value) }
/>
</FormItem>
</div>
<div className='positionItem'>
<FormItem label="Y" field="positionY" {...formItemLayout}>
<Input value={positionxyz && positionxyz[1]} />
<Input
value={ this.state.positionY }
onChange={ (e) => this.onChangePosition('positionY',e.target.value) }
/>
</FormItem>
</div>
<div className='positionItem'>
<FormItem label="Z" field="positionZ" {...formItemLayout}>
<Input value={positionxyz && positionxyz[2]} />
<Input
value={ this.state.positionZ }
onChange={ (e) => this.onChangePosition('positionZ',e.target.value) }
/>
</FormItem>
</div>
</div>
......
......@@ -80,7 +80,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
componentWillReceiveProps = nextProps => {
if(nextProps.isEditMode){
this.markersCache.eachValue(obj=>{
this.setTopCardConf(obj, obj.extData);
// this.setTopCardConf(obj, obj.extData);
if(nextProps.selectPoints.type == obj.extData.type && nextProps.selectPoints.id ==obj.extData.id ){
this.setTwinkleConf(obj);
}
......@@ -182,12 +182,11 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
imgHeight: 128,
image: markerTitleBgMapper['base']
};
if(type === 'riskSource'){
if(type === 'riskSource' && !this.props.isEditMode){
cardTitle = '风险值' + title
}else{
cardTitle = title ? title : name;
cardTitle = name ? name : title;
}
obj.baseObjHelper.title = cardTitle;
}
......@@ -226,7 +225,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
};
render() {
const { markers, ...rest } = this.props;
const { markers,isEditMode, ...rest } = this.props;
const { planStarted } = this.state;
let dialogStyle = { zIndex: 1000 };
......@@ -235,7 +234,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
<WrappedComponent>
<Markers
{...rest}
draggable
draggable={isEditMode}
markers={result}
events={this.markerEvents}
onCreated={this.markerCreated}
......
......@@ -148,8 +148,8 @@ class paramsHeader extends Component {
key="searchType"
style={selectStyle}
data={bizControlsTypes}
renderOption={item => <Option key={item.key} value={item.key}>{item.label}</Option>}
defaultOption={<Option>全部</Option>}
renderOption={item => <Option className='modalSelectOption' key={item.key} value={item.key}>{item.label}</Option>}
defaultOption={<Option className='modalSelectOption'>全部</Option>}
onChange={this.onSearchTypeChange}
/>
<div className="params-input" style={inputStyle}>
......@@ -167,8 +167,8 @@ class paramsHeader extends Component {
key="searchLevel"
style={levelStyle}
data={riskSourceLevel}
renderOption={item => <Option key={item.key} value={item.key}>{item.label}</Option>}
defaultOption={<Option>全部</Option>}
renderOption={item => <Option className='modalSelectOption' key={item.key} value={item.key}>{item.label}</Option>}
defaultOption={<Option className='modalSelectOption'>全部</Option>}
onChange={(v) => this.onPamarmsChange('dataLevel',v)}
/>
}
......@@ -178,8 +178,8 @@ class paramsHeader extends Component {
key="implSelect"
style={implStyle}
data={impEquiList}
renderOption={item => <Option key={item.name} value={item.name}>{item.name}</Option>}
defaultOption={<Option>全部</Option>}
renderOption={item => <Option className='modalSelectOption' key={item.name} value={item.name}>{item.name}</Option>}
defaultOption={<Option className='modalSelectOption'>全部</Option>}
onChange={(v) => this.onPamarmsChange('impEquipment',v)}
/>
}
......@@ -194,8 +194,8 @@ class paramsHeader extends Component {
key="messageType"
style={selectStyle}
data={MsgTypeEnum}
renderOption={item => <Option key={item.id} value={item.id}>{item.name}</Option>}
defaultOption={<Option>类别</Option>}
renderOption={item => <Option className='modalSelectOption' key={item.id} value={item.id}>{item.name}</Option>}
defaultOption={<Option className='modalSelectOption'>类别</Option>}
onChange={(v) => this.onPamarmsChange('type', v)}
/>
<div className="params-input" style={inputStyle}>
......@@ -258,8 +258,8 @@ class paramsHeader extends Component {
key="statusSel"
style={selectStyle}
data={statusList}
renderOption={item => <Option key={item.code} value={item.code}>{item.name}</Option>}
defaultOption={<Option>全部</Option>}
renderOption={item => <Option className='modalSelectOption' key={item.code} value={item.code}>{item.name}</Option>}
defaultOption={<Option className='modalSelectOption'>全部</Option>}
onChange={(v) => this.paramsTypeonChange('isOK', v , SingleQueryEnum.EQUAL)}
/>
<div className="params-input" style={inputStyle}>
......
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