Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
Imagedx
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
VideoAIService
Imagedx
Commits
4f20a78d
Commit
4f20a78d
authored
May 17, 2021
by
zhouts
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
告警界面修改
parent
e4473dfa
Changes
12
Show whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
566 additions
and
434 deletions
+566
-434
src/main/java/im/zhaojun/system/mapper/CodeMapper.java
src/main/java/im/zhaojun/system/mapper/CodeMapper.java
+2
-0
src/main/java/im/zhaojun/system/model/Code.java
src/main/java/im/zhaojun/system/model/Code.java
+72
-2
src/main/java/im/zhaojun/system/service/CodeService.java
src/main/java/im/zhaojun/system/service/CodeService.java
+3
-15
src/main/resources/mapper/CodeMapper.xml
src/main/resources/mapper/CodeMapper.xml
+7
-3
src/main/resources/mapper/TrafficStatisticsMapper.xml
src/main/resources/mapper/TrafficStatisticsMapper.xml
+1
-1
src/main/resources/static/js/jgsbgl/jgsbgl.js
src/main/resources/static/js/jgsbgl/jgsbgl.js
+132
-67
src/main/resources/static/js/sjcx/sjcx.js
src/main/resources/static/js/sjcx/sjcx.js
+322
-254
src/main/resources/static/js/util/httputil.js
src/main/resources/static/js/util/httputil.js
+0
-1
src/main/resources/static/lib/layui/extend/dtree.css
src/main/resources/static/lib/layui/extend/dtree.css
+1
-1
src/main/resources/templates/page/jgsbgl.html
src/main/resources/templates/page/jgsbgl.html
+3
-68
src/main/resources/templates/page/jksj.html
src/main/resources/templates/page/jksj.html
+3
-3
src/main/resources/templates/page/sjcx.html
src/main/resources/templates/page/sjcx.html
+20
-19
No files found.
src/main/java/im/zhaojun/system/mapper/CodeMapper.java
View file @
4f20a78d
...
...
@@ -20,4 +20,6 @@ public interface CodeMapper {
int
updatemanualcode
(
String
name
,
String
alarmlevel
);
Code
selectalarmNum
(
String
keyid
);
}
\ No newline at end of file
src/main/java/im/zhaojun/system/model/Code.java
View file @
4f20a78d
package
im
.
zhaojun
.
system
.
model
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
Code
implements
Serializable
{
private
String
key
;
...
...
@@ -13,6 +11,78 @@ public class Code implements Serializable {
private
Integer
rectifytime
;
private
Integer
manualchecktime
;
private
Integer
pushchecktime
;
private
Integer
maxnum
;
private
Integer
alarmnum
;
public
String
getKey
()
{
return
key
;
}
public
void
setKey
(
String
key
)
{
this
.
key
=
key
;
}
public
String
getName
()
{
return
name
;
}
public
void
setName
(
String
name
)
{
this
.
name
=
name
;
}
public
String
getType
()
{
return
type
;
}
public
void
setType
(
String
type
)
{
this
.
type
=
type
;
}
public
String
getAlarmlevel
()
{
return
alarmlevel
;
}
public
void
setAlarmlevel
(
String
alarmlevel
)
{
this
.
alarmlevel
=
alarmlevel
;
}
public
Integer
getRectifytime
()
{
return
rectifytime
;
}
public
void
setRectifytime
(
Integer
rectifytime
)
{
this
.
rectifytime
=
rectifytime
;
}
public
Integer
getManualchecktime
()
{
return
manualchecktime
;
}
public
void
setManualchecktime
(
Integer
manualchecktime
)
{
this
.
manualchecktime
=
manualchecktime
;
}
public
Integer
getPushchecktime
()
{
return
pushchecktime
;
}
public
void
setPushchecktime
(
Integer
pushchecktime
)
{
this
.
pushchecktime
=
pushchecktime
;
}
public
Integer
getMaxnum
()
{
return
maxnum
;
}
public
void
setMaxnum
(
Integer
maxnum
)
{
this
.
maxnum
=
maxnum
;
}
public
Integer
getAlarmnum
()
{
return
alarmnum
;
}
public
void
setAlarmnum
(
Integer
alarmnum
)
{
this
.
alarmnum
=
alarmnum
;
}
}
\ No newline at end of file
src/main/java/im/zhaojun/system/service/CodeService.java
View file @
4f20a78d
package
im
.
zhaojun
.
system
.
service
;
import
com.github.pagehelper.PageHelper
;
import
im.zhaojun.common.exception.DuplicateNameException
;
import
im.zhaojun.common.shiro.ShiroActionProperties
;
import
im.zhaojun.common.util.TreeUtil
;
import
im.zhaojun.system.mapper.CodeMapper
;
import
im.zhaojun.system.mapper.UserMapper
;
import
im.zhaojun.system.mapper.UserRoleMapper
;
import
im.zhaojun.system.model.Code
;
import
im.zhaojun.system.model.Menu
;
import
im.zhaojun.system.model.User
;
import
org.apache.shiro.authz.UnauthorizedException
;
import
org.apache.shiro.crypto.hash.Md5Hash
;
import
org.apache.shiro.session.Session
;
import
org.apache.shiro.session.mgt.eis.SessionDAO
;
import
org.apache.shiro.subject.SimplePrincipalCollection
;
import
org.apache.shiro.subject.support.DefaultSubjectContext
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.annotation.Resource
;
import
java.util.*
;
...
...
@@ -63,7 +49,9 @@ public class CodeService {
public
boolean
updatemanualcode
(
String
name
,
String
alarmlevel
)
{
return
codeMapper
.
updatemanualcode
(
name
,
alarmlevel
)
==
1
;
}
public
Code
selectalarmNum
(
String
keyid
){
return
codeMapper
.
selectalarmNum
(
keyid
);
}
}
\ No newline at end of file
src/main/resources/mapper/CodeMapper.xml
View file @
4f20a78d
...
...
@@ -10,7 +10,9 @@
<result
column=
"rectifytime"
jdbcType=
"INTEGER"
property=
"rectifytime"
/>
<result
column=
"manualchecktime"
jdbcType=
"INTEGER"
property=
"manualchecktime"
/>
<result
column=
"pushchecktime"
jdbcType=
"INTEGER"
property=
"pushchecktime"
/>
<result
column=
"repeattime"
jdbcType=
"INTEGER"
property=
"repeattime"
/>
<result
column=
"maxnum"
jdbcType=
"INTEGER"
property=
"maxnum"
/>
<result
column=
"alarmnum"
jdbcType=
"INTEGER"
property=
"alarmnum"
/>
</resultMap>
<update
id=
"updatecode"
parameterType=
"java.util.List"
>
...
...
@@ -44,7 +46,7 @@
</update>
<select
id=
"selectAllWithKey"
resultMap=
"BaseResultMap"
>
select * from t_code where type=
1
select * from t_code where type=
2
</select>
...
...
@@ -59,6 +61,8 @@
<update
id=
"updatemanualcode"
>
update t_code set name=#{name ,jdbcType=VARCHAR},alarmlevel=#{alarmlevel,jdbcType=VARCHAR} where key='send'
</update>
<select
id=
"selectalarmNum"
resultMap=
"BaseResultMap"
>
select * from t_code where type=2 and key=#{key,jdbcType=VARCHAR}
</select>
</mapper>
\ No newline at end of file
src/main/resources/mapper/TrafficStatisticsMapper.xml
View file @
4f20a78d
...
...
@@ -138,7 +138,7 @@
recordtype "type",
name "typename"
from traffalarmrecord a,t_code b
where upper(a.recordtype)=b.key and b.type=
1
and fdid||'_'||channelid in(
where upper(a.recordtype)=b.key and b.type=
2
and fdid||'_'||channelid in(
select b.videoid
from deptdefaultvideo b
<if
test=
"deptId != '' and deptId != null and deptId!='-1' "
>
...
...
src/main/resources/static/js/jgsbgl/jgsbgl.js
View file @
4f20a78d
//行政目录
let
vue_tree
=
new
Vue
({
el
:
'
.left-nav
'
,
data
:
{
searchText
:
''
,
},
methods
:
{
fastSearch
:
function
()
{
$
(
"
#tree-xzxq
"
).
treeview
(
'
search
'
,
[
this
.
searchText
,
{
ignoreCase
:
true
,
// case insensitive
exactMatch
:
false
,
// like or equals
revealResults
:
true
,
// reveal matching nodes
}]);
}
},
mounted
(){
$
.
ajax
({
url
:
"
/dept/getDeptParent/
"
+
getCookie
(
"
bjpt_deptId
"
),
dataType
:
"
json
"
,
type
:
"
GET
"
,
data
:
{},
success
:
function
(
result
)
{
if
(
result
.
code
==
0
)
{
let
parIds
=
result
.
data
[
0
].
parentId
;
$
.
ajax
({
url
:
"
/dept/listvideo
"
,
dataType
:
"
json
"
,
type
:
"
GET
"
,
data
:
{
deptId
:
getCookie
(
"
bjpt_deptId
"
),
username
:
getCookie
(
"
bjpt_realName
"
),
tdmc
:
''
,
},
success
:
function
(
result
)
{
let
defaultData
=
[];
if
(
result
.
code
==
0
)
{
defaultData
=
toTree
(
result
.
data
,
parIds
+
''
);
$
(
'
#tree-xzxq
'
).
treeview
({
expandIcon
:
'
glyphicon glyphicon-triangle-right selected-span
'
,
collapseIcon
:
'
glyphicon glyphicon-triangle-bottom selected-span
'
,
nodeIcon
:
'
glyphicon glyphicon-folder-open selected-span
'
,
selectedBackColor
:
'
#ff000000
'
,
selectedColor
:
'
#368ff3
'
,
onhoverColor
:
'
#73a5ff26
'
,
showBorder
:
false
,
data
:
defaultData
});
$
(
'
#tree-xzxq
'
).
on
(
'
nodeSelected
'
,
function
(
event
,
data
)
{
vue_right
.
xz_jg
=
data
.
href
;
vue_right
.
level
=
data
.
level
;
vue_myjgModal1
.
data_s
.
qybh
=
data
.
href
;
vue_myjgModal1
.
data_s
.
qymc
=
data
.
text
;
// alert('点击选中');
});
$
(
'
#tree-xzxq
'
).
on
(
'
nodeUnselected
'
,
function
(
event
,
data
)
{
// alert('取消选择');
});
}
}
});
}
}
});
//
let vue_tree = new Vue({
//
el: '.left-nav',
//
data: {
//
searchText: '',
//
},
//
methods: {
//
fastSearch: function () {
//
$("#tree-xzxq").treeview('search', [this.searchText, {
//
ignoreCase: true, // case insensitive
//
exactMatch: false, // like or equals
//
revealResults: true, // reveal matching nodes
//
}]);
//
}
//
},
//
mounted(){
//
$.ajax({
//
url: "/dept/getDeptParent/" + getCookie("bjpt_deptId"),
//
dataType: "json",
//
type: "GET",
//
data: {},
//
success: function (result) {
//
if (result.code == 0) {
//
let parIds = result.data[0].parentId;
//
$.ajax({
//
url: "/dept/listvideo",
//
dataType: "json",
//
type: "GET",
//
data: {
//
deptId: getCookie("bjpt_deptId"),
//
username: getCookie("bjpt_realName"),
//
tdmc:'',
//
},
//
success: function (result) {
//
let defaultData = [];
//
if (result.code == 0) {
//
defaultData = toTree(result.data, parIds + '');
//
$('#tree-xzxq').treeview({
//
expandIcon: 'glyphicon glyphicon-triangle-right selected-span',
//
collapseIcon: 'glyphicon glyphicon-triangle-bottom selected-span',
//
nodeIcon: 'glyphicon glyphicon-folder-open selected-span',
//
selectedBackColor: '#ff000000',
//
selectedColor: '#368ff3',
//
onhoverColor: '#73a5ff26',
//
showBorder: false,
//
data: defaultData
//
});
//
$('#tree-xzxq').on('nodeSelected', function (event, data) {
//
vue_right.xz_jg = data.href;
//
vue_right.level = data.level;
//
vue_myjgModal1.data_s.qybh = data.href;
//
vue_myjgModal1.data_s.qymc = data.text;
//
// alert('点击选中');
//
});
//
$('#tree-xzxq').on('nodeUnselected', function (event, data) {
//
//
// alert('取消选择');
//
});
//
}
//
}
//
});
//
}
//
}
//
});
// $.ajax({
// url: "/dept/tree",
// dataType: "json",
...
...
@@ -96,17 +96,18 @@ let vue_tree = new Vue({
// }
// }
// });
}
});
//
}
//
});
let
vue_right
=
new
Vue
({
el
:
'
.right-nav
'
,
el
:
'
#jgsb
'
,
data
:
{
data_table_monitor
:
[],
xz_jg
:
getCookie
(
"
bjpt_deptId
"
),
count
:
''
,
level
:
''
,
fy_select
:
20
,
searchText
:
''
,
},
methods
:
{
add
:
function
()
{
...
...
@@ -199,9 +200,73 @@ let vue_right = new Vue({
getChange
:
function
()
{
// alert(this.fy_select);
this
.
queryRY
(
1
,
true
);
},
xzml
:
function
()
{
$
.
ajax
({
url
:
"
/dept/getDeptParent/
"
+
getCookie
(
"
bjpt_deptId
"
),
dataType
:
"
json
"
,
type
:
"
GET
"
,
data
:
{},
success
:
function
(
result
)
{
if
(
result
.
code
==
0
)
{
let
parIds
=
result
.
data
[
0
].
parentId
;
$
.
ajax
({
url
:
"
/dept/listvideo
"
,
dataType
:
"
json
"
,
type
:
"
GET
"
,
data
:
{
deptId
:
getCookie
(
"
bjpt_deptId
"
),
username
:
getCookie
(
"
bjpt_realName
"
),
tdmc
:
vue_right
.
searchText
,
},
success
:
function
(
result
)
{
let
defaultData
=
[];
vue_sjcx
.
jk_arr
=
[];
if
(
result
.
code
==
0
)
{
vue_sjcx
.
jk_arr
=
result
.
data
;
defaultData
=
toTree
(
result
.
data
,
parIds
+
''
);
$
(
'
#tree-xzxq
'
).
treeview
({
expandIcon
:
'
glyphicon glyphicon-triangle-right selected-span
'
,
collapseIcon
:
'
glyphicon glyphicon-triangle-bottom selected-span
'
,
nodeIcon
:
'
glyphicon glyphicon-folder-open selected-span
'
,
selectedBackColor
:
'
#ff000000
'
,
selectedColor
:
'
#368ff3
'
,
onhoverColor
:
'
#73a5ff26
'
,
showBorder
:
false
,
data
:
defaultData
,
multiSelect
:
false
,
level
:
2
,
showCheckbox
:
1
,
//复选框设置,也可以是true
onNodeChecked
:
function
(
event
,
node
)
{
//选中节点
let
selectNodes
=
getChildNodeIdArr
(
node
);
//获取所有子节点
if
(
selectNodes
)
{
//子节点不为空,则选中所有子节点
$
(
this
).
treeview
(
'
checkNode
'
,
[
selectNodes
,
{
silent
:
true
}]);
}
//如果当前节点的子节点都被选中了。则父节点也应该要选中
setParentNodeCheck
(
node
);
},
onNodeUnchecked
:
function
(
event
,
node
)
{
//取消选中节点
let
selectNodes
=
getChildNodeIdArr
(
node
);
//获取所有子节点
if
(
selectNodes
)
{
//子节点不为空,则取消选中所有子节点
$
(
this
).
treeview
(
'
uncheckNode
'
,
[
selectNodes
,
{
silent
:
true
}]);
}
},
onNodeExpanded
:
function
(
event
,
data
)
{
},
onNodeSelected
:
function
(
event
,
node
)
{
}
});
this
.
queryRY
(
1
,
true
);
}
}
});
}
}
});
},
},
mounted
(){
this
.
xzml
();
this
.
queryRY
(
1
,
true
);
}
});
...
...
src/main/resources/static/js/sjcx/sjcx.js
View file @
4f20a78d
let
state_sj
=
true
;
let
state_sj
=
true
;
let
vue_sjcx
=
new
Vue
({
el
:
'
#sjcx
'
,
data
:
{
...
...
@@ -19,10 +19,11 @@ let vue_sjcx = new Vue({
cllx_select
:
[],
clzt_select
:
[],
arr_cllx
:
[],
jk_s
:[],
check_s
:
false
,
jk_s
:
[],
check_s
:
false
,
cllx
:
[],
jk_arr
:[]
},
jk_arr
:
[]
},
methods
:
{
fastSearch
:
function
()
{
this
.
xzml
();
...
...
@@ -49,7 +50,7 @@ let vue_sjcx = new Vue({
let
defaultData
=
[];
vue_sjcx
.
jk_arr
=
[];
if
(
result
.
code
==
0
)
{
vue_sjcx
.
jk_arr
=
result
.
data
;
vue_sjcx
.
jk_arr
=
result
.
data
;
defaultData
=
toTree
(
result
.
data
,
parIds
+
''
);
$
(
'
#tree-xzxq
'
).
treeview
({
expandIcon
:
'
glyphicon glyphicon-triangle-right selected-span
'
,
...
...
@@ -125,27 +126,25 @@ let vue_sjcx = new Vue({
//根据type 查询 详情
$
.
ajax
({
url
:
"
/TrafficStatistics/queryTraffDetail/
"
+
item
.
id
+
"
/
"
+
item
.
recordtype
,
url
:
"
/TrafficStatistics/queryTraffDetail/
"
+
item
.
id
+
"
/
"
+
item
.
recordtype
,
dateType
:
'
json
'
,
type
:
"
GET
"
,
contentType
:
'
application/json
'
,
success
:
function
(
result
)
{
if
(
result
.
code
==
0
)
{
//获得 json 的值,将详细信息展示在界面上
if
(
item
.
recordtype
==
"
3
"
)
{
vue_sjsstx
.
dataface
=
result
.
data
[
0
];
if
(
item
.
recordtype
==
"
3
"
)
{
vue_sjsstx
.
dataface
=
result
.
data
[
0
];
}
else
if
(
item
.
recordtype
==
"
1
"
)
{
vue_sjsstx
.
datapede
=
result
.
data
[
0
];
else
if
(
item
.
recordtype
==
"
1
"
)
{
vue_sjsstx
.
datapede
=
result
.
data
[
0
];
}
else
if
(
item
.
recordtype
==
"
2
"
)
{
vue_sjsstx
.
datatraffic
=
result
.
data
[
0
];
else
if
(
item
.
recordtype
==
"
2
"
)
{
vue_sjsstx
.
datatraffic
=
result
.
data
[
0
];
}
else
if
(
item
.
recordtype
==
"
4
"
)
{
vue_sjsstx
.
datapeople
=
result
.
data
[
0
];
else
if
(
item
.
recordtype
==
"
4
"
)
{
vue_sjsstx
.
datapeople
=
result
.
data
[
0
];
}
}
...
...
@@ -172,20 +171,26 @@ let vue_sjcx = new Vue({
}
,
query
:
function
(
pages
,
items
)
{
let
nodes
=
$
(
'
#tree-xzxq
'
).
treeview
(
'
getChecked
'
).
filter
(
n
=>
n
.
level
==
null
).
map
(
n
=>
{
let
nodes
=
$
(
'
#tree-xzxq
'
).
treeview
(
'
getChecked
'
).
filter
(
n
=>
n
.
level
==
null
).
map
(
n
=>
{
return
n
.
href
});
}
)
;
let
arr_nodes
=
""
;
if
(
nodes
.
length
==
0
)
{
nodes
=
""
;
}
else
{
nodes
.
forEach
((
item
,
index
)
=>
{
nodes
.
forEach
((
item
,
index
)
=>
{
arr_nodes
=
arr_nodes
+
item
+
'
,
'
;
});
})
;
}
if
(
$
(
'
#tree-xzxq
'
).
treeview
(
'
getChecked
'
).
length
>
0
&&
nodes
.
length
==
0
)
{
arr_nodes
=
"
null
"
;
};
}
;
$
(
"
.div-ul
"
).
find
(
'
input
'
).
each
(
function
()
{
$
(
this
).
removeAttr
(
"
checked
"
,
false
);
$
(
this
).
prop
(
"
checked
"
,
false
);
...
...
@@ -201,18 +206,20 @@ let vue_sjcx = new Vue({
if
(
this
.
cllx_select
.
length
==
0
)
{
objlabels
=
""
;
}
else
{
this
.
cllx_select
.
forEach
((
item
,
index
)
=>
{
this
.
cllx_select
.
forEach
((
item
,
index
)
=>
{
objlabels
=
objlabels
+
item
+
'
,
'
;
});
})
;
}
;
let
processstatus
=
""
;
if
(
this
.
clzt_select
.
length
==
0
)
{
processstatus
=
""
;
}
else
{
this
.
clzt_select
.
forEach
((
item
,
index
)
=>
{
this
.
clzt_select
.
forEach
((
item
,
index
)
=>
{
processstatus
=
processstatus
+
item
+
'
,
'
;
});
})
;
}
;
let
json_s
=
{
...
...
@@ -227,8 +234,8 @@ let vue_sjcx = new Vue({
construction
:
'
2
'
,
objlabel
:
objlabels
,
processstatus
:
processstatus
,
rectificationtype
:
''
,
userid
:
getCookie
(
"
bjpt_userId
"
)
rectificationtype
:
''
,
userid
:
getCookie
(
"
bjpt_userId
"
)
};
$
.
ajax
({
url
:
"
/TrafficStatistics/queryTraffalarmrecordByPage/1
"
,
...
...
@@ -306,7 +313,13 @@ let vue_sjcx = new Vue({
vue_sjcx
.
state_arr
=
[];
$
(
"
.div-ul
"
).
find
(
'
input:checked
'
).
each
(
function
()
{
let
arr
=
$
(
this
).
val
().
split
(
"
|
"
);
vue_sjcx
.
state_arr
.
push
({
id
:
arr
[
0
],
channelid
:
arr
[
1
],
fdid
:
arr
[
2
],
recordtime
:
arr
[
3
],
recordtype
:
arr
[
4
]});
vue_sjcx
.
state_arr
.
push
({
id
:
arr
[
0
],
channelid
:
arr
[
1
],
fdid
:
arr
[
2
],
recordtime
:
arr
[
3
],
recordtype
:
arr
[
4
]
});
});
if
(
vue_sjcx
.
state_arr
.
length
>
0
)
{
vue_sjcx
.
show_nums
=
true
;
...
...
@@ -316,9 +329,17 @@ let vue_sjcx = new Vue({
},
state_cli
:
function
(
e
)
{
let
json_s
=
[];
vue_sjcx
.
state_arr
.
forEach
((
item
,
index
)
=>
{
json_s
.
push
({
id
:
item
.
id
,
channelid
:
item
.
channelid
,
fdid
:
item
.
fdid
,
recordtime
:
item
.
recordtime
,
recordtype
:
item
.
recordtype
,
processstatus
:
e
});
vue_sjcx
.
state_arr
.
forEach
((
item
,
index
)
=>
{
json_s
.
push
({
id
:
item
.
id
,
channelid
:
item
.
channelid
,
fdid
:
item
.
fdid
,
recordtime
:
item
.
recordtime
,
recordtype
:
item
.
recordtype
,
processstatus
:
e
});
})
;
$
.
ajax
({
url
:
"
/TrafficStatistics/updateTraffalarmrecordById
"
,
dateType
:
'
json
'
,
...
...
@@ -334,12 +355,13 @@ let vue_sjcx = new Vue({
}
});
},
zdsx
:
function
()
{
vue_sjcx
.
check_s
=
document
.
getElementById
(
'
push
'
).
checked
;
zdsx
:
function
()
{
vue_sjcx
.
check_s
=
document
.
getElementById
(
'
push
'
).
checked
;
},
zdtx
:
function
()
{
state_sj
=
document
.
getElementById
(
'
status
'
).
checked
;
}
},
zdtx
:
function
()
{
state_sj
=
document
.
getElementById
(
'
status
'
).
checked
;
}
},
mounted
(){
$
(
"
#kssj
"
).
val
(
getTime_extent
(
6
).
pre_rq_start
+
'
-
'
+
getTime
().
jssj
);
$
.
ajax
({
...
...
@@ -370,10 +392,12 @@ let vue_sjcx = new Vue({
vue_sjcx
.
arr_cllx
=
[];
if
(
result
.
code
==
0
)
{
if
(
result
.
data
.
length
>
0
)
{
result
.
data
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
id
!=
'
TRICYCLE
'
&&
item
.
id
!=
'
CART
'
)
result
.
data
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
id
!=
'
TRICYCLE
'
&&
item
.
id
!=
'
CART
'
)
vue_sjcx
.
arr_cllx
.
push
({
id
:
item
.
id
,
value
:
item
.
name
});
});
})
;
setTimeout
(
function
()
{
// $("#cllxs").selectpicker('refresh');
// $("#cllxs").selectpicker('render');
...
...
@@ -387,7 +411,7 @@ let vue_sjcx = new Vue({
dataType
:
"
json
"
,
type
:
"
GET
"
,
data
:
{
codeid
:
1
,
codeid
:
2
,
alarmlevel
:
''
,
},
success
:
function
(
result
)
{
...
...
@@ -396,18 +420,26 @@ let vue_sjcx = new Vue({
if
(
result
.
data
.
length
>
0
)
{
vue_sjcx
.
data_sjlxs
.
push
({
name
:
'
全部
'
,
id
:
""
,
type
:
""
,});
let
arrs
=
[];
result
.
data
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
id
!=
'
ROADWORKS
'
&&
item
.
id
!=
'
ROADWORKS_OUT_OF_LINE
'
)
{
result
.
data
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
id
!=
'
ROADWORKS
'
&&
item
.
id
!=
'
ROADWORKS_OUT_OF_LINE
'
)
{
arrs
.
push
(
item
);
}
});
arrs
.
forEach
((
item
,
index
)
=>
{
if
(
index
<
4
)
{
})
;
arrs
.
forEach
((
item
,
index
)
=>
{
if
(
index
<
4
)
{
vue_sjcx
.
data_sjlxs
.
push
(
item
);
}
else
{
}
else
{
vue_sjcx
.
data_sjlxs1
.
push
(
item
);
}
});
})
;
}
}
}
...
...
@@ -471,10 +503,10 @@ let vue_sjsstx = new Vue({
show_s
:
false
,
img_src_s
:
''
,
video_src
:
''
,
dataface
:{},
datapede
:{},
datatraffic
:{},
datapeople
:{}
dataface
:
{},
datapede
:
{},
datatraffic
:
{},
datapeople
:
{}
},
methods
:
{
sp_qh
:
function
(
e
)
{
...
...
@@ -532,11 +564,14 @@ let vue_sjsstxnow = new Vue({
this
.
index
++
;
vue_jkgl
.
is_bd
=
true
;
let
iscz
=
false
;
vue_jkgl
.
data_sd
.
forEach
((
items
,
index
)
=>
{
if
(
items
.
video_id
==
item
.
videoid
)
{
vue_jkgl
.
data_sd
.
forEach
((
items
,
index
)
=>
{
if
(
items
.
video_id
==
item
.
videoid
)
{
iscz
=
true
;
}
});
})
;
if
(
e
.
currentTarget
.
checked
)
{
if
(
iscz
)
{
e
.
currentTarget
.
checked
=
false
;
...
...
@@ -571,11 +606,14 @@ let vue_sjsstxnow = new Vue({
vue_sjsstxnow
.
sjsj_data
[
indexs
].
checked
=
false
;
}
document
.
getElementById
(
vue_jkgl
.
data_sd
[
indexs
].
id
).
parentNode
.
parentNode
.
remove
();
vue_jkgl
.
data_sd
.
forEach
((
items
,
index
)
=>
{
if
(
items
.
video_id
==
item
.
videoid
)
{
vue_jkgl
.
data_sd
.
forEach
((
items
,
index
)
=>
{
if
(
items
.
video_id
==
item
.
videoid
)
{
vue_jkgl
.
data_sd
.
splice
(
index
,
1
);
}
});
})
;
if
(
vue_jkgl
.
data_sd
.
length
==
0
)
{
vue_jkgl
.
is_bd
=
false
;
}
...
...
@@ -653,12 +691,17 @@ function toTree(list, parId) {
return
loop
(
parId
)
}
function
checkNode
(
parentNode
,
i
)
{
if
(
parentNode
.
nodes
[
i
].
nodes
!=
undefined
&&
parentNode
.
nodes
[
i
].
nodes
.
length
!==
0
&&
parentNode
.
nodes
[
i
].
nodes
.
filter
(
n
=>
n
.
level
===
null
).
length
>
0
)
{
if
(
parentNode
.
nodes
[
i
].
nodes
!=
undefined
&&
parentNode
.
nodes
[
i
].
nodes
.
length
!==
0
&&
parentNode
.
nodes
[
i
].
nodes
.
filter
(
n
=>
n
.
level
===
null
).
length
>
0
)
{
for
(
let
j
=
0
;
j
<
parentNode
.
nodes
[
i
].
nodes
.
length
;
j
++
)
{
let
d
=
checkNode
(
parentNode
.
nodes
[
i
],
j
);
d
&&
j
--
;
}
}
else
{
}
else
{
parentNode
.
nodes
.
splice
(
i
,
1
);
return
true
}
...
...
@@ -716,7 +759,13 @@ $("#all").click(function () {
$
(
"
.div-ul
"
).
find
(
'
input:checked
'
).
each
(
function
()
{
// vue_sjcx.state_arr.push($(this).val());
let
arr
=
$
(
this
).
val
().
split
(
"
|
"
);
vue_sjcx
.
state_arr
.
push
({
recordid
:
arr
[
0
],
channelid
:
arr
[
1
],
fdid
:
arr
[
2
],
recordtime
:
arr
[
3
],
recordtype
:
arr
[
4
]});
vue_sjcx
.
state_arr
.
push
({
recordid
:
arr
[
0
],
channelid
:
arr
[
1
],
fdid
:
arr
[
2
],
recordtime
:
arr
[
3
],
recordtype
:
arr
[
4
]
});
});
vue_sjcx
.
show_nums
=
true
;
});
...
...
@@ -771,48 +820,65 @@ wss.onmessage = function (evt) {
let
jk_video_id
=
data
.
fdid
+
"
_
"
+
data
.
channelid
;
// let jk_video_id = data.data.video_id;
vue_sjcx
.
jk_s
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
VIDOID
==
jk_video_id
)
{
if
(
item
.
VIDOID
==
jk_video_id
)
{
if_cz
=
true
;
}
});
})
;
// if (if_cz) {
//事件id
let
sjid
=
data
.
id
;
//报警时间
let
sj
=
data
.
record
time
;
let
sj
=
data
.
create
time
;
//事件类型
let
bjlx
=
''
;
//事件等级
let
sjdj
=
''
;
// vue_sjcx.data_sjlxs.forEach((item, index) => {
// if (item.id.toLowerCase() == data.data.incident_type.toLowerCase()) {
// bjlx = item.name;
// sjdj = item.alarmlevel;
// }
// });
vue_sjcx
.
data_sjlxs
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
id
.
toLowerCase
()
==
data
.
recordtype
.
toLowerCase
()
)
{
bjlx
=
item
.
name
;
sjdj
=
item
.
alarmlevel
;
}
})
;
//监控名称
let
jkmc
=
''
;
vue_sjcx
.
jk_arr
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
href
==
jk_video_id
)
{
if
(
item
.
href
==
jk_video_id
)
{
jkmc
=
item
.
text
;
}
});
})
;
//违法图片
let
wfsp
=
[];
data
.
imageData
.
forEach
((
item
,
index
)
=>
{
let
src
=
'
data:image/jpg;base64,
'
+
item
;
wfsp
.
push
({
img_src
:
src
});
});
if
(
null
!=
data
.
imagedata
&&
""
!=
data
.
imagedata
)
{
if
(
data
.
imagedata
.
indexOf
(
"
ftp:
"
)
>
-
1
)
{
data
.
imagedata
=
'
/TrafficStatistics/fielagent?ftpPath=
'
+
data
.
imagedata
;
}
else
{
data
.
imagedata
=
'
data:image/jpg;base64,
'
+
data
.
imagedata
;
}
}
wfsp
.
push
({
img_src
:
data
.
imagedata
});
//右边消息弹出框的id
let
tss
=
'
a
'
+
data
.
record
time
;
let
tss
=
'
a
'
+
data
.
create
time
;
//判断三级弹出框是否已经弹出,没有弹出,则清空,若是弹出,则继续push
if
(
$
(
"
#myModal_sjcx
"
)[
0
].
style
.
display
!=
'
block
'
)
{
$
(
"
.carousel
"
).
collapse
();
vue_sjsstxnow
.
yjsj_data
=
[];
vue_sjsstxnow
.
ejsj_data
=
[];
vue_sjsstxnow
.
sjsj_data
=
[];
$
(
"
#myModal_sjcx
"
).
modal
(
"
show
"
);
$
(
"
#myModal_sjcx
"
).
find
(
'
input
'
).
each
(
function
()
{
$
(
this
).
removeAttr
(
"
checked
"
,
false
);
...
...
@@ -899,7 +965,7 @@ wss.onmessage = function (evt) {
channelid
:
jk_video_id
.
slice
(
jk_video_id
.
length
-
1
),
fdid
:
jk_video_id
.
slice
(
0
,
jk_video_id
.
length
-
2
),
recordtime
:
sj
,
recordtype
:
data
.
data
.
incident_
type
,
recordtype
:
data
.
record
type
,
ss_type
:
''
,
});
setTimeout
(
function
()
{
...
...
@@ -918,18 +984,20 @@ wss.onmessage = function (evt) {
vue_sjcx
.
query
(
1
,
true
);
},
500
);
}
new
NoticeJs
({
text
:
'
Notification message
'
,
position
:
'
bottomRight
'
,
// id: tss,
id
:
11
,
sjlx
:
bjlx
,
dwmc
:
jkmc
,
animation
:
{
open
:
'
animated bounceIn
'
,
close
:
'
animated bounceOut
'
}
}).
show
();
// new NoticeJs({
// text: 'Notification message',
// position: 'bottomRight',
// // id: tss,
// id: 11,
// sjlx: bjlx,
// dwmc: jkmc,
// animation: {
// open: 'animated bounceIn',
// close: 'animated bounceOut'
// }
// }).show();
$
(
"
#myModal_sjcx
"
).
modal
(
"
show
"
);
//播放声音
let
myMp3
=
document
.
getElementById
(
"
audio
"
);
// audio.play();
...
...
src/main/resources/static/js/util/httputil.js
View file @
4f20a78d
//获取当前系统时间
function
getTime
()
{
var
now_today
=
new
Date
();
...
...
src/main/resources/static/lib/layui/extend/dtree.css
View file @
4f20a78d
...
...
@@ -56,7 +56,7 @@
.dtree-toolbar-fixed
a
i
:hover
{
opacity
:
0.8
;
filter
:
Alpha
(
opacity
=
80
);}
/* 树基本*/
.dtree
{
width
:
2
60px
;}
.dtree
{
width
:
3
60px
;}
.dtree-nav-item
{
line-height
:
33px
;
padding-left
:
16px
;}
.dtree-nav-ul-sid
{
display
:
none
;}
.dtree-none-text
{
font-size
:
12px
;
text-align
:
center
;
color
:
gray
;}
...
...
src/main/resources/templates/page/jgsbgl.html
View file @
4f20a78d
...
...
@@ -22,12 +22,12 @@
<div
id=
"tree-xzxq"
></div>
</div>
<div
class=
"right-nav"
>
<div
class=
"center-nav"
>
<div
class=
"center-nav"
id=
"jgsb"
>
<div
class=
"div-right-top"
>
<span
class=
"pub-span"
>
监控名称:
</span>
<input
type=
"text"
class=
"form-control input-pub"
id=
"ryxm"
>
<button
type=
"button"
class=
"btn btn-sm pub-btn"
@
click=
"queryRY(1,true)"
>
查询
</button>
<
!--<button type="button" class="btn btn-sm pub-btn" @click="add">新增</button>--
>
<
button
type=
"button"
class=
"btn btn-sm pub-btn"
@
click=
"add"
>
新增
</button
>
</div>
<div
style=
"height:calc(100% - 130px);margin-top: 20px;text-align: center"
class=
"tables"
>
<table
class=
"table table-td"
>
...
...
@@ -195,75 +195,10 @@
<script
src=
"../bootstrap/js/bootstrap.js"
></script>
<script
src=
"../bootstrap/js/bootstrap-treeview.js"
></script>
<script
src=
"../bootstrap/js/bootstrap-paginator.js"
></script>
<script
src=
"../js/util/httputil.js"
></script>
<script
src=
"../js/util/http
_
util.js"
></script>
<script
src=
"../js/vue.js"
></script>
<script
src=
"../js/jgsbgl/jgsbgl.js"
></script>
<script>
layui
.
config
({
base
:
'
/lib/layui/extend/
'
}).
extend
({
formSelects
:
'
formSelects-v4
'
}).
use
([
'
form
'
,
'
layer
'
,
'
formSelects
'
,
'
dtree
'
],
function
()
{
$
=
layui
.
jquery
;
var
form
=
layui
.
form
,
layer
=
layui
.
layer
,
formSelects
=
layui
.
formSelects
,
dtree
=
layui
.
dtree
;
dtree
.
renderSelect
({
elem
:
"
#deptTree
"
,
url
:
"
/depttree/tree
"
,
dataStyle
:
"
layuiStyle
"
,
width
:
"
100%
"
,
method
:
"
GET
"
,
dot
:
false
,
accordion
:
true
,
menubar
:
true
,
response
:
{
statusCode
:
0
,
message
:
"
msg
"
,
treeId
:
"
id
"
,
parentId
:
"
parentId
"
,
title
:
"
name
"
},
done
:
function
()
{
var
deptId
=
[[
$
{
user
?.
deptId
+
''
}]]
;
dtree
.
dataInit
(
"
deptTree
"
,
deptId
);
dtree
.
setSelectValue
(
"
deptTree
"
);
}
});
dtree
.
on
(
"
node('deptTree')
"
,
function
(
obj
){
$
(
"
#deptId
"
).
val
(
obj
.
param
.
nodeId
);
});
form
.
on
(
'
submit(add)
'
,
function
(
form
)
{
form
.
field
.
role
=
formSelects
.
value
(
'
role-select
'
,
'
val
'
);
$
.
post
(
'
/user
'
,
form
.
field
,
function
(
result
)
{
handlerResult
(
result
,
addDone
);
});
return
false
;
});
//监听提交
form
.
on
(
'
submit(edit)
'
,
function
(
form
)
{
form
.
field
.
_method
=
'
PUT
'
;
form
.
field
.
role
=
formSelects
.
value
(
'
role-select
'
,
'
val
'
);
$
.
post
(
'
/user
'
,
form
.
field
,
function
(
result
)
{
handlerResult
(
result
,
editDone
);
});
return
false
;
});
function
addDone
(
data
)
{
layer
.
msg
(
"
添加成功
"
,
{
icon
:
6
});
setTimeout
(
function
(){
window
.
parent
.
location
.
reload
(
true
);
},
1500
);
}
function
editDone
(
data
)
{
layer
.
msg
(
"
修改成功
"
,
{
icon
:
6
});
setTimeout
(
function
(){
window
.
parent
.
location
.
reload
(
true
);
},
1500
);
}
});
</script>
</html>
\ No newline at end of file
src/main/resources/templates/page/jksj.html
View file @
4f20a78d
...
...
@@ -40,8 +40,8 @@
<div
class=
"layui-col-md3"
>
<div
class=
"layui-card"
>
<div
class=
"layui-card-header"
>
监控事件树
</div>
<div
class=
"layui-card-body"
id=
"toolbarDiv"
>
<ul
id=
"menuTree"
class=
"dtree"
data-id=
"0"
></ul>
<div
class=
"layui-card-body"
id=
"toolbarDiv"
style=
"width: 360px;!important;"
>
<ul
id=
"menuTree"
class=
"dtree"
data-id=
"0"
></ul>
</div>
</div>
</div>
...
...
@@ -49,7 +49,7 @@
<div
class=
"layui-card"
>
<div
class=
"layui-card-header"
id=
"card-header"
>
菜单列表
</div>
<div
class=
"layui-card-body"
>
<table
class=
"layui-hide"
id=
"menu-table"
></table>
<table
class=
"layui-hide"
id=
"menu-table"
style=
"width: 360px;"
></table>
</div>
</div>
</div>
...
...
src/main/resources/templates/page/sjcx.html
View file @
4f20a78d
...
...
@@ -10,6 +10,7 @@
<link
rel=
"stylesheet"
href=
"../bootstrap/css/bootstrap-treeview.css"
>
<link
rel=
"stylesheet"
href=
"../bootstrap/css/bootstrap-switch.min.css"
>
<link
rel=
"stylesheet"
href=
"../css/sjcx.css"
>
<link
rel=
"stylesheet"
href=
"../css/jkglsj.css"
>
<link
rel=
"stylesheet"
href=
"../css/photoviewer.css"
>
<link
rel=
"stylesheet"
href=
"../css/animate.css"
>
<link
rel=
"stylesheet"
href=
"../css/noticejs.css"
>
<!--<link rel="stylesheet" href="../css/viewer.min.css">-->
...
...
@@ -85,7 +86,7 @@
</div>
<div
class=
"show-icon"
:style=
"{'background':(item.processstatus==0||item.processstatus==null)?'#ff9c2b':(item.processstatus==2)?'#fc3939':(item.processstatus==1)?'#2fba08':'#cccccc'}"
v-text=
"item.processstatus==0||item.processstatus==null?'未处理':item.processstatus==1?'正检':item.processstatus==2?'误检':'重复事件'"
></div>
<div
class=
"li-top"
>
<img
:src=
"'
data:image/png;base64,'+
item.imagedata"
:id=
"'img'+item.id"
>
<img
:src=
"'
/TrafficStatistics/fielagent?ftpPath='+
item.imagedata"
:id=
"'img'+item.id"
>
<!-- <canvas :id="'cvs'+item.id" style="position: absolute;pointer-events: none;left:0;width:100%;height:100%"></canvas>-->
</div>
<div
class=
"li-center"
>
...
...
@@ -297,15 +298,15 @@
<span
v-text=
"item.ss_type==1?'正检':item.ss_type==2?'误检':item.ss_type==3?'重复事件':''"
></span>
</div>
</div>
<
div
class=
"div_modal"
>
<
div
class=
"div_modal_span"
>
<
span>
是否锁定:
</span
>
<
/div
>
<
div
class=
"div_modal_span1"
>
<
input
type=
"checkbox"
:name=
"'a1ss_'+index"
:value=
"item.videoid"
:checked=
"item.checked"
style=
"width: 19px;height: 19px;"
@
click=
"cli_input(item,$event,index,2)"
/
>
<
/div
>
<
/div
>
<
!--<div class="div_modal">--
>
<
!--<div class="div_modal_span">--
>
<
!--<span>是否锁定:</span>--
>
<
!--</div>--
>
<
!--<div class="div_modal_span1">--
>
<
!--<input type="checkbox" :name="'a1ss_'+index" :value="item.videoid" :checked="item.checked"-->
<!--style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,2)"/>--
>
<
!--</div>--
>
<
!--</div>--
>
</div>
</div>
</div>
...
...
@@ -368,15 +369,15 @@
<span
v-text=
"item.ss_type==1?'正检':item.ss_type==2?'误检':item.ss_type==3?'重复事件':''"
></span>
</div>
</div>
<
div
class=
"div_modal"
>
<
div
class=
"div_modal_span"
>
<
span>
是否锁定:
</span
>
<
/div
>
<
div
class=
"div_modal_span1"
>
<
input
type=
"checkbox"
:name=
"'a2ss_'+index"
:value=
"item.videoid"
:checked=
"item.checked"
style=
"width: 19px;height: 19px;"
@
click=
"cli_input(item,$event,index,3)"
/
>
<
/div
>
<
/div
>
<
!--<div class="div_modal">--
>
<
!--<div class="div_modal_span">--
>
<
!--<span>是否锁定:</span>--
>
<
!--</div>--
>
<
!--<div class="div_modal_span1">--
>
<
!--<input type="checkbox" :name="'a2ss_'+index" :value="item.videoid" :checked="item.checked"-->
<!--style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,3)"/>--
>
<
!--</div>--
>
<
!--</div>--
>
</div>
</div>
</div>
...
...
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