Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Y
yindong-tongbai-automation
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
lichunliang
yindong-tongbai-automation
Commits
5d85dd25
Commit
5d85dd25
authored
Mar 26, 2025
by
forevertyler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix:sth
parent
94f14cb7
Changes
24
Show whitespace changes
Inline
Side-by-side
Showing
24 changed files
with
740 additions
and
63 deletions
+740
-63
vidPart.js
src/api/tyler/vidPart.js
+53
-0
videoTable.js
src/api/tyler/videoTable.js
+53
-0
~$矿业智能化矿山基础平台建设项目(安胜修改版).docx
src/assets/images/~$矿业智能化矿山基础平台建设项目(安胜修改版).docx
+0
-0
安胜矿业智能化矿山基础平台建设项目(安胜修改版).docx
src/assets/images/安胜矿业智能化矿山基础平台建设项目(安胜修改版).docx
+0
-0
dlxt.vue
src/views/Screen/items/dlxt.vue
+62
-36
index.vue
src/views/drainage/drainageDev/index.vue
+0
-0
index.vue
src/views/drainage/waterPumpAlarmHis/index.vue
+0
-0
index.vue
src/views/drainage/waterPumpHis/index.vue
+0
-0
index.vue
src/views/drainage/waterPumpSwitchHis/index.vue
+0
-0
index.vue
src/views/monitoringDevices/envMonitoringAlarm/index.vue
+1
-0
index.vue
src/views/monitoringDevices/envMonitoringHis/index.vue
+1
-0
index.vue
src/views/personPos/areaHis/index.vue
+3
-1
index.vue
src/views/personPos/attendance/index.vue
+1
-0
index.vue
src/views/personPos/perReal/index.vue
+1
-1
index.vue
src/views/personPos/personPosAlarmHis/arerAlarm/index.vue
+9
-2
index.vue
...views/personPos/personPosAlarmHis/communication/index.vue
+17
-17
index.vue
src/views/personPos/personPosAlarmHis/overperson/index.vue
+9
-2
index.vue
src/views/personPos/personPosAlarmHis/overtime/index.vue
+6
-0
index.vue
...views/personPos/personPosAlarmHis/underperAlarm/index.vue
+9
-2
index.vue
src/views/personPos/personPosAlarmHis/workAlarm/index.vue
+9
-2
index.vue
src/views/surveillance/SurveillanceConfig/index.vue
+34
-0
videoLeft.vue
src/views/surveillance/SurveillanceConfig/videoLeft.vue
+213
-0
videoRight.vue
src/views/surveillance/SurveillanceConfig/videoRight.vue
+242
-0
index.vue
src/views/surveillance/videoSurveillance/index.vue
+17
-0
No files found.
src/api/tyler/vidPart.js
0 → 100644
View file @
5d85dd25
import
request
from
'
@/utils/request
'
// 查询视频分区列表
export
function
listVideoPart
(
query
)
{
return
request
({
url
:
'
/business/part/list
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询视频分区所有列表
export
function
listAllVideoPart
(
query
)
{
return
request
({
url
:
'
/business/part/listAll
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询视频分区详细
export
function
getVideoPart
(
id
)
{
return
request
({
url
:
'
/business/part/getInfo/
'
+
id
,
method
:
'
get
'
})
}
// 新增视频分区
export
function
addVideoPart
(
data
)
{
return
request
({
url
:
'
/business/part/add
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改视频分区
export
function
updateVideoPart
(
data
)
{
return
request
({
url
:
'
/business/part/edit
'
,
method
:
'
post
'
,
data
:
data
})
}
// 删除视频分区
export
function
delVideoPart
(
id
)
{
return
request
({
url
:
'
/business/part/remove/
'
+
id
,
method
:
'
get
'
})
}
src/api/tyler/videoTable.js
0 → 100644
View file @
5d85dd25
import
request
from
'
@/utils/request
'
// 查询摄像头列列表
export
function
listVideoTable
(
query
)
{
return
request
({
url
:
'
/business/table/list
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询摄像头列所有列表
export
function
listAllVideoTable
(
query
)
{
return
request
({
url
:
'
/business/table/listAll
'
,
method
:
'
get
'
,
params
:
query
})
}
// 查询摄像头列详细
export
function
getVideoTable
(
id
)
{
return
request
({
url
:
'
/business/table/getInfo/
'
+
id
,
method
:
'
get
'
})
}
// 新增摄像头列
export
function
addVideoTable
(
data
)
{
return
request
({
url
:
'
/business/table/add
'
,
method
:
'
post
'
,
data
:
data
})
}
// 修改摄像头列
export
function
updateVideoTable
(
data
)
{
return
request
({
url
:
'
/business/table/edit
'
,
method
:
'
post
'
,
data
:
data
})
}
// 删除摄像头列
export
function
delVideoTable
(
id
)
{
return
request
({
url
:
'
/business/table/remove/
'
+
id
,
method
:
'
get
'
})
}
src/assets/images/~$矿业智能化矿山基础平台建设项目(安胜修改版).docx
deleted
100644 → 0
View file @
94f14cb7
File deleted
src/assets/images/安胜矿业智能化矿山基础平台建设项目(安胜修改版).docx
deleted
100644 → 0
View file @
94f14cb7
File deleted
src/views/Screen/items/dlxt.vue
View file @
5d85dd25
...
...
@@ -3,62 +3,61 @@
<div
class=
"home"
>
<div
id=
"dlxt"
>
<div
class=
"dlxt-change"
>
<span
@
click=
"changeBtn(1)"
:class=
"showBtn == 1 ? 'active' : ''"
>
XX变电站
</span>
<span
@
click=
"changeBtn(2)"
:class=
"showBtn == 2 ? 'active' : ''"
>
XX变电站
</span>
<span
@
click=
"changeBtn(1)"
:class=
"showBtn == 1 ? 'active' : ''"
>
{{
getSubstationName
(
1
)
}}
</span>
<span
@
click=
"changeBtn(2)"
:class=
"showBtn == 2 ? 'active' : ''"
>
{{
getSubstationName
(
2
)
}}
</span>
</div>
<div
class=
"dlxt-bg dlxt-bg1"
>
<div
class=
"dlxt-val dlxt-val1"
:style=
"
{ color: getColor('1') }">●
{{
getLabel
(
'
1
'
)
}}
</div>
<div
class=
"dlxt-val dlxt-val2"
:style=
"
{ color: getColor('2') }">●
{{
getLabel
(
'
2
'
)
}}
</div>
<div
class=
"dlxt-val dlxt-val3"
:style=
"
{ color: getColor('3') }">●
{{
getLabel
(
'
3
'
)
}}
</div>
<div
class=
"dlxt-val dlxt-val4"
:style=
"
{ color: getColor('1') }">●
{{
getLabel
(
'
1
'
)
}}
</div>
<div
class=
"dlxt-val dlxt-val5"
:style=
"
{ color: getColor('2') }">●
{{
getLabel
(
'
2
'
)
}}
</div>
<div
class=
"dlxt-val dlxt-val6"
:style=
"
{ color: getColor('3') }">●
{{
getLabel
(
'
3
'
)
}}
</div>
<div
v-for=
"(item,index) in eleName"
class=
"dlxt-tit"
:class=
"`dlxt-tit$
{index+1}`">
<p>
{{
item
}}
</p></div>
<div
v-for=
"i in 6"
class=
"dlxt-list"
:class=
"`dlxt-list$
{i}`">
<p><span>
{{
'
la
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
'
A
'
}}
</span></p>
<p><span>
{{
'
lc
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
'
A
'
}}
</span></p>
<p><span>
{{
'
P
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
'
kW
'
}}
</span></p>
<p><span>
{{
'
Q
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
'
kVar
'
}}
</span></p>
<p><span>
{{
'
COS
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
''
}}
</span></p>
<p><span>
{{
'
Ep
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
'
kWh
'
}}
</span></p>
<p><span>
{{
'
Eq
'
}}
</span>
:
<span>
{{
'
6.00
'
}}
</span><span>
{{
'
kVarh
'
}}
</span></p>
<div
v-for=
"(status, index) in statusNames"
:key=
"index"
class=
"dlxt-val"
:class=
"`dlxt-val$
{index + 1}`" :style="{ color: getColor(status) }">
●
{{
getLabel
(
status
)
}}
</div>
<div
v-for=
"(item, index) in eleName"
:key=
"index"
class=
"dlxt-tit"
:class=
"`dlxt-tit$
{index + 1}`">
<p>
{{
item
}}
</p></div>
<div
v-for=
"(params, index) in formattedParameters"
:key=
"index"
class=
"dlxt-list"
:class=
"`dlxt-list$
{index + 1}`">
<p
v-for=
"param in params"
:key=
"param.name"
>
<span>
{{
param
.
name
}}
</span>
:
<span>
{{
param
.
value
}}
</span><span>
{{
param
.
unit
}}
</span>
</p>
</div>
</div>
</div>
</div>
</div>
</
template
>
<
script
>
import
{
eleAll
,
}
from
"
@/api/tyler/screen
"
;
import
{
eleAll
}
from
"
@/api/tyler/screen
"
;
export
default
{
name
:
"
dlxt
"
,
dicts
:
[
'
power_val
'
],
data
()
{
return
{
showBtn
:
1
,
eleName
:
[
'
35KV进线柜
'
,
'
35KVPT柜
'
,
'
35KV主变出线柜
'
,
'
13AH金采柜
'
,
'
14AH金沙柜
'
,
'
15AH金沙柜
'
],
showBtn
:
1
,
eleName
:
[
],
colors
:
[
'
#20F09F
'
,
'
#00FCFF
'
,
'
#00C6FF
'
],
eleAllData
:[],
eleAllData
:
[],
substations
:
[],
formattedParameters
:
[],
statusNames
:
[]
// 用于存储 eleboxStatusName
};
},
created
()
{
this
.
eleAllList
();
},
methods
:
{
changeBtn
(
val
)
{
this
.
showBtn
=
val
;
if
(
val
==
1
){
this
.
eleName
=
[
'
35KV进线柜
'
,
'
35KVPT柜
'
,
'
35KV主变出线柜
'
,
'
13AH金采柜
'
,
'
14AH金沙柜
'
,
'
15AH金沙柜
'
]
}
else
if
(
val
==
2
){
this
.
eleName
=
[
'
35KV进线柜2
'
,
'
35KVPT柜2
'
,
'
35KV主变出线柜
'
,
'
13AH金采柜
'
,
'
14AH金沙柜
'
,
'
15AH金沙柜
'
]
const
substation
=
this
.
substations
.
find
(
s
=>
s
.
index
===
val
);
if
(
substation
)
{
this
.
eleName
=
substation
.
eleNames
;
this
.
formattedParameters
=
substation
.
parameters
;
this
.
statusNames
=
substation
.
statusNames
;
}
},
getSubstationName
(
val
)
{
const
substation
=
this
.
substations
.
find
(
s
=>
s
.
index
===
val
);
return
substation
?
substation
.
name
:
'
XX变电站
'
;
},
getLabel
(
value
)
{
const
item
=
this
.
dict
.
type
.
power_val
.
find
(
item
=>
item
.
value
===
value
);
return
item
?
item
.
label
:
'
暂无数据
'
;
...
...
@@ -67,14 +66,41 @@ export default {
const
index
=
this
.
dict
.
type
.
power_val
.
findIndex
(
item
=>
item
.
value
===
value
);
return
index
!==
-
1
&&
this
.
colors
[
index
]
?
this
.
colors
[
index
]
:
'
#fff
'
;
},
//获取
eleAllList
(){
eleAllList
()
{
eleAll
().
then
(
res
=>
{
this
.
eleAllData
=
res
.
data
console
.
log
(
res
.
data
,
'
res.data
'
)
})
},
this
.
eleAllData
=
res
.
data
;
this
.
processData
(
res
.
data
);
});
},
processData
(
data
)
{
this
.
substations
=
data
.
map
((
item
,
index
)
=>
{
const
eleNames
=
item
.
data
.
eleboxNameList
.
map
(
ele
=>
ele
.
eleboxName
);
const
parameters
=
item
.
data
.
eleboxNameList
.
map
(
ele
=>
{
return
ele
.
eleboxParameterList
.
map
(
param
=>
({
name
:
param
.
eleboxParameterName
.
toLowerCase
(),
value
:
param
.
eleboxParameterValue
,
unit
:
param
.
eleboxParameterUnits
}));
});
const
statusNames
=
item
.
data
.
eleboxNameList
.
map
(
ele
=>
ele
.
eleboxStatusName
);
return
{
index
:
index
+
1
,
name
:
item
.
name
,
eleNames
,
parameters
,
statusNames
};
});
// 默认显示第一个变电站的数据
if
(
this
.
substations
.
length
>
0
)
{
this
.
eleName
=
this
.
substations
[
0
].
eleNames
;
this
.
formattedParameters
=
this
.
substations
[
0
].
parameters
;
this
.
statusNames
=
this
.
substations
[
0
].
statusNames
;
}
}
}
};
</
script
>
...
...
src/views/drainage/drainageDev/index.vue
0 → 100644
View file @
5d85dd25
src/views/drainage/waterPumpAlarmHis/index.vue
0 → 100644
View file @
5d85dd25
src/views/drainage/waterPumpHis/index.vue
0 → 100644
View file @
5d85dd25
src/views/drainage/waterPumpSwitchHis/index.vue
0 → 100644
View file @
5d85dd25
src/views/monitoringDevices/envMonitoringAlarm/index.vue
View file @
5d85dd25
...
...
@@ -206,6 +206,7 @@
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
this
.
dateRange
=
[];
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
...
...
src/views/monitoringDevices/envMonitoringHis/index.vue
View file @
5d85dd25
...
...
@@ -141,6 +141,7 @@
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
this
.
dateRange
=
[];
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
...
...
src/views/personPos/areaHis/index.vue
View file @
5d85dd25
...
...
@@ -50,9 +50,10 @@
<el-table
id=
"printArea"
v-loading=
"loading"
:data=
"areaList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
label=
"
区域名称"
align=
"center"
prop=
"area
Name"
/>
<el-table-column
label=
"
姓名"
align=
"center"
prop=
"per
Name"
/>
<el-table-column
label=
"人员卡号"
align=
"center"
prop=
"cardNumber"
/>
<el-table-column
label=
"部门"
align=
"center"
prop=
"departName"
/>
<el-table-column
label=
"区域名称"
align=
"center"
prop=
"areaName"
/>
<el-table-column
label=
"进入时间"
align=
"center"
prop=
"entryTime"
>
<template
slot-scope=
"scope"
>
<span>
{{
parseTime
(
scope
.
row
.
entryTime
)
}}
</span>
...
...
@@ -206,6 +207,7 @@
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
dateRange
=
[]
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
...
...
src/views/personPos/attendance/index.vue
View file @
5d85dd25
...
...
@@ -218,6 +218,7 @@ export default {
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
this
.
dateRange
=
[];
},
...
...
src/views/personPos/perReal/index.vue
View file @
5d85dd25
...
...
@@ -3,7 +3,7 @@
<el-card
class=
"top-leader"
shadow=
"never"
>
<div
class=
"now-leader"
>
<div>
带班领导:
{{
leaderList
.
leader
}}
</div>
<
!--
<div>
系统监控总人数:
{{
leaderList
.
leader
}}
人
</div>
--
>
<
div>
系统监控总人数:
{{
leaderList
.
systemMonitorAllCount
}}
人
</div
>
<div>
下井总人数:
{{
total
}}
人
</div>
<div>
地面井口人数:
{{
leaderList
.
groundWellCount
}}
人
</div>
<div>
重点区域人数:
{{
leaderList
.
keyAreaPopulation
}}
人
</div>
...
...
src/views/personPos/personPosAlarmHis/arerAlarm/index.vue
View file @
5d85dd25
...
...
@@ -83,9 +83,16 @@ export default {
perName
:
'
姓名
'
,
cardNumber
:
'
卡号
'
,
departName
:
'
部门
'
,
location
:
'
所在位置
'
,
entryTime
:
'
入井时间
'
,
location
:
'
分站位置
'
,
entryTime
:
null
,
reason
:
null
,
alarmTime
:
'
报警时间
'
,
overCapacityCount
:
null
,
actionID
:
null
,
stationId
:
'
分站编号
'
,
stationName
:
null
,
areaName
:
'
限制区名称
'
,
},
// 日期范围
dateRange
:
[],
...
...
src/views/personPos/personPosAlarmHis/communication/index.vue
View file @
5d85dd25
...
...
@@ -12,18 +12,11 @@
</el-form-item>
</el-form>
<el-table
v-loading=
"loading"
:data=
"ALARMDATAList"
>
<el-table-column
v-if=
"labelName.perName"
:label=
"labelName.perName"
align=
"center"
prop=
"perName"
/>
<el-table-column
v-if=
"labelName.cardNumber"
:label=
"labelName.cardNumber"
align=
"center"
prop=
"cardNumber"
/>
<el-table-column
v-if=
"labelName.departName"
:label=
"labelName.departName"
align=
"center"
prop=
"departName"
/>
<el-table-column
v-if=
"labelName.stationId"
:label=
"labelName.stationId"
align=
"center"
prop=
"stationId"
/>
<el-table-column
v-if=
"labelName.stationName"
:label=
"labelName.stationName"
align=
"center"
prop=
"stationName"
/>
<el-table-column
v-if=
"labelName.actionID"
:label=
"labelName.actionID"
align=
"center"
prop=
"actionID"
/>
<el-table-column
v-if=
"labelName.location"
:label=
"labelName.location"
align=
"center"
prop=
"location"
/>
<el-table-column
v-if=
"labelName.areaName"
:label=
"labelName.areaName"
align=
"center"
prop=
"areaName"
/>
<el-table-column
v-if=
"labelName.entryTime"
:label=
"labelName.entryTime"
align=
"center"
prop=
"entryTime"
/>
<el-table-column
v-if=
"labelName.reason"
:label=
"labelName.reason"
align=
"center"
prop=
"reason"
/>
<el-table-column
v-if=
"labelName.alarmTime"
:label=
"labelName.alarmTime"
align=
"center"
prop=
"alarmTime"
/>
<el-table-column
v-if=
"labelName.overCapacityCount"
:label=
"labelName.overCapacityCount"
align=
"center"
prop=
"overCapacityCount"
/>
<el-table-column
:label=
"labelName.stationId"
align=
"center"
prop=
"stationId"
/>
<el-table-column
:label=
"labelName.stationName"
align=
"center"
prop=
"stationName"
/>
<el-table-column
:label=
"labelName.location"
align=
"center"
prop=
"location"
/>
<el-table-column
:label=
"labelName.reason"
align=
"center"
prop=
"reason"
/>
<el-table-column
:label=
"labelName.alarmTime"
align=
"center"
prop=
"alarmTime"
/>
</el-table>
<pagination
v-show=
"total>0"
...
...
@@ -80,12 +73,19 @@ export default {
},
personData
:[],
labelName
:{
perName
:
'
姓名
'
,
cardNumber
:
'
卡号
'
,
departName
:
'
部门
'
,
location
:
'
所在位置
'
,
entryTime
:
'
入井时间
'
,
perName
:
null
,
cardNumber
:
null
,
departName
:
null
,
location
:
'
安装位置
'
,
entryTime
:
null
,
reason
:
'
原因
'
,
alarmTime
:
'
报警时间
'
,
overCapacityCount
:
null
,
actionID
:
null
,
areaName
:
null
,
stationId
:
'
分站编号
'
,
stationName
:
'
分站名称
'
,
},
// 日期范围
dateRange
:
[],
...
...
src/views/personPos/personPosAlarmHis/overperson/index.vue
View file @
5d85dd25
...
...
@@ -83,9 +83,16 @@ export default {
perName
:
'
姓名
'
,
cardNumber
:
'
卡号
'
,
departName
:
'
部门
'
,
location
:
'
所在位置
'
,
entryTime
:
'
入井时间
'
,
location
:
null
,
entryTime
:
null
,
reason
:
null
,
alarmTime
:
'
报警时间
'
,
actionID
:
'
动作
'
,
overCapacityCount
:
'
超员人数
'
,
areaName
:
'
区域名称
'
,
stationId
:
null
,
stationName
:
null
,
},
// 日期范围
dateRange
:
[],
...
...
src/views/personPos/personPosAlarmHis/overtime/index.vue
View file @
5d85dd25
...
...
@@ -85,7 +85,13 @@ export default {
departName
:
'
部门
'
,
location
:
'
所在位置
'
,
entryTime
:
'
入井时间
'
,
reason
:
null
,
alarmTime
:
'
报警时间
'
,
actionID
:
null
,
overCapacityCount
:
null
,
areaName
:
null
,
stationId
:
null
,
stationName
:
null
,
},
// 日期范围
dateRange
:
[],
...
...
src/views/personPos/personPosAlarmHis/underperAlarm/index.vue
View file @
5d85dd25
...
...
@@ -83,9 +83,16 @@ export default {
perName
:
'
姓名
'
,
cardNumber
:
'
卡号
'
,
departName
:
'
部门
'
,
location
:
'
所在位置
'
,
entryTime
:
'
入井时间
'
,
location
:
'
报警位置
'
,
entryTime
:
null
,
reason
:
null
,
alarmTime
:
'
报警时间
'
,
overCapacityCount
:
null
,
actionID
:
null
,
stationId
:
null
,
stationName
:
null
,
areaName
:
null
,
},
// 日期范围
dateRange
:
[],
...
...
src/views/personPos/personPosAlarmHis/workAlarm/index.vue
View file @
5d85dd25
...
...
@@ -83,9 +83,16 @@ export default {
perName
:
'
姓名
'
,
cardNumber
:
'
卡号
'
,
departName
:
'
部门
'
,
location
:
'
所在位置
'
,
entryTime
:
'
入井时间
'
,
location
:
null
,
entryTime
:
null
,
reason
:
null
,
alarmTime
:
'
报警时间
'
,
overCapacityCount
:
null
,
actionID
:
null
,
stationId
:
null
,
stationName
:
null
,
areaName
:
'
未到达区域名称
'
,
},
// 日期范围
dateRange
:
[],
...
...
src/views/surveillance/SurveillanceConfig/index.vue
0 → 100644
View file @
5d85dd25
<
template
>
<div
class=
"app-container"
>
<el-row
:gutter=
"20"
>
<el-col
:span=
"8"
>
<videoLeft
@
row-click=
"handleRowClick"
/>
</el-col>
<el-col
:span=
"16"
>
<videoRight
:selectedRow=
"selectedRow"
/>
</el-col>
</el-row>
</div>
</
template
>
<
script
>
import
videoLeft
from
"
./videoLeft.vue
"
;
import
videoRight
from
"
./videoRight.vue
"
;
export
default
{
name
:
"
cockpit
"
,
components
:
{
videoLeft
,
videoRight
,
},
data
()
{
return
{
selectedRow
:
null
,
// 用于存储选中的行数据
};
},
methods
:
{
// 接收 videoLeft 组件传递的行数据
handleRowClick
(
row
)
{
this
.
selectedRow
=
row
;
},
},
}
</
script
>
\ No newline at end of file
src/views/surveillance/SurveillanceConfig/videoLeft.vue
0 → 100644
View file @
5d85dd25
<
template
>
<div
class=
""
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
监控分区
</span>
<el-button
style=
"float: right; padding: 3px 0"
type=
"text"
@
click=
"handleAdd"
>
添加分区
</el-button>
</div>
<el-table
v-loading=
"loading"
:data=
"partList"
@
selection-change=
"handleSelectionChange"
@
row-click=
"handleRowClick"
:row-class-name=
"rowClassName"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
"序号"
align=
"center"
type=
"index"
width=
"50"
/>
<el-table-column
label=
"分区名称"
align=
"center"
prop=
"partName"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click.native.stop=
"handleUpdate(scope.row)"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click.native.stop=
"handleDelete(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page.sync=
"queryParams.pageNum"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-card>
<!-- 添加或修改视频分区对话框 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"分区名称"
prop=
"partName"
>
<el-input
v-model=
"form.partName"
placeholder=
"请输入分区名称"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getVideoPart
,
listVideoPart
,
addVideoPart
,
updateVideoPart
,
delVideoPart
}
from
"
@/api/tyler/vidPart
"
;
export
default
{
name
:
"
videoLeft
"
,
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 视频分区表格数据
partList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
partName
:
null
,
partIp
:
null
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
partName
:
[
{
required
:
true
,
message
:
"
分区名称不能为空
"
,
trigger
:
"
blur
"
}
],
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询视频分区列表 */
getList
()
{
this
.
loading
=
true
;
listVideoPart
(
this
.
queryParams
).
then
(
response
=>
{
this
.
partList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
partName
:
null
,
partIp
:
null
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
);
this
.
single
=
selection
.
length
!==
1
;
this
.
multiple
=
!
selection
.
length
;
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加视频分区
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
this
.
form
=
row
;
this
.
open
=
true
;
this
.
title
=
"
修改视频分区
"
;
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateVideoPart
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addVideoPart
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'
是否确认删除?
'
).
then
(
function
()
{
return
delVideoPart
(
ids
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(()
=>
{});
},
// 点击行时触发
handleRowClick
(
row
)
{
// 发射自定义事件,将行数据传递给父组件
this
.
$emit
(
'
row-click
'
,
row
);
},
// 设置选中行的样式
rowClassName
({
row
,
rowIndex
})
{
if
(
this
.
ids
.
includes
(
row
.
id
))
{
return
'
selected-row
'
;
}
return
''
;
}
}
};
</
script
>
<
style
>
/* 设置选中行的样式 */
.selected-row
{
background-color
:
#f0f9eb
;
}
</
style
>
\ No newline at end of file
src/views/surveillance/SurveillanceConfig/videoRight.vue
0 → 100644
View file @
5d85dd25
<
template
>
<div
class=
""
>
<el-card
class=
"box-card"
>
<div
slot=
"header"
class=
"clearfix"
>
<span>
分区
{{
selectedRow
?
selectedRow
.
partName
:
'
名称
'
}}
</span>
<el-button
style=
"float: right; padding: 3px 0"
type=
"text"
@
click=
"handleAdd"
>
添加摄像头
</el-button>
</div>
<!-- 在这里可以添加其他逻辑,根据 selectedRow 渲染内容 -->
<el-table
v-loading=
"loading"
:data=
"tableList"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
align=
"center"
/>
<el-table-column
label=
""
align=
"center"
prop=
"id"
/>
<el-table-column
label=
"摄像头名称"
align=
"center"
prop=
"cameraName"
/>
<el-table-column
label=
"摄像头编码"
align=
"center"
prop=
"cameraNum"
/>
<el-table-column
label=
"摄像头通道编号"
align=
"center"
prop=
"cameraPassNum"
/>
<el-table-column
label=
"摄像头ip"
align=
"center"
prop=
"cameraIp"
/>
<el-table-column
label=
"摄像头url"
align=
"center"
prop=
"cameraUrl"
/>
<el-table-column
label=
"区域id"
align=
"center"
prop=
"partId"
/>
<el-table-column
label=
"备注"
align=
"center"
prop=
"remark"
/>
<el-table-column
label=
"摄像头位置"
align=
"center"
prop=
"cameraWeizhi"
/>
<el-table-column
label=
"状态 0不显示 1显示"
align=
"center"
prop=
"flag"
/>
<el-table-column
label=
"操作"
align=
"center"
class-name=
"small-padding fixed-width"
>
<template
slot-scope=
"scope"
>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-edit"
@
click=
"handleUpdate(scope.row)"
v-hasPermi=
"['business:table:edit']"
>
修改
</el-button>
<el-button
size=
"mini"
type=
"text"
icon=
"el-icon-delete"
@
click=
"handleDelete(scope.row)"
v-hasPermi=
"['business:table:remove']"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<pagination
v-show=
"total>0"
:total=
"total"
:page.sync=
"queryParams.pageNum"
:limit.sync=
"queryParams.pageSize"
@
pagination=
"getList"
/>
</el-card>
<!-- 添加或修改摄像头列对话框 -->
<el-dialog
:title=
"title"
:visible.sync=
"open"
width=
"500px"
append-to-body
>
<el-form
ref=
"form"
:model=
"form"
:rules=
"rules"
label-width=
"80px"
>
<el-form-item
label=
"摄像头名称"
prop=
"cameraName"
>
<el-input
v-model=
"form.cameraName"
placeholder=
"请输入摄像头名称"
/>
</el-form-item>
<el-form-item
label=
"摄像头编码"
prop=
"cameraNum"
>
<el-input
v-model=
"form.cameraNum"
placeholder=
"请输入摄像头编码"
/>
</el-form-item>
<el-form-item
label=
"摄像头通道编号"
prop=
"cameraPassNum"
>
<el-input
v-model=
"form.cameraPassNum"
placeholder=
"请输入摄像头通道编号"
/>
</el-form-item>
<el-form-item
label=
"摄像头ip"
prop=
"cameraIp"
>
<el-input
v-model=
"form.cameraIp"
placeholder=
"请输入摄像头ip"
/>
</el-form-item>
<el-form-item
label=
"摄像头url"
prop=
"cameraUrl"
>
<el-input
v-model=
"form.cameraUrl"
placeholder=
"请输入摄像头url"
/>
</el-form-item>
<el-form-item
label=
"区域id"
prop=
"partId"
>
<el-input
v-model=
"form.partId"
placeholder=
"请输入区域id"
/>
</el-form-item>
<el-form-item
label=
"备注"
prop=
"remark"
>
<el-input
v-model=
"form.remark"
placeholder=
"请输入备注"
/>
</el-form-item>
<el-form-item
label=
"摄像头位置"
prop=
"cameraWeizhi"
>
<el-input
v-model=
"form.cameraWeizhi"
placeholder=
"请输入摄像头位置"
/>
</el-form-item>
<el-form-item
label=
"状态 0不显示 1显示"
prop=
"flag"
>
<el-input
v-model=
"form.flag"
placeholder=
"请输入状态 0不显示 1显示"
/>
</el-form-item>
</el-form>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
type=
"primary"
@
click=
"submitForm"
>
确 定
</el-button>
<el-button
@
click=
"cancel"
>
取 消
</el-button>
</div>
</el-dialog>
</div>
</template>
<
script
>
import
{
getVideoTable
,
listVideoTable
,
addVideoTable
,
updateVideoTable
,
delVideoTable
}
from
"
@/api/tyler/videoTable
"
;
export
default
{
name
:
"
videoRight
"
,
props
:
{
selectedRow
:
{
type
:
Object
,
default
:
null
,
},
},
data
()
{
return
{
// 根路径
baseURL
:
process
.
env
.
VUE_APP_BASE_API
,
// 遮罩层
loading
:
true
,
// 选中数组
ids
:
[],
// 非单个禁用
single
:
true
,
// 非多个禁用
multiple
:
true
,
// 显示搜索条件
showSearch
:
true
,
// 总条数
total
:
0
,
// 摄像头列表格数据
tableList
:
[],
// 弹出层标题
title
:
""
,
// 是否显示弹出层
open
:
false
,
// 查询参数
queryParams
:
{
pageNum
:
1
,
pageSize
:
10
,
cameraName
:
null
,
cameraNum
:
null
,
cameraPassNum
:
null
,
cameraIp
:
null
,
cameraUrl
:
null
,
partId
:
null
,
cameraWeizhi
:
null
,
flag
:
null
},
// 表单参数
form
:
{},
// 表单校验
rules
:
{
id
:
[
{
required
:
true
,
message
:
"
不能为空
"
,
trigger
:
"
blur
"
}
],
}
};
},
created
()
{
this
.
getList
();
},
methods
:
{
/** 查询摄像头列列表 */
getList
()
{
this
.
loading
=
true
;
listVideoTable
(
this
.
queryParams
).
then
(
response
=>
{
this
.
tableList
=
response
.
rows
;
this
.
total
=
response
.
total
;
this
.
loading
=
false
;
});
},
// 取消按钮
cancel
()
{
this
.
open
=
false
;
this
.
reset
();
},
// 表单重置
reset
()
{
this
.
form
=
{
id
:
null
,
cameraName
:
null
,
cameraNum
:
null
,
cameraPassNum
:
null
,
cameraIp
:
null
,
cameraUrl
:
null
,
partId
:
null
,
remark
:
null
,
cameraWeizhi
:
null
,
flag
:
null
};
this
.
resetForm
(
"
form
"
);
},
/** 搜索按钮操作 */
handleQuery
()
{
this
.
queryParams
.
pageNum
=
1
;
this
.
getList
();
},
/** 重置按钮操作 */
resetQuery
()
{
this
.
resetForm
(
"
queryForm
"
);
this
.
handleQuery
();
},
// 多选框选中数据
handleSelectionChange
(
selection
)
{
this
.
ids
=
selection
.
map
(
item
=>
item
.
id
)
this
.
single
=
selection
.
length
!==
1
this
.
multiple
=
!
selection
.
length
},
/** 新增按钮操作 */
handleAdd
()
{
this
.
reset
();
this
.
open
=
true
;
this
.
title
=
"
添加摄像头列
"
;
},
/** 修改按钮操作 */
handleUpdate
(
row
)
{
this
.
reset
();
const
id
=
row
.
id
||
this
.
ids
getVideoTable
(
id
).
then
(
response
=>
{
this
.
form
=
response
.
data
;
this
.
open
=
true
;
this
.
title
=
"
修改摄像头列
"
;
});
},
/** 提交按钮 */
submitForm
()
{
this
.
$refs
[
"
form
"
].
validate
(
valid
=>
{
if
(
valid
)
{
if
(
this
.
form
.
id
!=
null
)
{
updateVideoTable
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
else
{
addVideoTable
(
this
.
form
).
then
(
response
=>
{
this
.
$modal
.
msgSuccess
(
"
新增成功
"
);
this
.
open
=
false
;
this
.
getList
();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete
(
row
)
{
const
ids
=
row
.
id
||
this
.
ids
;
this
.
$modal
.
confirm
(
'
是否确认删除?
'
).
then
(
function
()
{
return
delVideoTable
(
ids
);
}).
then
(()
=>
{
this
.
getList
();
this
.
$modal
.
msgSuccess
(
"
删除成功
"
);
}).
catch
(()
=>
{});
},
},
};
</
script
>
\ No newline at end of file
src/views/surveillance/videoSurveillance/index.vue
0 → 100644
View file @
5d85dd25
<
template
>
<div
class=
"app-container"
>
<el-row>
<el-col
:span=
"6"
><div
class=
"grid-content bg-purple"
></div></el-col>
<el-col
:span=
"18"
><div
class=
"grid-content bg-purple-light"
></div></el-col>
</el-row>
</div>
</
template
>
<
script
>
export
default
{
name
:
"
cockpit
"
,
components
:
{
},
}
</
script
>
\ No newline at end of file
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