Compare commits

..

No commits in common. "5c070bbc93921a805126a9e59e5373a9503f458e" and "0271ed9129e16ebbd78a88ad57d201ef4edcc791" have entirely different histories.

10 changed files with 53 additions and 234 deletions

View File

@ -86,11 +86,17 @@ const handleNodeClick = (value) => {
width: 224px;
margin: 0 10px;
background: transparent;
color: #fff;
color: #3cbfdf;
}
.el-select {
margin: 10px;
}
:deep(.el-input__wrapper) {
background: transparent;
}
:deep(.el-input__inner) {
color: #3cbfdf;
}
}
</style>

View File

@ -10,46 +10,14 @@
<span class="name">面积</span>
<span class="text">{{ buildInfo.area }}</span>
</div>
<div>
<span class="name">墙体厚度</span>
<span class="text">{{ buildInfo.qthd }}</span>
</div>
<div>
<span class="name">材料类型</span>
<span class="text">{{ buildInfo.cllx }}</span>
</div>
<div>
<span class="name">保温层类型</span>
<span class="text">{{ buildInfo.bwclx }}</span>
</div>
<div>
<span class="name">饰面材料</span>
<span class="text">{{ buildInfo.smcl }}</span>
</div>
<div>
<span class="name">承重能力</span>
<span class="text">{{ buildInfo.cznl }}</span>
</div>
<div>
<span class="name">状态</span>
<span class="text">{{ buildInfo.status }}</span>
</div>
<div>
<span class="name">启用日期</span>
<span class="text">{{ buildInfo.date }}</span>
</div>
<div>
<span class="name">上次修缮日期</span>
<span class="text">{{ buildInfo.lastDate }}</span>
</div>
<div>
<span class="name">描述</span>
<span class="text">{{ buildInfo.desc }}</span>
</div>
<!-- <div>
<span class="name">备注</span>
<span class="text">{{ buildInfo.remark }}</span>
</div> -->
</dv-border-box-10>
</div>
</template>
@ -67,7 +35,7 @@ const buildInfo = computed(() => bimStore().activateTree.info);
// background: #0a1f2e;
// border: 1px solid red;
width: 360px;
// height: 420px;
height: 340px;
display: flex;
flex-direction: column;
align-items: center;
@ -75,15 +43,15 @@ const buildInfo = computed(() => bimStore().activateTree.info);
:deep(.border-box-content) {
padding: 10px;
>div {
line-height: 36px;
line-height: 48px;
display: flex;
justify-content: space-between;
}
.name {
width: 40%;
width: 25%;
}
.text {
width: 59%;
width: 75%;
color: #fff;
}
}

View File

