Merge branch 'dev-lhk' into shenzhen-dev
This commit is contained in:
commit
7b9909052e
@ -37,6 +37,8 @@
|
|||||||
hideArr: [],
|
hideArr: [],
|
||||||
colorArr: [],
|
colorArr: [],
|
||||||
};
|
};
|
||||||
|
let firstEnter = 0;
|
||||||
|
let dealArr = [];
|
||||||
async function main() {
|
async function main() {
|
||||||
// 创建实例需要传入的参数,部署环境serviceConfig 和 用户有效期getAccessToken
|
// 创建实例需要传入的参数,部署环境serviceConfig 和 用户有效期getAccessToken
|
||||||
const applicationOptions = {
|
const applicationOptions = {
|
||||||
@ -68,7 +70,59 @@
|
|||||||
obvDocument: obvDocument,
|
obvDocument: obvDocument,
|
||||||
viewer3dItem: viewer3dItems[0],
|
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(
|
obvApi.addEventListener(
|
||||||
OBV.ViewerEventTypes.V3dSelectionChangedEvent,
|
OBV.ViewerEventTypes.V3dSelectionChangedEvent,
|
||||||
(event) => {
|
(event) => {
|
||||||
@ -77,29 +131,43 @@
|
|||||||
window.parent.postMessage({ msg: event.nodeIdArray });
|
window.parent.postMessage({ msg: event.nodeIdArray });
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
// 监听相机改变
|
// 监听相机改变
|
||||||
obvApi.addEventListener(
|
obvApi.addEventListener(
|
||||||
OBV.ViewerEventTypes.V3dCameraChangeEvent,
|
OBV.ViewerEventTypes.V3dCameraChangeEvent,
|
||||||
(event) => {
|
(event) => {
|
||||||
console.log("V3dCameraChangeEvent", event);
|
console.log("V3dCameraChangeEvent", event);
|
||||||
|
if (firstEnter == 0) {
|
||||||
|
// 首次进入才操作模型
|
||||||
// 操作模型
|
// 操作模型
|
||||||
renderConfigModel(obvApi);
|
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) {
|
function renderConfigModel(obvApi) {
|
||||||
console.log(obvApi);
|
console.log(obvApi);
|
||||||
console.log(configValue.hideArr);
|
console.log(configValue.hideArr);
|
||||||
|
++firstEnter; // 避免多次调用
|
||||||
// 隐藏构件
|
// 隐藏构件
|
||||||
if (configValue.hideArr.length > 0) {
|
if (configValue.hideArr.length > 0) {
|
||||||
obvApi.hide(configValue.hideArr);
|
obvApi.hide(configValue.hideArr);
|
||||||
} else {
|
|
||||||
obvApi.showAll();
|
|
||||||
}
|
}
|
||||||
|
// else {
|
||||||
|
// obvApi.showAll();
|
||||||
|
// }
|
||||||
// 构件着色
|
// 构件着色
|
||||||
if (configValue.colorArr.length > 0) {
|
if (configValue.colorArr.length > 0) {
|
||||||
configValue.colorArr.map((item) => {
|
configValue.colorArr.map((item) => {
|
||||||
|
if (item.modelId) {
|
||||||
let firstIndex = item.color.indexOf(",");
|
let firstIndex = item.color.indexOf(",");
|
||||||
let secondIndex = item.color.indexOf(",", firstIndex + 1);
|
let secondIndex = item.color.indexOf(",", firstIndex + 1);
|
||||||
let thirdIndex = item.color.indexOf(")", -1);
|
let thirdIndex = item.color.indexOf(")", -1);
|
||||||
@ -111,10 +179,12 @@
|
|||||||
item.color.substring(secondIndex + 2, thirdIndex),
|
item.color.substring(secondIndex + 2, thirdIndex),
|
||||||
1
|
1
|
||||||
);
|
);
|
||||||
});
|
|
||||||
} else {
|
|
||||||
obvApi.restoreObjectsColor();
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
// else {
|
||||||
|
// obvApi.restoreObjectsColor();
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
// 访问的令牌 getAccessToken 和 令牌有效期 expiresIn
|
// 访问的令牌 getAccessToken 和 令牌有效期 expiresIn
|
||||||
function getAccessToken(callBack) {
|
function getAccessToken(callBack) {
|
||||||
@ -127,6 +197,7 @@
|
|||||||
const data = e.data || {};
|
const data = e.data || {};
|
||||||
console.log(data.token);
|
console.log(data.token);
|
||||||
console.log(data.urn);
|
console.log(data.urn);
|
||||||
|
firstEnter = 0;
|
||||||
if (data.token && data.urn) {
|
if (data.token && data.urn) {
|
||||||
configValue.viewToken = data.token;
|
configValue.viewToken = data.token;
|
||||||
configValue.urn = data.urn;
|
configValue.urn = data.urn;
|
||||||
|
|||||||
@ -89,10 +89,17 @@
|
|||||||
}
|
}
|
||||||
function renderConfigModel(obvApi) {
|
function renderConfigModel(obvApi) {
|
||||||
console.log(obvApi);
|
console.log(obvApi);
|
||||||
|
console.log(configValue.bimComponent);
|
||||||
// 构件着色
|
// 构件着色
|
||||||
if (configValue.bimComponent.length > 0) {
|
if (configValue.bimComponent.length > 0) {
|
||||||
// 构件着色
|
// 构件着色
|
||||||
obvApi.setObjectsColor(configValue.bimComponent, 51, 122, 183, 1);
|
configValue.bimComponent.map((item) => {
|
||||||
|
if(item.modelId){
|
||||||
|
// 构件着色
|
||||||
|
obvApi.setObjectsColor([item], 51, 122, 183, 1);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// obvApi.setObjectsColor(configValue.bimComponent, 51, 122, 183, 1);
|
||||||
} else {
|
} else {
|
||||||
obvApi.restoreObjectsColor();
|
obvApi.restoreObjectsColor();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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://183.234.150.152:9090/' //华发 huaxin 123456789
|
||||||
// axios.defaults.baseURL = 'http://182.90.224.147:18170' //瑞士恒通线上
|
// axios.defaults.baseURL = 'http://182.90.224.147:18170' //瑞士恒通线上
|
||||||
// axios.defaults.baseURL = 'http://58.250.210.9:9090/' //深汕线上
|
// 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://101.43.164.214:12345/'//内蒙古线上
|
||||||
// axios.defaults.baseURL = 'http://121.196.214.246/api/'//金林湾线上新
|
// axios.defaults.baseURL = 'http://121.196.214.246/api/'//金林湾线上新
|
||||||
// axios.defaults.baseURL = 'http://42.194.144.62:8088/'//中建四局线上(新)地址
|
// axios.defaults.baseURL = 'http://42.194.144.62:8088/'//中建四局线上(新)地址
|
||||||
|
|||||||
@ -11,10 +11,19 @@
|
|||||||
:value="item.value"
|
:value="item.value"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
|
<el-color-picker
|
||||||
|
v-model="formData.color"
|
||||||
|
v-if="formData.type == 2"
|
||||||
|
style="margin-left: 10px;"
|
||||||
|
color-format="rgb"
|
||||||
|
></el-color-picker>
|
||||||
|
<el-button type="primary" size="small" @click="saveSelected" style="margin-left: 10px;"
|
||||||
|
>保存</el-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
<div class="data-show">
|
<!-- <div class="data-show" v-if="formData.type == 1">
|
||||||
<span>选中的数据值:</span>
|
<span>选中的数据值:</span>
|
||||||
<div class="selected-box" v-if="formData.type == 1">
|
<div class="selected-box">
|
||||||
<template v-show="selectedHideList.length > 0">
|
<template v-show="selectedHideList.length > 0">
|
||||||
<div v-for="(item, index) in selectedHideList" :key="index">
|
<div v-for="(item, index) in selectedHideList" :key="index">
|
||||||
<span>{{ item ? item.dbId : "" }}</span>
|
<span>{{ item ? item.dbId : "" }}</span>
|
||||||
@ -22,7 +31,13 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</div>
|
</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">
|
<template v-show="selectedColorList.length > 0">
|
||||||
<div v-for="(item, index) in selectedColorList" :key="index">
|
<div v-for="(item, index) in selectedColorList" :key="index">
|
||||||
<span
|
<span
|
||||||
@ -41,7 +56,7 @@
|
|||||||
<el-button type="primary" size="small" @click="saveSelected"
|
<el-button type="primary" size="small" @click="saveSelected"
|
||||||
>保存</el-button
|
>保存</el-button
|
||||||
>
|
>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<iframe
|
<iframe
|
||||||
:src="url"
|
:src="url"
|
||||||
@ -148,30 +163,50 @@ export default {
|
|||||||
this.getModelList();
|
this.getModelList();
|
||||||
},
|
},
|
||||||
getIframeMessage(e) {
|
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 (e.data.msg && e.data.msg.length > 0) {
|
||||||
if (this.formData.type == 1) {
|
if (this.formData.type == 1) {
|
||||||
let dataIndex = null;
|
if (e.data.tip == "show") {
|
||||||
dataIndex = this.selectedHideList.find((item) => {
|
let dataShowIndex = null;
|
||||||
return item.dbId == e.data.msg[0].dbId;
|
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({
|
this.selectedHideList.push({
|
||||||
...e.data.msg[0],
|
...item,
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
if (!e.data.tip) {
|
||||||
let dataIndex = null;
|
let dataIndex = null;
|
||||||
dataIndex = this.selectedColorList.find((item) => {
|
e.data.msg.map((item) => {
|
||||||
return item.dbId == e.data.msg[0].dbId;
|
dataIndex = this.selectedColorList.find((item2) => {
|
||||||
|
return item2.dbId == item.dbId;
|
||||||
});
|
});
|
||||||
if (!dataIndex) {
|
if (!dataIndex) {
|
||||||
this.selectedColorList.push({
|
this.selectedColorList.push({
|
||||||
...e.data.msg[0],
|
...item,
|
||||||
color: this.formData.color,
|
color: this.formData.color,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
this.selectedColorList = this.selectedColorList;
|
||||||
this.$forceUpdate();
|
this.$forceUpdate();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -230,15 +265,17 @@ export default {
|
|||||||
@include flex;
|
@include flex;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
.selected-box {
|
.selected-box {
|
||||||
flex: 1%;
|
flex: 1;
|
||||||
min-width: 208px;
|
min-width: 208px;
|
||||||
min-height: 32px;
|
min-height: 32px;
|
||||||
|
max-height: 100px;
|
||||||
border: 1px solid #c0c4cc;
|
border: 1px solid #c0c4cc;
|
||||||
border-radius: 4px;
|
border-radius: 4px;
|
||||||
@include flex;
|
@include flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
padding-left: 6px;
|
padding-left: 6px;
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
|
overflow-y: scroll;
|
||||||
> div {
|
> div {
|
||||||
@include flex;
|
@include flex;
|
||||||
background-color: #f4f4f5;
|
background-color: #f4f4f5;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user