Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
A
ai-yunshou-vue
Project
Project
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
AI云守
ai-yunshou-vue
Commits
6eda0683
Commit
6eda0683
authored
Sep 06, 2024
by
胡占生
🇨🇳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 算法列表增加左侧ICON动态图标,视频管理按钮增加选中状态,增加预警 长轮询
parent
b0e7fe17
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
65 additions
and
17 deletions
+65
-17
src/utils/dict.js
src/utils/dict.js
+1
-1
src/views/alarmControl/index.vue
src/views/alarmControl/index.vue
+11
-2
src/views/algorithmList/components/details.vue
src/views/algorithmList/components/details.vue
+2
-2
src/views/algorithmList/index.vue
src/views/algorithmList/index.vue
+31
-5
src/views/videoControl/videoPreview/index.vue
src/views/videoControl/videoPreview/index.vue
+20
-7
No files found.
src/utils/dict.js
View file @
6eda0683
...
...
@@ -14,7 +14,7 @@ export function useDict(...args) {
res
.
value
[
dictType
]
=
dicts
;
}
else
{
getDicts
(
dictType
).
then
(
resp
=>
{
res
.
value
[
dictType
]
=
resp
.
data
.
map
(
p
=>
({
label
:
p
.
dictLabel
,
value
:
p
.
dictValue
,
elTagType
:
p
.
listClass
,
elTagClass
:
p
.
cssClass
}))
res
.
value
[
dictType
]
=
resp
.
data
.
map
(
p
=>
({
label
:
p
.
dictLabel
,
value
:
p
.
dictValue
,
elTagType
:
p
.
listClass
,
elTagClass
:
p
.
cssClass
,
remark
:
p
.
remark
}))
useDictStore
().
setDict
(
dictType
,
res
.
value
[
dictType
]);
})
}
...
...
src/views/alarmControl/index.vue
View file @
6eda0683
...
...
@@ -48,6 +48,7 @@
<el-button
type=
"primary"
plain
:class=
"isActive=='4'?'active':''"
@
click=
"changeDivision(12,4)"
>
四分屏
</el-button>
</el-col>
...
...
@@ -55,13 +56,15 @@
<el-button
type=
"primary"
plain
:class=
"isActive=='6'?'active':''"
@
click=
"changeDivision(8,6)"
>
六分屏
</el-button>
</el-col>
<el-col
:span=
"1.5"
>
<el-button
type=
"primary"
plain
type=
"primary"
plain
:class=
"isActive=='12'?'active':''"
@
click=
"changeDivision(6,12)"
>
十二分屏
</el-button>
</el-col>
...
...
@@ -120,6 +123,7 @@
const
ids
=
ref
([]);
const
total
=
ref
(
0
);
const
division
=
ref
(
6
);
const
isActive
=
ref
(
'
12
'
);
const
deviceList
=
ref
([]);
const
algList
=
ref
([]);
const
data
=
reactive
({
...
...
@@ -142,6 +146,7 @@
function
changeDivision
(
val
,
pageSize
){
division
.
value
=
val
queryParams
.
value
.
pageSize
=
pageSize
isActive
.
value
=
pageSize
getList
()
}
...
...
@@ -204,6 +209,10 @@
</
script
>
<
style
scoped
lang=
"scss"
>
.active
{
background-color
:
#409EFF
;
color
:
#fff
;
}
.search-input
{
display
:
flex
;
width
:
400px
;
...
...
src/views/algorithmList/components/details.vue
View file @
6eda0683
...
...
@@ -296,7 +296,7 @@ getDetials()
}
.img-box
{
// width: 500px;
min-height
:
365
px
;
min-height
:
200
px
;
// border: 1px solid #d8dce5;
border-radius
:
5px
;
text-align
:
center
;
...
...
@@ -411,7 +411,7 @@ getDetials()
text-align
:
left
;
font-style
:
normal
;
text-transform
:
none
;
min-height
:
1
8
0px
;
min-height
:
1
2
0px
;
}
.text-style
{
font-family
:
PingFang
SC
,
PingFang
SC
;
...
...
src/views/algorithmList/index.vue
View file @
6eda0683
...
...
@@ -27,14 +27,17 @@
default-active=
"2"
class=
"el-menu-vertical-demo"
>
<el-menu-item
:index=
"''"
@
click=
"handMenuClick"
>
<span>
全部
</span>
</el-menu-item>
<el-menu-item
:index=
"'我的算法'"
@
click=
"handMenuClick"
>
<span>
我的算法
</span>
<span><el-icon
style=
"color: #7F8184;"
><component
:is=
"'HomeFilled'"
/></el-icon>
我的算法
</span>
</el-menu-item>
<el-divider
style=
"margin: 5px 0;"
/>
<el-menu-item
:index=
"''"
@
click=
"handMenuClick"
>
<span>
<el-icon
style=
"color: #7F8184;"
><component
:is=
"'DeleteFilled'"
/></el-icon>
全部
</span>
</el-menu-item>
<el-menu-item
v-for=
"item in algorithm_scen"
:key=
"item.value"
:index=
"item.value"
@
click=
"handMenuClick"
>
<span
style=
"display: flex;align-items: center;"
>
<el-icon
style=
"color: #7F8184;"
><component
:is=
"iconComponent(item.remark)"
/></el-icon>
</span>
<span>
{{ item.label }}
</span>
</el-menu-item>
</el-menu>
...
...
@@ -161,6 +164,10 @@
const
nowText
=
ref
(
'
算法管理
'
)
const
nowTopTitle
=
ref
(
'
算法管理
'
)
const
ids
=
ref
([]);
// const iconComponent = ref('');
// setTimeout(() => {
// iconComponent.value='CirclePlusFilled'
// }, 1000);
const
algorithmList
=
reactive
([])
const
algList
=
ref
([]);
const
data
=
reactive
({
...
...
@@ -210,6 +217,15 @@
getList
()
}
function
iconComponent
(
row
){
if
(
row
){
return
row
}
else
{
return
'
CirclePlusFilled
'
}
}
function
handleEnable
(
row
){
const
params
=
{
algorithmStatus
:
row
.
algorithmStatus
==
'
1
'
?
"
0
"
:
"
1
"
,
...
...
@@ -232,6 +248,16 @@
proxy
.
$modal
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(()
=>
{});
}
//
function
handeImg
(
row
){
if
(
row
){
return
`src/assets/algImg/
${
row
}
.png`
}
else
{
return
`src/assets/algImg/setting.png`
}
}
getList
();
</
script
>
...
...
src/views/videoControl/videoPreview/index.vue
View file @
6eda0683
...
...
@@ -71,7 +71,7 @@
</el-col>
<el-col
:xs=
"0"
:sm=
"2"
:md=
"3"
:lg=
"6"
>
<el-scrollbar
:height=
"globalScreenHeight+'px'"
>
<el-card
class=
"danger-list"
>
<el-card
class=
"danger-list"
:style=
"{minHeight:globalScreenHeight+'px'}"
>
<
template
v-slot:header
>
<div
class=
"cleartitle"
style=
"justify-content: flex-start"
>
<img
src=
"@/assets/images/logo_video.png"
width=
"25px"
alt
/>
...
...
@@ -170,11 +170,7 @@ function getTreeData() {
deptOptions
.
value
=
res
.
data
})
}
function
getWaringData
()
{
listAlarm
(
queryParams
.
value
).
then
((
res
)
=>
{
algorithmList
.
value
=
res
.
rows
})
}
function
getVideos
(
str
){
let
canvas
=
document
.
getElementById
(
'
video
'
)
let
url
=
str
?
str
:
'
rtsp://192.168.20.211:554/av0_0
'
...
...
@@ -198,6 +194,7 @@ function handleNodeClick(row) {
queryParams
.
value
.
regionId
=
treeID
;
queryParams
.
value
.
locationId
=
null
;
}
clearTimeout
(
timeoutId
);
getWaringData
()
}
function
handjudge
(
row
)
{
...
...
@@ -216,6 +213,23 @@ function handlvideoPath(id) {
getVideos
(
res
.
data
.
videoUrl
)
})
}
let
timeoutId
=
null
;
function
getWaringData
()
{
listAlarm
(
queryParams
.
value
).
then
((
res
)
=>
{
algorithmList
.
value
=
res
.
rows
timeoutId
=
setTimeout
(
getWaringData
,
30000
);
}).
catch
((
error
)
=>
{
// 请求失败,重新尝试
timeoutId
=
setTimeout
(
getWaringData
,
30000
);
});
}
onUnmounted
(()
=>
{
// 清除定时器
if
(
timeoutId
)
{
clearTimeout
(
timeoutId
);
}
});
</
script
>
<
style
scoped
lang=
"scss"
>
...
...
@@ -240,7 +254,6 @@ function handlvideoPath(id) {
}
}
.danger-list
{
min-height
:
700px
;
.alg-list
{
display
:
grid
;
grid-template-columns
:
repeat
(
minmax
(
180px
,
1fr
));
...
...
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