@ -42,16 +42,8 @@ const data = reactive({
info: {
name: '原料糖化车间',
area: '9436 ㎡',
qthd: '14 cm',
cllx: '砖石/混凝土/钢结构',
bwclx: '外墙保温',
smcl: '乳胶漆',
cznl: '22 kPa',
status: '启用',
date: '2021年11月11日',
lastDate: '2022年2月3日',
desc: '原料糖化车间负责原料糖化启用于2011年',
remark: '备注'
desc: '原料糖化车间负责原料糖化启用于2011年'
},
deviceInfo: [
{
@ -82,16 +74,8 @@ const data = reactive({
info: {
name: '糖化间',
area: '9436 ㎡',
qthd: '34 cm',
cllx: '钢结构',
bwclx: '外墙保温',
smcl: '乳胶漆',
cznl: '22 kPa',
status: '启用',
date: '2021年3月11日',
lastDate: '2022年5月20日',
desc: '原料糖化车间负责原料糖化启用于2011年',
remark: '备注'
desc: '糖化间负责原料糖化启用于2011年'
},
deviceInfo: [
{
@ -122,17 +106,9 @@ const data = reactive({
clickName: 'yuanliao_room',
info: {
name: '原料处理间',
area: '36 ㎡',
qthd: '4 cm',
cllx: '混凝土',
bwclx: '外墙保温',
smcl: '乳胶漆',
cznl: '22 kPa',
area: '9436 ㎡',
status: '启用',
date: '2013年11月11日',
lastDate: '2020年12月3日',
desc: '原料糖化车间负责原料糖化启用于2011年',
remark: '备注'
desc: '原料糖化车间负责原料糖化启用于2011年'
},
deviceInfo: [
{
@ -157,23 +133,15 @@ const data = reactive({
}
],
children: []
}, {
},{
label: '投料间',
id: '0-0-3',
clickName: 'touliao_room',
info: {
name: '投料间',
area: '936 ㎡',
qthd: '15 cm',
cllx: '砖石/混凝土/钢结构',
bwclx: '内墙保温',
smcl: '石材',
cznl: '12 kPa',
area: '836 ㎡',
status: '启用',
date: '20200年11月11日',
lastDate: '2022年2月3日',
desc: '原料糖化车间负责原料糖化启用于2011年',
remark: '备注'
desc: '投料间负责原料糖化启用于2011年'
},
deviceInfo: [
{
@ -205,23 +173,6 @@ const data = reactive({
});
const { buildValue, treeData, checkedkeys } = toRefs(data);
const emit = defineEmits(['handleNodeClick'])
Bus.on('handleTreeClick', (obj) => {
let o = treeData.value[0].children.find(ele => {
return ele.clickName == obj.parent.name;
})
if (o) {
nextTick(() => {
checkedkeys.value = o.id;
handleNodeClick(o);
})
}
})
onUnmounted(() => {
Bus.off("handleTreeClick")//
});
onMounted(() => {
nextTick(() => {
checkedkeys.value = treeData.value[0].id;

View File

@ -17,7 +17,7 @@ import RealInfo from './RealInfo.vue';
import HistoryInfo from './HistoryInfo.vue';
import { ElMessage } from 'element-plus';
const deviceData = {
'set1': {
'EQ0001': {
name: '立仓',
imgUrl: 'licang',
detail: [
@ -75,7 +75,7 @@ const deviceData = {
},
]
},
'set6': {
'EQ0002': {
name: '过滤槽',
imgUrl: 'guolvcao',
detail: [

View File

@ -59,28 +59,28 @@ const data = reactive({
{
type: '生产设备',
name: '立仓',
num: 'set1',
num: 'EQ0001',
value: 45,
id: "echartDiv0"
},
{
type: '生产设备',
name: '过滤槽',
num: 'set6',
num: 'EQ0002',
value: 130,
id: "echartDiv1"
},
{
type: '安防设备',
name: '摄像头',
num: 'set1',
num: 'EQ0001',
value: 180,
id: "echartDiv2"
},
{
type: '消防设备',
name: '烟感',
num: 'set1',
num: 'EQ0001',
value: 100,
id: "echartDiv3"
}
@ -101,28 +101,28 @@ const data = reactive({
{
type: '生产设备',
name: '立仓',
num: 'set1',
num: 'EQ0001',
value: 15,
id: "echartDiv0"
},
{
type: '生产设备',
name: '过滤槽',
num: 'set6',
num: 'EQ0002',
value: 50,
id: "echartDiv1"
},
{
type: '安防设备',
name: '摄像头',
num: 'set1',
num: 'EQ0001',
value: 80,
id: "echartDiv2"
},
{
type: '消防设备',
name: '烟感',
num: 'set1',
num: 'EQ0001',
value: 50,
id: "echartDiv3"
}
@ -144,28 +144,28 @@ const data = reactive({
{
type: '生产设备',
name: '立仓',
num: 'set1',
num: 'EQ0001',
value: 30,
id: "echartDiv0"
},
{
type: '生产设备',
name: '过滤槽',
num: 'set6',
num: 'EQ0002',
value: 80,
id: "echartDiv1"
},
{
type: '安防设备',
name: '摄像头',
num: 'set1',
num: 'EQ00011',
value: 100,
id: "echartDiv2"
},
{
type: '消防设备',
name: '烟感',
num: 'set1',
num: 'EQ0002',
value: 50,
id: "echartDiv3"
}

View File

@ -69,10 +69,10 @@ const openDialog = () => {
<style lang='scss' scoped>
.deviceDiv {
position: absolute;
bottom: 20px;
top: 380px;
right: 10px;
width: 360px;
height: 330px;
height: 380px;
display: flex;
flex-direction: column;
align-items: center;

View File

@ -60,7 +60,7 @@ const data = reactive({
},
{
label: '过滤槽',
id: '0-2',
id: '0-1',
clickName: 'set6',
info: {
name: '过滤槽',
@ -75,7 +75,7 @@ const data = reactive({
},
{
label: '设备二',
id: '0-3',
id: '0-2',
clickName: 'set2',
info: {
name: '设备二',
@ -89,7 +89,7 @@ const data = reactive({
},
{
label: '设备三',
id: '0-4',
id: '0-3',
clickName: 'set3',
info: {
name: '设备三',
@ -103,7 +103,7 @@ const data = reactive({
},
{
label: '设备四',
id: '0-5',
id: '0-4',
clickName: 'set4',
info: {
name: '设备四',
@ -115,48 +115,6 @@ const data = reactive({
},
children: []
},
{
label: '设备五',
id: '0-6',
clickName: 'set5',
info: {
name: '设备五',
type: '安防设备',
status: '启用',
location: '漳州厂区糖化间',
belong: '漳州厂区',
date: '2025-12-15'
},
children: []
},
{
label: '设备七',
id: '0-7',
clickName: 'set7',
info: {
name: '设备七',
type: '安防设备',
status: '启用',
location: '漳州厂区糖化间',
belong: '漳州厂区',
date: '2025-12-15'
},
children: []
},
{
label: '设备八',
id: '0-8',
clickName: 'set8',
info: {
name: '设备八',
type: '安防设备',
status: '启用',
location: '漳州厂区糖化间',
belong: '漳州厂区',
date: '2025-12-15'
},
children: []
},
],
}
],
@ -170,24 +128,6 @@ onMounted(() => {
handleNodeClick(treeData.value[0]);
})
});
Bus.on('handleTreeClick1', (obj) => {
let o = treeData.value[0].children.find(ele => {
return ele.clickName == obj.parent.name;
})
console.log(123, obj.parent.name);
if (o) {
nextTick(() => {
checkedkeys.value = o.id;
handleNodeClick(o);
})
}
})
onUnmounted(() => {
Bus.off("handleTreeClick")//
});
const handleNodeClick = (value) => {
bimStore().setActivateDeviceTree(value);
const isParent = value.children.length > 0;

View File

@ -7,7 +7,6 @@
<script setup>
import bimStore from '@/store/modules/bim';
import { onMounted } from 'vue';
import Bus from '@/utils/bus.js';
const menuList = [
{

View File

@ -42,7 +42,7 @@ onMounted(() => {
//
window.addEventListener('contextmenu', function (e) {
if (e.button === 2) {
onMouseDownRight(e);
console.log("点击了鼠标右键");
}
});
// document.addEventListener("mousemove", onMouseMove);
@ -174,7 +174,7 @@ const isSelent = (obj) => {
}
let selectedObjects = ref([]);
let selectBoxByClick, selectBoxByMouseon, pointLabel;
let selectBoxByClick, selectBoxByMouseon;
var marginLeft = 0;
var marginTop = 70;
//
@ -197,23 +197,6 @@ 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) => {
var raycaster = new THREE.Raycaster()
@ -229,17 +212,6 @@ const onMouseDown = (event) => {
var selectedObject = isSelent(clickedObject);
//
boxLight(selectedObject);
if(bimStore().activateIndex == '0') {
//
Bus.emit('handleTreeClick', clickedObject);
return;
}
if(bimStore().activateIndex == '1') {
//
Bus.emit('handleTreeClick1', clickedObject);
return;
}
}
}
@ -363,10 +335,6 @@ const renders = () => {
let roamdObjects = ref([]);
//
const toHomeView = () => {
if (selectBoxByClick) {
scene.remove(selectBoxByClick);
}
removeLabel();
controls.reset();
}
//
@ -400,7 +368,7 @@ const addLabel = () => {
// console.log(123, obj);
centerSelectedGroup(obj);
let text = "设备二";
pointLabel = createLableObj(text);
let pointLabel = createLableObj(text);
obj.add(pointLabel);
labelRenderer.setSize(window.innerWidth, window.innerHeight);
labelRenderer.domElement.style.position = "absolute";
@ -419,11 +387,7 @@ const createLableObj = (text) => {
return pointLabel;
};
const removeLabel = () => {
if(pointLabel) {
isAddLabel.value = true;
document.body.removeChild(labelRenderer.domElement);
}
}
//

View File

@ -1,7 +1,7 @@
<template>
<div class="app-container">
<!-- 场景模型 -->
<ThreeView light="0xfffafa" :sceneUrl="sceneUrl" v-if="sceneUrl !== ''" @handleRightClick="handleRightClick"></ThreeView>
<ThreeView light="0xfffafa" :sceneUrl="sceneUrl" v-if="sceneUrl !== ''"></ThreeView>
<!-- <ThreeModel /> -->
<!-- 底部菜单 -->
<MenuTab @changeMenu="changeMenu"></MenuTab>
@ -95,16 +95,6 @@ const onError = () => {
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) => {
// /
if (isParent) {
@ -132,6 +122,7 @@ const openDialog1 = () => {
}
const viewDetail = (val) => {
console.log(val);
dialogVisible2.value = true;
}
</script>