main
parent
0271ed9129
commit
370b5089c3
|
@ -17,7 +17,7 @@ import RealInfo from './RealInfo.vue';
|
||||||
import HistoryInfo from './HistoryInfo.vue';
|
import HistoryInfo from './HistoryInfo.vue';
|
||||||
import { ElMessage } from 'element-plus';
|
import { ElMessage } from 'element-plus';
|
||||||
const deviceData = {
|
const deviceData = {
|
||||||
'EQ0001': {
|
'set1': {
|
||||||
name: '立仓',
|
name: '立仓',
|
||||||
imgUrl: 'licang',
|
imgUrl: 'licang',
|
||||||
detail: [
|
detail: [
|
||||||
|
@ -75,7 +75,7 @@ const deviceData = {
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'EQ0002': {
|
'set6': {
|
||||||
name: '过滤槽',
|
name: '过滤槽',
|
||||||
imgUrl: 'guolvcao',
|
imgUrl: 'guolvcao',
|
||||||
detail: [
|
detail: [
|
||||||
|
|
|
@ -59,28 +59,28 @@ const data = reactive({
|
||||||
{
|
{
|
||||||
type: '生产设备',
|
type: '生产设备',
|
||||||
name: '立仓',
|
name: '立仓',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 45,
|
value: 45,
|
||||||
id: "echartDiv0"
|
id: "echartDiv0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '生产设备',
|
type: '生产设备',
|
||||||
name: '过滤槽',
|
name: '过滤槽',
|
||||||
num: 'EQ0002',
|
num: 'set6',
|
||||||
value: 130,
|
value: 130,
|
||||||
id: "echartDiv1"
|
id: "echartDiv1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '安防设备',
|
type: '安防设备',
|
||||||
name: '摄像头',
|
name: '摄像头',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 180,
|
value: 180,
|
||||||
id: "echartDiv2"
|
id: "echartDiv2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '消防设备',
|
type: '消防设备',
|
||||||
name: '烟感',
|
name: '烟感',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 100,
|
value: 100,
|
||||||
id: "echartDiv3"
|
id: "echartDiv3"
|
||||||
}
|
}
|
||||||
|
@ -101,28 +101,28 @@ const data = reactive({
|
||||||
{
|
{
|
||||||
type: '生产设备',
|
type: '生产设备',
|
||||||
name: '立仓',
|
name: '立仓',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 15,
|
value: 15,
|
||||||
id: "echartDiv0"
|
id: "echartDiv0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '生产设备',
|
type: '生产设备',
|
||||||
name: '过滤槽',
|
name: '过滤槽',
|
||||||
num: 'EQ0002',
|
num: 'set6',
|
||||||
value: 50,
|
value: 50,
|
||||||
id: "echartDiv1"
|
id: "echartDiv1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '安防设备',
|
type: '安防设备',
|
||||||
name: '摄像头',
|
name: '摄像头',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 80,
|
value: 80,
|
||||||
id: "echartDiv2"
|
id: "echartDiv2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '消防设备',
|
type: '消防设备',
|
||||||
name: '烟感',
|
name: '烟感',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 50,
|
value: 50,
|
||||||
id: "echartDiv3"
|
id: "echartDiv3"
|
||||||
}
|
}
|
||||||
|
@ -144,28 +144,28 @@ const data = reactive({
|
||||||
{
|
{
|
||||||
type: '生产设备',
|
type: '生产设备',
|
||||||
name: '立仓',
|
name: '立仓',
|
||||||
num: 'EQ0001',
|
num: 'set1',
|
||||||
value: 30,
|
value: 30,
|
||||||
id: "echartDiv0"
|
id: "echartDiv0"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '生产设备',
|
type: '生产设备',
|
||||||
name: '过滤槽',
|
name: '过滤槽',
|
||||||
num: 'EQ0002',
|
num: 'set6',
|
||||||
value: 80,
|
value: 80,
|
||||||
id: "echartDiv1"
|
id: "echartDiv1"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '安防设备',
|
type: '安防设备',
|
||||||
name: '摄像头',
|
name: '摄像头',
|
||||||
num: 'EQ00011',
|
num: 'set1',
|
||||||
value: 100,
|
value: 100,
|
||||||
id: "echartDiv2"
|
id: "echartDiv2"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: '消防设备',
|
type: '消防设备',
|
||||||
name: '烟感',
|
name: '烟感',
|
||||||
num: 'EQ0002',
|
num: 'set1',
|
||||||
value: 50,
|
value: 50,
|
||||||
id: "echartDiv3"
|
id: "echartDiv3"
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,7 +42,7 @@ onMounted(() => {
|
||||||
// 右击事件
|
// 右击事件
|
||||||
window.addEventListener('contextmenu', function (e) {
|
window.addEventListener('contextmenu', function (e) {
|
||||||
if (e.button === 2) {
|
if (e.button === 2) {
|
||||||
console.log("点击了鼠标右键");
|
onMouseDownRight(e);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// document.addEventListener("mousemove", onMouseMove);
|
// document.addEventListener("mousemove", onMouseMove);
|
||||||
|
@ -197,6 +197,23 @@ const onMouseMove = (event) => {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const emit = defineEmits(['handleRightClick'])
|
||||||
|
// 鼠标右击事件
|
||||||
|
const onMouseDownRight = (event) => {
|
||||||
|
var raycaster = new THREE.Raycaster()
|
||||||
|
mouse.x = ((event.clientX - marginLeft) / window.innerWidth) * 2 - 1;
|
||||||
|
mouse.y = -((event.clientY - marginTop) / window.innerHeight) * 2 + 1;
|
||||||
|
raycaster.setFromCamera(mouse, camera);
|
||||||
|
const intersects = raycaster.intersectObjects(scene.children, true);
|
||||||
|
console.log(123, event);
|
||||||
|
|
||||||
|
if (intersects.length > 0) {
|
||||||
|
const clickedObject = intersects[0].object;
|
||||||
|
console.log('这是我选中的模型', clickedObject);
|
||||||
|
var selectedObject = isSelent(clickedObject);
|
||||||
|
emit('handleRightClick',selectedObject);
|
||||||
|
}
|
||||||
|
}
|
||||||
// 鼠标点击效果
|
// 鼠标点击效果
|
||||||
const onMouseDown = (event) => {
|
const onMouseDown = (event) => {
|
||||||
var raycaster = new THREE.Raycaster()
|
var raycaster = new THREE.Raycaster()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<!-- 场景模型 -->
|
<!-- 场景模型 -->
|
||||||
<ThreeView light="0xfffafa" :sceneUrl="sceneUrl" v-if="sceneUrl !== ''"></ThreeView>
|
<ThreeView light="0xfffafa" :sceneUrl="sceneUrl" v-if="sceneUrl !== ''" @handleRightClick="handleRightClick"></ThreeView>
|
||||||
<!-- <ThreeModel /> -->
|
<!-- <ThreeModel /> -->
|
||||||
<!-- 底部菜单 -->
|
<!-- 底部菜单 -->
|
||||||
<MenuTab @changeMenu="changeMenu"></MenuTab>
|
<MenuTab @changeMenu="changeMenu"></MenuTab>
|
||||||
|
@ -95,6 +95,16 @@ const onError = () => {
|
||||||
const onProgress = () => {
|
const onProgress = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const handleRightClick = (obj) => {
|
||||||
|
console.log(1,obj.name);
|
||||||
|
if(obj.name == 'set1' || obj.name == 'set6') {
|
||||||
|
bimStore().setDeviceNum(obj.name);
|
||||||
|
dialogVisible2.value = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
// viewDetail();
|
||||||
|
}
|
||||||
|
|
||||||
const handleBuildClick = (value, isParent) => {
|
const handleBuildClick = (value, isParent) => {
|
||||||
// 点击父级,加载/切换场景
|
// 点击父级,加载/切换场景
|
||||||
if (isParent) {
|
if (isParent) {
|
||||||
|
@ -122,7 +132,6 @@ const openDialog1 = () => {
|
||||||
}
|
}
|
||||||
|
|
||||||
const viewDetail = (val) => {
|
const viewDetail = (val) => {
|
||||||
console.log(val);
|
|
||||||
dialogVisible2.value = true;
|
dialogVisible2.value = true;
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
Loading…
Reference in New Issue