Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
property-management
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
chenjunxiong
property-management
Commits
e0dce46f
Commit
e0dce46f
authored
Jun 10, 2022
by
416409548@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
首页开发/bug优化
parent
e22a8a60
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
341 additions
and
47 deletions
+341
-47
ant-design-vue-jeecg/package-lock.json
+50
-19
ant-design-vue-jeecg/package.json
+1
-0
ant-design-vue-jeecg/src/main.js
+1
-0
ant-design-vue-jeecg/src/views/dashboard/Analysis.vue
+287
-25
jeecg-boot-parent/jeecg-boot-module-property/src/main/java/org/jeecg/pm/entity/PmAccessControlDevice.java
+2
-3
No files found.
ant-design-vue-jeecg/package-lock.json
View file @
e0dce46f
...
...
@@ -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"
,
...
...
ant-design-vue-jeecg/package.json
View file @
e0dce46f
...
...
@@ -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"
,
...
...
ant-design-vue-jeecg/src/main.js
View file @
e0dce46f
...
...
@@ -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'
)
...
...
ant-design-vue-jeecg/src/views/dashboard/Analysis.vue
View file @
e0dce46f
<
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
jeecg-boot-parent/jeecg-boot-module-property/src/main/java/org/jeecg/pm/entity/PmAccessControlDevice.java
View file @
e0dce46f
...
...
@@ -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
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment