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
1c9f34e4
Commit
1c9f34e4
authored
May 06, 2021
by
wangjinjing
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
websocket banben
parent
efa23452
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
619 additions
and
24 deletions
+619
-24
src/main/resources/static/js/sjcx/sjcx.js
src/main/resources/static/js/sjcx/sjcx.js
+334
-18
src/main/resources/templates/page/sjcx.html
src/main/resources/templates/page/sjcx.html
+285
-6
No files found.
src/main/resources/static/js/sjcx/sjcx.js
View file @
1c9f34e4
...
...
@@ -20,7 +20,8 @@ let vue_sjcx = new Vue({
arr_cllx
:
[],
jk_s
:[],
check_s
:
false
,
},
cllx
:
[],
jk_arr
:[]
},
methods
:
{
fastSearch
:
function
()
{
this
.
xzml
();
...
...
@@ -45,7 +46,9 @@ let vue_sjcx = new Vue({
},
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
'
,
...
...
@@ -332,8 +335,10 @@ let vue_sjcx = new Vue({
},
zdsx
:
function
()
{
vue_sjcx
.
check_s
=
document
.
getElementById
(
'
push
'
).
checked
;
}
},
zdtx
:
function
()
{
state_sj
=
document
.
getElementById
(
'
status
'
).
checked
;
}
},
mounted
(){
$
(
"
#kssj
"
).
val
(
getTime_extent
(
6
).
pre_rq_start
+
'
-
'
+
getTime
().
jssj
);
$
.
ajax
({
...
...
@@ -413,6 +418,47 @@ let vue_sjcx = new Vue({
},
});
//老的模态框
let
vue_sjsstx_li
=
new
Vue
({
el
:
'
#myModal_li
'
,
data
:
{
data_wfsp
:
[],
data_sj
:
{
lx
:
''
,
bjsj
:
''
,
dwmc
:
''
},
class_s
:
'
class_1s
'
,
class_s1
:
'
class_2s
'
,
shows
:
true
,
src_img
:
''
,
arrs
:
{
timeSpeed
:
0
,
timeIntervalSign
:
null
,
timeIndex
:
0
,
videoMessage
:
''
,
},
},
methods
:
{
sp_qh
:
function
(
e
)
{
if
(
e
==
1
)
{
this
.
class_s
=
'
class_1s
'
;
this
.
class_s1
=
'
class_2s
'
;
this
.
shows
=
true
;
}
else
{
this
.
class_s
=
'
class_2s
'
;
this
.
class_s1
=
'
class_1s
'
;
this
.
shows
=
false
;
}
this
.
src_img
=
this
.
data_wfsp
[
0
].
img_src
;
},
click_img_bf
:
function
(
src
)
{
this
.
src_img
=
src
;
},
},
mounted
(){
}
});
let
vue_sjsstx
=
new
Vue
({
el
:
'
#myModal
'
,
data
:
{
...
...
@@ -454,7 +500,123 @@ let vue_sjsstx = new Vue({
}
}
});
//新的模态框,三等级模态框
let
vue_sjsstxnow
=
new
Vue
({
el
:
'
#myModal_sjcx
'
,
data
:
{
yjsj_data
:
[],
ejsj_data
:
[],
sjsj_data
:
[],
index
:
0
,
},
methods
:
{
djxx_modal
:
function
(
item
)
{
vue_sjsstx_li
.
data_wfsp
=
[];
vue_sjsstx_li
.
data_wfsp
=
item
.
src
;
vue_sjsstx_li
.
data_sj
=
{
lx
:
item
.
sjlx
,
bjsj
:
item
.
bjsj
,
dwmc
:
item
.
dwmc
,
};
vue_sjsstx_li
.
arrs
=
{
timeSpeed
:
0
,
timeIntervalSign
:
null
,
timeIndex
:
0
,
videoMessage
:
''
,
};
// monitor_sx(item.videoid, 'my_video_1', vue_sjsstx_li.arrs, 2);
$
(
"
#myModal_li
"
).
modal
(
'
show
'
);
},
cli_input
:
function
(
item
,
e
,
indexs
,
a
)
{
this
.
index
++
;
vue_jkgl
.
is_bd
=
true
;
let
iscz
=
false
;
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
;
info_new
(
"
此监控已在右侧展现,同一监控不可再次添加
"
);
window
.
setTimeout
(
"
$('#info-warning-new').modal('hide')
"
,
2000
);
}
else
{
if
(
a
==
1
)
{
vue_sjsstxnow
.
yjsj_data
[
indexs
].
checked
=
true
;
}
else
if
(
a
==
2
)
{
vue_sjsstxnow
.
ejsj_data
[
indexs
].
checked
=
true
;
}
else
{
vue_sjsstxnow
.
sjsj_data
[
indexs
].
checked
=
true
;
}
let
ids
=
'
bd_
'
+
(
this
.
index
);
vue_jkgl
.
data_sd
.
push
({
name
:
item
.
dwmc
,
id
:
ids
,
video_id
:
item
.
videoid
,
timeSpeed
:
0
,
timeIntervalSign
:
null
,
timeIndex
:
0
,
videoMessage
:
''
,
});
// monitor_sx(item.videoid, ids, vue_jkgl.data_sd[vue_jkgl.data_sd.length-1], 3);
}
}
else
{
if
(
a
==
1
)
{
vue_sjsstxnow
.
yjsj_data
[
indexs
].
checked
=
false
;
}
else
if
(
a
==
2
)
{
vue_sjsstxnow
.
ejsj_data
[
indexs
].
checked
=
false
;
}
else
{
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
.
splice
(
index
,
1
);
}
});
if
(
vue_jkgl
.
data_sd
.
length
==
0
)
{
vue_jkgl
.
is_bd
=
false
;
}
}
},
state_cli
:
function
(
item
,
e
,
index
,
type
)
{
let
json_s
=
[];
json_s
.
push
({
recordid
:
item
.
recordid
+
''
,
channelid
:
item
.
channelid
,
fdid
:
item
.
fdid
,
recordtime
:
item
.
recordtime
,
recordtype
:
item
.
recordtype
.
toLowerCase
(),
processstatus
:
e
});
$
.
ajax
({
url
:
"
/TrafficStatistics/updateTraffalarmrecordById
"
,
dateType
:
'
json
'
,
type
:
"
POST
"
,
contentType
:
'
application/json
'
,
data
:
JSON
.
stringify
(
json_s
),
success
:
function
(
result
)
{
if
(
result
.
code
==
0
)
{
info_new
(
"
处理成功
"
);
window
.
setTimeout
(
"
$('#info-warning-new').modal('hide')
"
,
2000
);
if
(
type
==
1
)
{
vue_sjsstxnow
.
yjsj_data
[
index
].
ss_type
=
e
;
}
else
if
(
type
==
2
)
{
vue_sjsstxnow
.
ejsj_data
[
index
].
ss_type
=
e
;
}
else
{
vue_sjsstxnow
.
sjsj_data
[
index
].
ss_type
=
e
;
}
}
}
});
}
},
mounted
(){
}
});
function
toTree
(
list
,
parId
)
{
let
len
=
list
.
length
;
...
...
@@ -584,19 +746,20 @@ $('[data-gallery=manual]').click(function (e) {
new
PhotoViewer
(
items
,
options
);
});
let
d
=
new
Date
().
getTime
();
let
web_ip
=
"
ws:/
localhost
:8089/websocket/
"
+
d
;
let
web_ip
=
"
ws:/
172.16.24.153
:8089/websocket/
"
+
d
;
let
wss
=
new
WebSocket
(
web_ip
);
wss
.
onopen
=
function
()
{
console
.
log
(
"
连接成功
"
);
// var from = {"serialNo": "xxx", "idNo": "xxx"};
// wss[i].send(JSON.stringify(from));//发送参数
};
wss
.
onmessage
=
function
(
evt
)
{
var
data
=
JSON
.
parse
(
event
.
data
);
// console.log(data);
if
(
data
.
type
==
"
alarm
"
)
{
if
(
data
.
data
.
recordtype
==
'
ROADWORKS
'
||
data
.
data
.
recordtype
==
'
ROADWORKS_OUT_OF_LINE
'
)
{
//排除工程检测
if
(
data
)
{
if
(
state_sj
==
false
)
{
if
(
!
vue_sjcx
.
check_s
)
{
return
;
}
vue_sjcx
.
query
(
1
,
true
);
return
;
}
//if_cz 判断前来的事件是不是本部门下的
...
...
@@ -604,19 +767,172 @@ wss.onmessage = function (evt) {
//jk_video_id为监控id
// let a_id = data.data.video_id.slice(0, data.data.video_id.length - 1) + (parseInt(data.data.video_id.slice(data.data.video_id.length - 1, data.data.video_id.length)) + 1) + '';
let
jk_video_id
=
data
.
data
.
fdid
+
"
_
"
+
data
.
data
.
channelid
;
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
)
{
vue_sjcx
.
jk_s
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
VIDOID
==
jk_video_id
)
{
if_cz
=
true
;
}
});
if
(
if_cz
)
{
//事件id
let
sjid
=
data
.
id
;
//报警时间
let
sj
=
data
.
recordtime
;
//事件类型
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;
// }
// });
//监控名称
let
jkmc
=
''
;
vue_sjcx
.
jk_arr
.
forEach
((
item
,
index
)
=>
{
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
});
});
//右边消息弹出框的id
let
tss
=
'
a
'
+
data
.
recordtime
;
//判断三级弹出框是否已经弹出,没有弹出,则清空,若是弹出,则继续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
);
$
(
this
).
prop
(
"
checked
"
,
false
);
});
}
if
(
sjdj
==
'
1
'
)
{
$
(
"
#a1s
"
).
collapse
();
vue_sjsstxnow
.
yjsj_data
.
unshift
({
src
:
wfsp
,
videoid
:
jk_video_id
,
dwmc
:
jkmc
,
sjlx
:
bjlx
,
bjsj
:
sj
,
checked
:
false
,
recordid
:
sjid
,
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
.
recordtype
,
ss_type
:
''
,
});
setTimeout
(
function
()
{
$
(
"
#a1s .carousel-indicators li
"
).
removeClass
(
"
active
"
);
$
(
"
#a1s .carousel-inner > div
"
).
removeClass
(
"
active
"
);
$
(
"
#a1s .carousel-indicators li:first-child
"
).
addClass
(
"
active
"
);
$
(
"
#a1s .carousel-inner > div:first-child
"
).
addClass
(
"
active
"
);
// #点击轮播图下方小圆点可以改变轮播图片
$
(
"
#a1s li
"
).
click
(
function
()
{
var
index
=
$
(
this
).
attr
(
"
data-slide-to
"
);
$
(
'
#a1s
'
).
carousel
(
parseInt
(
index
))
});
$
(
'
#a1s
'
).
carousel
({
interval
:
3000
,
});
vue_sjcx
.
query
(
1
,
true
);
},
200
);
},
500
);
}
else
if
(
sjdj
==
'
2
'
)
{
$
(
"
#a2s
"
).
collapse
();
vue_sjsstxnow
.
ejsj_data
.
unshift
({
src
:
wfsp
,
videoid
:
jk_video_id
,
dwmc
:
jkmc
,
sjlx
:
bjlx
,
bjsj
:
sj
,
checked
:
false
,
recordid
:
sjid
,
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
.
recordtype
,
ss_type
:
''
,
});
setTimeout
(
function
()
{
$
(
"
#a2s .carousel-indicators li
"
).
removeClass
(
"
active
"
);
$
(
"
#a2s .carousel-inner > div
"
).
removeClass
(
"
active
"
);
$
(
"
#a2s .carousel-indicators li:first-child
"
).
addClass
(
"
active
"
);
$
(
"
#a2s .carousel-inner > div:first-child
"
).
addClass
(
"
active
"
);
// #点击轮播图下方小圆点可以改变轮播图片
$
(
"
#a2s li
"
).
click
(
function
()
{
var
index
=
$
(
this
).
attr
(
"
data-slide-to
"
);
$
(
'
#a2s
'
).
carousel
(
parseInt
(
index
))
});
$
(
'
#a2s
'
).
carousel
({
interval
:
3000
,
});
vue_sjcx
.
query
(
1
,
true
);
},
500
);
}
else
if
(
sjdj
==
'
3
'
)
{
$
(
"
#a3s
"
).
collapse
();
vue_sjsstxnow
.
sjsj_data
.
unshift
({
src
:
wfsp
,
videoid
:
jk_video_id
,
dwmc
:
jkmc
,
sjlx
:
bjlx
,
bjsj
:
sj
,
checked
:
false
,
recordid
:
sjid
,
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
,
ss_type
:
''
,
});
setTimeout
(
function
()
{
$
(
"
#a3s .carousel-indicators li
"
).
removeClass
(
"
active
"
);
$
(
"
#a3s .carousel-inner > div
"
).
removeClass
(
"
active
"
);
$
(
"
#a3s .carousel-indicators li:first-child
"
).
addClass
(
"
active
"
);
$
(
"
#a3s .carousel-inner > div:first-child
"
).
addClass
(
"
active
"
);
// #点击轮播图下方小圆点可以改变轮播图片
$
(
"
#a3s li
"
).
click
(
function
()
{
var
index
=
$
(
this
).
attr
(
"
data-slide-to
"
);
$
(
'
#a3s
'
).
carousel
(
parseInt
(
index
))
});
$
(
'
#a3s
'
).
carousel
({
interval
:
3000
,
});
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
();
//播放声音
let
myMp3
=
document
.
getElementById
(
"
audio
"
);
// audio.play();
}
}
};
\ No newline at end of file
}
\ No newline at end of file
src/main/resources/templates/page/sjcx.html
View file @
1c9f34e4
...
...
@@ -11,7 +11,8 @@
<link
rel=
"stylesheet"
href=
"../bootstrap/css/bootstrap-switch.min.css"
>
<link
rel=
"stylesheet"
href=
"../css/sjcx.css"
>
<link
rel=
"stylesheet"
href=
"../css/photoviewer.css"
>
<!--<link rel="stylesheet" href="../css/viewer.min.css">-->
<link
rel=
"stylesheet"
href=
"../css/animate.css"
>
<link
rel=
"stylesheet"
href=
"../css/noticejs.css"
>
<!--<link rel="stylesheet" href="../css/viewer.min.css">-->
<title>
事件查询
</title>
</head>
<body>
...
...
@@ -31,7 +32,7 @@
<div
id=
"tree-xzxq"
style=
"height: calc(100% - 80px);overflow-x: auto;float: left;width: 100%;"
></div>
</div>
<div
id=
"sjcx_s"
class=
"div-right"
>
<
div
class=
"div-right-top"
>
<
span
class=
"div-right-top"
>
<span
class=
"pub-span"
>
检测时间:
</span>
<input
type=
"text"
class=
"form-control input-pub"
id=
"kssj"
style=
"width: 300px;"
placeholder=
"请选择开始时间至结束时间"
>
<!--<span class="pub-span" style="display:none">车辆类型</span>-->
...
...
@@ -48,12 +49,15 @@
</select>
<span
class=
"pub-span"
style=
"margin-left: 10px;"
>
自动刷新
</span>
<input
type=
"checkbox"
id=
"push"
@
click=
"zdsx"
style=
"width: 17px;height: 17px;margin-top: 16px;"
/>
</span>
<span
class=
"glyphicon glyphicon-th-list table-class"
:style=
"{'color':!show?'#368ff3 !important':''}"
@
click=
"qh_tab(1)"
></span>
<span
class=
"glyphicon glyphicon-th table-class"
:style=
"{'color':show?'#368ff3 !important':''}"
@
click=
"qh_tab(2)"
></span>
</div>
<div>
<span
class=
"pub-span"
style=
"margin-left: 10px;"
>
自动弹窗
<input
id=
"status"
type=
"checkbox"
@
click=
"zdtx"
checked
>
</span>
</span>
<div>
<span
style=
"float:left;line-height: 52px;margin-right: 10px;"
>
事件类型:
</span>
<ul
class=
"nav nav-pills "
role=
"tablist"
>
<li
role=
"presentation"
:class=
"['tab-pane',(index==num)?'active':'']"
...
...
@@ -164,7 +168,233 @@
</div>
</div>
</div>
<!--事件实时提醒弹出框三级弹框-->
<div
class=
"modal fade"
id=
"myModal_sjcx"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
>
<div
class=
"modal-dialog"
role=
"document"
style=
"width: 700px;"
>
<div
class=
"modal-content"
style=
"color: #e6eaef;width: 700px;"
>
<div
class=
"modal-header"
style=
"background-color: rgb(48, 53, 72);"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Close"
><span
aria-hidden=
"true"
style=
"color: white;"
>
×
</span></button>
<h6
class=
"modal-title"
>
事件实时提醒
</h6>
</div>
<div
class=
"modal-body"
style=
"height: 780px;"
>
<div>
<div
id=
"a1s"
class=
"carousel"
data-ride=
"carousel"
>
<ol
class=
"carousel-indicators"
>
<li
data-target=
"#a1s"
:data-slide-to=
"index"
v-for=
"(item,index) in yjsj_data"
></li>
</ol>
<div
class=
"carousel-inner"
role=
"listbox"
>
<div
class=
"item"
v-for=
"(item,index) in yjsj_data"
>
<img
:src=
"item.src[0].img_src"
alt=
"..."
@
click=
"djxx_modal(item)"
>
<div
style=
"float: left;margin-left: 20px;width: 270px;"
>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
报警时间:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.bjsj"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
事件类型:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.sjlx"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
点位名称:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.dwmc"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
处理状态:
</span>
</div>
<div
class=
"div_modal_span1"
>
<button
type=
"button"
v-show=
"item.ss_type==''"
class=
"btn btn-sm"
@
click=
"state_cli(item,1,index,1)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;background: #368ff3;border: 1px solid #929292;color: white;"
>
正检
</button>
<button
type=
"button"
v-show=
"item.ss_type==''"
class=
"btn btn-sm"
@
click=
"state_cli(item,2,index,1)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;background: #ffffff;border: 1px solid #f94646;color: #f94646;"
>
误检
</button>
<button
type=
"button"
v-show=
"item.ss_type==''"
class=
"btn btn-sm"
@
click=
"state_cli(item,3,index,1)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;color: #717171;"
>
重复事件
</button>
<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="'ass_'+index" :value="item.videoid" :checked="item.checked"-->
<!--style="width: 19px;height: 19px;" @click="cli_input(item,$event,index,1)"/>-->
<!--</div>-->
<!--</div>-->
</div>
</div>
</div>
<a
class=
"left carousel-control"
href=
"#a1s"
role=
"button"
data-slide=
"prev"
>
<span
class=
"glyphicon glyphicon-chevron-left"
aria-hidden=
"true"
></span>
<span
class=
"sr-only"
>
Previous
</span>
</a>
<a
class=
"right carousel-control"
href=
"#a1s"
role=
"button"
data-slide=
"next"
>
<span
class=
"glyphicon glyphicon-chevron-right"
aria-hidden=
"true"
></span>
<span
class=
"sr-only"
>
Next
</span>
</a>
</div>
<div
class=
"show-icon"
style=
"background: #e80000;"
>
一级
</div>
</div>
<div>
<div
id=
"a2s"
class=
"carousel"
data-ride=
"carousel"
>
<ol
class=
"carousel-indicators"
>
<li
data-target=
"#a2s"
:data-slide-to=
"index"
v-for=
"(item,index) in ejsj_data"
></li>
</ol>
<div
class=
"carousel-inner"
role=
"listbox"
>
<div
class=
"item"
v-for=
"(item,index) in ejsj_data"
>
<img
:src=
"item.src[0].img_src"
alt=
"..."
@
click=
"djxx_modal(item)"
>
<div
style=
"float: left;margin-left: 20px;width: 270px;"
>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
报警时间:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.bjsj"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
事件类型:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.sjlx"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
点位名称:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.dwmc"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
处理状态:
</span>
</div>
<div
class=
"div_modal_span1"
>
<button
type=
"button"
v-show=
"item.ss_type==''"
class=
"btn btn-sm"
@
click=
"state_cli(item,1,index,2)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;background: #368ff3;border: 1px solid #929292;color: white;"
>
正检
</button>
<button
type=
"button"
v-show=
"item.ss_type==''"
class=
"btn btn-sm"
@
click=
"state_cli(item,2,index,2)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;background: #ffffff;border: 1px solid #f94646;color: #f94646;"
>
误检
</button>
<button
type=
"button"
v-show=
"item.ss_type==''"
class=
"btn btn-sm"
@
click=
"state_cli(item,3,index,2)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;color: #717171;"
>
重复事件
</button>
<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>
</div>
</div>
<a
class=
"left carousel-control"
href=
"#a2s"
role=
"button"
data-slide=
"prev"
>
<span
class=
"glyphicon glyphicon-chevron-left"
aria-hidden=
"true"
></span>
<span
class=
"sr-only"
>
Previous
</span>
</a>
<a
class=
"right carousel-control"
href=
"#a2s"
role=
"button"
data-slide=
"next"
>
<span
class=
"glyphicon glyphicon-chevron-right"
aria-hidden=
"true"
></span>
<span
class=
"sr-only"
>
Next
</span>
</a>
</div>
<div
class=
"show-icon"
style=
"background: #fb7e22;"
>
二级
</div>
</div>
<div>
<div
id=
"a3s"
class=
"carousel"
data-ride=
"carousel"
>
<ol
class=
"carousel-indicators"
>
<li
data-target=
"#a3s"
:data-slide-to=
"index"
v-for=
"(item,index) in sjsj_data"
></li>
</ol>
<div
class=
"carousel-inner"
role=
"listbox"
>
<div
class=
"item"
v-for=
"(item,index) in sjsj_data"
>
<img
:src=
"item.src[0].img_src"
alt=
"..."
@
click=
"djxx_modal(item)"
>
<div
style=
"float: left;margin-left: 20px;width: 270px;"
>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
报警时间:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.bjsj"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
事件类型:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.sjlx"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
点位名称:
</span>
</div>
<div
class=
"div_modal_span1"
>
<span
v-text=
"item.dwmc"
></span>
</div>
</div>
<div
class=
"div_modal"
>
<div
class=
"div_modal_span"
>
<span>
处理状态:
</span>
</div>
<div
class=
"div_modal_span1"
>
<button
v-show=
"item.ss_type==''"
type=
"button"
class=
"btn btn-sm"
@
click=
"state_cli(item,1,index,3)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;background: #368ff3;border: 1px solid #929292;color: white;"
>
正检
</button>
<button
v-show=
"item.ss_type==''"
type=
"button"
class=
"btn btn-sm"
@
click=
"state_cli(item,2,index,3)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;background: #ffffff;border: 1px solid #f94646;color: #f94646;"
>
误检
</button>
<button
v-show=
"item.ss_type==''"
type=
"button"
class=
"btn btn-sm"
@
click=
"state_cli(item,3,index,3)"
style=
"margin-top: 0px;padding: 2px 7px;float: none;color: #717171;"
>
重复事件
</button>
<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>
</div>
</div>
<a
class=
"left carousel-control"
href=
"#a3s"
role=
"button"
data-slide=
"prev"
>
<span
class=
"glyphicon glyphicon-chevron-left"
aria-hidden=
"true"
></span>
<span
class=
"sr-only"
>
Previous
</span>
</a>
<a
class=
"right carousel-control"
href=
"#a3s"
role=
"button"
data-slide=
"next"
>
<span
class=
"glyphicon glyphicon-chevron-right"
aria-hidden=
"true"
></span>
<span
class=
"sr-only"
>
Next
</span>
</a>
</div>
<div
class=
"show-icon"
style=
"background: #ffee00;"
>
三级
</div>
</div>
</div>
</div>
</div>
</div>
<!--事件实时提醒弹出框-->
<div
class=
"modal fade"
id=
"myModal"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
>
<div
class=
"modal-dialog"
role=
"document"
style=
"width: 650px;"
>
...
...
@@ -425,7 +655,56 @@
</div>
</div>
</div>
<!--事件实时提醒弹出框-->
<div
class=
"modal fade"
id=
"myModal_li"
tabindex=
"-1"
role=
"dialog"
aria-labelledby=
"myModalLabel"
>
<div
class=
"modal-dialog"
role=
"document"
style=
"width: 633px;"
>
<div
class=
"modal-content"
style=
"color: #e6eaef;width: 633px;"
>
<div
class=
"modal-header"
style=
"background-color: rgb(48, 53, 72);"
>
<button
type=
"button"
class=
"close"
data-dismiss=
"modal"
aria-label=
"Close"
><span
aria-hidden=
"true"
style=
"color: white;"
>
×
</span></button>
<h6
class=
"modal-title"
>
事件实时提醒
</h6>
</div>
<div
class=
"modal-body"
>
<div>
<div
class=
"top-video"
>
<video
controls
style=
"height: 100%;width: 100%;object-fit:fill;pointer-events: none;"
class=
"video-js"
autoplay
muted
id=
"my_video_1"
ref=
'video'
v-show=
"shows"
>
</video>
<img
:src=
"src_img"
v-show=
"!shows"
style=
"width: 100%;height: 100%;cursor: zoom-in;"
data-gallery=
"manual"
>
</div>
<div
class=
"pub-div"
v-show=
"!shows"
>
<div
class=
"div-img"
v-for=
"(item,index) in data_wfsp"
>
<img
:src=
"item.img_src"
@
click=
"click_img_bf(item.img_src)"
>
</div>
</div>
<div
class=
"pub-div"
>
<button
type=
"button"
class=
"btn btn-sm"
v-bind:class=
class_s
@
click=
"sp_qh(1)"
>
实时视频
</button>
<button
type=
"button"
class=
"btn btn-sm"
v-bind:class=
class_s1
@
click=
"sp_qh(2)"
>
事件图片
</button>
</div>
<div
style=
"color: #5d5d5d;"
class=
"pub-div"
>
<div
class=
"gjlx"
>
<span
v-text=
"data_sj.lx"
></span>
</div>
<div
class=
"pub-div-span"
>
<span>
报警时间:
</span>
<span
v-text=
"data_sj.bjsj"
></span>
</div>
<div
class=
"pub-div-span"
>
<span>
点位名称:
</span>
<span
v-text=
"data_sj.dwmc"
></span>
</div>
</div>
</div>
</div>
<div
class=
"modal-footer"
style=
"border-top:none"
>
<button
type=
"button"
class=
"btn btn-sm"
data-dismiss=
"modal"
style=
"color: #2f2f2f;"
>
关闭
</button>
</div>
</div>
</div>
</div>
</body>
<script
src=
"../js/jquery-3.1.1.min.js"
></script>
<!--<script src="../js/viewer.min.js"></script>-->
...
...
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