湖里大屏(数字工地):新增人脸闸机弹框
This commit is contained in:
parent
6b697f65a3
commit
77c3ba4ad7
@ -508,17 +508,6 @@
|
||||
<!-- 顺时针回转限位报警 -->
|
||||
{{ $t('message.dataBoard.alarmTypeArray2')[8] }}
|
||||
</p>
|
||||
|
||||
<!-- <p v-if="item.windSpeedAlarm" class="p1">风速报警:{{item.windSpeedAlarm == 0?'正常':item.windSpeedAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!--<!– <p class="p1">警报类别:{{ item.alarmType == 1?'报警':item.alarmType == 2?'预警':"--" }}</p>–>-->
|
||||
<!-- <p v-if="item.environmentAlarm" class="p2">环境防撞报警:{{item.environmentAlarm == 0?'正常':item.environmentAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.heightAlarm" class="p1">高度上限位报警:{{item.heightAlarm == 0?'正常':item.heightAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.maxRangeAlarm" class="p2">幅度外限位报警:{{item.maxRangeAlarm == 0?'正常':item.maxRangeAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.minRangeAlarm" class="p1">幅度内限位报警:{{item.minRangeAlarm == 0?'正常':item.minRangeAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.momentAlarm" class="p2">力矩报警:{{item.momentAlarm == 0?'正常':item.momentAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.multiAlarm" class="p1">多机防撞报警:{{item.multiAlarm == 0?'正常':item.multiAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.negAngleAlarm" class="p2">逆时针回转限位报警:{{item.negAngleAlarm == 0?'正常':item.negAngleAlarm == 1?'报警':'预警'}}</p>-->
|
||||
<!-- <p v-if="item.posAngleAlarm" class="p1">顺时针回转限位报警 :{{item.posAngleAlarm == 0?'正常':item.posAngleAlarm == 1?'报警':'预警'}}</p>-->
|
||||
</div>
|
||||
</div>
|
||||
</vue-scroll>
|
||||
@ -538,27 +527,6 @@
|
||||
<div class="svg-box" id="svg_box" v-if="company == 'longguang'">
|
||||
<svg id="svg" ref="svg" class="svg-pan-zoom_viewport" style="width: 100%; height: 100%" />
|
||||
</div>
|
||||
<!-- <div class="blockTitle blockTitle2"><i></i>预警信息</div>-->
|
||||
<!-- <div class="deviceInfo">-->
|
||||
<!-- <vue-scroll v-if="TowerWarningList" style="height: 145px; margin-bottom: 10px">-->
|
||||
<!-- <div-->
|
||||
<!-- class="driverInfo"-->
|
||||
<!-- v-for="(item, index) in TowerWarningList"-->
|
||||
<!-- :key="index"-->
|
||||
<!-- >-->
|
||||
<!-- <div class="TowerAlarm_item">-->
|
||||
<!-- <p class="p1">设备名称:{{item.devName}}</p>-->
|
||||
<!-- <p class="p2">预警时间:{{ transformTimestamp(item.alarmTime) }}</p>-->
|
||||
<!-- <p class="p1">报警类别:{{ item.alarmType == 1?'报警':'预警' }}</p>-->
|
||||
<!-- <p class="p2">角度:{{item.angle}}°</p>-->
|
||||
<!-- <p class="p1">高度:{{item.height}}m</p>-->
|
||||
<!-- <p class="p2">载重:{{item.loading}}kg</p>-->
|
||||
<!-- <p class="p1">载重量比:{{item.loadRatio}}%</p>-->
|
||||
<!-- <p class="p2">风速:{{item.windspeed}}m/s</p>-->
|
||||
<!-- </div>-->
|
||||
<!-- </div>-->
|
||||
<!-- </vue-scroll>-->
|
||||
<!-- </div>-->
|
||||
</div>
|
||||
</div>
|
||||
<div class="towerBox center2">
|
||||
@ -1566,37 +1534,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- <div class="right fullHeight">
|
||||
<div class="dialogBlock fullHeight">
|
||||
<div class="dialogBlockContent">
|
||||
<div class="blockTitle blockTitle2"><i></i>循环记录</div>
|
||||
<table class="dialogTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>开始时间</th>
|
||||
<th>结束时间</th>
|
||||
<th>工作时长</th>
|
||||
<th>载重(kg)</th>
|
||||
<th>司机</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr
|
||||
v-for="(item, index) in lifterWorkCycleList"
|
||||
:key="index"
|
||||
>
|
||||
<td>{{ item.startTime }}</td>
|
||||
<td>{{ item.endTime }}</td>
|
||||
<td>{{ item.workTime }}</td>
|
||||
<td>{{ item.loading }}</td>
|
||||
<td>{{ item.driverName }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>-->
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@ -1708,17 +1645,6 @@
|
||||
</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>1</td>
|
||||
<td>
|
||||
<img src />
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
@ -2142,7 +2068,6 @@
|
||||
v-for="(item, index) in devTypeList"
|
||||
:key="index"
|
||||
:class="{ active: devTypeIndex == index }"
|
||||
v-if="company == 'nanchang' || (company != 'nanchang' && item.id != 99)"
|
||||
>
|
||||
{{ item.name }}
|
||||
</li>
|
||||
@ -2173,9 +2098,7 @@ import {
|
||||
selectEnvironmentDevAlaramCountList,
|
||||
getAllTowerDangerInfo,
|
||||
getAllLifterDangerInfo,
|
||||
getEnvironmentInfo,
|
||||
getAiVideoInfo,
|
||||
getAIDangerList
|
||||
getEnvironmentInfo
|
||||
} from '@/assets/js/api/dataBoard'
|
||||
import { selectCarTotal } from '@/assets/js/api/carManage.js'
|
||||
import {
|
||||
|
||||
@ -7,6 +7,7 @@
|
||||
v-for="(point, index) in points"
|
||||
:key="index"
|
||||
></div>
|
||||
<FaceGageDialog v-if="faceGateDialog" :close="() => (faceGateDialog = false)" :data="faceGateData" />
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<div class="tab" :class="{ checked: index === tabIndex }" v-for="(tab, index) in tabs" :key="index" @click="changeTab(index)">
|
||||
@ -19,16 +20,22 @@
|
||||
<script>
|
||||
import Card from '../components/Card.vue'
|
||||
import JNestedRingChart from '../jChart/pie/JNestedRingChart.vue'
|
||||
import FaceGageDialog from './components/FaceGageDialog.vue'
|
||||
import { selectWorkerAttendanceByDevApi } from '@/assets/js/api/dataBoard'
|
||||
export default {
|
||||
components: { Card, JNestedRingChart },
|
||||
components: { Card, JNestedRingChart, FaceGageDialog },
|
||||
props: {
|
||||
title: {
|
||||
type: String,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.selectWorkerAttendanceByDev()
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
projectSn: this.$store.state.projectSn,
|
||||
tabIndex: 0,
|
||||
tabs: [
|
||||
{ label: '全部', value: 'all' },
|
||||
@ -37,12 +44,26 @@ export default {
|
||||
{ label: '视频监测', value: 'video' },
|
||||
{ label: '环境监测', value: 'environment' },
|
||||
{ label: '人脸闸机', value: 'gate' }
|
||||
]
|
||||
],
|
||||
faceGateDialog: true,
|
||||
faceGateData: {
|
||||
list: [],
|
||||
totalAttendance: { inTotalNum: 0, outTotalNum: 0 },
|
||||
ufaceDev: { deviceState: 1 }
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
changeTab(index) {
|
||||
this.tabIndex = index
|
||||
},
|
||||
selectWorkerAttendanceByDev() {
|
||||
selectWorkerAttendanceByDevApi({
|
||||
projectSn: this.projectSn,
|
||||
devSn: '2525'
|
||||
}).then(res => {
|
||||
this.faceGateData = { ...res.result }
|
||||
})
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
|
||||
@ -0,0 +1,101 @@
|
||||
<template>
|
||||
<div class="faceGateDialog">
|
||||
<div class="title">
|
||||
<div class="text">{{ data.ufaceDev.devName }}</div>
|
||||
<div class="status" :class="isOnline ? 'online' : 'offline'">{{ isOnline ? '在线' : '离线' }}</div>
|
||||
<div class="close" @click="close">×</div>
|
||||
</div>
|
||||
<div class="list-title">进出统计</div>
|
||||
<div class="person-times">
|
||||
今日进场人数:<span>{{ data.totalAttendance.inTotalNum }}</span>
|
||||
</div>
|
||||
<div class="person-times">
|
||||
今日出场人数:<span>{{ data.totalAttendance.outTotalNum }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
close: {
|
||||
type: Function,
|
||||
require: true,
|
||||
default: () => {}
|
||||
},
|
||||
data: {
|
||||
type: Object,
|
||||
required: true,
|
||||
default: () => ({})
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
console.log(this.data, '是第三方士大夫')
|
||||
setTimeout(() => {
|
||||
console.log(this.data, '收待发送发生的方法')
|
||||
}, 2000)
|
||||
},
|
||||
computed: {
|
||||
isOnline() {
|
||||
return this.data.ufaceDev && this.data.ufaceDev.deviceState === '1'
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
.faceGateDialog {
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: 30px;
|
||||
padding: 20px;
|
||||
width: 200px;
|
||||
height: 140px;
|
||||
border: 1px solid #0081c3;
|
||||
background-color: #07162b;
|
||||
.title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
.text {
|
||||
margin-right: auto;
|
||||
}
|
||||
.status {
|
||||
width: 40px;
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
text-align: center;
|
||||
font-size: 12px;
|
||||
color: white;
|
||||
background-color: #61c9d6;
|
||||
border-radius: 4px;
|
||||
&.offline {
|
||||
background-color: #fe6c7f;
|
||||
}
|
||||
}
|
||||
.close {
|
||||
margin-left: 10px;
|
||||
font-size: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
}
|
||||
.list-title {
|
||||
margin: 10px 0;
|
||||
font-size: 18px;
|
||||
color: #6ce9f0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
&::before {
|
||||
content: '';
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
border-radius: 50%;
|
||||
margin-right: 7px;
|
||||
background-color: #6ce9f0;
|
||||
}
|
||||
}
|
||||
.person-times {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
Loading…
x
Reference in New Issue
Block a user