main
			
			
		
		
							parent
							
								
									2dce720b2c
								
							
						
					
					
						commit
						4f7a7b5c5d
					
				
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 36 KiB  | 
| 
						 | 
				
			
			@ -19,6 +19,8 @@
 | 
			
		|||
                </el-timeline-item>
 | 
			
		||||
            </el-timeline>
 | 
			
		||||
        </dv-border-box-10>
 | 
			
		||||
        <div class="box-button" @click="openDialog">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup>
 | 
			
		||||
| 
						 | 
				
			
			@ -55,8 +57,11 @@ const data = reactive({
 | 
			
		|||
            size: 'large'
 | 
			
		||||
        }]
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const { activities } = toRefs(data);
 | 
			
		||||
const emit = defineEmits(['openDialog'])
 | 
			
		||||
const openDialog = () => {
 | 
			
		||||
    emit('openDialog')
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss' scoped>
 | 
			
		||||
| 
						 | 
				
			
			@ -104,5 +109,16 @@ const { activities } = toRefs(data);
 | 
			
		|||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
    .box-button {
 | 
			
		||||
        width:20px;
 | 
			
		||||
        height:20px;
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        bottom: 10px;
 | 
			
		||||
        right: 10px;
 | 
			
		||||
        border: 2px solid #3cbfdf;
 | 
			
		||||
        border-radius: 5px;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -8,14 +8,14 @@
 | 
			
		|||
                <div :id="'echartDiv' + index" class="echartDiv100" v-for="(item, index) of deviceList" :key="index"></div>
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="bottom-div">
 | 
			
		||||
                <el-table :data="tableData" border style="width: 100%" height="450">
 | 
			
		||||
                <el-table :data="tableData" border style="width: 100%" height="420">
 | 
			
		||||
                    <el-table-column label="序号" width="60" type="index" align="center"></el-table-column>
 | 
			
		||||
                    <el-table-column prop="name" label="名称" align="center"/>
 | 
			
		||||
                    <el-table-column prop="num" label="编码" align="center"/>
 | 
			
		||||
                    <el-table-column prop="type" label="类型" align="center"/>
 | 
			
		||||
                    <el-table-column label="操作" align="center">
 | 
			
		||||
                        <template #default="scope">
 | 
			
		||||
                            <el-button link type="primary" @click="handleClearCacheName(scope.row)">查看</el-button>
 | 
			
		||||
                            <el-button type="primary" @click="viewDetail(scope.row)">查看</el-button>
 | 
			
		||||
                        </template>
 | 
			
		||||
                    </el-table-column>
 | 
			
		||||
                </el-table>
 | 
			
		||||
| 
						 | 
				
			
			@ -105,6 +105,9 @@ onMounted(() => {
 | 
			
		|||
 | 
			
		||||
const getCharts = (data) => {
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const viewDetail = (val) => {
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -31,6 +31,7 @@ const data = reactive({
 | 
			
		|||
 | 
			
		||||
const { equipmentInfo } = toRefs(data);
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss' scoped>
 | 
			
		||||
.buildDiv {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -32,6 +32,8 @@
 | 
			
		|||
                <span class="text">{{ realInfo.area }}</span>
 | 
			
		||||
            </div>
 | 
			
		||||
        </dv-border-box-10>
 | 
			
		||||
        <div class="box-button" @click="openDialog">
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup>
 | 
			
		||||
| 
						 | 
				
			
			@ -50,6 +52,11 @@ const data = reactive({
 | 
			
		|||
});
 | 
			
		||||
 | 
			
		||||
const { realInfo } = toRefs(data);
 | 
			
		||||
const { equipmentInfo } = toRefs(data);
 | 
			
		||||
const emit = defineEmits(['openDialog'])
 | 
			
		||||
const openDialog = () => {
 | 
			
		||||
    emit('openDialog')
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss' scoped>
 | 
			
		||||
.deviceDiv {
 | 
			
		||||
| 
						 | 
				
			
			@ -76,5 +83,16 @@ const { realInfo } = toRefs(data);
 | 
			
		|||
            color: #fff;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    .box-button {
 | 
			
		||||
        width:20px;
 | 
			
		||||
        height:20px;
 | 
			
		||||
        position: absolute;
 | 
			
		||||
        bottom: 10px;
 | 
			
		||||
        right: 10px;
 | 
			
		||||
        border: 2px solid #3cbfdf;
 | 
			
		||||
        border-radius: 5px;
 | 
			
		||||
        cursor: pointer;
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,54 @@
 | 
			
		|||
<template>
 | 
			
		||||
    <div class="realInfoDialog">
 | 
			
		||||
        <div class="top-div">
 | 
			
		||||
 | 
			
		||||
        </div>
 | 
			
		||||
        <div class="bottom-div">
 | 
			
		||||
            <div class="left-div">
 | 
			
		||||
 | 
			
		||||
            </div>
 | 
			
		||||
            <div class="right-div">
 | 
			
		||||
                <img src="@/assets/images/1.png" alt="" width="100%">
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup>
 | 
			
		||||
const data = reactive({
 | 
			
		||||
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
<style lang="scss" scoped>
 | 
			
		||||
.realInfoDialog {
 | 
			
		||||
    height: 600px;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    justify-content: space-between;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
 | 
			
		||||
    .top-div {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 25%;
 | 
			
		||||
        border: 1px solid #3cbfdf;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    .bottom-div {
 | 
			
		||||
        width: 100%;
 | 
			
		||||
        height: 72%;
 | 
			
		||||
        display: flex;
 | 
			
		||||
        justify-content: space-between;
 | 
			
		||||
 | 
			
		||||
        .left-div {
 | 
			
		||||
            width: 20%;
 | 
			
		||||
            height: 100%;
 | 
			
		||||
            border: 1px solid #3cbfdf;
 | 
			
		||||
        }
 | 
			
		||||
        .right-div {
 | 
			
		||||
            width: 79%;
 | 
			
		||||
            height: 100%;
 | 
			
		||||
            border: 1px solid #3cbfdf;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
</style>
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <!-- 模型 -->
 | 
			
		||||
    <ThreeView background="#dcedff" light="0xffffff" :sceneUrl="sceneUrl"></ThreeView>
 | 
			
		||||
    <ThreeView background="#353535" light="0xffffff" :sceneUrl="sceneUrl"></ThreeView>
 | 
			
		||||
    <!-- 底部菜单 -->
 | 
			
		||||
    <MenuTab @changeMenu="changeMenu"></MenuTab>
 | 
			
		||||
    <!-- 左侧建筑菜单 -->
 | 
			
		||||
| 
						 | 
				
			
			@ -15,13 +15,13 @@
 | 
			
		|||
    <!-- 资产信息 -->
 | 
			
		||||
    <DeviceInfo v-if="activateIndex == 1"></DeviceInfo>
 | 
			
		||||
    <!-- 资产事件 -->
 | 
			
		||||
    <DeviceEvent v-if="activateIndex == 1"></DeviceEvent>
 | 
			
		||||
    <DeviceEvent v-if="activateIndex == 1" @openDialog="openDialog1"></DeviceEvent>
 | 
			
		||||
    <!-- 左侧应用菜单 -->
 | 
			
		||||
    <ApplicationTree v-if="activateIndex == 2" @handleNodeClick="handleApplicationClick"></ApplicationTree>
 | 
			
		||||
    <!-- 设备信息 -->
 | 
			
		||||
    <EquipmentInfo v-if="activateIndex == 2"></EquipmentInfo>
 | 
			
		||||
    <!-- 实时数据 -->
 | 
			
		||||
    <RealData v-if="activateIndex == 2"></RealData>
 | 
			
		||||
    <RealData v-if="activateIndex == 2" @openDialog="openDialog1"></RealData>
 | 
			
		||||
    <!-- 资产信息弹出框 -->
 | 
			
		||||
    <el-dialog
 | 
			
		||||
      v-model="dialogVisible"
 | 
			
		||||
| 
						 | 
				
			
			@ -31,6 +31,15 @@
 | 
			
		|||
    >
 | 
			
		||||
      <DeviceInfoDialog></DeviceInfoDialog>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
    <el-dialog
 | 
			
		||||
      v-model="dialogVisible1"
 | 
			
		||||
      title="实时数据"
 | 
			
		||||
      width="1200px"
 | 
			
		||||
      append-to-body
 | 
			
		||||
    >
 | 
			
		||||
      <RealInfoDialog></RealInfoDialog>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup name="bimHome">
 | 
			
		||||
| 
						 | 
				
			
			@ -46,6 +55,7 @@ import EquipmentInfo from './components/EquipmentInfo.vue';
 | 
			
		|||
import RealData from './components/RealData.vue';
 | 
			
		||||
import ThreeView from './components/ThreeView.vue';
 | 
			
		||||
import DeviceInfoDialog from './components/DeviceInfoDialog.vue';
 | 
			
		||||
import RealInfoDialog from './components/RealInfoDialog.vue';
 | 
			
		||||
import bimStore from '@/store/modules/bim';
 | 
			
		||||
const data = reactive({
 | 
			
		||||
  sceneUrl: '/jz/glb/jz.gltf'
 | 
			
		||||
| 
						 | 
				
			
			@ -53,6 +63,7 @@ const data = reactive({
 | 
			
		|||
 | 
			
		||||
const { sceneUrl } = toRefs(data);
 | 
			
		||||
const dialogVisible = ref(false);
 | 
			
		||||
const dialogVisible1 = ref(false);
 | 
			
		||||
 | 
			
		||||
const activateIndex = computed(() =>
 | 
			
		||||
  bimStore().activateIndex
 | 
			
		||||
| 
						 | 
				
			
			@ -88,6 +99,10 @@ const changeMenu = () => {
 | 
			
		|||
const openDialog = () => {
 | 
			
		||||
  dialogVisible.value = true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const openDialog1 = () => {
 | 
			
		||||
  dialogVisible1.value = true;
 | 
			
		||||
}
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss' scoped>
 | 
			
		||||
.app-container {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue