Compare commits
No commits in common. "0fddcc3aed337d90e3bab9c89d358ce86d40b1e2" and "852e9c41ae5a06987753898185c8b64a4c0478bc" have entirely different histories.
0fddcc3aed
...
852e9c41ae
BIN
public/yj.png
BIN
public/yj.png
Binary file not shown.
Before Width: | Height: | Size: 1.5 KiB |
|
@ -248,10 +248,6 @@ aside {
|
||||||
.el-table__inner-wrapper::after,
|
.el-table__inner-wrapper::after,
|
||||||
.el-table__inner-wrapper::before {
|
.el-table__inner-wrapper::before {
|
||||||
background-color: #00174b !important;
|
background-color: #00174b !important;
|
||||||
color: #fff !important;
|
color: #fff !important
|
||||||
|
|
||||||
}
|
|
||||||
.el-table {
|
|
||||||
border: 1px solid #2E6099 !important;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -1,32 +1,16 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="check-div">
|
<div>
|
||||||
<div class="device-list">
|
|
||||||
<div v-for="(item, index) of deviceList" :key="index">
|
|
||||||
<el-icon size="60" color="#1890ff" v-if="index == 0">
|
|
||||||
<Suitcase />
|
|
||||||
</el-icon>
|
|
||||||
<el-icon size="60" color="#1890ff" v-if="index == 1">
|
|
||||||
<TakeawayBox />
|
|
||||||
</el-icon>
|
|
||||||
<el-icon size="60" color="#1890ff" v-if="index == 2">
|
|
||||||
<Box />
|
|
||||||
</el-icon>
|
|
||||||
<font class="num" :style="{ 'color': item.color }">{{ item.num }}</font>
|
|
||||||
<span>{{ item.name }}</span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-table :data="checkArr" border style="width: 100%" height="320">
|
<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 label="序号" width="60" type="index" align="center"></el-table-column>
|
||||||
<el-table-column prop="name" label="设备名称" align="center" />
|
<el-table-column prop="name" label="设备名称" align="center" />
|
||||||
<el-table-column prop="isPass" label="巡检结果" align="center">
|
<el-table-column prop="isPass" label="巡检结果" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
<span :style="{ 'color': scope.row.isPass ? '#0dbc79' : '#e03528' }">{{ scope.row.isPass ? '通过' : '不通过'
|
<span :style="{'color': scope.row.isPass? '#0dbc79' : '#e03528'}">{{ scope.row.isPass ? '通过' : '不通过' }}</span>
|
||||||
}}</span>
|
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="巡检时间" align="center">
|
<el-table-column label="巡检时间" align="center">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ scope.row.isPass ? '2023-12-23' : '2023-01-11' }}
|
{{ scope.row.isPass ? '2023-12-23': '2023-01-11' }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</el-table>
|
</el-table>
|
||||||
|
@ -34,63 +18,8 @@
|
||||||
</template>
|
</template>
|
||||||
<script setup>
|
<script setup>
|
||||||
import bimStore from '@/store/modules/bim';
|
import bimStore from '@/store/modules/bim';
|
||||||
import IconBy from '@/assets/images/icon-by.png';
|
|
||||||
import IconWx from '@/assets/images/icon-wx.png';
|
|
||||||
import IconXj from '@/assets/images/icon-xj.png';
|
|
||||||
import IconPd from '@/assets/images/icon-pd.png';
|
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
const deviceList = [
|
|
||||||
{
|
|
||||||
name: '巡检总数',
|
|
||||||
num: '4',
|
|
||||||
color: '#fff',
|
|
||||||
imgUrl: IconPd,
|
|
||||||
icon: 'Suitcase'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '通过数',
|
|
||||||
num: '2',
|
|
||||||
color: '#fff',
|
|
||||||
imgUrl: IconWx,
|
|
||||||
icon: 'TakeawayBox'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: '未通过数',
|
|
||||||
num: '2',
|
|
||||||
color: '#fff',
|
|
||||||
imgUrl: IconXj,
|
|
||||||
icon: 'Box'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
const checkArr = computed(() =>
|
const checkArr = computed(() =>
|
||||||
bimStore().checkArr
|
bimStore().checkArr
|
||||||
);
|
);
|
||||||
</script>
|
</script>
|
||||||
<style lang="scss" scoped>
|
|
||||||
.check-div {
|
|
||||||
.device-list {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-around;
|
|
||||||
align-items: center;
|
|
||||||
border: 1px solid #2E6099;
|
|
||||||
margin-bottom: 15px;
|
|
||||||
border-radius: 4px;
|
|
||||||
|
|
||||||
>div {
|
|
||||||
width: 24%;
|
|
||||||
height: 80%;
|
|
||||||
// border: 1px solid red;
|
|
||||||
display: flex;
|
|
||||||
flex-direction: column;
|
|
||||||
align-items: center;
|
|
||||||
padding: 10px 0;
|
|
||||||
color: #fff;
|
|
||||||
|
|
||||||
.num {
|
|
||||||
font-size: 36px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}</style>
|
|
|
@ -13,7 +13,7 @@
|
||||||
style="width: 100%;height:100%"></div>
|
style="width: 100%;height:100%"></div>
|
||||||
</div>
|
</div>
|
||||||
<div class="bottom-div">
|
<div class="bottom-div">
|
||||||
<el-table :data="tableData" border style="width: 100%" height="445">
|
<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 label="序号" width="60" type="index" align="center"></el-table-column>
|
||||||
<el-table-column prop="name" label="名称" align="center" />
|
<el-table-column prop="name" label="名称" align="center" />
|
||||||
<el-table-column prop="num" label="编码" align="center" />
|
<el-table-column prop="num" label="编码" align="center" />
|
||||||
|
@ -460,7 +460,7 @@ const viewDetail = (val) => {
|
||||||
|
|
||||||
.bottom-div {
|
.bottom-div {
|
||||||
height: 74%;
|
height: 74%;
|
||||||
// border: 1px solid #2E6099;
|
border: 1px solid #2E6099;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -167,9 +167,6 @@ const loadSence = () => {
|
||||||
if (enableGroup.indexOf(e.name) != -1) {
|
if (enableGroup.indexOf(e.name) != -1) {
|
||||||
xfobj.push(e);
|
xfobj.push(e);
|
||||||
}
|
}
|
||||||
if (yjGroup.indexOf(e.name) != -1) {
|
|
||||||
yjobj.push(e);
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
// 设置漫游点位
|
// 设置漫游点位
|
||||||
const objname = ['start', 'middle1', 'middle2', 'end']
|
const objname = ['start', 'middle1', 'middle2', 'end']
|
||||||
|
@ -247,10 +244,6 @@ const enableGroup = [
|
||||||
'T11',// 立仓
|
'T11',// 立仓
|
||||||
'T12'
|
'T12'
|
||||||
]
|
]
|
||||||
// 预警设备
|
|
||||||
const yjGroup = [
|
|
||||||
'T7',
|
|
||||||
]
|
|
||||||
const isSelent = (obj) => {
|
const isSelent = (obj) => {
|
||||||
var o = obj
|
var o = obj
|
||||||
while (true) {
|
while (true) {
|
||||||
|
@ -374,18 +367,17 @@ const cleanColor = () => {
|
||||||
}
|
}
|
||||||
// 预警
|
// 预警
|
||||||
const warn = () => {
|
const warn = () => {
|
||||||
['T7'].forEach(item => {
|
['T3', 'T4', 'T5', 'T6', 'T7', 'T8', 'T9', 'T10', 'T11', 'T12'].forEach(item => {
|
||||||
warnSets.push(scene.getObjectByName(item));
|
warnSets.push(scene.getObjectByName(item));
|
||||||
})
|
})
|
||||||
|
|
||||||
warnSets[0].traverse(e => {
|
warnSets[2].traverse(e => {
|
||||||
e.material = new THREE.MeshBasicMaterial({
|
e.material = new THREE.MeshBasicMaterial({
|
||||||
transparent: true,
|
transparent: true,
|
||||||
opacity: 0.9,
|
opacity: 0.9,
|
||||||
color: new THREE.Color('rgb( 237,33,2 )')
|
color: new THREE.Color('rgb( 237,33,2 )')
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
yjf();
|
|
||||||
|
|
||||||
// animateCamera(warnSets[0]);
|
// animateCamera(warnSets[0]);
|
||||||
}
|
}
|
||||||
|
@ -586,25 +578,16 @@ const setBottom = () => {
|
||||||
// 消防
|
// 消防
|
||||||
const xiaof = () => {
|
const xiaof = () => {
|
||||||
xfobj.forEach((o) => {
|
xfobj.forEach((o) => {
|
||||||
xfadd(o, Math.random() < 0.3);
|
xfadd(o, Math.random() < 0.3, name);
|
||||||
})
|
|
||||||
}
|
|
||||||
// 预警
|
|
||||||
const yjf = () => {
|
|
||||||
yjobj.forEach((o) => {
|
|
||||||
xfadd(o, 'yj');
|
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
let xfobj = [];
|
let xfobj = [];
|
||||||
let yjobj = [];
|
let sprite = null;
|
||||||
// 消防标签
|
// 消防标签
|
||||||
const xfadd = (obj, state) => {
|
const xfadd = (obj, state) => {
|
||||||
const texLoader = new THREE.TextureLoader();
|
const texLoader = new THREE.TextureLoader();
|
||||||
let texture = null;
|
let texture = null;
|
||||||
if(state == 'yj') {
|
if (state) {
|
||||||
texture = texLoader.load("/yj.png");
|
|
||||||
}
|
|
||||||
else if (state) {
|
|
||||||
texture = texLoader.load("/ygr.png");
|
texture = texLoader.load("/ygr.png");
|
||||||
} else {
|
} else {
|
||||||
texture = texLoader.load("/yg.png");
|
texture = texLoader.load("/yg.png");
|
||||||
|
@ -612,10 +595,10 @@ const xfadd = (obj, state) => {
|
||||||
const spriteMaterial = new THREE.SpriteMaterial({
|
const spriteMaterial = new THREE.SpriteMaterial({
|
||||||
map: texture,
|
map: texture,
|
||||||
});
|
});
|
||||||
const sprite = new THREE.Sprite(spriteMaterial);
|
sprite = new THREE.Sprite(spriteMaterial);
|
||||||
// 控制精灵大小
|
// 控制精灵大小
|
||||||
sprite.scale.set(5, 5, 5);
|
sprite.scale.set(5, 5, 5);
|
||||||
sprite.position.y = 12; //标签底部箭头和空对象标注点重合
|
sprite.position.y = 10; //标签底部箭头和空对象标注点重合
|
||||||
obj.add(sprite); //tag会标注在空对象obj对应的位置
|
obj.add(sprite); //tag会标注在空对象obj对应的位置
|
||||||
console.log(123, obj)
|
console.log(123, obj)
|
||||||
}
|
}
|
||||||
|
@ -849,8 +832,5 @@ const checkComplete = () => {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
>div {
|
|
||||||
line-height: 24px;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
Loading…
Reference in New Issue