Merge branch 'main' of https://git.shikicc.com/wangqiujuan0808/bw into main
						commit
						42b3e34eb2
					
				
							
								
								
									
										141315
									
								
								public/jzc/scene.gltf
								
								
								
								
							
							
						
						
									
										141315
									
								
								public/jzc/scene.gltf
								
								
								
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										150654
									
								
								public/jzc/scene3.gltf
								
								
								
								
							
							
						
						
									
										150654
									
								
								public/jzc/scene3.gltf
								
								
								
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										141315
									
								
								public/jzc/scene4.gltf
								
								
								
								
							
							
						
						
									
										141315
									
								
								public/jzc/scene4.gltf
								
								
								
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							| 
						 | 
				
			
			@ -9,7 +9,8 @@ const bimStore = defineStore(
 | 
			
		|||
            activateMenu: {
 | 
			
		||||
                name: '建筑信息',
 | 
			
		||||
                background: '#202a60'
 | 
			
		||||
            }
 | 
			
		||||
            },
 | 
			
		||||
            checkArr: []
 | 
			
		||||
        }),
 | 
			
		||||
        actions: {
 | 
			
		||||
            // 菜单
 | 
			
		||||
| 
						 | 
				
			
			@ -35,6 +36,11 @@ const bimStore = defineStore(
 | 
			
		|||
            // 资产详情num
 | 
			
		||||
            setDeviceNum(item) {
 | 
			
		||||
                this.deviceNum = item;
 | 
			
		||||
            },
 | 
			
		||||
            // 巡检列表篇
 | 
			
		||||
            setCheckArr(item) {
 | 
			
		||||
                console.log(3,item);
 | 
			
		||||
                this.checkArr = item;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    })
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,25 @@
 | 
			
		|||
<template>
 | 
			
		||||
    <div>
 | 
			
		||||
        <el-table :data="checkArr" border style="width: 100%" height="320">
 | 
			
		||||
            <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="isPass" label="巡检结果" align="center">
 | 
			
		||||
                <template #default="scope">
 | 
			
		||||
                    <span :style="{'color': scope.row.isPass? '#0dbc79' : '#e03528'}">{{ scope.row.isPass ? '通过' : '不通过' }}</span>
 | 
			
		||||
                </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
            <el-table-column label="巡检时间" align="center">
 | 
			
		||||
                <template #default="scope">
 | 
			
		||||
                    {{ scope.row.isPass ? '2023-12-23': '2023-01-11' }}
 | 
			
		||||
                </template>
 | 
			
		||||
            </el-table-column>
 | 
			
		||||
        </el-table>
 | 
			
		||||
    </div>
 | 
			
		||||
</template>
 | 
			
		||||
<script setup>
 | 
			
		||||
import bimStore from '@/store/modules/bim';
 | 
			
		||||
import { computed } from 'vue';
 | 
			
		||||
const checkArr = computed(() =>
 | 
			
		||||
  bimStore().checkArr
 | 
			
		||||
);
 | 
			
		||||
</script>
 | 
			
		||||
| 
						 | 
				
			
			@ -17,7 +17,7 @@ import RealInfo from './RealInfo.vue';
 | 
			
		|||
import HistoryInfo from './HistoryInfo.vue';
 | 
			
		||||
import { ElMessage } from 'element-plus';
 | 
			
		||||
const deviceData = {
 | 
			
		||||
    'guan2': {
 | 
			
		||||
    'T11': {
 | 
			
		||||
        name: '立仓',
 | 
			
		||||
        imgUrl: 'licang',
 | 
			
		||||
        detail: [
 | 
			
		||||
| 
						 | 
				
			
			@ -75,7 +75,7 @@ const deviceData = {
 | 
			
		|||
            },
 | 
			
		||||
        ]
 | 
			
		||||
    },
 | 
			
		||||
    'Circle001': {
 | 
			
		||||
    'guolvcao': {
 | 
			
		||||
        name: '过滤槽',
 | 
			
		||||
        imgUrl: 'guolvcao',
 | 
			
		||||
        detail: [
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,28 +59,28 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    type: '生产设备',
 | 
			
		||||
                    name: '立仓',
 | 
			
		||||
                    num: 'guan2',
 | 
			
		||||
                    num: 'T11',
 | 
			
		||||
                    value: 45,
 | 
			
		||||
                    id: "echartDiv0"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    type: '生产设备',
 | 
			
		||||
                    name: '过滤槽',
 | 
			
		||||
                    num: 'Circle001',
 | 
			
		||||
                    num: 'guolvcao',
 | 
			
		||||
                    value: 130,
 | 
			
		||||
                    id: "echartDiv1"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    type: '安防设备',
 | 
			
		||||
                    name: '摄像头',
 | 
			
		||||
                    num: 'guan2',
 | 
			
		||||
                    num: 'T3',
 | 
			
		||||
                    value: 180,
 | 
			
		||||
                    id: "echartDiv2"
 | 
			
		||||
                },
 | 
			
		||||
                {
 | 
			
		||||
                    type: '消防设备',
 | 
			
		||||
                    name: '烟感',
 | 
			
		||||
                    num: 'guan2',
 | 
			
		||||
                    num: 'T4',
 | 
			
		||||
                    value: 100,
 | 
			
		||||
                    id: "echartDiv3"
 | 
			
		||||
                }
 | 
			
		||||
| 
						 | 
				
			
			@ -101,28 +101,28 @@ const data = reactive({
 | 
			
		|||
                        {
 | 
			
		||||
                            type: '生产设备',
 | 
			
		||||
                            name: '立仓',
 | 
			
		||||
                            num: 'guan2',
 | 
			
		||||
                            num: 'T11',
 | 
			
		||||
                            value: 15,
 | 
			
		||||
                            id: "echartDiv0"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            type: '生产设备',
 | 
			
		||||
                            name: '过滤槽',
 | 
			
		||||
                            num: 'set6',
 | 
			
		||||
                            num: 'guolvcao',
 | 
			
		||||
                            value: 50,
 | 
			
		||||
                            id: "echartDiv1"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            type: '安防设备',
 | 
			
		||||
                            name: '摄像头',
 | 
			
		||||
                            num: 'guan2',
 | 
			
		||||
                            num: 'T3',
 | 
			
		||||
                            value: 80,
 | 
			
		||||
                            id: "echartDiv2"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            type: '消防设备',
 | 
			
		||||
                            name: '烟感',
 | 
			
		||||
                            num: 'guan2',
 | 
			
		||||
                            num: 'T4',
 | 
			
		||||
                            value: 50,
 | 
			
		||||
                            id: "echartDiv3"
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			@ -144,28 +144,28 @@ const data = reactive({
 | 
			
		|||
                        {
 | 
			
		||||
                            type: '生产设备',
 | 
			
		||||
                            name: '立仓',
 | 
			
		||||
                            num: 'guan2',
 | 
			
		||||
                            num: 'T11',
 | 
			
		||||
                            value: 30,
 | 
			
		||||
                            id: "echartDiv0"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            type: '生产设备',
 | 
			
		||||
                            name: '过滤槽',
 | 
			
		||||
                            num: 'set6',
 | 
			
		||||
                            num: 'guolvcao',
 | 
			
		||||
                            value: 80,
 | 
			
		||||
                            id: "echartDiv1"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            type: '安防设备',
 | 
			
		||||
                            name: '摄像头',
 | 
			
		||||
                            num: 'guan2',
 | 
			
		||||
                            num: 'T4',
 | 
			
		||||
                            value: 100,
 | 
			
		||||
                            id: "echartDiv2"
 | 
			
		||||
                        },
 | 
			
		||||
                        {
 | 
			
		||||
                            type: '消防设备',
 | 
			
		||||
                            name: '烟感',
 | 
			
		||||
                            num: 'guan2',
 | 
			
		||||
                            num: 'T3',
 | 
			
		||||
                            value: 50,
 | 
			
		||||
                            id: "echartDiv3"
 | 
			
		||||
                        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -45,7 +45,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '立仓',
 | 
			
		||||
                    id: '0-1',
 | 
			
		||||
                    clickName: 'guan2',
 | 
			
		||||
                    clickName: 'T11',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '立仓',
 | 
			
		||||
                        type: '生产设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -61,7 +61,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '过滤槽',
 | 
			
		||||
                    id: '0-2',
 | 
			
		||||
                    clickName: 'Circle001',
 | 
			
		||||
                    clickName: 'guolvcao',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '过滤槽',
 | 
			
		||||
                        type: '生产设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -76,7 +76,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '设备二',
 | 
			
		||||
                    id: '0-3',
 | 
			
		||||
                    clickName: 'guan3',
 | 
			
		||||
                    clickName: 'T3',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '设备二',
 | 
			
		||||
                        type: '生产设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -90,7 +90,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '设备三',
 | 
			
		||||
                    id: '0-4',
 | 
			
		||||
                    clickName: 'guan4',
 | 
			
		||||
                    clickName: 'T4',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '设备三',
 | 
			
		||||
                        type: '空调设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -104,7 +104,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '设备四',
 | 
			
		||||
                    id: '0-5',
 | 
			
		||||
                    clickName: 'guan5',
 | 
			
		||||
                    clickName: 'T5',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '设备四',
 | 
			
		||||
                        type: '安防设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -118,7 +118,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '设备五',
 | 
			
		||||
                    id: '0-6',
 | 
			
		||||
                    clickName: 'guan6',
 | 
			
		||||
                    clickName: 'T6',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '设备五',
 | 
			
		||||
                        type: '安防设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -132,7 +132,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '设备七',
 | 
			
		||||
                    id: '0-7',
 | 
			
		||||
                    clickName: 'guan7',
 | 
			
		||||
                    clickName: 'T7',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '设备七',
 | 
			
		||||
                        type: '安防设备',
 | 
			
		||||
| 
						 | 
				
			
			@ -146,7 +146,7 @@ const data = reactive({
 | 
			
		|||
                {
 | 
			
		||||
                    label: '设备八',
 | 
			
		||||
                    id: '0-8',
 | 
			
		||||
                    clickName: 'guan8',
 | 
			
		||||
                    clickName: 'T8',
 | 
			
		||||
                    info: {
 | 
			
		||||
                        name: '设备八',
 | 
			
		||||
                        type: '安防设备',
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -84,16 +84,16 @@ let romeObj = []
 | 
			
		|||
let checkArr = [];
 | 
			
		||||
let checkindex = 0;
 | 
			
		||||
 | 
			
		||||
//墙体
 | 
			
		||||
let isShowWall = false;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
let mouse = new THREE.Vector2();
 | 
			
		||||
let labelRenderer = new CSS2DRenderer(); //新建CSS2DRenderer
 | 
			
		||||
const data = reactive({
 | 
			
		||||
    isAddLabel: true,
 | 
			
		||||
    isRemoveBottom: true
 | 
			
		||||
    isRemoveBottom: true,
 | 
			
		||||
    isShowWall: false //墙体
 | 
			
		||||
});
 | 
			
		||||
const { isAddLabel, isRemoveBottom } = toRefs(data);
 | 
			
		||||
const { isAddLabel, isRemoveBottom, isShowWall } = toRefs(data);
 | 
			
		||||
// 建筑树点击
 | 
			
		||||
Bus.on('clickBuild', (isParent) => {
 | 
			
		||||
    // Todo
 | 
			
		||||
| 
						 | 
				
			
			@ -242,17 +242,17 @@ const enableGroup = [
 | 
			
		|||
    'yuanliao_room',
 | 
			
		||||
    'tanghua_room',
 | 
			
		||||
    'touliao_room',
 | 
			
		||||
    'Circle001',// 过滤槽
 | 
			
		||||
    'guan1',
 | 
			
		||||
    'guan2',// 立仓
 | 
			
		||||
    'guan3',
 | 
			
		||||
    'guan4',
 | 
			
		||||
    'guan5',
 | 
			
		||||
    'guan6',
 | 
			
		||||
    'guan7',
 | 
			
		||||
    'guan8',
 | 
			
		||||
    'guan9',
 | 
			
		||||
    'guan10'
 | 
			
		||||
    'guolvcao',// 过滤槽
 | 
			
		||||
    'T3',
 | 
			
		||||
    'T4',
 | 
			
		||||
    'T5',
 | 
			
		||||
    'T6',
 | 
			
		||||
    'T7',
 | 
			
		||||
    'T8',
 | 
			
		||||
    'T9',
 | 
			
		||||
    'T10',
 | 
			
		||||
    'T11',// 立仓
 | 
			
		||||
    'T12'
 | 
			
		||||
]
 | 
			
		||||
const isSelent = (obj) => {
 | 
			
		||||
    var o = obj
 | 
			
		||||
| 
						 | 
				
			
			@ -293,7 +293,7 @@ const onMouseMove = (event) => {
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
const emit = defineEmits(['handleRightClick'])
 | 
			
		||||
const emit = defineEmits(['handleRightClick', 'checkComplete'])
 | 
			
		||||
// 鼠标右击事件
 | 
			
		||||
const onMouseDownRight = (event) => {
 | 
			
		||||
    var raycaster = new THREE.Raycaster()
 | 
			
		||||
| 
						 | 
				
			
			@ -377,7 +377,7 @@ const cleanColor = () => {
 | 
			
		|||
}
 | 
			
		||||
// 预警
 | 
			
		||||
const warn = () => {
 | 
			
		||||
    ['guan1', 'guan2', 'guan3', 'guan4', 'guan5', 'guan6', 'guan7', 'guan8', 'guan9', 'guan10'].forEach(item => {
 | 
			
		||||
    ['T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'].forEach(item => {
 | 
			
		||||
        warnSets.push(scene.getObjectByName(item));
 | 
			
		||||
    })
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -480,7 +480,7 @@ const toHomeView = () => {
 | 
			
		|||
    // 恢复初始颜色
 | 
			
		||||
    cleanColor();
 | 
			
		||||
    // 隐藏图例
 | 
			
		||||
    isShowWall = false;
 | 
			
		||||
    isShowWall.value = false;
 | 
			
		||||
}
 | 
			
		||||
// 拉近距离
 | 
			
		||||
const nearCamera = (floor) => {
 | 
			
		||||
| 
						 | 
				
			
			@ -500,7 +500,7 @@ const nearCamera = (floor) => {
 | 
			
		|||
//标签
 | 
			
		||||
const setLabel = () => {
 | 
			
		||||
    if (isAddLabel.value) {
 | 
			
		||||
        let obj = scene.getObjectByName('guan2');
 | 
			
		||||
        let obj = scene.getObjectByName('T11');
 | 
			
		||||
        addLabel(obj, 'title');
 | 
			
		||||
    } else {
 | 
			
		||||
        removeLabel();
 | 
			
		||||
| 
						 | 
				
			
			@ -539,18 +539,24 @@ const createLableObj = (text, t) => {
 | 
			
		|||
        // 巡检逻辑
 | 
			
		||||
    } else {
 | 
			
		||||
        laberDiv.className = "laber_state";
 | 
			
		||||
        laberDiv.innerHTML = `<div class="arrow_state">
 | 
			
		||||
        let innerHTML = t ? `<div class="arrow_state">
 | 
			
		||||
            <div>设备名称:${text}</div>
 | 
			
		||||
            <div>
 | 
			
		||||
                是否通过:
 | 
			
		||||
                <span class="pass" v-if="${t}">
 | 
			
		||||
                    通过,检查下一个
 | 
			
		||||
                <span>
 | 
			
		||||
                <span class="nopass" v-else-if="${!t}">
 | 
			
		||||
                    不通过,已记录异常,检查下一个
 | 
			
		||||
                <span>
 | 
			
		||||
                巡检结果:巡检通过
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>`
 | 
			
		||||
            <div>
 | 
			
		||||
                巡检时间:2023-12-23
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>`: `<div class="arrow_state1">
 | 
			
		||||
            <div>设备名称:${text}</div>
 | 
			
		||||
            <div>
 | 
			
		||||
                巡检结果:巡检不通过,已记录异常
 | 
			
		||||
            </div>
 | 
			
		||||
            <div>
 | 
			
		||||
                巡检时间:2023-01-11
 | 
			
		||||
            </div>
 | 
			
		||||
        </div>`;
 | 
			
		||||
        laberDiv.innerHTML = innerHTML;
 | 
			
		||||
    }
 | 
			
		||||
    let pointLabel = new CSS2DObject(laberDiv);
 | 
			
		||||
    return pointLabel;
 | 
			
		||||
| 
						 | 
				
			
			@ -602,29 +608,29 @@ const xfadd = (obj, state) => {
 | 
			
		|||
}
 | 
			
		||||
// 更换纹理贴图方法
 | 
			
		||||
const changeMap = (img) => {
 | 
			
		||||
    isShowWall = true;
 | 
			
		||||
    isShowWall.value = true;
 | 
			
		||||
    // 获取墙体
 | 
			
		||||
    model.traverse(e => {
 | 
			
		||||
        if (['wallnew1', 'wallnew2', 'wallnew3', 'wallnew4'].indexOf(e.name) != -1) {
 | 
			
		||||
        if (['touliao_wall1', 'touliao_wall2', 'touliao_wall3', 'touliao_wall4', 'touliao_wall5', 'touliao_wall6', 'touliao_wall7', 'touliao_wall8'].indexOf(e.name) != -1) {
 | 
			
		||||
            console.log(e)
 | 
			
		||||
            e.material = new THREE.MeshBasicMaterial({
 | 
			
		||||
                transparent: true,
 | 
			
		||||
                opacity: 0.5,
 | 
			
		||||
                color: new THREE.Color('rgb( 88,211,247)')
 | 
			
		||||
            });
 | 
			
		||||
        } else if (['wall1988_01', 'wall1988_02', 'wall1988_03'].indexOf(e.name) != -1) {
 | 
			
		||||
        } else if (['yuanliao_wall1', 'yuanliao_wall2', 'yuanliao_wall3', 'yuanliao_wall4', 'yuanliao_wall5', 'yuanliao_wall6', 'yuanliao_wall7', 'yuanliao_wall8', 'yuanliao_wall9','yuanliao_wall10'].indexOf(e.name) != -1) {
 | 
			
		||||
            e.material = new THREE.MeshBasicMaterial({
 | 
			
		||||
                transparent: true,
 | 
			
		||||
                opacity: 0.5,
 | 
			
		||||
                color: new THREE.Color('rgb( 0,128,255)')
 | 
			
		||||
            });
 | 
			
		||||
        } else if (['wall2010_01', 'wall2010_02'].indexOf(e.name) != -1) {
 | 
			
		||||
        } else if (['tanghua_wall1', 'tanghua_wall2','tanghua_wall3', 'tanghua_wall4','tanghua_wall5', 'tanghua_wall6','tanghua_wall7', 'tanghua_wall8'].indexOf(e.name) != -1) {
 | 
			
		||||
            e.material = new THREE.MeshBasicMaterial({
 | 
			
		||||
                transparent: true,
 | 
			
		||||
                opacity: 0.5,
 | 
			
		||||
                color: new THREE.Color('rgb(247,254,46)')
 | 
			
		||||
            });
 | 
			
		||||
        } else if (['wall2022_01'].indexOf(e.name) != -1) {
 | 
			
		||||
        } else if (['tanghua_wall9', 'tanghua_wall10','tanghua_wall11'].indexOf(e.name) != -1) {
 | 
			
		||||
            e.material = new THREE.MeshBasicMaterial({
 | 
			
		||||
                transparent: true,
 | 
			
		||||
                opacity: 0.5,
 | 
			
		||||
| 
						 | 
				
			
			@ -632,7 +638,6 @@ const changeMap = (img) => {
 | 
			
		|||
            });
 | 
			
		||||
        }
 | 
			
		||||
    })
 | 
			
		||||
    console.log(123, isShowWall)
 | 
			
		||||
}
 | 
			
		||||
// 巡检
 | 
			
		||||
const check = () => {
 | 
			
		||||
| 
						 | 
				
			
			@ -646,9 +651,12 @@ const check = () => {
 | 
			
		|||
            duration: 10,
 | 
			
		||||
            ease: 'power1.inOut',
 | 
			
		||||
            onComplete: () => {
 | 
			
		||||
                if (checkindex == romeObj.length) { // 巡检结束
 | 
			
		||||
                    checkComplete();
 | 
			
		||||
                }
 | 
			
		||||
                setTimeout(() => {
 | 
			
		||||
                    check()
 | 
			
		||||
                }, 5000)
 | 
			
		||||
                }, 1000)
 | 
			
		||||
            }
 | 
			
		||||
        });
 | 
			
		||||
        // 显示标签,已经检查通过
 | 
			
		||||
| 
						 | 
				
			
			@ -666,12 +674,19 @@ const check = () => {
 | 
			
		|||
            duration: 10,
 | 
			
		||||
 | 
			
		||||
            ease: "power1.inOut",
 | 
			
		||||
            onComplete: () => { },
 | 
			
		||||
            onComplete: () => {
 | 
			
		||||
            },
 | 
			
		||||
        });
 | 
			
		||||
        checkindex++;
 | 
			
		||||
        console.log('nextObj', checkindex)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
// 巡检结束
 | 
			
		||||
const checkComplete = () => {
 | 
			
		||||
    toHomeView();
 | 
			
		||||
    bimStore().setCheckArr(romeObj);
 | 
			
		||||
    emit('checkComplete', romeObj);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
</script>
 | 
			
		||||
<style lang='scss'>
 | 
			
		||||
| 
						 | 
				
			
			@ -736,12 +751,32 @@ const check = () => {
 | 
			
		|||
 | 
			
		||||
.arrow_state {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    width: 200px;
 | 
			
		||||
    height: 100px;
 | 
			
		||||
    background: rgb(33, 248, 255);
 | 
			
		||||
    // width: 200px;
 | 
			
		||||
    // height: 100px;
 | 
			
		||||
    padding: 10px;
 | 
			
		||||
    background: #0dbc79;
 | 
			
		||||
    color: #fff;
 | 
			
		||||
    padding: 15px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
 | 
			
		||||
    >div {
 | 
			
		||||
        line-height: 32px;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.arrow_state1 {
 | 
			
		||||
    display: inline-block;
 | 
			
		||||
    padding: 10px;
 | 
			
		||||
    background: #e03528;
 | 
			
		||||
    color: #fff;
 | 
			
		||||
    padding: 15px;
 | 
			
		||||
    border-radius: 5px;
 | 
			
		||||
 | 
			
		||||
    >div {
 | 
			
		||||
        line-height: 32px;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.wall_tooltips {
 | 
			
		||||
    position: absolute;
 | 
			
		||||
    top: 20px;
 | 
			
		||||
| 
						 | 
				
			
			@ -752,28 +787,35 @@ const check = () => {
 | 
			
		|||
    width: 600px;
 | 
			
		||||
    justify-content: space-around;
 | 
			
		||||
    align-items: center;
 | 
			
		||||
 | 
			
		||||
    span {
 | 
			
		||||
        display: inline-block;
 | 
			
		||||
        width: 16px;
 | 
			
		||||
        height: 8px;
 | 
			
		||||
        margin-right: 5px;
 | 
			
		||||
 | 
			
		||||
        &.qing {
 | 
			
		||||
            background: #3cbfdf;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        &.blue {
 | 
			
		||||
            background: #2c68f3;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        &.yellow {
 | 
			
		||||
            background: #dff04e;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        &.red {
 | 
			
		||||
            background: red;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.pass {
 | 
			
		||||
    color: #0caf71;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.nopass {
 | 
			
		||||
    color: #fc1818;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,8 @@
 | 
			
		|||
<template>
 | 
			
		||||
  <div class="app-container">
 | 
			
		||||
    <!-- 场景模型 -->
 | 
			
		||||
    <ThreeView light="0xfffafa" :sceneUrl="sceneUrl" v-if="sceneUrl !== ''" @handleRightClick="handleRightClick"></ThreeView>
 | 
			
		||||
    <ThreeView light="0xfffafa" :sceneUrl="sceneUrl" v-if="sceneUrl !== ''" @handleRightClick="handleRightClick"
 | 
			
		||||
      @checkComplete="checkComplete"></ThreeView>
 | 
			
		||||
    <!-- <ThreeModel /> -->
 | 
			
		||||
    <!-- 底部菜单 -->
 | 
			
		||||
    <MenuTab @changeMenu="changeMenu"></MenuTab>
 | 
			
		||||
| 
						 | 
				
			
			@ -35,6 +36,11 @@
 | 
			
		|||
      append-to-body>
 | 
			
		||||
      <DeviceDetial></DeviceDetial>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
    <!-- 巡检结果 -->
 | 
			
		||||
    <el-dialog v-model="dialogVisible3" v-if="dialogVisible3" title="巡检结果" width="1500px" custom-class="bim-dialog"
 | 
			
		||||
      append-to-body>
 | 
			
		||||
      <CheckDetial></CheckDetial>
 | 
			
		||||
    </el-dialog>
 | 
			
		||||
 | 
			
		||||
  </div>
 | 
			
		||||
</template>
 | 
			
		||||
| 
						 | 
				
			
			@ -54,18 +60,20 @@ import ThreeView from './components/ThreeView2.vue';
 | 
			
		|||
import DeviceInfoDialog from './components/DeviceInfoDialog.vue';
 | 
			
		||||
import RealInfoDialog from './components/RealInfoDialog.vue';
 | 
			
		||||
import DeviceDetial from './components/DeviceDetial.vue';
 | 
			
		||||
import CheckDetial from './components/CheckDetial.vue';
 | 
			
		||||
import bimStore from '@/store/modules/bim';
 | 
			
		||||
import { computed } from 'vue';
 | 
			
		||||
import Bus from '@/utils/bus.js';
 | 
			
		||||
const data = reactive({
 | 
			
		||||
  sceneUrl: '/jz/glb/scene.gltf',
 | 
			
		||||
  equimentInfo: {},
 | 
			
		||||
  equimentInfo: {}
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const { sceneUrl, equimentInfo } = toRefs(data);
 | 
			
		||||
const dialogVisible = ref(false);
 | 
			
		||||
const dialogVisible1 = ref(false);
 | 
			
		||||
const dialogVisible2 = ref(false);
 | 
			
		||||
const dialogVisible3 = ref(false);
 | 
			
		||||
 | 
			
		||||
const activateIndex = computed(() =>
 | 
			
		||||
  bimStore().activateIndex
 | 
			
		||||
| 
						 | 
				
			
			@ -103,6 +111,11 @@ const handleRightClick = (obj) => {
 | 
			
		|||
  // viewDetail();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const checkComplete = (romeObj) => {
 | 
			
		||||
  dialogVisible3.value = true;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const handleBuildClick = (value, isParent) => {
 | 
			
		||||
  // 点击父级,加载/切换场景
 | 
			
		||||
  if (isParent) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue