Commit e0dce46f by 416409548@qq.com

首页开发/bug优化

parent e22a8a60
......@@ -4835,25 +4835,6 @@
"babel-types": "^6.24.1"
}
},
"babel-polyfill": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
"integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"core-js": "^2.5.0",
"regenerator-runtime": "^0.10.5"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
"integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
"dev": true
}
}
},
"babel-preset-env": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz",
......@@ -8275,6 +8256,11 @@
}
}
},
"emitter-component": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/emitter-component/-/emitter-component-1.1.1.tgz",
"integrity": "sha512-G+mpdiAySMuB7kesVRLuyvYRqDmshB7ReKEVuyBPkzQlmiDiLrt7hHHIy4Aff552bgknVN7B2/d3lzhGO5dvpQ=="
},
"emoji-regex": {
"version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
......@@ -8418,6 +8404,11 @@
"event-emitter": "~0.3.5"
}
},
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
"integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w=="
},
"es6-set": {
"version": "0.1.5",
"resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz",
......@@ -9496,6 +9487,16 @@
"resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz",
"integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg=="
},
"fetch-detector": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/fetch-detector/-/fetch-detector-1.0.1.tgz",
"integrity": "sha512-Wl671qUjmpPVfZozANpuj5gApN/zePHggW7N5f36EjC+99Pu3We1Az34tZ5e7TyHEd7KCjbf+CEt5b3QMl3ANA=="
},
"fetch-ie8": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/fetch-ie8/-/fetch-ie8-1.5.0.tgz",
"integrity": "sha512-j9f6UPdgWOuhvZKQ/W/tkDm7e7Qi4HpfNN6CV1aZopAq7aItd9sl6pMXPPkrNpap7goqxzXmhgiekYIJhqRfbQ=="
},
"figgy-pudding": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz",
......@@ -9937,6 +9938,11 @@
}
}
},
"hammerjs": {
"version": "2.0.8",
"resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz",
"integrity": "sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ=="
},
"handle-thing": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
......@@ -11132,6 +11138,11 @@
"verror": "1.10.0"
}
},
"keycharm": {
"version": "0.2.0",
"resolved": "https://registry.npmjs.org/keycharm/-/keycharm-0.2.0.tgz",
"integrity": "sha512-i/XBRTiLqRConPKioy2oq45vbv04e8x59b0mnsIRQM+7Ec/8BC7UcL5pnC4FMeGb8KwG7q4wOMw7CtNZf5tiIg=="
},
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
......@@ -14611,6 +14622,14 @@
"integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=",
"dev": true
},
"propagating-hammerjs": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/propagating-hammerjs/-/propagating-hammerjs-1.5.0.tgz",
"integrity": "sha512-3PUXWmomwutoZfydC+lJwK1bKCh6sK6jZGB31RUX6+4EXzsbkDZrK4/sVR7gBrvJaEIwpTVyxQUAd29FKkmVdw==",
"requires": {
"hammerjs": "^2.0.8"
}
},
"proxy-addr": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
......@@ -17104,6 +17123,18 @@
"extsprintf": "^1.2.0"
}
},
"vis": {
"version": "4.21.0-EOL",
"resolved": "https://registry.npmjs.org/vis/-/vis-4.21.0-EOL.tgz",
"integrity": "sha512-JVS1mywKg5S88XbkDJPfCb3n+vlg5fMA8Ae2hzs3KHAwD4ryM5qwlbFZ6ReDfY8te7I4NLCpuCoywJQEehvJlQ==",
"requires": {
"emitter-component": "^1.1.1",
"hammerjs": "^2.0.8",
"keycharm": "^0.2.0",
"moment": "^2.18.1",
"propagating-hammerjs": "^1.4.6"
}
},
"viser": {
"version": "2.4.9",
"resolved": "https://registry.npmjs.org/viser/-/viser-2.4.9.tgz",
......
......@@ -33,6 +33,7 @@
"nprogress": "^0.2.0",
"qiankun": "^2.5.1",
"tinymce": "5.4.1",
"vis": "^4.21.0-EOL",
"viser-vue": "^2.4.8",
"vue": "^2.6.10",
"vue-area-linkage": "^5.1.0",
......
......@@ -12,6 +12,7 @@ import App from './App.vue'
import Storage from 'vue-ls'
import router from './router'
import store from './store/'
import "vis/dist/vis.css"
import { VueAxios } from "@/utils/request"
require('@jeecg/antd-online-mini')
......
<template>
<div>
<index-chart v-if="indexStyle==1"></index-chart>
<div class="out">
<!-- <index-chart v-if="indexStyle==1"></index-chart>
<index-bdc v-if="indexStyle==2"></index-bdc>
<index-task v-if="indexStyle==3"></index-task>
<div style="width: 100%;text-align: right;margin-top: 20px">
......@@ -10,32 +10,294 @@
<a-radio :value="2">统计图表2</a-radio>
<a-radio :value="3">任务表格</a-radio>
</a-radio-group>
</div>
</div> -->
<a-row :gutter="24">
<a-col :sm="24" :md="12" :xl="7" :style="{ marginBottom: '24px' }">
<div class="card">
<div class="title">车辆管理</div>
<div class="tab-box">
<div class="tab" v-for="item in tabArr" :key="item.text">
<div class="text">{{ item.text }}</div>
<div>{{ item.number }}</div>
</div>
</div>
<div>时间段车流分析</div>
<chart-pie style="width: 350px" :row="false" :data-source="pieData" :height="250" />
</div>
<div class="card">
<div class="title">人员识别分析</div>
<chart-bar :height="200" yaxisText="访客人数" :dataSource="barData" />
</div>
<div class="card">
<div class="title">建筑设备监控列表</div>
<table class="table">
<tr class="th">
<td>序号</td>
<td>设备位置</td>
<td>设备编号</td>
<td>设备ip</td>
<td>运行状态</td>
</tr>
<tr v-for="(item, index) in table" :key="index">
<td>{{ index + 1 }}</td>
<td>{{ item.address }}</td>
<td>{{ item.number }}</td>
<td>{{ item.ip }}</td>
<td>{{ item.status }}</td>
</tr>
</table>
</div>
</a-col>
<a-col :sm="24" :md="12" :xl="10" :style="{ marginBottom: '24px' }">
<div class="card">
<div class="title">门禁状态</div>
<div class="center-tab">
<div class="item blue">
<div>正常</div>
<div>34</div>
</div>
<div class="item orange">
<div>告警</div>
<div>2</div>
</div>
<div class="item">
<div>离线</div>
<div>1</div>
</div>
</div>
</div>
<div class="card">
<div class="title">网络拓扑图</div>
<div class="radio">暂无数据</div>
</div>
</a-col>
<a-col :sm="24" :md="24" :xl="7" :style="{ marginBottom: '24px' }">
<div class="card">
<div class="title">视频安防</div>
<div class="tab-box">
<div class="tab" v-for="item in tabArr1" :key="item.text">
<div class="text">{{ item.text }}</div>
<div>{{ item.number }}</div>
</div>
</div>
</div>
<div class="card">
<div class="title">信息发布列表</div>
<chart-line :data-source="lineData" :height="492" />
</div>
<div class="card">
<div class="title">入侵管理</div>
<div>关联监控</div>
<div class="radio">暂无监控</div>
</div>
</a-col>
</a-row>
</div>
</template>
<script>
import IndexChart from './IndexChart'
import IndexTask from "./IndexTask"
import IndexBdc from './IndexBdc'
export default {
name: "Analysis",
components: {
IndexChart,
IndexTask,
IndexBdc
},
data() {
return {
indexStyle:1
}
},
created() {
},
methods: {
// import IndexChart from './IndexChart'
// import IndexTask from "./IndexTask"
// import IndexBdc from './IndexBdc'
import ChartPie from './modules/ChartPie'
import ChartBar from './modules/ChartBar'
import ChartLine from './modules/ChartLine'
export default {
name: 'Analysis',
components: {
// IndexChart,
// IndexTask,
// IndexBdc
ChartPie,
ChartBar,
ChartLine,
},
data() {
return {
indexStyle: 1,
tabArr: [
{
text: '剩余车位',
number: 32,
},
{
text: '驶入车辆',
number: 302,
},
{
text: '驶出车辆',
number: 200,
},
],
tabArr1: [
{
text: '告警',
number: 2,
},
{
text: '正常',
number: 302,
},
{
text: '离线',
number: 1,
},
],
pieData: [
{ item: '深夜(22:00-次日07:00)', count: 10 },
{ item: '晚上(18:00-22:00)', count: 400 },
{ item: '下午(15:00-18:00)', count: 50 },
{ item: '中午(12:00-15:00)', count: 100 },
{ item: '上午(10:00-12:00)', count: 20 },
{ item: '早上(7:00-10:00)', count: 500 },
],
barData: [
{
x: '自助访客机',
y: 100,
},
{
x: '访客一体机',
y: 140,
},
{
x: '出入口闸机',
y: 300,
},
{
x: '身份证识别器',
y: 100,
},
{
x: '人脸识别机',
y: 100,
},
],
table: [
{
address: '1号楼1层',
number: 'cx001',
ip: '192.168.1.1',
status: '正常',
},
{
address: '1号楼1层',
number: 'cx001',
ip: '192.168.1.1',
status: '离线',
},
{
address: '1号楼1层',
number: 'cx001',
ip: '192.168.1.1',
status: '正常',
},
{
address: '1号楼1层',
number: 'cx001',
ip: '192.168.1.1',
status: '正常',
},
{
address: '1号楼1层',
number: 'cx001',
ip: '192.168.1.1',
status: '正常',
},
{
address: '1号楼1层',
number: 'cx001',
ip: '192.168.1.1',
status: '正常',
},
],
lineData: [
{ month: '1月', 公告: 100, 通知: 150 },
{ month: '2月', 公告: 140, 通知: 100 },
{ month: '3月', 公告: 230, 通知: 200 },
{ month: '4月', 公告: 100, 通知: 140 },
{ month: '5月', 公告: 130, 通知: 100 },
],
}
},
created() {},
methods: {},
}
</script>
<style lang="less" scoped>
.out {
padding: 0 10px;
}
.card {
background: #fff;
border-radius: 4px;
padding: 15px;
margin-bottom: 15px;
}
.title {
font-size: 14px;
padding-left: 5px;
border-left: 3px solid #409eff;
margin-bottom: 20px;
font-weight: bold;
}
.tab-box {
display: flex;
align-items: center;
justify-content: space-between;
text-align: center;
background: rgb(223, 239, 251);
padding: 10px;
font-weight: bold;
margin-bottom: 20px;
}
.table {
width: 100%;
text-align: center;
.th {
color: #fff;
background: rgb(93, 173, 249);
}
& tr:nth-child(odd) {
background: rgb(159, 213, 251);
}
& tr:nth-child(even) {
background: rgb(200, 231, 253);
}
td {
padding: 6px 0;
}
}
.center-tab {
display: flex;
align-items: center;
justify-content: space-between;
.item {
width: 180px;
height: 100px;
border-radius: 4px;
background: rgb(117, 115, 115);
color: #fff;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 20px;
&.blue {
background: rgb(93, 173, 249);
}
&.orange {
background: rgb(232, 122, 18);
}
}
</script>
\ No newline at end of file
}
.radio {
width: 100%;
height: 100px;
line-height: 100px;
text-align: center;
margin-top: 10px;
background: #ddd;
}
</style>
\ No newline at end of file
......@@ -34,7 +34,6 @@ public class PmAccessControlDevice implements Serializable {
/**
* id
*/
@Excel(name = "id", width = 15)
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private Long id;
......@@ -86,6 +85,7 @@ public class PmAccessControlDevice implements Serializable {
* 开门时间
*/
@ApiModelProperty(value = "开门时间")
@Excel(name = "开门时间(秒)", width = 15)
private Integer doorOpenTime;
/**
* 生产日期
......@@ -111,13 +111,12 @@ public class PmAccessControlDevice implements Serializable {
/**
* 生产厂商
*/
@Excel(name = "生产厂商", width = 15)
@ApiModelProperty(value = "生产厂商")
private String manufacturer;
/**
* 状态
*/
@Excel(name = "状态", width = 15,dicCode = "access_control_status")
// @Excel(name = "状态", width = 15,dicCode = "access_control_status")
@Dict(dicCode = "access_control_status")
@ApiModelProperty(value = "状态 1:正常 2:离线 3:维修")
private Integer status;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment