|
@@ -1,268 +1,236 @@
|
|
|
-<template>
|
|
|
- <div class="yui-tree-box">
|
|
|
- <select-space></select-space>
|
|
|
- <div class="hui-tree-content">
|
|
|
- <div class="access-controls box-background">
|
|
|
- <div class="access-control-box">
|
|
|
- <div class="access-control-center">
|
|
|
- <div class="hui-test-alarm">
|
|
|
- <div class="test-box">
|
|
|
- <div class="test-item">
|
|
|
- <div class="test-icon">
|
|
|
- <i class="iconfont huifont-zaichangrenshu"></i>
|
|
|
- </div>
|
|
|
- <div class="test-label">
|
|
|
- <div class="test-name">在场人数</div>
|
|
|
- <div class="test-value alibaba">100</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="test-item">
|
|
|
- <div class="test-icon green">
|
|
|
- <i class="iconfont huifont-chuchang"></i>
|
|
|
- </div>
|
|
|
- <div class="test-label">
|
|
|
- <div class="test-name">进场人数</div>
|
|
|
- <div class="test-value alibaba">86</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="test-item">
|
|
|
- <div class="test-icon red">
|
|
|
- <i class="iconfont huifont-chuchang"></i>
|
|
|
- </div>
|
|
|
- <div class="test-label">
|
|
|
- <div class="test-name">出场人数</div>
|
|
|
- <div class="test-value alibaba">14</div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="alarm-table-box hui-flex">
|
|
|
- <div class="alarm-title">
|
|
|
- <div class="hui-chart-title">
|
|
|
- 分类统计
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-flex">公司名称</span>
|
|
|
- <span class="tr-80 tr-center">职工进场</span>
|
|
|
- <span class="tr-80 tr-center">职工出场</span>
|
|
|
- <span class="tr-80 tr-center">访客进场</span>
|
|
|
- <span class="tr-80 tr-center">访客出场</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="alarm-table hui-flex-box">
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-flex">常州红信数据科技有限公司</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">12</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">11</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">1</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">0</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-flex">常州红信数据科技有限公司</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">12</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">11</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">1</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">0</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-flex">常州红信数据科技有限公司</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">12</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">11</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">1</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">0</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-flex">常州红信数据科技有限公司</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">12</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">11</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">1</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">0</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-flex">常州红信数据科技有限公司</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">12</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">11</span>
|
|
|
- <span class="tr-80 tr-center color-green alibaba">1</span>
|
|
|
- <span class="tr-80 tr-center color-red alibaba">0</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="bim-box">
|
|
|
- <model type="accessControl" fileId="10000786668492"></model>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="access-control-right">
|
|
|
- <div class="access-control-record alarm-table-box hui-flex">
|
|
|
- <div class="access-control-record-title">
|
|
|
- <div class="hui-chart-title">
|
|
|
- 通行记录
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">人员姓名</span>
|
|
|
- <span class="tr-flex">通过时间</span>
|
|
|
- <span class="tr-50 tr-center">进出类型</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="alarm-table hui-flex-box">
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-red alibaba">出场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-red alibaba">出场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-red alibaba">出场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="access-control-record alarm-table-box hui-flex">
|
|
|
- <div class="access-control-record-title">
|
|
|
- <div class="hui-chart-title">
|
|
|
- 访客记录
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">人员姓名</span>
|
|
|
- <span class="tr-flex">通过时间</span>
|
|
|
- <span class="tr-50 tr-center">进出类型</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div class="alarm-table hui-flex-box">
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-red alibaba">出场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-red alibaba">出场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-red alibaba">出场</span>
|
|
|
- </div>
|
|
|
- <div class="alarm-tr">
|
|
|
- <span class="tr-100">林夕三</span>
|
|
|
- <span class="tr-flex">2020-01-01 20:00:06</span>
|
|
|
- <span class="tr-50 tr-center color-green alibaba">进场</span>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-</template>
|
|
|
-
|
|
|
-<script>
|
|
|
- import selectSpace from '@/components/work/common/selectSpace'
|
|
|
- import model from '@/components/work/common/model'
|
|
|
- export default {
|
|
|
- components: {
|
|
|
- selectSpace,
|
|
|
- model
|
|
|
- }
|
|
|
- }
|
|
|
-</script>
|
|
|
-
|
|
|
-<style lang="scss">
|
|
|
- .access-controls {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- padding: 20px;
|
|
|
- overflow: auto;
|
|
|
-
|
|
|
- .access-control-box {
|
|
|
- width: 100%;
|
|
|
- height: 100%;
|
|
|
- min-width: 1100px;
|
|
|
- min-height: 699px;
|
|
|
- display: flex;
|
|
|
- }
|
|
|
-
|
|
|
- .access-control-center {
|
|
|
- flex: 1;
|
|
|
- width: 0;
|
|
|
- height: 100%;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
- }
|
|
|
-
|
|
|
- .access-control-right {
|
|
|
- height: 100%;
|
|
|
- width: 350px;
|
|
|
- margin-left: 12px;
|
|
|
- display: flex;
|
|
|
- flex-direction: column;
|
|
|
-
|
|
|
- .access-control-record {
|
|
|
- flex: 1;
|
|
|
- height: 0;
|
|
|
- background: rgba(0, 4, 10, 0.3);
|
|
|
- width: 100%;
|
|
|
- margin-bottom: 12px;
|
|
|
-
|
|
|
- .access-control-record-title {
|
|
|
- padding: 20px 20px 0 20px;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .access-control-record:last-child {
|
|
|
- margin-bottom: 0;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+<template>
|
|
|
+ <div class="yui-tree-box">
|
|
|
+ <project-item-tree @treeclick="treeclick" iconfontClass="el-icon-place"></project-item-tree>
|
|
|
+ <div class="hui-tree-content">
|
|
|
+ <div class="access-controls box-background">
|
|
|
+ <div class="access-control-box">
|
|
|
+ <div class="access-control-center">
|
|
|
+ <div class="hui-test-alarm">
|
|
|
+ <div class="test-box">
|
|
|
+ <div class="test-item">
|
|
|
+ <div class="test-icon">
|
|
|
+ <i class="iconfont huifont-zaichangrenshu"></i>
|
|
|
+ </div>
|
|
|
+ <div class="test-label">
|
|
|
+ <div class="test-name">在场人数</div>
|
|
|
+ <div class="test-value alibaba">{{countTest.presence}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="test-item">
|
|
|
+ <div class="test-icon green">
|
|
|
+ <i class="iconfont huifont-chuchang"></i>
|
|
|
+ </div>
|
|
|
+ <div class="test-label">
|
|
|
+ <div class="test-name">进场人数</div>
|
|
|
+ <div class="test-value alibaba">{{countTest.comeIn}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="test-item">
|
|
|
+ <div class="test-icon red">
|
|
|
+ <i class="iconfont huifont-chuchang"></i>
|
|
|
+ </div>
|
|
|
+ <div class="test-label">
|
|
|
+ <div class="test-name">出场人数</div>
|
|
|
+ <div class="test-value alibaba">{{countTest.goOut}}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-table-box hui-flex">
|
|
|
+ <div class="alarm-title">
|
|
|
+ <div class="hui-chart-title">
|
|
|
+ 分类统计
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-flex">公司名称</span>
|
|
|
+ <span class="tr-80 tr-center">职工进场</span>
|
|
|
+ <span class="tr-80 tr-center">职工出场</span>
|
|
|
+ <span class="tr-80 tr-center">访客进场</span>
|
|
|
+ <span class="tr-80 tr-center">访客出场</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="hui-flex-box hui-no-tips" v-if="organizationList.length === 0">
|
|
|
+ <empty width="100" description="暂无进出记录"></empty>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-table hui-flex-box" v-else>
|
|
|
+ <div class="alarm-tr" v-for="(item,index) in organizationList" :key="index">
|
|
|
+ <span class="tr-flex">{{item.organizationName}}</span>
|
|
|
+ <span class="tr-80 tr-center color-green alibaba">{{item.comeIn}}</span>
|
|
|
+ <span class="tr-80 tr-center color-red alibaba">{{item.goOut}}</span>
|
|
|
+ <span class="tr-80 tr-center color-green alibaba">{{item.comeInVisitor}}</span>
|
|
|
+ <span class="tr-80 tr-center color-red alibaba">{{item.goOutVisitor}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bim-box">
|
|
|
+ <model type="accessControl" fileId="10000786668492"></model>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="access-control-right">
|
|
|
+ <div class="access-control-record alarm-table-box hui-flex">
|
|
|
+ <div class="access-control-record-title">
|
|
|
+ <div class="hui-chart-title">
|
|
|
+ 通行记录
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-100">人员姓名</span>
|
|
|
+ <span class="tr-flex">通过时间</span>
|
|
|
+ <span class="tr-50 tr-center">进出类型</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="hui-flex-box hui-no-tips" v-if="clientList.length === 0">
|
|
|
+ <empty width="100" description="暂无进出记录"></empty>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-table hui-flex-box" v-else>
|
|
|
+ <div class="alarm-tr" v-for="(item,index) in clientList" :key="index">
|
|
|
+ <span class="tr-100">{{item.userName}}</span>
|
|
|
+ <span class="tr-flex">{{item.date}}</span>
|
|
|
+ <span class="tr-50 tr-center">
|
|
|
+ <span class="color-green" v-if="item.type ===1">进场</span>
|
|
|
+ <span class="color-orange" v-else>出场</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="access-control-record alarm-table-box hui-flex">
|
|
|
+ <div class="access-control-record-title">
|
|
|
+ <div class="hui-chart-title">
|
|
|
+ 访客记录
|
|
|
+ </div>
|
|
|
+ <div class="alarm-tr">
|
|
|
+ <span class="tr-100">人员姓名</span>
|
|
|
+ <span class="tr-flex">通过时间</span>
|
|
|
+ <span class="tr-50 tr-center">进出类型</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="hui-flex-box hui-no-tips" v-if="visitorList.length === 0">
|
|
|
+ <empty width="100" description="暂无进出记录"></empty>
|
|
|
+ </div>
|
|
|
+ <div class="alarm-table hui-flex-box" v-else>
|
|
|
+ <div class="alarm-tr" v-for="(item,index) in visitorList" :key="index">
|
|
|
+ <span class="tr-100">{{item.userName}}</span>
|
|
|
+ <span class="tr-flex">{{item.date}}</span>
|
|
|
+ <span class="tr-50 tr-center">
|
|
|
+ <span class="color-green" v-if="item.type ===1">进场</span>
|
|
|
+ <span class="color-orange" v-else>出场</span>
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import projectItemTree from '@/components/common/projectItemTree'
|
|
|
+ import model from '@/components/work/common/model'
|
|
|
+ import {
|
|
|
+ getAccessControlCounAList,
|
|
|
+ getAccessControlList,
|
|
|
+ getAccessControlCountBList
|
|
|
+ } from '@/httpApi/test'
|
|
|
+
|
|
|
+ export default {
|
|
|
+ components: {
|
|
|
+ projectItemTree,
|
|
|
+ model
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ countTest: {
|
|
|
+ presence: 0,
|
|
|
+ comeIn: 0,
|
|
|
+ goOut: 0
|
|
|
+ },
|
|
|
+ clientList: [],
|
|
|
+ visitorList: [],
|
|
|
+ organizationList: []
|
|
|
+ }
|
|
|
+ },
|
|
|
+ created() {
|
|
|
+ this.init();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ init(option) {
|
|
|
+ let postData = option || {
|
|
|
+ projectId: this.$store.getters.project.id
|
|
|
+ }
|
|
|
+ getAccessControlCounAList(postData).then(res => {
|
|
|
+ if (res.state) {
|
|
|
+ this.countTest = res.data;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ getAccessControlCountBList().then(res => {
|
|
|
+ if (res.state) {
|
|
|
+ this.organizationList = res.data;
|
|
|
+ }
|
|
|
+ })
|
|
|
+ getAccessControlList(postData).then(res => {
|
|
|
+ if (res.state) {
|
|
|
+ let data = res.data;
|
|
|
+ this.clientList = data.filter(node => !node.isT);
|
|
|
+ this.visitorList = data.filter(node => node.isT === 1);
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ treeclick(item) {
|
|
|
+ if (!item.id) return this.init();
|
|
|
+ this.init({
|
|
|
+ projectItemTargetId: item.id
|
|
|
+ })
|
|
|
+ },
|
|
|
+ },
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss">
|
|
|
+ .access-controls {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ padding: 20px;
|
|
|
+ overflow: auto;
|
|
|
+
|
|
|
+ .access-control-box {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ min-width: 1100px;
|
|
|
+ min-height: 699px;
|
|
|
+ display: flex;
|
|
|
+ }
|
|
|
+
|
|
|
+ .access-control-center {
|
|
|
+ flex: 1;
|
|
|
+ width: 0;
|
|
|
+ height: 100%;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ }
|
|
|
+
|
|
|
+ .access-control-right {
|
|
|
+ height: 100%;
|
|
|
+ width: 350px;
|
|
|
+ margin-left: 12px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .access-control-record {
|
|
|
+ flex: 1;
|
|
|
+ height: 0;
|
|
|
+ background: rgba(0, 4, 10, 0.3);
|
|
|
+ width: 100%;
|
|
|
+ margin-bottom: 12px;
|
|
|
+
|
|
|
+ .access-control-record-title {
|
|
|
+ padding: 20px 20px 0 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .access-control-record:last-child {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
</style>
|