From 89970d51c107e839944b84980ffcd86ad8da13a6 Mon Sep 17 00:00:00 2001
From: kun <1422840143@qq.com>
Date: Thu, 11 Jan 2024 17:23:50 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20BUG=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
public/bimBase.html | 79 +++++++++++++++++--
public/js/config.js | 2 +-
src/assets/js/http.js | 4 +-
.../BIMBASECenter/overviewTwo.vue | 71 ++++++++++++-----
4 files changed, 125 insertions(+), 31 deletions(-)
diff --git a/public/bimBase.html b/public/bimBase.html
index d6a71ea9..e4626aab 100644
--- a/public/bimBase.html
+++ b/public/bimBase.html
@@ -37,6 +37,8 @@
hideArr: [],
colorArr: [],
};
+ let firstEnter = 0;
+ let dealArr = [];
async function main() {
// 创建实例需要传入的参数,部署环境serviceConfig 和 用户有效期getAccessToken
const applicationOptions = {
@@ -68,7 +70,53 @@
obvDocument: obvDocument,
viewer3dItem: viewer3dItems[0],
});
- // 设置监听事件
+ // 监听模型树加载完成,可以查询模型树(getObjectTree)
+ obvApi.addEventListener(
+ OBV.ViewerEventTypes.V3dModelTreeLoadedEvent,
+ (event) => {
+ console.log("V3dModelTreeLoadedEvent", event);
+
+ // 设置监听事件(主要用于模型树隐藏)
+ obvApi.addEventListener(
+ OBV.ViewerEventTypes.V3dHideEvent,
+ (event) => {
+ console.log(event);
+ // obvApi
+ // .getObjectTree(event.nodeIdArray[0].modelId)
+ // .then(async (modelTreeData) => {
+ // console.log(JSON.parse(JSON.stringify(modelTreeData)));
+ // let responseData = JSON.parse(JSON.stringify(modelTreeData))
+ // dealArr.push({modelId: responseData.modelId, dbId: responseData.rootId})
+ // await dealArrData(responseData.root.children);
+ // // 往父级传递
+ // window.parent.postMessage({ msg: dealArr, tip: 'hidden' });
+ // });
+ // 往父级传递
+ window.parent.postMessage({ msg: event.nodeIdArray, tip: 'hidden' });
+ }
+ );
+ // 设置监听事件(主要用于模型树显示)
+ obvApi.addEventListener(
+ OBV.ViewerEventTypes.V3dShowEvent,
+ (event) => {
+ console.log(event);
+ // obvApi
+ // .getObjectTree(event.nodeIdArray[0].modelId)
+ // .then(async (modelTreeData) => {
+ // console.log(JSON.parse(JSON.stringify(modelTreeData)));
+ // let responseData = JSON.parse(JSON.stringify(modelTreeData))
+ // dealArr.push({dbId: responseData.rootId})
+ // await dealArrData(responseData.root.children);
+ // // 往父级传递
+ // window.parent.postMessage({ msg: dealArr, tip: 'hidden' });
+ // });
+ // 往父级传递
+ window.parent.postMessage({ msg: event.nodeIdArray, tip: 'show' });
+ }
+ );
+ }
+ );
+ // 设置监听事件(构件选择)
obvApi.addEventListener(
OBV.ViewerEventTypes.V3dSelectionChangedEvent,
(event) => {
@@ -77,26 +125,39 @@
window.parent.postMessage({ msg: event.nodeIdArray });
}
);
-
// 监听相机改变
obvApi.addEventListener(
OBV.ViewerEventTypes.V3dCameraChangeEvent,
(event) => {
console.log("V3dCameraChangeEvent", event);
- // 操作模型
- renderConfigModel(obvApi);
+ if (firstEnter == 0) {
+ // 首次进入才操作模型
+ // 操作模型
+ renderConfigModel(obvApi);
+ }
}
);
}
+ // 处理数据
+ function dealArrData(arr) {
+ arr.map(item => {
+ if(item.children && item.children.length > 0){
+ dealArrData(item.children)
+ }
+ dealArr.push({dbId: item.dbId})
+ })
+ }
function renderConfigModel(obvApi) {
console.log(obvApi);
console.log(configValue.hideArr);
+ ++firstEnter; // 避免多次调用
// 隐藏构件
if (configValue.hideArr.length > 0) {
obvApi.hide(configValue.hideArr);
- } else {
- obvApi.showAll();
}
+ // else {
+ // obvApi.showAll();
+ // }
// 构件着色
if (configValue.colorArr.length > 0) {
configValue.colorArr.map((item) => {
@@ -112,9 +173,10 @@
1
);
});
- } else {
- obvApi.restoreObjectsColor();
}
+ // else {
+ // obvApi.restoreObjectsColor();
+ // }
}
// 访问的令牌 getAccessToken 和 令牌有效期 expiresIn
function getAccessToken(callBack) {
@@ -127,6 +189,7 @@
const data = e.data || {};
console.log(data.token);
console.log(data.urn);
+ firstEnter = 0;
if (data.token && data.urn) {
configValue.viewToken = data.token;
configValue.urn = data.urn;
diff --git a/public/js/config.js b/public/js/config.js
index c3bbabdb..802d4761 100644
--- a/public/js/config.js
+++ b/public/js/config.js
@@ -14,7 +14,7 @@ var COMPANY = '' //通用
// COMPANY = 'zjsj'//中建四局
// COMPANY = 'zjwj'//中建五局
// COMPANY = 'sccr'//四川成润
-COMPANY = 'pssh'//坪山沙湖项目
+// COMPANY = 'pssh'//坪山沙湖项目
// COMPANY = 'jlw'//金林湾
// COMPANY = 'shzj'//上海张江
// COMPANY = 'shjg'//上海优益(上海建工)
diff --git a/src/assets/js/http.js b/src/assets/js/http.js
index 6adee500..be549a2d 100644
--- a/src/assets/js/http.js
+++ b/src/assets/js/http.js
@@ -67,7 +67,7 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL = 'http://183.234.150.152:9090/' //华发 huaxin 123456789
// axios.defaults.baseURL = 'http://182.90.224.147:18170' //瑞士恒通线上
// axios.defaults.baseURL = 'http://58.250.210.9:9090/' //深汕线上
- // axios.defaults.baseURL = 'http://101.43.164.214:11111/' //百色线上
+ axios.defaults.baseURL = 'http://101.43.164.214:11111/' //百色线上
// axios.defaults.baseURL = 'http://101.43.164.214:12345/'//内蒙古线上
// axios.defaults.baseURL = 'http://121.196.214.246/api/'//金林湾线上新
// axios.defaults.baseURL = 'http://42.194.144.62:8088/'//中建四局线上(新)地址
@@ -79,7 +79,7 @@ if (process.env.NODE_ENV == 'development') {
// axios.defaults.baseURL ='http://192.168.34.221:30001/' //郭圣雄本地
// axios.defaults.baseURL ='http://192.168.34.221:12350/' //金林湾本地
// axios.defaults.baseURL ='http://42.194.144.62:8099/' //坪山沙湖
- axios.defaults.baseURL ='http://125.88.207.86:8099/' //坪山沙湖(最新)地址
+ // axios.defaults.baseURL ='http://125.88.207.86:8099/' //坪山沙湖(最新)地址
// axios.defaults.baseURL ='http://huli.zjzhiliao.com/jxjgdapi/' //金林湾测试线上
// axios.defaults.baseURL ='http://101.43.164.214:45001/' //上海张江
// axios.defaults.baseURL ='http://101.43.164.214:45011/' //上海优益(上海建工)
diff --git a/src/views/projectFront/BIMBASECenter/overviewTwo.vue b/src/views/projectFront/BIMBASECenter/overviewTwo.vue
index fbb0d555..102beba3 100644
--- a/src/views/projectFront/BIMBASECenter/overviewTwo.vue
+++ b/src/views/projectFront/BIMBASECenter/overviewTwo.vue
@@ -11,10 +11,13 @@
:value="item.value"
/>
+