fix: BUG修改

This commit is contained in:
kun 2024-01-11 17:23:50 +08:00
parent 7b6a1d772e
commit 89970d51c1
4 changed files with 125 additions and 31 deletions

View File

@ -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);
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;

View File

@ -14,7 +14,7 @@ var COMPANY = '' //通用
// COMPANY = 'zjsj'//中建四局
// COMPANY = 'zjwj'//中建五局
// COMPANY = 'sccr'//四川成润
COMPANY = 'pssh'//坪山沙湖项目
// COMPANY = 'pssh'//坪山沙湖项目
// COMPANY = 'jlw'//金林湾
// COMPANY = 'shzj'//上海张江
// COMPANY = 'shjg'//上海优益(上海建工)

View File

@ -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/' //上海优益(上海建工)

View File

@ -11,10 +11,13 @@
:value="item.value"
/>
</el-select>
<el-button type="primary" size="small" @click="saveSelected" v-if="formData.type == 1" style="margin-left: 10px;"
>保存</el-button
>
</div>
<div class="data-show">
<!-- <div class="data-show" v-if="formData.type == 1">
<span>选中的数据值</span>
<div class="selected-box" v-if="formData.type == 1">
<div class="selected-box">
<template v-show="selectedHideList.length > 0">
<div v-for="(item, index) in selectedHideList" :key="index">
<span>{{ item ? item.dbId : "" }}</span>
@ -22,7 +25,13 @@
</div>
</template>
</div>
<div class="selected-box" v-if="formData.type == 2">
<el-button type="primary" size="small" @click="saveSelected"
>保存</el-button
>
</div> -->
<div class="data-show" v-if="formData.type == 2">
<span>选中的数据值</span>
<div class="selected-box">
<template v-show="selectedColorList.length > 0">
<div v-for="(item, index) in selectedColorList" :key="index">
<span
@ -148,30 +157,50 @@ export default {
this.getModelList();
},
getIframeMessage(e) {
console.log("Message from iframe", e.data.msg);
console.log("Message from iframe", e.data);
if (e.data.msg && e.data.msg.length > 0) {
if (this.formData.type == 1) {
let dataIndex = null;
dataIndex = this.selectedHideList.find((item) => {
return item.dbId == e.data.msg[0].dbId;
if (e.data.tip == "show") {
let dataShowIndex = null;
e.data.msg.map((item) => {
dataShowIndex = this.selectedHideList.findIndex((item2) => {
return item2.dbId == item.dbId;
});
if (!dataIndex) {
console.log(dataShowIndex);
if (dataShowIndex>=0) {
this.selectedHideList.splice(dataShowIndex, 1);
}
});
} else {
let dataHiddenIndex = null;
e.data.msg.map((item) => {
dataHiddenIndex = this.selectedHideList.find((item2) => {
return item2.dbId == item.dbId;
});
if (!dataHiddenIndex) {
this.selectedHideList.push({
...e.data.msg[0],
...item,
});
}
});
}
} else {
if (!e.data.tip) {
let dataIndex = null;
dataIndex = this.selectedColorList.find((item) => {
return item.dbId == e.data.msg[0].dbId;
e.data.msg.map((item) => {
dataIndex = this.selectedColorList.find((item2) => {
return item2.dbId == item.dbId;
});
if (!dataIndex) {
this.selectedColorList.push({
...e.data.msg[0],
...item,
color: this.formData.color,
});
}
});
}
}
this.selectedColorList = this.selectedColorList;
this.$forceUpdate();
}
},
@ -230,15 +259,17 @@ export default {
@include flex;
margin-top: 10px;
.selected-box {
flex: 1%;
flex: 1;
min-width: 208px;
min-height: 32px;
max-height: 100px;
border: 1px solid #c0c4cc;
border-radius: 4px;
@include flex;
flex-wrap: wrap;
padding-left: 6px;
margin-right: 15px;
overflow-y: scroll;
> div {
@include flex;
background-color: #f4f4f5;