Commit 0f641961 authored by 单奇雲's avatar 单奇雲

冲突

parents 1e9a0b7c fb3f65bf
...@@ -25,6 +25,15 @@ export default { ...@@ -25,6 +25,15 @@ export default {
check_louyan: require('../assets/panoramic/main_icon_tag_louyan.png'), check_louyan: require('../assets/panoramic/main_icon_tag_louyan.png'),
check_weizhixing: require('../assets/panoramic/main_icon_tag_weizhixing.png') check_weizhixing: require('../assets/panoramic/main_icon_tag_weizhixing.png')
}, },
moduleEditIcon: {
editBtn: require('../assets/convertor/moduleEdit/editBtn.png'),
bindedTip: require('../assets/convertor/moduleEdit/bindedTip.png'),
noSaveTip: require('../assets/convertor/moduleEdit/noSaveTip.png'),
nobindTip: require('../assets/convertor/moduleEdit/nobindTip.png'),
rightModalTitleIcon: require('../assets/convertor/moduleEdit/rightModalTitleIcon.png'),
rightBaseMsgIcon: require('../assets/convertor/moduleEdit/rightBaseMsgIcon.png'),
right3dIcon: require('../assets/convertor/moduleEdit/right3dIcon.png')
},
contorls: { contorls: {
riskPoint: require('../assets/convertor/3dview/risk-point.png'), riskPoint: require('../assets/convertor/3dview/risk-point.png'),
videoPoint: require('../assets/convertor/3dview/video-point.png'), videoPoint: require('../assets/convertor/3dview/video-point.png'),
...@@ -58,7 +67,7 @@ export default { ...@@ -58,7 +67,7 @@ export default {
search: require('../assets/convertor/3dview/datapanel/search.png'), search: require('../assets/convertor/3dview/datapanel/search.png'),
smilingFace: require('../assets/convertor/3dview/datapanel/smilingFace.png'), smilingFace: require('../assets/convertor/3dview/datapanel/smilingFace.png'),
user: require('../assets/convertor/3dview/datapanel/user.png'), user: require('../assets/convertor/3dview/datapanel/user.png'),
searchPane: require('../assets/convertor/3dview/actionbars/chaxun.png'), searchPane: require('../assets/convertor/3dview/actionbars/chaxun.png')
}, },
markers: { markers: {
riskSource_0: require('../assets/convertor/3dview/markers/risk-0.png'), riskSource_0: require('../assets/convertor/3dview/markers/risk-0.png'),
...@@ -204,26 +213,26 @@ export const marker3DIoncMapper = { ...@@ -204,26 +213,26 @@ export const marker3DIoncMapper = {
riskSource_3: require('../assets/convertor/3dview/markers/risk-3.png'), riskSource_3: require('../assets/convertor/3dview/markers/risk-3.png'),
riskSource_4: require('../assets/convertor/3dview/markers/risk-4.png'), riskSource_4: require('../assets/convertor/3dview/markers/risk-4.png'),
riskSource_5: require('../assets/convertor/3dview/markers/risk-5.png'), riskSource_5: require('../assets/convertor/3dview/markers/risk-5.png'),
risk_0: '/mods/components/3dviewConvertor/threeres/markers/risk-0.png', risk_0: require('../threeres/markers/risk-0.png'),
risk_1: '/mods/components/3dviewConvertor/threeres/markers/risk-1.png', risk_1: require('../threeres/markers/risk-1.png'),
risk_2: '/mods/components/3dviewConvertor/threeres/markers/risk-2.png', risk_2: require('../threeres/markers/risk-2.png'),
risk_3: '/mods/components/3dviewConvertor/threeres/markers/risk-3.png', risk_3: require('../threeres/markers/risk-3.png'),
risk_4: '/mods/components/3dviewConvertor/threeres/markers/risk-4.png', risk_4: require('../threeres/markers/risk-4.png'),
risk_5: '/mods/components/3dviewConvertor/threeres/markers/risk-5.png', risk_5: require('../threeres/markers/risk-5.png'),
patrol_1: '/mods/components/3dviewConvertor/threeres/markers/patrol-1.png', patrol_1: require('../threeres/markers/patrol-1.png'),
patrol_2: '/mods/components/3dviewConvertor/threeres/markers/patrol-2.png', patrol_2: require('../threeres/markers/patrol-2.png'),
patrol_3: '/mods/components/3dviewConvertor/threeres/markers/patrol-3.png', patrol_3: require('../threeres/markers/patrol-3.png'),
patrol_4: '/mods/components/3dviewConvertor/threeres/markers/patrol-4.png', patrol_4: require('../threeres/markers/patrol-4.png'),
patrol_5: '/mods/components/3dviewConvertor/threeres/markers/patrol-5.png', patrol_5: require('../threeres/markers/patrol-5.png'),
person_0: '/mods/components/3dviewConvertor/threeres/markers/person-0.png', person_0: require('../threeres/markers/person-0.png'),
data_0: '/mods/components/3dviewConvertor/threeres/markers/data-0.png', data_0: require('../threeres/markers/data-0.png'),
data_1: '/mods/components/3dviewConvertor/threeres/markers/data-1.png', data_1: require('../threeres/markers/data-1.png'),
croom_0: '/mods/components/3dviewConvertor/threeres/markers/croom-0.png', croom_0: require('../threeres/markers/croom-0.png'),
croom_1: '/mods/components/3dviewConvertor/threeres/markers/croom-1.png', croom_1: require('../threeres/markers/croom-1.png'),
//重点设备模式 //重点设备模式
impEquipmentMode_monitorEquipment: require('../assets/convertor/3dview/markers/IeqMode-monitorEquipment.png'), impEquipmentMode_monitorEquipment: require('../assets/convertor/3dview/markers/IeqMode-monitorEquipment.png'),
...@@ -231,24 +240,24 @@ export const marker3DIoncMapper = { ...@@ -231,24 +240,24 @@ export const marker3DIoncMapper = {
impEquipmentMode_hydrant: require('../assets/convertor/3dview/markers/IeqMode-hydrant.png'), impEquipmentMode_hydrant: require('../assets/convertor/3dview/markers/IeqMode-hydrant.png'),
impEquipmentMode_pool: require('../assets/convertor/3dview/markers/IeqMode-pool.png'),// impEquipmentMode_pool: require('../assets/convertor/3dview/markers/IeqMode-pool.png'),//
impEquipmentMode_fireChamber: require('../assets/convertor/3dview/markers/IeqMode-fireChamber.png'),// impEquipmentMode_fireChamber: require('../assets/convertor/3dview/markers/IeqMode-fireChamber.png'),//
impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fireCar.png'), impEquipmentMode_fireCar: require('../assets/convertor/3dview/markers/IeqMode-fireCar.png')
}; };
export const safetyIndexIconMapper = { export const safetyIndexIconMapper = {
allEror: '/mods/components/3dviewConvertor/threeres/markers/exception_all.png', allEror: require('../threeres/markers/exception_all.png'),
faultEror: '/mods/components/3dviewConvertor/threeres/markers/exception_fault.png', faultEror: require('../threeres/markers/exception_fault.png'),
riskEror: '/mods/components/3dviewConvertor/threeres/markers/exception_risk.png', riskEror: require('../threeres/markers/exception_risk.png'),
transparent_rpn: require('./../threeres/markers/transparent_rpn.png') transparent_rpn: require('./../threeres/markers/transparent_rpn.png')
}; };
export const markerTitleBgMapper = { export const markerTitleBgMapper = {
base: '/mods/components/3dviewConvertor/assets/convertor/3dview/markers/markerTitle.png' base: require('../assets/convertor/3dview/markers/markerTitle.png')
}; };
export const equipStatusIconMapper = { export const equipStatusIconMapper = {
equip_false: '/mods/components/3dviewConvertor/assets/convertor/3dview/markers/pa-0.png', equip_false: require('../assets/convertor/3dview/markers/pa-0.png'),
equip_true: '/mods/components/3dviewConvertor/assets/convertor/3dview/markers/pa-1.png' equip_true: require('../assets/convertor/3dview/markers/pa-1.png')
}; };
...@@ -3,6 +3,8 @@ import * as helper from 'base-r3d/lib/utils/helper'; ...@@ -3,6 +3,8 @@ import * as helper from 'base-r3d/lib/utils/helper';
import { FscSerUrl, FasSerUrl } from './../consts/urlConsts'; import { FscSerUrl, FasSerUrl } from './../consts/urlConsts';
import { commonGet, commonPost, singleFetch } from './../utils/request'; import { commonGet, commonPost, singleFetch } from './../utils/request';
import { encodeUrl } from 'amos-tool';
//---------------- 加载模型、解析模型json ----------- //---------------- 加载模型、解析模型json -----------
export const getObjFromNet = (url, callback) => { export const getObjFromNet = (url, callback) => {
return singleFetch(url).then(data => { return singleFetch(url).then(data => {
...@@ -10,10 +12,15 @@ export const getObjFromNet = (url, callback) => { ...@@ -10,10 +12,15 @@ export const getObjFromNet = (url, callback) => {
// 临时将 asyncModels 也放在主线程 // 临时将 asyncModels 也放在主线程
const { basePath, asyncModels = [] } = data; const { basePath, asyncModels = [] } = data;
const _asyncModels = asyncModels.map(m => ({ const _asyncModels = asyncModels.map(m => {
basePath, const { objName, mtlName, ...rest } = m;
...m return {
})); basePath,
...rest,
objName: encodeUrl(objName),
mtlName: encodeUrl(mtlName)
};
});
// const _objs = objs.concat(_asyncModels); // const _objs = objs.concat(_asyncModels);
callback(objs, _asyncModels); callback(objs, _asyncModels);
......
.action-pane-data{ .action-pane-data {
position: absolute; position: absolute;
bottom: 5%; bottom: 5%;
left: 50%; left: 50%;
transform: translateX(-50%); transform: translateX(-50%);
.action-list { .action-list {
height: 40px; height: 40px;
padding: 0 1rem; padding: 0 1rem;
border-radius: 6px; background-color: rgba(216, 216, 216, 0.24);
background:rgba(216,216,216,0.24); border: 1px solid rgba(146, 149, 151, 1);
border:1px solid rgba(146,149,151,1); border-radius: 6px;
.action-item{ .action-item {
float: left; float: left;
width: 40px; width: 40px;
height: 38px; height: 38px;
text-align: center; text-align: center;
cursor: pointer ; cursor: pointer;
border:1px solid rgba(146,149,151,1); border: 1px solid rgba(146, 149, 151, 1);
.action-item-title{ .action-item-title {
color: #e0e0e0; position: absolute;
position: absolute; top: -20px;
top: -20px; width: 51px;
white-space: nowrap; color: #e0e0e0;
width: 51px; text-align: center;
-webkit-transform-origin-x: 0; white-space: nowrap;
-webkit-transform: scale(0.80); -webkit-transform-origin-x: 0;
text-align: center; -webkit-transform: scale(0.8);
} }
.action-item-content{ .action-item-content {
text-align: center; position: relative;
position: relative; width: 100%;
width: 100%; height: 100%;
height: 100%; text-align: center;
.action-item-icon{ .action-item-icon {
margin: 8px; position: relative;
width: 21px; width: 21px;
height: 21px; height: 21px;
position: relative; margin: 8px;
}
}
} }
}
}
.action-active{ .action-active {
background: linear-gradient(180deg,rgba(0,96,154,0.8) 0%,rgba(0,54,105,0.5) 100%); background: linear-gradient(180deg, rgba(0, 96, 154, 0.8) 0%, rgba(0, 54, 105, 0.5) 100%);
}
} }
}
} }
...@@ -97,7 +97,7 @@ ...@@ -97,7 +97,7 @@
// border-radius: $core-border-radius; // border-radius: $core-border-radius;
// box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); // box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
// box-sizing: border-box; // box-sizing: border-box;
background-image: url('/mods/components/3dviewConvertor/assets/convertor/3dview/dialogbg.png'); background-image: url('../assets/convertor/3dview/dialogbg.png');
background-color: rgba(25, 86, 147, 0.5); background-color: rgba(25, 86, 147, 0.5);
.body-min-header { .body-min-header {
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
width: 216px !important; width: 216px !important;
height: 100% !important; height: 100% !important;
padding: 0px; padding: 0px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/detail-info.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/detail-info.png') no-repeat;
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
position: relative; position: relative;
...@@ -108,7 +108,7 @@ ...@@ -108,7 +108,7 @@
.carImg { .carImg {
width: 35px; width: 35px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/plan/car.png') no-repeat top; background: url('../assets/convertor/3dview/plan/car.png') no-repeat top;
} }
.carHead { .carHead {
...@@ -131,7 +131,7 @@ ...@@ -131,7 +131,7 @@
width: 81px !important; width: 81px !important;
margin-left: 5px !important; margin-left: 5px !important;
font-size: 5px !important; font-size: 5px !important;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/plan/post.png'); background-image: url('../assets/convertor/3dview/plan/post.png');
text-align: center !important; text-align: center !important;
line-height: 27px !important; line-height: 27px !important;
} }
...@@ -147,7 +147,7 @@ ...@@ -147,7 +147,7 @@
margin-left: 0px; margin-left: 0px;
height: 25px; height: 25px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/plan/detail-title.png'); background-image: url('../assets/convertor/3dview/plan/detail-title.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -156,7 +156,7 @@ ...@@ -156,7 +156,7 @@
margin-left: 3px; margin-left: 3px;
height: 25px; height: 25px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/zhuyibar.png'); background-image: url('../assets/convertor/3dview/prePlan/zhuyibar.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -165,7 +165,7 @@ ...@@ -165,7 +165,7 @@
margin-left: 3px; margin-left: 3px;
height: 25px; height: 25px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/jianyibar.png'); background-image: url('../assets/convertor/3dview/prePlan/jianyibar.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
margin-left: 3px; margin-left: 3px;
height: 25px; height: 25px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/jinggaobar.png'); background-image: url('../assets/convertor/3dview/prePlan/jinggaobar.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -436,7 +436,7 @@ ...@@ -436,7 +436,7 @@
width: 316px !important; width: 316px !important;
height: 100% !important; height: 100% !important;
padding: 0px; padding: 0px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/detail-info.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/detail-info.png') no-repeat;
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
position: relative; position: relative;
...@@ -534,7 +534,7 @@ ...@@ -534,7 +534,7 @@
.carImg { .carImg {
width: 59px; width: 59px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/plan/car.png') no-repeat top; background: url('../assets/convertor/3dview/plan/car.png') no-repeat top;
} }
.carHead { .carHead {
...@@ -557,7 +557,7 @@ ...@@ -557,7 +557,7 @@
width: 81px !important; width: 81px !important;
margin-left: 45px !important; margin-left: 45px !important;
font-size: 13px !important; font-size: 13px !important;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/plan/post.png'); background-image: url('../assets/convertor/3dview/plan/post.png');
text-align: center !important; text-align: center !important;
line-height: 27px !important; line-height: 27px !important;
} }
...@@ -571,7 +571,7 @@ ...@@ -571,7 +571,7 @@
margin-left: 5px; margin-left: 5px;
height: 35px; height: 35px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/plan/detail-title.png'); background-image: url('../assets/convertor/3dview/plan/detail-title.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -580,7 +580,7 @@ ...@@ -580,7 +580,7 @@
margin-left: 5px; margin-left: 5px;
height: 35px; height: 35px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/zhuyibar.png'); background-image: url('../assets/convertor/3dview/prePlan/zhuyibar.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -589,7 +589,7 @@ ...@@ -589,7 +589,7 @@
margin-left: 5px; margin-left: 5px;
height: 35px; height: 35px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/jianyibar.png'); background-image: url('../assets/convertor/3dview/prePlan/jianyibar.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
...@@ -598,7 +598,7 @@ ...@@ -598,7 +598,7 @@
margin-left: 5px; margin-left: 5px;
height: 35px; height: 35px;
color: white; color: white;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/jinggaobar.png'); background-image: url('../assets/convertor/3dview/prePlan/jinggaobar.png');
background-size: 100%; background-size: 100%;
background-repeat: round; background-repeat: round;
} }
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
.carousel-img { .carousel-img {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding: 5px padding: 5px;
} }
.carousel-indicators { .carousel-indicators {
...@@ -138,9 +138,7 @@ ...@@ -138,9 +138,7 @@
float: left; float: left;
width: 131px;//9.84%; width: 131px;//9.84%;
height: 40px; height: 40px;
//background: $biz-table-title-color;//#333;
background: rgba(25, 86, 147, 1); background: rgba(25, 86, 147, 1);
// border-left: 1px solid $core-border-color;
box-sizing: border-box; box-sizing: border-box;
flex: 1; flex: 1;
} }
...@@ -159,7 +157,7 @@ ...@@ -159,7 +157,7 @@
width: 100%; width: 100%;
height: 100%; height: 100%;
.amos-modal-container{ .amos-modal-container{
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/toolmodalbg.png'); background-image: url('../assets/convertor/3dview/toolmodalbg.png');
background-repeat: no-repeat; background-repeat: no-repeat;
height:262px; height:262px;
width: 452px !important; width: 452px !important;
...@@ -225,7 +223,7 @@ ...@@ -225,7 +223,7 @@
height: 8px; height: 8px;
} }
::-webkit-scrollbar-thumb { /* 拖动条 */ ::-webkit-scrollbar-thumb { /* 拖动条 */
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/scrollslider.png') ; background-image: url('../assets/convertor/3dview/scrollslider.png') ;
background-repeat: no-repeat; background-repeat: no-repeat;
height: 10px; height: 10px;
} }
...@@ -233,13 +231,13 @@ ...@@ -233,13 +231,13 @@
background-color:rgba(17, 44, 88, 0.2); background-color:rgba(17, 44, 88, 0.2);
} }
::-webkit-scrollbar-button{ ::-webkit-scrollbar-button{
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/scrollbutton.png') ; background-image: url('../assets/convertor/3dview/scrollbutton.png') ;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
height:100%; height:100%;
.amos-modal-container{ .amos-modal-container{
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/modalbg.png'); background-image: url('../assets/convertor/3dview/modalbg.png');
height:497px; height:497px;
width: 866px !important; width: 866px !important;
background-color: rgba(255,255,255,0); background-color: rgba(255,255,255,0);
......
...@@ -59,22 +59,22 @@ ...@@ -59,22 +59,22 @@
width: 260px; width: 260px;
height: 206px; height: 206px;
padding: 20px; padding: 20px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/buzhouqu.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/buzhouqu.png') no-repeat;
.step-trace { .step-trace {
height: 144px; height: 144px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/step-trace.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/step-trace.png') no-repeat;
.next-step { .next-step {
width: 24px; width: 24px;
height: 24px; height: 24px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/buzhouqu-xiayibu.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/buzhouqu-xiayibu.png') no-repeat;
} }
.previous-step { .previous-step {
width: 24px; width: 24px;
height: 24px; height: 24px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/buzhouqu-dangqianbu.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/buzhouqu-dangqianbu.png') no-repeat;
} }
} }
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
width: 840px; width: 840px;
height: 60px; height: 60px;
margin: 0 auto; margin: 0 auto;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/dingbu.png'); background-image: url('../assets/convertor/3dview/prePlan/dingbu.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
height: 30px; height: 30px;
margin: 0 auto; margin: 0 auto;
margin-top: 10px; margin-top: 10px;
background-image: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/baojing.png'); background-image: url('../assets/convertor/3dview/prePlan/baojing.png');
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
...@@ -179,7 +179,7 @@ ...@@ -179,7 +179,7 @@
height: 60px; height: 60px;
margin-bottom: 7px; margin-bottom: 7px;
text-align: center; text-align: center;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu.png');
.text-icon { .text-icon {
width: 36px; width: 36px;
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
.text-icon { .text-icon {
// flex: 1 0 16%; // flex: 1 0 16%;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-shijian.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-shijian.png');
background-repeat: no-repeat; background-repeat: no-repeat;
} }
...@@ -214,7 +214,7 @@ ...@@ -214,7 +214,7 @@
.text-icon { .text-icon {
// flex: 1 0 16%; // flex: 1 0 16%;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-shuichi.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-shuichi.png');
background-repeat: no-repeat; background-repeat: no-repeat;
} }
...@@ -228,7 +228,7 @@ ...@@ -228,7 +228,7 @@
.text-icon { .text-icon {
// flex: 1 0 8%; // flex: 1 0 8%;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-shuiwei.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-shuiwei.png');
background-repeat: no-repeat; background-repeat: no-repeat;
} }
...@@ -243,7 +243,7 @@ ...@@ -243,7 +243,7 @@
.text-icon { .text-icon {
// flex: 1 0 7%; // flex: 1 0 7%;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-gongshu.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-gongshu.png');
background-repeat: no-repeat; background-repeat: no-repeat;
} }
...@@ -257,7 +257,7 @@ ...@@ -257,7 +257,7 @@
.text-icon { .text-icon {
// flex: 1 0 7%; // flex: 1 0 7%;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-paomo.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-paomo.png');
background-repeat: no-repeat; background-repeat: no-repeat;
} }
...@@ -279,7 +279,7 @@ ...@@ -279,7 +279,7 @@
.amos-modal-confirm-confirm { .amos-modal-confirm-confirm {
.amos-modal-container { .amos-modal-container {
text-align: center; text-align: center;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/tishitanchuang.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/tishitanchuang.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
box-shadow: unset; box-shadow: unset;
...@@ -305,7 +305,7 @@ ...@@ -305,7 +305,7 @@
.amos-btn { .amos-btn {
width: 95px; width: 95px;
height: 44px; height: 44px;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/jiaohuqu-2anniu-cheng-chang.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/jiaohuqu-2anniu-cheng-chang.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
border: 0; border: 0;
} }
...@@ -315,7 +315,7 @@ ...@@ -315,7 +315,7 @@
height: 40px; height: 40px;
margin-top: -5px; margin-top: -5px;
color: white; color: white;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/jiaohuqu-2anniu-lan-chang.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/jiaohuqu-2anniu-lan-chang.png') no-repeat;
border: 0; border: 0;
} }
} }
...@@ -455,7 +455,7 @@ ...@@ -455,7 +455,7 @@
.precontrol-water-view { .precontrol-water-view {
width: 260px; width: 260px;
text-align: center; text-align: center;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/buzhouqu.png') no-repeat; background: url('../assets/convertor/3dview/prePlan/buzhouqu.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
padding-bottom: 10px; padding-bottom: 10px;
padding-top: 10px; padding-top: 10px;
...@@ -494,7 +494,7 @@ ...@@ -494,7 +494,7 @@
height: 20px; height: 20px;
width: 20px; width: 20px;
float: left; float: left;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-shuiwei.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-shuiwei.png');
background-size: cover; background-size: cover;
// background-repeat: no-repeat; // background-repeat: no-repeat;
} }
...@@ -503,7 +503,7 @@ ...@@ -503,7 +503,7 @@
height: 17px; height: 17px;
width: 20px; width: 20px;
float: left; float: left;
background: url('/mods/components/3dviewconvertor/assets/convertor/3dview/prePlan/shujuqu-shuichi.png'); background: url('../assets/convertor/3dview/prePlan/shujuqu-shuichi.png');
background-size: cover; background-size: cover;
} }
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
bottom: 20px; bottom: 20px;
width: 460px; width: 460px;
height: 600px; height: 600px;
background: url('/mods/components/3dviewConvertor/assets//convertor//3dview//searchpane-background.png'); background: url('../assets/convertor/3dview/searchpane-background.png');
filter:blur(3px); filter:blur(3px);
background-repeat: no-repeat; background-repeat: no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
...@@ -307,16 +307,16 @@ ...@@ -307,16 +307,16 @@
background-color: #2b8dd4; background-color: #2b8dd4;
} }
.ant-calendar-input::-webkit-input-placeholder { .ant-calendar-input::-webkit-input-placeholder {
color: white; color: white;
} }
} }
.ant-calendar-header{ .ant-calendar-header{
color: white; color: white;
div a{ div a{
color: white; color: white;
} }
div span a{ div span a{
color: white; color: white;
} }
} }
.ant-calendar-body{ .ant-calendar-body{
...@@ -334,6 +334,6 @@ ...@@ -334,6 +334,6 @@
color: white; color: white;
} }
} }
} }
} }
\ No newline at end of file
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
.down{ .down{
height: calc(100% - 90px); height: calc(100% - 90px);
margin-left: 20px; margin-left: 20px;
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_warning.png'); background-image: url('../../assets/panoramic/main_bg_warning.png');
background-repeat: repeat; background-repeat: repeat;
background-size: 100% 100%; background-size: 100% 100%;
...@@ -213,7 +213,7 @@ ...@@ -213,7 +213,7 @@
} }
.safetyIndex-content-chart { .safetyIndex-content-chart {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_dashboard.png') !important; background-image: url('../../assets/panoramic/main_bg_dashboard.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
margin-top: -25px !important; margin-top: -25px !important;
width: 125px !important; width: 125px !important;
...@@ -235,7 +235,7 @@ ...@@ -235,7 +235,7 @@
.echart-week { .echart-week {
width: 321px !important; width: 321px !important;
height: 248px !important; height: 248px !important;
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_line_bg.png') !important; background-image: url('../../assets/panoramic/main_bg_line_bg.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
background-position: 31px 47px !important; background-position: 31px 47px !important;
left: 24px; left: 24px;
...@@ -285,13 +285,13 @@ ...@@ -285,13 +285,13 @@
color: rgba(112, 238, 255, 1); color: rgba(112, 238, 255, 1);
line-height: 65px; line-height: 65px;
} }
.content-xj-middle { .content-xj-middle {
height: 44%; height: 44%;
margin-top: 4%; margin-top: 4%;
margin: 0 37px; margin: 0 37px;
background: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_rightmiddle.png'); background: url('../../assets/panoramic/main_bg_rightmiddle.png');
background-repeat: repeat; background-repeat: repeat;
background-size: 100% 100%; background-size: 100% 100%;
} }
...@@ -319,7 +319,7 @@ ...@@ -319,7 +319,7 @@
} }
.yellow-div { .yellow-div {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_tag_buhege.png') !important; background-image: url('../../assets/panoramic/main_bg_tag_buhege.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
width: 100%; width: 100%;
...@@ -330,7 +330,7 @@ ...@@ -330,7 +330,7 @@
} }
} }
.green-div { .green-div {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_tag_hege.png') !important; background-image: url('../../assets/panoramic/main_bg_tag_hege.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
width: 100%; width: 100%;
...@@ -342,7 +342,7 @@ ...@@ -342,7 +342,7 @@
} }
.red-div { .red-div {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_tag_louyan.png') !important; background-image: url('../../assets/panoramic/main_bg_tag_louyan.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
width: 100%; width: 100%;
...@@ -353,7 +353,7 @@ ...@@ -353,7 +353,7 @@
} }
} }
.grey-div { .grey-div {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_tag_weizhixing.png') !important; background-image: url('../../assets/panoramic/main_bg_tag_weizhixing.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
width: 100%; width: 100%;
...@@ -368,7 +368,7 @@ ...@@ -368,7 +368,7 @@
.div-echars { .div-echars {
// height: 200px !important; // height: 200px !important;
background: url('/mods/components/3dviewConvertor/assets/panoramic/circle_bg.png') no-repeat center center !important; background: url('../../assets/panoramic/circle_bg.png') no-repeat center center !important;
// background-position: 60px 14px !important; // background-position: 60px 14px !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
} }
...@@ -398,7 +398,7 @@ ...@@ -398,7 +398,7 @@
display: inline-flex; display: inline-flex;
.content-image { .content-image {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_icon_baoan.png') !important; background-image: url('../../assets/panoramic/main_icon_baoan.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
height: 42px !important; height: 42px !important;
width: 100%; width: 100%;
...@@ -431,7 +431,7 @@ ...@@ -431,7 +431,7 @@
float: left; float: left;
display: inline-flex; display: inline-flex;
.content-image { .content-image {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_icon_baoan.png') !important; background-image: url('../../assets/panoramic/main_icon_baoan.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
height: 42px !important; height: 42px !important;
width: 100%; width: 100%;
...@@ -463,7 +463,7 @@ ...@@ -463,7 +463,7 @@
float: left; float: left;
display: inline-flex; display: inline-flex;
.content-image { .content-image {
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_icon_baoan.png') !important; background-image: url('../../assets/panoramic/main_icon_baoan.png') !important;
background-repeat: no-repeat !important; background-repeat: no-repeat !important;
height: 42px !important; height: 42px !important;
width: 100%; width: 100%;
...@@ -506,7 +506,7 @@ ...@@ -506,7 +506,7 @@
bottom: 250px; bottom: 250px;
left: 250px; left: 250px;
right: 250px; right: 250px;
background-image: url('/mods/components/3dviewConvertor/assets/panoramic/main_bg_model.png'); background-image: url('../../assets/panoramic/main_bg_model.png');
background-repeat: repeat; background-repeat: repeat;
background-size: 100% 100%; background-size: 100% 100%;
.close{ .close{
......
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:01:58
newmtl fireChamber
Ns 10.0000
Ni 1.5000
d 1.0000
Tr 0.0000
Tf 1.0000 1.0000 1.0000
illum 2
Ka 0.5880 0.5880 0.5880
Kd 0.5880 0.5880 0.5880
Ks 0.0000 0.0000 0.0000
Ke 0.0000 0.0000 0.0000
map_Ka fireChamber.png
map_Kd fireChamber.png
map_d fireChamber.png
# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
# ļ:03.06.2020 11:01:58
mtllib fireChamber.mtl
#
# object fireChamber
#
v -34.4348 33.0200 0.0000
v -33.6163 33.0200 0.0000
v -33.6163 33.9408 0.0000
v -34.4348 33.9408 0.0000
v -32.7977 33.0200 0.0000
v -32.7977 33.9408 0.0000
v -31.9792 33.0200 0.0000
v -31.9792 33.9408 0.0000
v -31.1607 33.0200 0.0000
v -31.1607 33.9408 0.0000
v -33.6163 34.8617 0.0000
v -34.4348 34.8617 0.0000
v -32.7977 34.8617 0.0000
v -31.9792 34.8617 0.0000
v -31.1607 34.8617 0.0000
v -33.6163 35.7825 0.0000
v -34.4348 35.7825 0.0000
v -32.7977 35.7825 0.0000
v -31.9792 35.7825 0.0000
v -31.1607 35.7825 0.0000
v -33.6163 36.7034 0.0000
v -34.4348 36.7034 0.0000
v -32.7977 36.7034 0.0000
v -31.9792 36.7034 0.0000
v -31.1607 36.7034 0.0000
# 25 vertices
vn 0.0000 -0.0000 1.0000
# 1 vertex normals
vt 0.0000 0.0000 0.0000
vt 0.2500 0.0000 0.0000
vt 0.2500 0.2500 0.0000
vt 0.0000 0.2500 0.0000
vt 0.5000 0.0000 0.0000
vt 0.5000 0.2500 0.0000
vt 0.7500 0.0000 0.0000
vt 0.7500 0.2500 0.0000
vt 1.0000 0.0000 0.0000
vt 1.0000 0.2500 0.0000
vt 0.2500 0.5000 0.0000
vt 0.0000 0.5000 0.0000
vt 0.5000 0.5000 0.0000
vt 0.7500 0.5000 0.0000
vt 1.0000 0.5000 0.0000
vt 0.2500 0.7500 0.0000
vt 0.0000 0.7500 0.0000
vt 0.5000 0.7500 0.0000
vt 0.7500 0.7500 0.0000
vt 1.0000 0.7500 0.0000
vt 0.2500 1.0000 0.0000
vt 0.0000 1.0000 0.0000
vt 0.5000 1.0000 0.0000
vt 0.7500 1.0000 0.0000
vt 1.0000 1.0000 0.0000
# 25 texture coords
g fireChamber
usemtl fireChamber
s 1
f 1/1/1 2/2/1 3/3/1 4/4/1
f 2/2/1 5/5/1 6/6/1 3/3/1
f 5/5/1 7/7/1 8/8/1 6/6/1
f 7/7/1 9/9/1 10/10/1 8/8/1
f 4/4/1 3/3/1 11/11/1 12/12/1
f 3/3/1 6/6/1 13/13/1 11/11/1
f 6/6/1 8/8/1 14/14/1 13/13/1
f 8/8/1 10/10/1 15/15/1 14/14/1
f 12/12/1 11/11/1 16/16/1 17/17/1
f 11/11/1 13/13/1 18/18/1 16/16/1
f 13/13/1 14/14/1 19/19/1 18/18/1
f 14/14/1 15/15/1 20/20/1 19/19/1
f 17/17/1 16/16/1 21/21/1 22/22/1
f 16/16/1 18/18/1 23/23/1 21/21/1
f 18/18/1 19/19/1 24/24/1 23/23/1
f 19/19/1 20/20/1 25/25/1 24/24/1
# 16 polygons
export const chunk = (arr,size) => {
let objArr = [];
let index = 0;
let objArrlen = arr.length / size;
for (let i = 0;i < objArrlen;i++){
let arrTemp = [];
for (let j = 0;j < size;j++){
arrTemp[j] = arr[index++];
if (index === arr.length){
break;
}
}
objArr[i] = arrTemp;
}
return objArr;
};
...@@ -4,7 +4,6 @@ import { Connect } from 'amos-framework'; ...@@ -4,7 +4,6 @@ import { Connect } from 'amos-framework';
import AmosWebSocket from 'amos-websocket'; import AmosWebSocket from 'amos-websocket';
import SysWsURL, { completeToken } from './../consts/wsUrlConsts'; import SysWsURL, { completeToken } from './../consts/wsUrlConsts';
import SideControl from './sideControl'; import SideControl from './sideControl';
import DataPane from './datapane';
import globalMsg from './pagefactory/msgFactory'; import globalMsg from './pagefactory/msgFactory';
import { eventTopics, rulesDataFactory } from './consts'; import { eventTopics, rulesDataFactory } from './consts';
import LayerPool from './LayerPool'; import LayerPool from './LayerPool';
...@@ -17,7 +16,6 @@ const eventConnect = Connect.eventConnect; ...@@ -17,7 +16,6 @@ const eventConnect = Connect.eventConnect;
@eventConnect @eventConnect
class MaskContent extends Component { class MaskContent extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
...@@ -72,7 +70,8 @@ class MaskContent extends Component { ...@@ -72,7 +70,8 @@ class MaskContent extends Component {
} }
initViewModel = ()=>{ initViewModel = ()=>{
this.setState({ activeAction: 'panoramic' }); //选中全景监控、隐藏检索查询框
this.setState({ activeAction: 'panoramic', searchPaneVisible: false });
} }
render() { render() {
...@@ -101,14 +100,6 @@ class MaskContent extends Component { ...@@ -101,14 +100,6 @@ class MaskContent extends Component {
transitionAppear: true transitionAppear: true
} }
}; };
const datapaneAnim = {
animateName: 'zoom-comb-right',
visible: !planStarted && !alarmStarted,
animateProps: {
key: 'animate-datapane', // animate key
transitionAppear: true
}
};
const layerPoolAnimation = { const layerPoolAnimation = {
animateName: 'fade', animateName: 'fade',
visible: alarmStarted, visible: alarmStarted,
...@@ -123,7 +114,7 @@ class MaskContent extends Component { ...@@ -123,7 +114,7 @@ class MaskContent extends Component {
<div className="mask-content"> <div className="mask-content">
<AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect debug /> <AmosWebSocket ref={node => this.aws = node} url={wsURL} onMessage={this.handleData} reconnect debug />
{ !alarmStarted && sideControlShow && <SideControl multiple={multiple} errorAreaId={errorAreaId} onItemClick={onItemClick} layerConfig={layerConfig} animationProps={controlAnimation} activeAction={activeAction}/>} { !alarmStarted && sideControlShow && <SideControl multiple={multiple} errorAreaId={errorAreaId} onItemClick={onItemClick} layerConfig={layerConfig} animationProps={controlAnimation} activeAction={activeAction}/>}
{ !alarmStarted && <SearchPane visible={searchPaneVisible} focusPosition={focusPosition} changeSearchPaneVisible={() => this.changeSearchPaneVisible} />} { !alarmStarted && isShowActionBar && <SearchPane visible={searchPaneVisible} focusPosition={focusPosition} changeSearchPaneVisible={() => this.changeSearchPaneVisible} />}
<TopMsg alarmStart={alarmStart} /> <TopMsg alarmStart={alarmStart} />
{ !alarmStarted && !isShowActionBar && <ModelHeader animationProps={controlAnimation} headerName={headerName} handleExceptModel={this.handleExceptModel} />} { !alarmStarted && !isShowActionBar && <ModelHeader animationProps={controlAnimation} headerName={headerName} handleExceptModel={this.handleExceptModel} />}
{ !alarmStarted && isShowActionBar && <ActionBar activeAction={activeAction} onActionItemClick={(e) => this.actionBarClick(e)} animationProps={controlAnimation} /> } { !alarmStarted && isShowActionBar && <ActionBar activeAction={activeAction} onActionItemClick={(e) => this.actionBarClick(e)} animationProps={controlAnimation} /> }
...@@ -154,7 +145,9 @@ MaskContent.propTypes = { ...@@ -154,7 +145,9 @@ MaskContent.propTypes = {
headerName: PropTypes.string, headerName: PropTypes.string,
setHeaderName: PropTypes.string, setHeaderName: PropTypes.string,
handleExceptModel: PropTypes.func, handleExceptModel: PropTypes.func,
errorAreaId: PropTypes.number errorAreaId: PropTypes.number,
editModelChange: PropTypes.func,
focusPosition: PropTypes.func
}; };
MaskContent.defaultProps = { MaskContent.defaultProps = {
......
...@@ -6,17 +6,12 @@ import { connect3D } from 'amos-3d/lib/designer'; ...@@ -6,17 +6,12 @@ import { connect3D } from 'amos-3d/lib/designer';
import { RiskPoint, PatrolPoint, PersonPoint3D, MonitorPoint, ProbePoint, import { RiskPoint, PatrolPoint, PersonPoint3D, MonitorPoint, ProbePoint,
FireResourcePoint, EquipmentPoint, FireCar3D, FirePoint, WorkerMen3D, PointStatistics, ImpEquipmentMode } from './points'; FireResourcePoint, EquipmentPoint, FireCar3D, FirePoint, WorkerMen3D, PointStatistics, ImpEquipmentMode } from './points';
import { eventTopics, isPointEvent , isLevelFilter } from './consts'; import { eventTopics, isPointEvent , isLevelFilter } from './consts';
import { parseMarkers, parseLevelFilter, objRunning } from './dataProcessor'; import { parseMarkers, parseLevelFilter } from './dataProcessor';
const loginUserName = Store.lsTool.read('userName'); const loginUserName = Store.lsTool.read('userName');
const filterUser = ['tianbo', 'opera1', 'opera2']; const filterUser = ['tianbo', 'opera1', 'opera2'];
const eventConnect = Connect.eventConnect; const eventConnect = Connect.eventConnect;
const markers3D = [
{ key: '1', position: [153, -10, -20], size: 10, url: '/mods/components/3dviewConvertor/threeres/markers/person.png' },
{ key: '2', position: [-100, 22, 0], size: 10, url: '/mods/components/3dviewConvertor/threeres/markers/video.png', label: '视频点' },
{ key: '4', position: [30, -5, -90], size: 10, keepSize: true, label: '大小不变' }
];
const Shuttle = (props) => props.children; const Shuttle = (props) => props.children;
...@@ -58,6 +53,7 @@ class PointsPool extends Component { ...@@ -58,6 +53,7 @@ class PointsPool extends Component {
} }
onMarkersCreated = (type, { markersCache }) => { onMarkersCreated = (type, { markersCache }) => {
this.markerList[type] = markersCache; this.markerList[type] = markersCache;
(markersCache || []).forEach(mc => { (markersCache || []).forEach(mc => {
const extData = mc.getExtData(); const extData = mc.getExtData();
...@@ -98,7 +94,7 @@ class PointsPool extends Component { ...@@ -98,7 +94,7 @@ class PointsPool extends Component {
} }
return ( return (
<Shuttle> <Shuttle>
<RiskPoint <RiskPoint
{...rest} {...rest}
markers={markers.riskSource} markers={markers.riskSource}
onCreated={(val) => this.onMarkersCreated('riskSource', val)} onCreated={(val) => this.onMarkersCreated('riskSource', val)}
...@@ -117,6 +113,9 @@ class PointsPool extends Component { ...@@ -117,6 +113,9 @@ class PointsPool extends Component {
markers={markers.patrol} markers={markers.patrol}
onCreated={(val) => this.onMarkersCreated('patrol', val)} onCreated={(val) => this.onMarkersCreated('patrol', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<PersonPoint3D <PersonPoint3D
{...rest} {...rest}
...@@ -129,36 +128,54 @@ class PointsPool extends Component { ...@@ -129,36 +128,54 @@ class PointsPool extends Component {
markers={markers.impEquipment} markers={markers.impEquipment}
onCreated={(val) => this.onMarkersCreated('impEquipment', val)} onCreated={(val) => this.onMarkersCreated('impEquipment', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<FireResourcePoint <FireResourcePoint
{...rest} {...rest}
markers={markers.pool} markers={markers.pool}
onCreated={(val) => this.onMarkersCreated('pool', val)} onCreated={(val) => this.onMarkersCreated('pool', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<FireResourcePoint <FireResourcePoint
{...rest} {...rest}
markers={markers.hydrant} markers={markers.hydrant}
onCreated={(val) => this.onMarkersCreated('hydrant', val)} onCreated={(val) => this.onMarkersCreated('hydrant', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<FireResourcePoint <FireResourcePoint
{...rest} {...rest}
markers={markers.fireEquipment} markers={markers.fireEquipment}
onCreated={(val) => this.onMarkersCreated('fireEquipment', val)} onCreated={(val) => this.onMarkersCreated('fireEquipment', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<FireResourcePoint <FireResourcePoint
{...rest} {...rest}
markers={markers.fireChamber} markers={markers.fireChamber}
onCreated={(val) => this.onMarkersCreated('fireChamber', val)} onCreated={(val) => this.onMarkersCreated('fireChamber', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<FireResourcePoint <FireResourcePoint
{...rest} {...rest}
markers={markers.fireFoamRoom} markers={markers.fireFoamRoom}
onCreated={(val) => this.onMarkersCreated('fireFoamRoom', val)} onCreated={(val) => this.onMarkersCreated('fireFoamRoom', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
{!hideDetector ? {!hideDetector ?
<FireResourcePoint <FireResourcePoint
...@@ -174,6 +191,9 @@ class PointsPool extends Component { ...@@ -174,6 +191,9 @@ class PointsPool extends Component {
markers={markers.monitorEquipment} markers={markers.monitorEquipment}
onCreated={(val) => this.onMarkersCreated('monitorEquipment', val)} onCreated={(val) => this.onMarkersCreated('monitorEquipment', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<MonitorPoint <MonitorPoint
{...rest} {...rest}
...@@ -197,6 +217,9 @@ class PointsPool extends Component { ...@@ -197,6 +217,9 @@ class PointsPool extends Component {
markers={markers.fireCar} markers={markers.fireCar}
onCreated={(val) => this.onMarkersCreated('fireCar', val)} onCreated={(val) => this.onMarkersCreated('fireCar', val)}
isEditMode={this.props.isEditMode} isEditMode={this.props.isEditMode}
addMarker={this.addMarker}
stagePilot={this.props.stagePilot}
selectPoints={this.props.selectPoints}
/> />
<PointStatistics <PointStatistics
{...rest} {...rest}
......
import React, { Component } from 'react'; import React, { Component } from 'react';
import { Modal ,Button} from 'amos-framework'; import { Modal } from 'amos-framework';
class PromptModal extends Component { class PromptModal extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {};
};
} }
cancel = ()=>{ cancel = () => {
const {isback} =this.props.promptData const { isback } = this.props.promptData;
this.props.closePromptModal() this.props.closePromptModal();
if(isback){ if (isback) {
this.props.handleOutExceptModel() this.props.handleOutExceptModel();
} }
} };
saveData=()=>{ saveData = () => {
const {isback,type} =this.props.promptData const { isback, type,pointType,pointParams } = this.props.promptData;
if(isback){
this.props.handleOutExceptModel() this.props.closePromptModal();
if (type === 'region') {
this.props.saveAreaData();
} else {
if (isback){
this.props.savePointData();
} else {
this.props.savePointAndRefreshMarker(pointType,pointParams);
}
} }
this.props.closePromptModal() if (isback) {
if(type=='region') this.props.handleOutExceptModel();
{
this.props.saveAreaData()
}else{
this.props.savePointData()
} }
};
}
render() { render() {
const {promptData} =this.props const { promptData } = this.props;
return ( return (
<Modal <Modal
visible={promptData.promptvisible} visible={promptData.promptvisible}
className={'pormpt-modal'} className={'pormpt-modal'}
content={<div className ='prompt-content'> content={
<div>{promptData.promptContent}</div> <div className="prompt-content">
{promptData.btnType =='isOk'? <div>{promptData.promptContent}</div>
<div className='prompt-buttons'> {promptData.btnType === 'isOk' ? (
<span className={'promptOk'} onClick={this.saveData} /> <div className="prompt-buttons">
<span className={'promptNo'} onClick={this.cancel} /> <span className={'promptOk'} onClick={this.saveData} />
</div>: <span className={'promptNo'} onClick={this.cancel} />
<div className='prompt-buttons'> </div>
<span className={'promptSave'} onClick={this.saveData} /> ) : (
<span className={'promptCancel'} onClick={this.cancel} /> <div className="prompt-buttons">
</div> <span className={'promptSave'} onClick={this.saveData} />
} <span className={'promptCancel'} onClick={this.cancel} />
</div> </div>
} )}
noDefaultFooter </div>
noDefaultHeader }
destroyContent noDefaultFooter
onCancel={this.cancel} noDefaultHeader
closable={false} destroyContent
/> onCancel={this.cancel}
closable={false}
/>
); );
} }
} }
......
...@@ -342,8 +342,8 @@ export const desigerConf = { ...@@ -342,8 +342,8 @@ export const desigerConf = {
fov: 45, fov: 45,
near: 1, near: 1,
far: 5000, far: 5000,
position: [-12.560443473044181, 234.91788662409795, 325.0800512251056], position: [-66.72828735496893, 239.00238807176638, 340.1218562325041],
target: [2.408441971875859, 1.3271790975878637, 3.918674823963386], target: [-52.608562486768115, -6.882567219297089, 1.984922473879572],
// 是否启用拾取器 // 是否启用拾取器
enablePicker: true, enablePicker: true,
builtInOrbit: { builtInOrbit: {
...@@ -388,8 +388,8 @@ export const curveConf = { ...@@ -388,8 +388,8 @@ export const curveConf = {
export const desigerHelperConfig = { export const desigerHelperConfig = {
cameraEffect: { cameraEffect: {
position: [-12.560443473044181, 234.91788662409795, 325.0800512251056], position: [-66.72828735496893, 239.00238807176638, 340.1218562325041],
target: [2.408441971875859, 1.3271790975878637, 3.918674823963386] target: [-52.608562486768115, -6.882567219297089, 1.984922473879572]
}, },
objAnchor: { objAnchor: {
position: [0, 5, 0] position: [0, 5, 0]
......
...@@ -344,4 +344,56 @@ export const objRunning = (markerObj, routePath, delayTime) => { ...@@ -344,4 +344,56 @@ export const objRunning = (markerObj, routePath, delayTime) => {
}); });
}; };
/**
* 模型对象缓存
* @param {object} instance
* @param {object} obj
*/
export const cacheObjsSave = (instance,obj,LENS_LEVEL)=>{
const { level, parentKey, key } = obj.userData || {};
if (level && key){
instance._cacheObj[key] = obj;
switch (level) {
case LENS_LEVEL.ROOT:// 父节点
if (!instance.processorLevel[key]){
instance.processorLevel[key] = [];
}
break;
case LENS_LEVEL.SUB:// 子节点
if (!instance.processorLevel[parentKey]){
instance.processorLevel[parentKey] = [];
}
instance.processorLevel[parentKey].push(key);// 在对应关系中,添加其子节点
break;
default:
break;
}
}
};
/**
* 进入选择物体内部
* @param {object} instance
* @param {object} obj
*/
export const flyToSubView = (instance,obj,LENS_LEVEL) =>{
const { level, key: objKey, fitView } = obj.userData || {};
if (level && objKey && level === 'root' && (instance.processorLevel[objKey] || []).length > 0){
Object.keys(instance.processorLevel).forEach(key => {
// 隐藏所有一级
instance._cacheObj[key].visible = false;
// 隐藏非目标二级
if (key !== objKey){
instance.processorLevel[key].forEach(sec => {
instance._cacheObj[sec].visible = false;
});
}
});
// 镜头切换
fitView && instance.cameraFactory.fitView(fitView);//视角调整为最近视角
instance.lensLevel = LENS_LEVEL.SUB;
} else {
instance.focusObject(obj);
}
};
...@@ -44,10 +44,12 @@ class ExceptionArea extends Component { ...@@ -44,10 +44,12 @@ class ExceptionArea extends Component {
} }
onMarkerClick = (marker) => { onMarkerClick = (marker) => {
const { extData } = marker; const { extData, node } = marker;
this.props.handleExceptModel && this.props.handleExceptModel('into_except_model',extData.id); this.props.handleExceptModel && this.props.handleExceptModel('into_except_model',extData.id);
this.props.focusObject && this.props.focusObject(node);
} }
setTopCardConf = (obj,{ safetyIndex })=>{ setTopCardConf = (obj,{ safetyIndex })=>{
obj.baseObjHelper.titleConfig = { obj.baseObjHelper.titleConfig = {
// 顶牌平面参数 // 顶牌平面参数
...@@ -71,6 +73,16 @@ class ExceptionArea extends Component { ...@@ -71,6 +73,16 @@ class ExceptionArea extends Component {
obj.baseObjHelper.title = safetyIndex; obj.baseObjHelper.title = safetyIndex;
} }
toCameraPosition = (item) => {
if (item && item.x){
return { x: item.x , y: item.y + 200 , z: item.z + 200 };
} else if (item && item[0]){
return { x: item[0] , y: item[1] + 200 , z: item[2] + 200 };
} else {
return;
}
}
markerCreated = ({ markersCache }) => { markerCreated = ({ markersCache }) => {
this.markersCache = markersCache; this.markersCache = markersCache;
markersCache.eachValue(item=>{ markersCache.eachValue(item=>{
...@@ -97,7 +109,8 @@ class ExceptionArea extends Component { ...@@ -97,7 +109,8 @@ class ExceptionArea extends Component {
ExceptionArea.propTypes = { ExceptionArea.propTypes = {
markers: PropTypes.array, markers: PropTypes.array,
handleExceptModel: PropTypes.func handleExceptModel: PropTypes.func,
focusObject: PropTypes.func
}; };
export default ExceptionArea; export default ExceptionArea;
import React, { Component } from 'react'; import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Connect, Modal, Tree,Select,Search,Button } from 'amos-framework'; import { Connect, Tree, Search, Button } from 'amos-framework';
import * as endConf from 'amos-processor/lib/config/endconf'; import imgStatic from '../../consts/imgStatic';
import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditServices'
const moduleEditIcon = imgStatic.moduleEditIcon;
const eventConnect = Connect.eventConnect; const eventConnect = Connect.eventConnect;
const TreeNode = Tree.TreeNode; const TreeNode = Tree.TreeNode;
const Option = Select.Option;
const getParentKey = (key, tree) => { const getParentKey = (key, tree) => {
let parentKey; let parentKey;
for (let i = 0; i < tree.length; i++) { for (let i = 0; i < tree.length; i++) {
const node = tree[i]; const node = tree[i];
if (node.children && node.children.length >0) { if (node.children && node.children.length > 0) {
if (node.children.some(item => item.id === key)) { if (node.children.some(item => item.id === key)) {
parentKey = node.id; parentKey = node.id;
} else if (getParentKey(key, node.children)) { } else if (getParentKey(key, node.children)) {
...@@ -26,56 +25,23 @@ const getParentKey = (key, tree) => { ...@@ -26,56 +25,23 @@ const getParentKey = (key, tree) => {
class AreaLeftTree extends Component { class AreaLeftTree extends Component {
constructor(props) { constructor(props) {
super(props); super(props);
this.state = { this.state = {
// showScreenSaver: false //是否打开屏保 expandedKeys: [],
expandedKeys: [], autoExpandParent: true,
autoExpandParent: true, checkedKeys: [],
checkedKeys: [], selectedKeys: [],
selectedKeys: [], treeData: [],
treeData:[], pointTypeArr: [],
pointTypeArr:[], pointType: '',
pointType:'', treeDataList: [],
treeDataList : [], searchValue: ''
searchValue:''
}; };
} }
componentDidMount() { onSearchChange =(e,value) => {
let {treeData,pointTypeArr,treeDataList} = this.props;
this.setState({
treeData,
treeDataList,
pointTypeArr,
pointType: pointTypeArr[0]?pointTypeArr[0].code:''
})
}
componentWillUnmount() {
}
componentWillReceiveProps(nextProps) {
console.log(nextProps)
let {treeData,pointTypeArr,pageType,treeDataList} = nextProps;
this.setState({
treeData,
pointTypeArr,
treeDataList,
pointType: pointTypeArr[0]?pointTypeArr[0].code:''
})
}
// onSelectChange = (value, item) =>{
// console.log(value, item);
// this.state.pointType = value;
// this.props.pointTypeChange(value);
// }
onSearchChange = e => { const { treeDataList,treeData } = this.props;
const {treeDataList,treeData} = this.state
const value = e.target.value;
const expandedKeys = treeDataList const expandedKeys = treeDataList
.map(item => { .map(item => {
if (item.title.indexOf(value) > -1) { if (item.title.indexOf(value) > -1) {
...@@ -101,44 +67,16 @@ class AreaLeftTree extends Component { ...@@ -101,44 +67,16 @@ class AreaLeftTree extends Component {
autoExpandParent: false autoExpandParent: false
}); });
} }
// onCheck = (checkedKeys,e) => {
// console.log('onCheck', checkedKeys);
// // console.log('onCheck', e);
// let currentKey = checkedKeys.checked[0]?checkedKeys.checked[checkedKeys.checked.length-1]:'';
// if (checkedKeys.checked.length<2) {
// currentKey = checkedKeys.checked[0]
// } else {
// if (checkedKeys.checked[0] == this.state.checkedKeys[0]) {
// currentKey = checkedKeys.checked[1]
// } else {
// currentKey = checkedKeys.checked[0]
// }
// }
// // checkedKeys[0] = checkedKeys[checkedKeys.length - 1]
// this.setState({ checkedKeys: currentKey?[currentKey]:[] });
// this.props.selectItemChange(currentKey);
// if (currentKey) {
// this.props.startDrow(currentKey);
// }else {
// this.props.stopDrowing()
// }
// }
drowArea = (editItem) => {
}
onTreeSelect = (selectedKeys, info) => { onTreeSelect = (selectedKeys, info) => {
console.log('onSelect', info); console.log('onSelect', info);
let selectItem = info.node.props.dataRef; let selectItem = info.node.props.dataRef;
this.setState({ selectedKeys }); this.setState({ selectedKeys });
this.props.selectItemChange(selectItem); this.props.selectItemChange(selectItem);
} }
// onClick={(e)=>{e.nativeEvent.stopImmediatePropagation();e.stopPropagation();console.log(123123);}}
renderTreeNodes = (data) => { renderTreeNodes = (data) => {
let {searchValue} =this.state let { searchValue } = 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);
const beforeStr = item.name.substr(0, index); const beforeStr = item.name.substr(0, index);
...@@ -155,17 +93,17 @@ class AreaLeftTree extends Component { ...@@ -155,17 +93,17 @@ class AreaLeftTree extends Component {
); );
if (item.children) { if (item.children) {
return ( return (
<TreeNode <TreeNode
title={ title={
<div> <div>
{ {
<span > <span >
{title} {title}
<span className='icon'> <span className='icon'>
{ {
item.isBind?'': item.isBind ? '' :
<img <img
src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/editBtn.png' src={moduleEditIcon.editBtn}
onClick={(e) => { onClick={(e) => {
e.nativeEvent.stopImmediatePropagation(); e.nativeEvent.stopImmediatePropagation();
e.stopPropagation(); e.stopPropagation();
...@@ -173,18 +111,18 @@ class AreaLeftTree extends Component { ...@@ -173,18 +111,18 @@ class AreaLeftTree extends Component {
}} }}
/> />
} }
{ {
item.isBind?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/bindedTip.png' />: item.isBind ? <img src={moduleEditIcon.bindedTip} alt='' /> :
item.routePath?<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/noSaveTip.png' />: item.routePath ? <img src={moduleEditIcon.noSaveTip} alt='' /> :
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/nobindTip.png' /> <img src={moduleEditIcon.noSaveTip} alt='' />
} }
</span>
</span> </span>
</span>
} }
</div> </div>
} }
key={item.id} key={item.id}
dataRef={item} dataRef={item}
> >
{this.renderTreeNodes(item.children)} {this.renderTreeNodes(item.children)}
</TreeNode> </TreeNode>
...@@ -195,44 +133,45 @@ class AreaLeftTree extends Component { ...@@ -195,44 +133,45 @@ class AreaLeftTree extends Component {
} }
render() { render() {
let { treeData, checkedKeys,pointTypeArr,pointType} = this.state; let { treeData } = this.props;
let { pageType } = this.props; return (
return (
<div className="leftTree"> <div className="leftTree">
<div className='leftContainer'> <div className='leftContainer'>
<div className='topForm'> <div className='topForm'>
<Search className='leftSearch' icon="search" 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
// checkable // checkable
// checkStrictly // checkStrictly
selectable={true} selectable
onExpand={this.onExpand} onExpand={this.onExpand}
expandedKeys={this.state.expandedKeys} expandedKeys={this.state.expandedKeys}
autoExpandParent={true} autoExpandParent
// onCheck={this.onCheck} // onCheck={this.onCheck}
// checkedKeys={checkedKeys} // checkedKeys={checkedKeys}
onSelect={this.onTreeSelect} onSelect={this.onTreeSelect}
selectedKeys={this.state.selectedKeys} selectedKeys={this.state.selectedKeys}
blockNode blockNode
> >
{this.renderTreeNodes(treeData)} {this.renderTreeNodes(treeData)}
</Tree> </Tree>
</div> </div>
<div className='bottomBtns'> <div className='bottomBtns'>
<Button <Button
className='sureBtn' className='sureBtn'
onClick={() => { onClick={() => {
this.props.saveAreaData() this.props.saveAreaData();
}} ></Button> }}
<Button />
className='deleteBtn' <Button
onClick={() => { className='deleteBtn'
this.props.deleteAreaBind() onClick={() => {
}} ></Button> this.props.deleteAreaBind();
</div> }}
/>
</div> </div>
</div>
</div> </div>
); );
......
...@@ -4,7 +4,9 @@ import { Connect, Button, Input, Form, Radio } from 'amos-framework'; ...@@ -4,7 +4,9 @@ import { Connect, Button, Input, Form, Radio } from 'amos-framework';
import { PubSub } from 'ray-eventpool'; import { PubSub } from 'ray-eventpool';
import { getPointTreeDetailAction } from '../../services/moduleEditServices'; import { getPointTreeDetailAction } from '../../services/moduleEditServices';
import { eventTopics } from './../consts'; import { eventTopics } from './../consts';
import imgStatic from '../../consts/imgStatic';
const moduleEditIcon = imgStatic.moduleEditIcon;
const eventConnect = Connect.eventConnect; const eventConnect = Connect.eventConnect;
const FormItem = Form.Item; const FormItem = Form.Item;
const RadioGroup = Radio.Group; const RadioGroup = Radio.Group;
...@@ -110,31 +112,30 @@ class RightEditPointPanel extends Component { ...@@ -110,31 +112,30 @@ class RightEditPointPanel extends Component {
<Form className="basic-demo" ref={component => this.form = component} model={form} rules={rules}> <Form className="basic-demo" ref={component => this.form = component} model={form} rules={rules}>
<div className='topForm'> <div className='topForm'>
<div className='rightTitle'> <div className='rightTitle'>
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/rightModalTitleIcon.png'/> <img src={moduleEditIcon.rightModalTitleIcon} alt='' />
<span className='titleText'>风险点信息</span> <span className='titleText'>风险点信息</span>
</div> </div>
<div className='baseMsg'> <div className='baseMsg'>
<div className='moduleTitle'> <div className='moduleTitle'>
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/rightBaseMsgIcon.png'/> <img src={moduleEditIcon.rightBaseMsgIcon} alt='' />
<span className='titleText'>基本信息</span> <span className='titleText'>基本信息</span>
</div>
<div className='moduleContent'>
<div className='msgItem'>
<div className='itemLabel'>风险名称</div>
<FormItem field="name" >
<Input value={detailData.name} disabled />
</FormItem>
</div> </div>
<div className='moduleContent'>
<div className='msgItem'> <div className='msgItem'>
<div className='itemLabel'>风险名称</div>
<FormItem field="name" >
<Input value={detailData.name} disabled/>
</FormItem>
</div>
<div className='msgItem'>
<div className='itemLabel'>参考编号</div> <div className='itemLabel'>参考编号</div>
<FormItem field="code" > <FormItem field="code" >
<Input <Input
onChange={(e) => this.onChange('name', e)} onChange={(e) => this.onChange('name', e)}
value={detailData.code} value={detailData.code}
disabled disabled
/> />
</FormItem> </FormItem>
</div> </div>
<div className='msgItem'> <div className='msgItem'>
<div className='itemLabel'>风险等级</div> <div className='itemLabel'>风险等级</div>
...@@ -143,7 +144,7 @@ class RightEditPointPanel extends Component { ...@@ -143,7 +144,7 @@ class RightEditPointPanel extends Component {
</FormItem> </FormItem>
</div> </div>
</div> </div>
</div> </div>
<div className='3dMsg'> <div className='3dMsg'>
<div className='moduleTitle'> <div className='moduleTitle'>
......
...@@ -2,8 +2,10 @@ import React, { Component } from 'react'; ...@@ -2,8 +2,10 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import { Connect, Modal, Tree, Select, Search, Button, Input,InputNumber, Form, Radio } from 'amos-framework'; import { Connect, Modal, Tree, Select, Search, Button, Input,InputNumber, Form, Radio } from 'amos-framework';
import * as endConf from 'amos-processor/lib/config/endconf'; import * as endConf from 'amos-processor/lib/config/endconf';
import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditServices' import { getAreaTreeAction,saveAreaDataAction } from '../../services/moduleEditServices';
import imgStatic from '../../consts/imgStatic';
const moduleEditIcon = imgStatic.moduleEditIcon;
const eventConnect = Connect.eventConnect; const eventConnect = Connect.eventConnect;
const TreeNode = Tree.TreeNode; const TreeNode = Tree.TreeNode;
const Option = Select.Option; const Option = Select.Option;
...@@ -87,7 +89,6 @@ class RightEditRegionPanel extends Component { ...@@ -87,7 +89,6 @@ class RightEditRegionPanel extends Component {
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) {
let routePathData=[ { let routePathData=[ {
riskSourceId: detailData.id, riskSourceId: detailData.id,
routePath: JSON.stringify({ routePath: JSON.stringify({
...@@ -104,8 +105,10 @@ class RightEditRegionPanel extends Component { ...@@ -104,8 +105,10 @@ class RightEditRegionPanel extends Component {
}) })
} }
this.props.changeRoutePath(routePathDataNode); this.props.changeRoutePath(routePathDataNode);
this.props.closeRightPanel()
} else { } else {
console.log('error submit!!'); console.log('error submit!!');
this.props.closeRightPanel()
return false; return false;
} }
}); });
...@@ -127,12 +130,12 @@ class RightEditRegionPanel extends Component { ...@@ -127,12 +130,12 @@ class RightEditRegionPanel extends Component {
<Form className="basic-demo" ref={component => this.form = component} model={form} rules={rules}> <Form className="basic-demo" ref={component => this.form = component} model={form} rules={rules}>
<div className='topForm'> <div className='topForm'>
<div className='rightTitle'> <div className='rightTitle'>
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/rightModalTitleIcon.png'/> <img src={moduleEditIcon.rightModalTitleIcon} alt='' />
<span className='titleText'>风险区域信息</span> <span className='titleText'>风险区域信息</span>
</div> </div>
<div className='baseMsg'> <div className='baseMsg'>
<div className='moduleTitle'> <div className='moduleTitle'>
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/rightBaseMsgIcon.png'/> <img src={moduleEditIcon.rightBaseMsgIcon} alt='' />
<span className='titleText'>基本信息</span> <span className='titleText'>基本信息</span>
</div> </div>
<div className='moduleContent'> <div className='moduleContent'>
...@@ -164,7 +167,7 @@ class RightEditRegionPanel extends Component { ...@@ -164,7 +167,7 @@ class RightEditRegionPanel extends Component {
<Option value="4">四级</Option> <Option value="4">四级</Option>
<Option value="5">五级</Option> <Option value="5">五级</Option>
</Select> */} </Select> */}
<Input value={detailData.level} disabled/> <Input value={detailData.level} disabled />
</FormItem> </FormItem>
</div> </div>
...@@ -172,7 +175,7 @@ class RightEditRegionPanel extends Component { ...@@ -172,7 +175,7 @@ class RightEditRegionPanel extends Component {
</div> </div>
<div className='3dMsg'> <div className='3dMsg'>
<div className='moduleTitle'> <div className='moduleTitle'>
<img src='/mods/components/3dviewConvertor/assets/convertor/moduleEdit/right3dIcon.png'/> <img src={moduleEditIcon.right3dIcon} alt='' />
<span className='titleText'>三维信息</span> <span className='titleText'>三维信息</span>
</div> </div>
<div className='moduleContent'> <div className='moduleContent'>
......
...@@ -86,8 +86,8 @@ export const FireResourcePoint = marker3DFactory(BasicPoint, ...@@ -86,8 +86,8 @@ export const FireResourcePoint = marker3DFactory(BasicPoint,
markerType: 'fireResource', markerType: 'fireResource',
markerParams: { markerParams: {
useModel: true, useModel: true,
objPath: '/mods/components/3dviewConvertor/threeres/marker-models/fireResource/{type}.obj', objPath: '/mods/components/3dviewConvertor/threeres/marker-models/{url}.obj',
mtlPath: '/mods/components/3dviewConvertor/threeres/marker-models/fireResource/{type}.mtl' mtlPath: '/mods/components/3dviewConvertor/threeres/marker-models/{url}.mtl'
} }
} }
); );
......
...@@ -2,26 +2,42 @@ import React, { Component } from 'react'; ...@@ -2,26 +2,42 @@ import React, { Component } from 'react';
import PropTypes from 'prop-types'; 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 formatUrl from 'amos-processor/lib/utils/urlFormat'; 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';
import { marker3DIoncMapper, markerTitleBgMapper } from './../../consts/imgStatic'; import { marker3DIoncMapper, markerTitleBgMapper } from './../../consts/imgStatic';
import MarkerIcon from './MarkerIcon'; import { eventTopics, isPointEvent , isLevelFilter } from './../consts';
import { parseMarkers, parseLevelFilter } from '../dataProcessor';
const getIcon = (markerType, level) => { const getIcon = (markerType, level) => {
// return marker3DIoncMapper[`${markerType}_${level}`]; // return marker3DIoncMapper[`${markerType}_${level}`];
if (markerType === 'riskSource' || markerType === 'patrol' || markerType === 'impEquipmentMode') { if (markerType === 'riskSource' || markerType === 'patrol' || markerType === 'impEquipmentMode') {
return marker3DIoncMapper[`${markerType}_${level}`]; return marker3DIoncMapper[`${markerType}_${level}`];
} }
return marker3DIoncMapper[`${markerType}`] return marker3DIoncMapper[`${markerType}`];
}; };
export default function marker3DFactory(WrappedComponent = 'div', options){ // const createMarkerLabel = text => {
// const div = document.createElement('div');
// div.style.position = 'absolute';
// div.style.marginTop = '-3rem';
// div.className = 'three-ui-anchor';
// div.innerText = text;
// return div;
// };
const urlMapper = {
fireCar: { file: 'fire-car', label: '消防车' },
fireEquipment: { file: 'fireEquip', label: '消防设备' },
fireFoamRoom: { file: 'fireFoam', label: '泡沫间' },
fireChamber: { file: 'fireChamber', label: '消防室' },
hydrant: { file: 'hydrant', label: '消防栓' },
pool: { file: 'pool', label: '灭火水池' }
};
export default function marker3DFactory(WrappedComponent = 'div', options) {
const { markerType, markerParams } = options; const { markerType, markerParams } = options;
class MarkerPoints extends Component { class MarkerPoints extends Component {
static propTypes = { static propTypes = {
// marker 显隐 // marker 显隐
visible: PropTypes.bool, visible: PropTypes.bool,
...@@ -31,6 +47,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -31,6 +47,7 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
constructor(props) { constructor(props) {
super(props); super(props);
this.markerList = {};
this.markerEvents = { this.markerEvents = {
click: this.onMarkerClick, click: this.onMarkerClick,
// dblclick: this.onMarkerDblClick, // dblclick: this.onMarkerDblClick,
...@@ -63,36 +80,50 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -63,36 +80,50 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
componentWillMount = () => { componentWillMount = () => {
this.setState({ planStarted: this.props.planStarted }); this.setState({ planStarted: this.props.planStarted });
};
componentDidMount() {
this.props.subscribe(eventTopics.base3d_view, (topic, data) => {
if (isPointEvent(topic)){
parseMarkers(this, topic, data);
} else if (isLevelFilter(topic)) {
parseLevelFilter(this, topic, data);
}
});
this.props.subscribe('base3d.fromws1.showFireTruckRoute', (topic, data) => {
parseMarkers(this, topic, data);
});
} }
componentWillReceiveProps = nextProps => { componentWillReceiveProps = nextProps => {
if ( nextProps.isEditMode ){ if (nextProps.isEditMode) {
this.markersCache.eachValue(obj=>{ 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 ){ if (nextProps.selectPoints.type === obj.extData.type && nextProps.selectPoints.id === obj.extData.id) {
this.setTwinkleConf(obj); this.setTwinkleConf(obj);
} }
}); });
} }
this.setState({ planStarted: nextProps.planStarted }); this.setState({ planStarted: nextProps.planStarted });
} };
componentWillUnmount() { componentWillUnmount() {
this.objAnchorHelper && this.objAnchorHelper.destroy(); this.objAnchorHelper && this.objAnchorHelper.destroy();
} }
onMarkerDblClick = (marker, e) => { onMarkerDblClick = (marker, e) => {
console.log('marker3DFactory','onMarkerDblClick') console.log('marker3DFactory', 'onMarkerDblClick');
if (this.props.isEditMode) { if (this.props.isEditMode) {
return false; return false;
} }
clearTimeout(this.time); clearTimeout(this.time);
// tirggerPlanTopic(CONSTS.plan_detail, { type: marker.extData.type, data: marker.extData }); // tirggerPlanTopic(CONSTS.plan_detail, { type: marker.extData.type, data: marker.extData });
if (marker.extData.markerType === 'fire' && void 0 !== marker.extData.show) { if (marker.extData.markerType === 'fire' && void 0 !== marker.extData.show) {
tirggerTransTopic(CONSTS.forward, { details: { type: 'impEquipment', dialogId: marker.extData.equipmentId, show: marker.extData.show }, dateTime: Date.now() }); tirggerTransTopic(CONSTS.forward, {
details: { type: 'impEquipment', dialogId: marker.extData.equipmentId, show: marker.extData.show },
dateTime: Date.now()
});
return; return;
} }
this.pdRef.tirggerBussines(marker); this.pdRef.tirggerBussines(marker);
} };
onMarkerClick = (marker, e) => { onMarkerClick = (marker, e) => {
const { isClick } = this.state; const { isClick } = this.state;
...@@ -113,16 +144,16 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -113,16 +144,16 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
// 设置延迟事件,3秒后将执行 // 设置延迟事件,3秒后将执行
that.setState({ isClick: true }); // 将isClick设置为true that.setState({ isClick: true }); // 将isClick设置为true
}, 1000); }, 1000);
} };
markerDragend = (marker, evt) => { markerDragend = (marker, evt) => {
if (marker){ if (marker) {
console.log(marker.position); console.log(marker.position);
console.log(marker.extData); console.log(marker.extData);
this.props.addMarker(marker); this.props.addMarker(marker);
} }
} };
markerCreated = ({ markersCache }) => { markerCreated = ({ markersCache }) => {
let { isEditMode,selectKey } =this.props; let { isEditMode, selectKey } = this.props;
this.markersCache = markersCache; this.markersCache = markersCache;
this.stagePilot = this.props.stagePilot; this.stagePilot = this.props.stagePilot;
this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined; this.outlineHelper = this.stagePilot ? this.stagePilot.outlineHelper : undefined;
...@@ -144,21 +175,22 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -144,21 +175,22 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
obj.baseObjHelper.setOutlineHelper(this.outlineHelper); obj.baseObjHelper.setOutlineHelper(this.outlineHelper);
} }
obj.baseObjHelper.style.outlineColor = color; obj.baseObjHelper.style.outlineColor = color;
pulsePeriod && obj.baseObjHelper.outlineHelper.setConfig({ pulsePeriod &&
pulsePeriod: pulsePeriod.toFixed(2) obj.baseObjHelper.outlineHelper.setConfig({
}); pulsePeriod: pulsePeriod.toFixed(2)
} });
};
setTopCardConf = (obj, extData )=>{ setTopCardConf = (obj, extData )=>{
const { title , name } = extData; const { title , name } = extData;
let cardTitle = null; let cardTitle = null;
console.log(extData) console.log(extData);
obj.baseObjHelper.titleConfig = { obj.baseObjHelper.titleConfig = {
// 顶牌平面参数 // 顶牌平面参数
planeOptions: { planeOptions: {
width: 40, width: 40,
height: 20, height: 20,
position: [0,20,0], position: [0, 20, 0],
doubleSide: true doubleSide: true
}, },
canvasOptions: { canvasOptions: {
...@@ -178,28 +210,29 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -178,28 +210,29 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
cardTitle = name ? name : title; cardTitle = name ? name : title;
// } // }
obj.baseObjHelper.title = cardTitle; obj.baseObjHelper.title = cardTitle;
} };
buildMarkerOptions = (markers, markerType, defaultParams = {}) => { buildMarkerOptions = (markers, markerType, defaultParams = {}) => {
console.log(markers);
const { isEditMode } = this.props; const { isEditMode } = this.props;
if (!utils.isEmpty(markers)){ if (!utils.isEmpty(markers)) {
markers.forEach(m => { markers.forEach(m => {
const url = getIcon(markerType, m.level); const url = getIcon(markerType, m.level);
let position; let position;
if (!utils.isArray(m.position)){ if (!utils.isArray(m.position)) {
position = Object.values(m.position); position = Object.values(m.position);
} }
for (let k of Object.keys(defaultParams)) { for (let k of Object.keys(defaultParams)) {
if ((markerType === 'riskSource' || markerType === 'patrol' ) && k !== 'useModel' && !isEditMode){ if ((markerType === 'riskSource' || markerType === 'patrol') && k !== 'useModel' && !isEditMode) {
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-${m.level}` }); m[k] = formatUrl(defaultParams[k], { url: `${markerType}-${m.level}` });
} else if ((markerType === 'riskSource' || markerType === 'patrol' ) && k !== 'useModel' && isEditMode){ } else if ((markerType === 'riskSource' || markerType === 'patrol') && k !== 'useModel' && isEditMode) {
if (markerType === 'riskSource'){ if (markerType === 'riskSource') {
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-4` }); m[k] = formatUrl(defaultParams[k], { url: `${markerType}-4` });
} else { } else {
m[k] = formatUrl(defaultParams[k], { url: `${markerType}-1` }); m[k] = formatUrl(defaultParams[k], { url: `${markerType}-1` });
} }
} else if (markerType === 'fireResource' && k !== 'useModel') { } else if (markerType === 'fireResource' && k !== 'useModel' && isEditMode && urlMapper[m.type]) {
m[k] = formatUrl(defaultParams[k], { type: `${m.type}` }); m[k] = formatUrl(defaultParams[k], { url: `${urlMapper[m.type].file}` });
} else { } else {
m[k] = defaultParams[k]; m[k] = defaultParams[k];
} }
...@@ -217,21 +250,15 @@ export default function marker3DFactory(WrappedComponent = 'div', options){ ...@@ -217,21 +250,15 @@ export default function marker3DFactory(WrappedComponent = 'div', options){
}; };
render() { render() {
const { markers,isEditMode, ...rest } = this.props; const { markers, isEditMode, ...rest } = this.props;
const { planStarted } = this.state; const { planStarted } = this.state;
let dialogStyle = { zIndex: 1000 }; let dialogStyle = { zIndex: 1000 };
const result = this.buildMarkerOptions(markers, markerType, markerParams); const result = this.buildMarkerOptions(markers, markerType, markerParams);
return ( return (
<WrappedComponent> <WrappedComponent>
<Markers <Markers {...rest} draggable={isEditMode} markers={result} events={this.markerEvents} onCreated={this.markerCreated} />
{...rest} {!planStarted && <PointDialog style={dialogStyle} ref={node => (this.pdRef = node)} />}
draggable={isEditMode}
markers={result}
events={this.markerEvents}
onCreated={this.markerCreated}
/>
{ !planStarted && <PointDialog style={dialogStyle} ref={node => this.pdRef = node} />}
</WrappedComponent> </WrappedComponent>
); );
} }
......
...@@ -4,7 +4,7 @@ import { Button, Input, Select, Group } from 'amos-framework'; ...@@ -4,7 +4,7 @@ import { Button, Input, Select, Group } from 'amos-framework';
import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum'; import { SingleQueryEnum } from 'amos-processor/lib/config/queryEnum';
import { trim } from 'amos-tool'; import { trim } from 'amos-tool';
import { DatePicker } from 'amos-antd'; import { DatePicker } from 'amos-antd';
import moment from "moment"; import moment from 'moment';
import imgStatic from './../../consts/imgStatic'; import imgStatic from './../../consts/imgStatic';
import { import {
getImpEquipmentAction, getImpEquipmentAction,
...@@ -14,12 +14,11 @@ import { bizControlsTypes, riskSourceLevel } from './../conf'; ...@@ -14,12 +14,11 @@ import { bizControlsTypes, riskSourceLevel } from './../conf';
const Option = Select.Option; const Option = Select.Option;
const MsgTypeEnum = [{ id: 'protal', name: '巡检' }, { id: 'equiment', name: '设备' }, { id: 'risk', name: '风险' }]; const MsgTypeEnum = [{ id: 'protal', name: '巡检' }, { id: 'equiment', name: '设备' }, { id: 'riskAlert', name: '风险' }];
const groupStyle = { display: 'unset', width: '100%' }; const groupStyle = { display: 'unset', width: '100%' };
const selectStyle = { width: '25%', minWidth: '20%', marginRight:'14px' }; const selectStyle = { width: '25%', minWidth: '20%', marginRight: '14px' };
const inputStyle = { width: '30%', minWidth: '20%', height: '28px', marginRight:'14px' }; const inputStyle = { width: '30%', minWidth: '20%', height: '28px', marginRight: '14px' };
const datePickerStyle = { width: '30%', minWidth: '20%', height: '28px', marginRight:'14px' }; const datePickerStyle = { width: '30%', minWidth: '20%', height: '28px', marginRight: '14px' };
const enterkey = 13;
/** /**
* *
* @class paramsHeader * @class paramsHeader
...@@ -45,7 +44,7 @@ class paramsHeader extends Component { ...@@ -45,7 +44,7 @@ class paramsHeader extends Component {
impEquiList: [], impEquiList: [],
filter: [], filter: [],
recordFilter: [], recordFilter: [],
statusList: [], statusList: []
}; };
} }
...@@ -61,10 +60,10 @@ class paramsHeader extends Component { ...@@ -61,10 +60,10 @@ class paramsHeader extends Component {
msgTextValue: undefined, msgTextValue: undefined,
recordTextValue: undefined, recordTextValue: undefined,
filter: [], filter: [],
recordFilter: [], recordFilter: []
}) });
} }
} }
onChange = (e) => { onChange = (e) => {
this.setState({ value: e.target.value }); this.setState({ value: e.target.value });
...@@ -74,9 +73,9 @@ class paramsHeader extends Component { ...@@ -74,9 +73,9 @@ class paramsHeader extends Component {
let showRiskLevel = false; let showRiskLevel = false;
let showImpEquiList = false; let showImpEquiList = false;
if(value === 'riskSource'){ if (value === 'riskSource'){
showRiskLevel = true; showRiskLevel = true;
}else if(value === 'monitorEquipment'){ } else if (value === 'monitorEquipment'){
showImpEquiList = true; showImpEquiList = true;
} }
this.setState({ showRiskLevel, showImpEquiList }); this.setState({ showRiskLevel, showImpEquiList });
...@@ -85,8 +84,8 @@ class paramsHeader extends Component { ...@@ -85,8 +84,8 @@ class paramsHeader extends Component {
onPamarmsChange = (name,value) => { onPamarmsChange = (name,value) => {
let { filter } = this.state; let { filter } = this.state;
if(name === 'time'){ if (name === 'time'){
value = value == null ? '' : moment(value).format("YYYY-MM-DD"); value = value == null ? '' : moment(value).format('YYYY-MM-DD');
} }
if (value) { if (value) {
const flag = filter.some(e => { const flag = filter.some(e => {
...@@ -99,19 +98,19 @@ class paramsHeader extends Component { ...@@ -99,19 +98,19 @@ class paramsHeader extends Component {
} else { } else {
filter = filter.filter(e => e.name !== name); filter = filter.filter(e => e.name !== name);
} }
if(name === 'inputText'){ if (name === 'inputText'){
this.setState({ textValue: value,filter }); this.setState({ textValue: value,filter });
}else if(name === 'title'){ } else if (name === 'title'){
this.setState({ msgTextValue: value,filter }); this.setState({ msgTextValue: value,filter });
}else{ } else {
this.setState({ filter }, this.props.paramsOnChange(filter)); this.setState({ filter }, this.props.paramsOnChange(filter));
} }
} }
paramsTypeonChange = (name,value,type,key) => { paramsTypeonChange = (name,value,type,key) => {
let {recordFilter} = this.state; let { recordFilter } = this.state;
if(name === 'checkTime'){ if (name === 'checkTime'){
value = value == null ? '' : moment(value).format("YYYY-MM-DD"); value = value == null ? '' : moment(value).format('YYYY-MM-DD');
} }
if (value) { if (value) {
const flag = recordFilter.some(e => { const flag = recordFilter.some(e => {
...@@ -125,16 +124,15 @@ class paramsHeader extends Component { ...@@ -125,16 +124,15 @@ class paramsHeader extends Component {
} else { } else {
recordFilter = recordFilter.filter(e => e.name !== name); recordFilter = recordFilter.filter(e => e.name !== name);
} }
debugger; if (name === 'contingencyName'){
if(name === 'contingencyName'){ this.setState({ recordTextValue: value,recordFilter });
this.setState({recordTextValue:value,recordFilter}) } else if (name === 'pointName'){
}else if(name === 'pointName'){ if (key === 'record'){
if(key === 'record'){ this.setState({ recordTextValue: value,recordFilter });
this.setState({ recordTextValue:value,recordFilter }); } else {
}else{
this.setState({ trajectoryTextValue: value,recordFilter }); this.setState({ trajectoryTextValue: value,recordFilter });
} }
}else{//不为input时直接查询 } else {//不为input时直接查询
this.setState({ recordFilter }, this.props.paramsOnChange(recordFilter)); this.setState({ recordFilter }, this.props.paramsOnChange(recordFilter));
} }
} }
...@@ -142,8 +140,8 @@ class paramsHeader extends Component { ...@@ -142,8 +140,8 @@ class paramsHeader extends Component {
//检索 //检索
getSearchContent = () => { getSearchContent = () => {
const { showRiskLevel, showImpEquiList, impEquiList,filter } = this.state; const { showRiskLevel, showImpEquiList, impEquiList,filter } = this.state;
let levelStyle = { width: '20%', minWidth: '15%', height: '28px', marginRight:'14px' }; let levelStyle = { width: '20%', minWidth: '15%', height: '28px', marginRight: '14px' };
let implStyle = { width: '35%', minWidth: '20%', height: '28px', marginRight:'14px' }; let implStyle = { width: '35%', minWidth: '20%', height: '28px', marginRight: '14px' };
return (<Group style={groupStyle}> return (<Group style={groupStyle}>
<Select <Select
key="searchType" key="searchType"
...@@ -160,7 +158,7 @@ class paramsHeader extends Component { ...@@ -160,7 +158,7 @@ class paramsHeader extends Component {
onChange={(e) => this.onPamarmsChange('inputText',e.target.value)} onChange={(e) => this.onPamarmsChange('inputText',e.target.value)}
placeholder="输入关键字" placeholder="输入关键字"
/> />
<img className="params-input-img" src={imgStatic.datapane.searchPane} alt="" onClick={() => this.props.paramsOnChange(filter)}/> <img className="params-input-img" src={imgStatic.datapane.searchPane} alt="" onClick={() => this.props.paramsOnChange(filter)} />
</div> </div>
{ {
showRiskLevel && showRiskLevel &&
...@@ -171,7 +169,7 @@ class paramsHeader extends Component { ...@@ -171,7 +169,7 @@ class paramsHeader extends Component {
renderOption={item => <Option className='modalSelectOption' key={item.key} value={item.key}>{item.label}</Option>} renderOption={item => <Option className='modalSelectOption' key={item.key} value={item.key}>{item.label}</Option>}
defaultOption={<Option className='modalSelectOption'>全部</Option>} defaultOption={<Option className='modalSelectOption'>全部</Option>}
onChange={(v) => this.onPamarmsChange('dataLevel',v)} onChange={(v) => this.onPamarmsChange('dataLevel',v)}
/> />
} }
{ {
showImpEquiList && showImpEquiList &&
...@@ -182,7 +180,7 @@ class paramsHeader extends Component { ...@@ -182,7 +180,7 @@ class paramsHeader extends Component {
renderOption={item => <Option className='modalSelectOption' key={item.name} value={item.name}>{item.name}</Option>} renderOption={item => <Option className='modalSelectOption' key={item.name} value={item.name}>{item.name}</Option>}
defaultOption={<Option className='modalSelectOption'>全部</Option>} defaultOption={<Option className='modalSelectOption'>全部</Option>}
onChange={(v) => this.onPamarmsChange('impEquipment',v)} onChange={(v) => this.onPamarmsChange('impEquipment',v)}
/> />
} }
</Group>); </Group>);
...@@ -207,7 +205,7 @@ class paramsHeader extends Component { ...@@ -207,7 +205,7 @@ class paramsHeader extends Component {
onChange={(e) => this.onPamarmsChange('title',e.target.value)} onChange={(e) => this.onPamarmsChange('title',e.target.value)}
placeholder="输入关键字" placeholder="输入关键字"
/> />
<img className="params-input-img1" src={imgStatic.datapane.searchPane} alt="" onClick={() => this.props.paramsOnChange(filter)}/> <img className="params-input-img1" src={imgStatic.datapane.searchPane} alt="" onClick={() => this.props.paramsOnChange(filter)} />
</div> </div>
<DatePicker <DatePicker
key="time" key="time"
...@@ -216,7 +214,7 @@ class paramsHeader extends Component { ...@@ -216,7 +214,7 @@ class paramsHeader extends Component {
placeholder="时间" placeholder="时间"
format="YYYY/MM/DD" format="YYYY/MM/DD"
onChange={(v) => this.onPamarmsChange('time',v)} onChange={(v) => this.onPamarmsChange('time',v)}
/> />
</Group>); </Group>);
...@@ -230,7 +228,7 @@ class paramsHeader extends Component { ...@@ -230,7 +228,7 @@ class paramsHeader extends Component {
key="recordImpl" key="recordImpl"
style={selectStyle} style={selectStyle}
data={impEquiList} data={impEquiList}
renderOption={item => <Option key={item.id+item.name} value={item.id}>{item.name}</Option>} renderOption={item => <Option key={item.id + item.name} value={item.id}>{item.name}</Option>}
defaultOption={<Option>重点设备</Option>} defaultOption={<Option>重点设备</Option>}
onChange={(v) => this.paramsTypeonChange('equipmentId', v , SingleQueryEnum.EQUAL)} onChange={(v) => this.paramsTypeonChange('equipmentId', v , SingleQueryEnum.EQUAL)}
/> />
...@@ -241,7 +239,7 @@ class paramsHeader extends Component { ...@@ -241,7 +239,7 @@ class paramsHeader extends Component {
onChange={(e) => this.paramsTypeonChange('contingencyName', e.target.value, SingleQueryEnum.LIKE,'record')} onChange={(e) => this.paramsTypeonChange('contingencyName', e.target.value, SingleQueryEnum.LIKE,'record')}
placeholder="输入关键字" placeholder="输入关键字"
/> />
<img className="params-input-img1" src={imgStatic.datapane.searchPane} alt="" onClick={()=> this.props.paramsOnChange(recordFilter)}/> <img className="params-input-img1" src={imgStatic.datapane.searchPane} alt="" onClick={()=> this.props.paramsOnChange(recordFilter)} />
</div> </div>
<DatePicker <DatePicker
key="createTime" key="createTime"
...@@ -250,7 +248,7 @@ class paramsHeader extends Component { ...@@ -250,7 +248,7 @@ class paramsHeader extends Component {
placeholder="时间" placeholder="时间"
format="YYYY/MM/DD" format="YYYY/MM/DD"
onChange={(v) => this.paramsTypeonChange('createTime', v, SingleQueryEnum.EQUAL)} onChange={(v) => this.paramsTypeonChange('createTime', v, SingleQueryEnum.EQUAL)}
/> />
</Group>); </Group>);
} }
...@@ -273,7 +271,7 @@ class paramsHeader extends Component { ...@@ -273,7 +271,7 @@ class paramsHeader extends Component {
onChange={(e) => this.paramsTypeonChange('pointName', e.target.value, SingleQueryEnum.LIKE)} onChange={(e) => this.paramsTypeonChange('pointName', e.target.value, SingleQueryEnum.LIKE)}
placeholder="输入关键字" placeholder="输入关键字"
/> />
<img className="params-input-img1" src={imgStatic.datapane.searchPane} alt="" onClick={()=>this.props.paramsOnChange(recordFilter)}/> <img className="params-input-img1" src={imgStatic.datapane.searchPane} alt="" onClick={()=>this.props.paramsOnChange(recordFilter)} />
</div> </div>
<DatePicker <DatePicker
key="createTime" key="createTime"
...@@ -282,19 +280,19 @@ class paramsHeader extends Component { ...@@ -282,19 +280,19 @@ class paramsHeader extends Component {
placeholder="时间" placeholder="时间"
format="YYYY/MM/DD" format="YYYY/MM/DD"
onChange={(v) => this.paramsTypeonChange('beginDate', v, SingleQueryEnum.EQUAL)} onChange={(v) => this.paramsTypeonChange('beginDate', v, SingleQueryEnum.EQUAL)}
/> />
</Group>); </Group>);
} }
getContent = () =>{ getContent = () =>{
const { activeKey } = this.props; const { activeKey } = this.props;
if(activeKey === 'search'){ if (activeKey === 'search'){
return this.getSearchContent(); return this.getSearchContent();
}else if(activeKey === 'message'){ } else if (activeKey === 'message'){
return this.getMessageContent(); return this.getMessageContent();
}else if(activeKey === 'record'){ } else if (activeKey === 'record'){
return this.getRecordContent(); return this.getRecordContent();
}else{ } else {
return this.getTrajectoryContent(); return this.getTrajectoryContent();
} }
} }
......
...@@ -3,8 +3,7 @@ import PropTypes from 'prop-types'; ...@@ -3,8 +3,7 @@ import PropTypes from 'prop-types';
import { SidePane } from 'amos-framework'; import { SidePane } from 'amos-framework';
import { Store } from 'amos-tool'; import { Store } from 'amos-tool';
import BizControlPane from './BizControlPane'; import BizControlPane from './BizControlPane';
import InnateControlPane from './InnateControlPane'; import { bizControls, pMonitorControls } from './../conf';
import { viewController, bizControls, pMonitorControls } from './../conf';
const loginUserName = Store.lsTool.read('userName'); const loginUserName = Store.lsTool.read('userName');
const filterUser = ['tianbo', 'opera1', 'opera2']; const filterUser = ['tianbo', 'opera1', 'opera2'];
...@@ -54,7 +53,7 @@ class SideControl extends Component { ...@@ -54,7 +53,7 @@ class SideControl extends Component {
}; };
render() { render() {
const { layerConfig, animationProps, activeAction } = this.props; const { animationProps, activeAction } = this.props;
let _bizControls = activeAction === 'panoramic' ? bizControls : pMonitorControls; let _bizControls = activeAction === 'panoramic' ? bizControls : pMonitorControls;
if (filterUser.includes(loginUserName)) { if (filterUser.includes(loginUserName)) {
let target = _bizControls.find(item => item.key === 'fireResource-point'); let target = _bizControls.find(item => item.key === 'fireResource-point');
......
# 说明
## 换流站3d前端打包说明
1.复制amos-station-module-view的mods文件夹到mos-iot-graphmod根目录
2.使用 amos-iot-graphmod 打包, 运行打包命令
```bash
npm run build-mod
```
3.打包完成后,复制根目录下lib文件到使用系统
4.修改使用系统的webpack.config文件
```bash
`defaultConfig.plugins.push(
new HtmlInlineCodePlugin([
{ inject: 'body', begin: true, tag: 'script', attr: { src: '/extra/convertor3d/graphmod.js' } },
{ inject: 'body', begin: false, tag: 'script', attr: { src: '/extra/convertor3d/worker.69f3bd5bcb7ff720afa4.js' } }
])
);`
```
5.修改文件graphmod 将 webpack_require__.p修改为第3步放置的路径
```bash
`// __webpack_public_path__
__webpack_require__.p = "/extra/convertor3d/";`
```
## 注意 src路径为第3步放置的路径 文件名字要与打包后的文件名字一致
This diff is collapsed.
This diff is collapsed.
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