Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation
This project
Loading...
Sign in
platform
/
fanxing_new
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit d60b57e4
authored
Feb 25, 2020
by
夏新然
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
兼容样式
1 parent
5f34b630
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
348 additions
and
147 deletions
src/App.vue
src/api/resource/index.js
src/assets/scss/common.scss
src/router/index.js
src/views/Login.vue
src/views/ops/log_manage.vue
src/views/ops/role_manage.vue
src/views/ops/system_manage.vue
src/views/ops/user_manage.vue
src/views/resource/store_confs.vue
src/views/resource/treeComponents/cameraTree.vue
src/views/resource/treeComponents/videoTree.vue
src/views/resource/videoEquipment.vue
src/views/search/event.vue
src/views/search/illegal.vue
src/views/search/traficflow.vue
src/views/search/vehicleSearch.vue
src/views/search/xcycle.vue
src/App.vue
View file @
d60b57e
...
@@ -18,6 +18,16 @@ export default {
...
@@ -18,6 +18,16 @@ export default {
}
}
},
},
mounted
(){
mounted
(){
window
.
videoEquitTableHeight
=
document
.
body
.
clientHeight
-
142
+
'px'
;
window
.
opsTableHeight
=
document
.
body
.
clientHeight
-
260
+
'px'
;
if
(
document
.
body
.
clientWidth
>
1366
){
window
.
oneSearchTableHeight
=
document
.
body
.
clientHeight
-
250
+
'px'
;
window
.
twoSearchTableHeight
=
document
.
body
.
clientHeight
-
280
+
'px'
;
}
else
{
window
.
oneSearchTableHeight
=
document
.
body
.
clientHeight
-
280
+
'px'
;
window
.
twoSearchTableHeight
=
document
.
body
.
clientHeight
-
315
+
'px'
;
}
}
}
}
}
...
...
src/api/resource/index.js
View file @
d60b57e
...
@@ -34,13 +34,14 @@ export default {
...
@@ -34,13 +34,14 @@ export default {
getCameraTable
(
params
,
id
,
id2
){
getCameraTable
(
params
,
id
,
id2
){
console
.
log
(
id2
)
console
.
log
(
id2
)
if
(
id2
){
if
(
id2
){
console
.
log
(
'aa'
)
return
api
.
get
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans/
${
id2
}
`
,
params
)
return
api
.
get
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans/
${
id2
}
`
,
params
)
}
else
{
}
else
{
console
.
log
(
'bb'
)
return
api
.
get
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans`
,
params
)
return
api
.
get
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans`
,
params
)
}
}
},
},
editVideo
(
params
,
id
,
id2
){
return
api
.
post
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans/
${
id2
}
`
,
params
)
},
editCamera
(
params
,
id
,
id2
){
editCamera
(
params
,
id
,
id2
){
return
api
.
post
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans/
${
id2
}
`
,
params
)
return
api
.
post
(
`
${
baseUrl
}
/api/v1/devconf_fx/devs/
${
id
}
/vchans/
${
id2
}
`
,
params
)
},
},
...
...
src/assets/scss/common.scss
View file @
d60b57e
...
@@ -23,6 +23,10 @@ body{
...
@@ -23,6 +23,10 @@ body{
font-size
:
14px
;
font-size
:
14px
;
background
:
$bodyback-color
;
background
:
$bodyback-color
;
}
}
.minHeight
{
height
:
calc
(
100vh
-
140px
);
overflow
:
auto
;
}
input
{
input
{
font-family
:
"微软雅黑"
;
font-family
:
"微软雅黑"
;
}
}
...
@@ -164,3 +168,9 @@ a:active{
...
@@ -164,3 +168,9 @@ a:active{
color
:
#f2365a
;
color
:
#f2365a
;
font-size
:
16px
;
font-size
:
16px
;
}
}
@media
screen
and
(
max-width
:
1366px
)
{
.compatibleBtn
{
margin-left
:
0px
!
important
;
margin-top
:
6px
!
important
;
}
}
\ No newline at end of file
\ No newline at end of file
src/router/index.js
View file @
d60b57e
...
@@ -80,7 +80,7 @@ export const asyncRouterMap = [
...
@@ -80,7 +80,7 @@ export const asyncRouterMap = [
children
:
[
children
:
[
{
{
path
:
"/search/vehicle"
,
path
:
"/search/vehicle"
,
name
:
"
车辆
检索"
,
name
:
"
过车
检索"
,
meta
:
{
meta
:
{
icon
:
"el-icon-location"
icon
:
"el-icon-location"
},
},
...
...
src/views/Login.vue
View file @
d60b57e
...
@@ -62,6 +62,7 @@ import types from '../store/types.js'
...
@@ -62,6 +62,7 @@ import types from '../store/types.js'
//存储配置列表
//存储配置列表
this
.
storeConfList
();
this
.
storeConfList
();
//code列表
//code列表
this
.
getCatesList
();
this
.
getCodeList
();
this
.
getCodeList
();
this
.
getCustomCode
();
this
.
getCustomCode
();
this
.
getEventList
();
this
.
getEventList
();
...
@@ -138,6 +139,22 @@ import types from '../store/types.js'
...
@@ -138,6 +139,22 @@ import types from '../store/types.js'
})
})
},
},
getCatesList
(){
this
.
$api
.
codes
.
eventCates
({}).
then
(
res
=>
{
// 存储cate列表
window
.
localStorage
.
setItem
(
'cate列表'
,
JSON
.
stringify
(
res
.
list_data
))
// 存储单独code
res
.
list_data
.
forEach
(
item
=>
{
this
.
getOneEventList
(
item
.
code
,
item
.
event_cate_unid
)
})
})
},
getOneEventList
(
code
,
id
){
this
.
$api
.
codes
.
eventType
({},
id
).
then
(
res
=>
{
// 存储cate列表
window
.
localStorage
.
setItem
(
code
,
JSON
.
stringify
(
res
.
list_data
))
})
},
getEventList
(){
getEventList
(){
this
.
$api
.
search
.
eventTypes
({}).
then
(
res
=>
{
this
.
$api
.
search
.
eventTypes
({}).
then
(
res
=>
{
// 存储code列表
// 存储code列表
...
...
src/views/ops/log_manage.vue
View file @
d60b57e
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
<div
style=
""
>
<div
style=
""
>
<el-table
<el-table
:data=
"tableData"
:data=
"tableData"
height=
"574
"
:height=
"tableHeight
"
stripe
stripe
border
>
border
>
<el-table-column
<el-table-column
...
@@ -98,6 +98,7 @@
...
@@ -98,6 +98,7 @@
total
:
0
,
total
:
0
,
page
:
1
,
page
:
1
,
pageSize
:
30
,
pageSize
:
30
,
tableHeight
:
window
.
opsTableHeight
}
}
},
},
watch
:{
watch
:{
...
...
src/views/ops/role_manage.vue
View file @
d60b57e
<
template
>
<
template
>
<div
class=
"contentBox"
>
<div
class=
"contentBox"
>
<div
class=
"content"
>
<div
class=
"content"
>
<div
style=
"padding:
20px 15px 20px 23
px;"
>
<div
style=
"padding:
8px 20
px;"
>
<span
style=
"float: right;"
>
<span
style=
"float: right;"
>
<el-button
type=
"info"
@
click=
"addRole"
>
添加新角色
</el-button>
<el-button
type=
"info"
@
click=
"addRole"
>
添加新角色
</el-button>
</span>
</span>
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
</div>
</div>
<div
style=
"padding: 0 15px 20px 23px;"
>
<div
style=
"padding: 0 15px 20px 23px;"
>
<el-table
<el-table
height=
"574
"
:height=
"tableHeight
"
:data=
"tableData"
:data=
"tableData"
stripe
stripe
border
border
...
@@ -169,7 +169,8 @@
...
@@ -169,7 +169,8 @@
menu_unids
:
[
menu_unids
:
[
{
validator
:
checkMenu_unids
,
trigger
:
'change'
}
{
validator
:
checkMenu_unids
,
trigger
:
'change'
}
],
],
}
},
tableHeight
:
window
.
opsTableHeight
}
}
},
},
components
:{
components
:{
...
...
src/views/ops/system_manage.vue
View file @
d60b57e
<
template
>
<
template
>
<div
class=
"contentBox"
>
<div
class=
"contentBox
minHeight
"
>
<div
style=
"background: #FFFFFF;
"
>
<div
:style=
"
{'background': '#FFFFFF','min-height': height}
">
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tabs
v-model=
"activeName"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"校时设置"
name=
"first"
>
<el-tab-pane
label=
"校时设置"
name=
"first"
>
<proofreadtime></proofreadtime>
<proofreadtime></proofreadtime>
...
@@ -20,13 +20,16 @@
...
@@ -20,13 +20,16 @@
export
default
{
export
default
{
data
(){
data
(){
return
{
return
{
activeName
:
'first'
activeName
:
'first'
,
height
:
''
}
}
},
},
components
:{
components
:{
proofreadtime
,
sytemset
proofreadtime
,
sytemset
},
},
mounted
(){},
mounted
(){
this
.
height
=
document
.
body
.
clientHeight
-
140
+
'px'
},
methods
:{
methods
:{
handleClick
(
tab
,
event
)
{
handleClick
(
tab
,
event
)
{
console
.
log
(
tab
,
event
);
console
.
log
(
tab
,
event
);
...
...
src/views/ops/user_manage.vue
View file @
d60b57e
<
template
>
<
template
>
<div
class=
"contentBox"
>
<div
class=
"contentBox"
>
<div
class=
"content"
>
<div
class=
"content"
>
<div
style=
"padding:
20px 15px 20px 23
px;"
>
<div
style=
"padding:
8px 20
px;"
>
<span
style=
"float: right;"
>
<span
style=
"float: right;"
>
<el-button
type=
"info"
@
click=
"addUser"
>
添加新用户
</el-button>
<el-button
type=
"info"
@
click=
"addUser"
>
添加新用户
</el-button>
</span>
</span>
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
</div>
</div>
<div
style=
"padding: 0 15px 20px 23px;"
>
<div
style=
"padding: 0 15px 20px 23px;"
>
<el-table
<el-table
height=
"574
"
:height=
"tableHeight
"
:data=
"tableData"
:data=
"tableData"
stripe
stripe
border
border
...
@@ -200,7 +200,8 @@
...
@@ -200,7 +200,8 @@
checkPass
:[
checkPass
:[
{
validator
:
validatePass2
,
trigger
:
'change'
}
{
validator
:
validatePass2
,
trigger
:
'change'
}
]
]
}
},
tableHeight
:
window
.
opsTableHeight
}
}
},
},
components
:{
components
:{
...
@@ -263,8 +264,8 @@
...
@@ -263,8 +264,8 @@
cancelButtonText
:
'取消'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
type
:
'warning'
}).
then
(()
=>
{
}).
then
(()
=>
{
this
.
$api
.
ops
.
delUser
({},
row
.
unid
).
then
(
res
=>
{
this
.
$api
.
ops
.
delUser
({},
row
.
u
ser_u
nid
).
then
(
res
=>
{
if
(
res
.
ecode
==
200
){
if
(
!
res
.
ecode
){
this
.
$message
({
this
.
$message
({
type
:
'success'
,
type
:
'success'
,
message
:
'删除成功!'
message
:
'删除成功!'
...
...
src/views/resource/store_confs.vue
View file @
d60b57e
<
template
>
<
template
>
<div
class=
"contentBox"
>
<div
class=
"contentBox"
>
<div
class=
"content"
>
<div
class=
"content"
>
<div
style=
"padding:
20px 15px 20px 23
px;"
>
<div
style=
"padding:
8px 20
px;"
>
<span
class=
"inputBox"
>
<span
class=
"inputBox"
>
<el-input
v-model=
"storename"
placeholder=
"请输入存储配置名称"
></el-input>
<el-input
v-model=
"storename"
placeholder=
"请输入存储配置名称"
></el-input>
</span>
</span>
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
</div>
</div>
<div
style=
"padding: 0 15px 20px 23px;"
>
<div
style=
"padding: 0 15px 20px 23px;"
>
<el-table
<el-table
height=
"574
"
:height=
"tableHeight
"
:data=
"tableData"
:data=
"tableData"
stripe
stripe
border
border
...
@@ -142,7 +142,8 @@
...
@@ -142,7 +142,8 @@
selectDevs
:
''
,
selectDevs
:
''
,
detailVisible
:
false
,
detailVisible
:
false
,
storename
:
''
,
storename
:
''
,
curentSubList
:[]
curentSubList
:[],
tableHeight
:
window
.
opsTableHeight
}
}
},
},
components
:{
components
:{
...
...
src/views/resource/treeComponents/cameraTree.vue
View file @
d60b57e
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
<div>
<div>
<el-tree
<el-tree
class=
"filter-tree"
class=
"filter-tree"
accordion
:data=
"treeData"
:data=
"treeData"
:props=
'defaultProps'
:props=
'defaultProps'
default-expand-all
@
node-click=
"handleNodeClick"
@
node-click=
"handleNodeClick"
:expand-on-click-node=
"false"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
:filter-node-method=
"filterNode"
...
@@ -148,7 +148,7 @@
...
@@ -148,7 +148,7 @@
},
},
methods
:{
methods
:{
handleNodeClick
(
data
){
handleNodeClick
(
data
){
this
.
$
parent
.
$parent
.
getTable
(
data
,
'camera'
)
this
.
$
emit
(
'clickHandle'
,
data
,
'camera'
);
},
},
nodeDelClick
(
node
,
data
){
nodeDelClick
(
node
,
data
){
this
.
$confirm
(
'此操作将永久删除该选项, 是否继续?'
,
'提示'
,
{
this
.
$confirm
(
'此操作将永久删除该选项, 是否继续?'
,
'提示'
,
{
...
...
src/views/resource/treeComponents/videoTree.vue
View file @
d60b57e
...
@@ -2,9 +2,9 @@
...
@@ -2,9 +2,9 @@
<div>
<div>
<el-tree
<el-tree
class=
"filter-tree"
class=
"filter-tree"
accordion
:data=
"treeData"
:data=
"treeData"
:props=
'defaultProps'
:props=
'defaultProps'
default-expand-all
@
node-click=
"handleNodeClick"
@
node-click=
"handleNodeClick"
:expand-on-click-node=
"false"
:expand-on-click-node=
"false"
:filter-node-method=
"filterNode"
:filter-node-method=
"filterNode"
...
@@ -58,7 +58,7 @@
...
@@ -58,7 +58,7 @@
unid
:
'0'
,
unid
:
'0'
,
org_pid
:
'0'
,
org_pid
:
'0'
,
vchan_name
:
'手动添加录像资源'
,
vchan_name
:
'手动添加录像资源'
,
org_type
:
'
root
'
,
org_type
:
'
video
'
,
childs
:
[]
childs
:
[]
}
}
],
],
...
@@ -105,7 +105,9 @@
...
@@ -105,7 +105,9 @@
this
.
file
.
push
(
param
.
file
)
this
.
file
.
push
(
param
.
file
)
},
},
handleNodeClick
(
data
){
handleNodeClick
(
data
){
this
.
$parent
.
$parent
.
getVideoTable
(
data
,
'video'
)
console
.
log
(
data
)
this
.
$emit
(
'clickHandle'
,
data
,
'video'
);
// this.$parent.$parent.getVideoTable(data,'video')
},
},
nodeAddClick
(
node
,
data
){
nodeAddClick
(
node
,
data
){
this
.
addVisible
=
true
;
this
.
addVisible
=
true
;
...
...
src/views/resource/videoEquipment.vue
View file @
d60b57e
<
template
>
<
template
>
<div
class=
"innnerBox"
>
<div
class=
"innnerBox"
>
<el-col
:span=
"4"
>
<el-row
:gutter=
"12"
>
<el-col
:span=
"4"
class=
"treeBox minHeight"
>
<el-input
class=
"search-input"
prefix-icon=
"el-icon-search"
placeholder=
"请输入内容"
v-model=
"searchText"
>
<el-input
class=
"search-input"
prefix-icon=
"el-icon-search"
placeholder=
"请输入内容"
v-model=
"searchText"
>
</el-input>
</el-input>
<cameraTree
:filterText=
"searchText"
:treeDatas=
"cameraTree"
></cameraTree>
<cameraTree
:filterText=
"searchText"
:treeDatas=
"cameraTree"
@
clickHandle=
"getTable"
></cameraTree>
<videoTree
:filterText=
"searchText"
:treeDatas=
"videoTree"
:devsId=
"dev_unid"
></videoTree>
<videoTree
:filterText=
"searchText"
:treeDatas=
"videoTree"
:devsId=
"dev_unid"
@
clickHandle=
"getTable"
></videoTree>
</el-col>
</el-col>
<el-col
:span=
"20"
>
<el-col
:span=
"20"
>
<el-table
:data=
"formattterData"
height=
"574"
stripe
border
v-if=
"tableType=='camera'
"
>
<el-table
:data=
"formattterData"
stripe
border
v-if=
"tableType=='camera'"
:height=
"tableHeight
"
>
<el-table-column
prop=
"label"
align=
"center"
label=
"名称"
>
<el-table-column
prop=
"label"
align=
"center"
label=
"名称"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"url"
align=
"center"
label=
"取流地址"
>
<el-table-column
prop=
"url"
align=
"center"
label=
"取流地址"
>
...
@@ -28,7 +29,7 @@
...
@@ -28,7 +29,7 @@
</
template
>
</
template
>
</el-table-column>
</el-table-column>
</el-table>
</el-table>
<el-table
:data=
"formattterData"
height=
"574"
stripe
border
v-else-if=
"tableType=='video'
"
>
<el-table
:data=
"formattterData"
stripe
border
v-else-if=
"tableType=='video'"
:height=
"tableHeight
"
>
<el-table-column
prop=
"vchan_name"
align=
"center"
label=
"名称"
>
<el-table-column
prop=
"vchan_name"
align=
"center"
label=
"名称"
>
</el-table-column>
</el-table-column>
<el-table-column
prop=
"video_url"
align=
"center"
label=
"取流地址"
>
<el-table-column
prop=
"video_url"
align=
"center"
label=
"取流地址"
>
...
@@ -47,6 +48,26 @@
...
@@ -47,6 +48,26 @@
</el-table>
</el-table>
</el-col>
</el-col>
<cameraDialog
ref=
"editCamera"
></cameraDialog>
<cameraDialog
ref=
"editCamera"
></cameraDialog>
<el-dialog
title=
"修改视频"
:visible
.
sync=
"videoEditVisible"
width=
"450px"
>
<div>
<el-form
label-position=
"left"
label-width=
"120px"
:model=
"videoEditParam"
ref=
"videoDialog"
inline-message
hide-required-asterisk
>
<el-form-item
label=
"名称"
:rules=
"[ { required: true, message: '请输入名称', trigger: 'change' }]"
>
<el-input
v-model=
"videoEditParam.vchan_name"
></el-input>
</el-form-item>
<el-form-item
label=
"取流地址"
>
<el-input
v-model=
"videoEditParam.video_url"
disabled
></el-input>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"videoEditVisible=false"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"editSave"
>
确 定
</el-button>
</span>
</el-dialog>
</el-row>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
...
@@ -70,7 +91,14 @@
...
@@ -70,7 +91,14 @@
dev_unid
:
sessionStorage
.
getItem
(
'dev_unid'
),
dev_unid
:
sessionStorage
.
getItem
(
'dev_unid'
),
cameraArr
:[],
cameraArr
:[],
cameraTree
:[],
cameraTree
:[],
videoTree
:[]
videoTree
:[],
videoEditParam
:{
vchan_name
:
''
,
video_url
:
''
},
videoEditVisible
:
false
,
vchan_duid
:
''
,
tableHeight
:
window
.
videoEquitTableHeight
}
}
},
},
watch
:
{
watch
:
{
...
@@ -79,6 +107,7 @@
...
@@ -79,6 +107,7 @@
cameraTree
,
cameraDialog
,
videoTree
cameraTree
,
cameraDialog
,
videoTree
},
},
mounted
()
{
mounted
()
{
console
.
log
(
'aa'
,
this
.
tableHeight
)
this
.
getCameraTree
();
this
.
getCameraTree
();
this
.
getVideoTree
();
this
.
getVideoTree
();
},
},
...
@@ -193,6 +222,7 @@
...
@@ -193,6 +222,7 @@
getTable
(
data
,
type
)
{
getTable
(
data
,
type
)
{
if
(
data
.
org_type
!=
"root"
){
if
(
data
.
org_type
!=
"root"
){
this
.
tableType
=
type
;
this
.
tableType
=
type
;
if
(
this
.
tableType
==
"camera"
){
if
(
data
.
org_type
){
if
(
data
.
org_type
){
this
.
tableType
=
type
;
this
.
tableType
=
type
;
this
.
formattterData
=
[];
this
.
formattterData
=
[];
...
@@ -229,6 +259,14 @@
...
@@ -229,6 +259,14 @@
})
})
}
}
}
else
if
(
this
.
tableType
==
"video"
){
if
(
data
.
org_type
==
'video'
){
this
.
formattterData
=
data
.
childs
;
}
else
{
this
.
formattterData
=
[];
this
.
formattterData
.
push
(
data
)
}
}
}
}
...
@@ -242,8 +280,33 @@
...
@@ -242,8 +280,33 @@
this
.
formattterData
.
push
(
data
)
this
.
formattterData
.
push
(
data
)
}
}
},
},
editVideo
(){
editVideo
(
index
,
row
){
this
.
vchan_duid
=
row
.
vchan_duid
;
this
.
videoEditParam
.
vchan_name
=
row
.
vchan_name
;
this
.
videoEditParam
.
video_url
=
row
.
video_url
;
this
.
videoEditVisible
=
true
;
},
editSave
(){
this
.
$api
.
resource
.
editVideo
({
name
:
this
.
videoEditParam
.
vchan_name
},
this
.
dev_unid
,
this
.
vchan_duid
).
then
(
res
=>
{
if
(
res
.
ecode
==
200
){
this
.
$message
({
type
:
'success'
,
message
:
res
.
enote
});
this
.
getVideoTree
();
this
.
formattterData
.
forEach
(
item
=>
{
if
(
item
.
vchan_duid
==
this
.
vchan_duid
){
item
.
vchan_name
=
this
.
videoEditParam
.
vchan_name
}
})
}
else
{
this
.
$message
.
error
(
res
.
enote
);
}
this
.
videoEditVisible
=
false
;
})
},
},
delVideo
(){
delVideo
(){
...
@@ -252,4 +315,8 @@
...
@@ -252,4 +315,8 @@
}
}
</
script
>
</
script
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.treeBox
{
border
:
1px
solid
#EBEEF5
;
padding
:
12px
;
}
</
style
>
</
style
>
src/views/search/event.vue
View file @
d60b57e
This diff is collapsed.
Click to expand it.
src/views/search/illegal.vue
View file @
d60b57e
...
@@ -2,22 +2,18 @@
...
@@ -2,22 +2,18 @@
<div
class=
"innnerBox"
>
<div
class=
"innnerBox"
>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form
ref=
"form"
label-width=
"80px"
inline
>
<el-form
ref=
"form"
label-width=
"80px"
inline
>
<el-form-item
label=
"资源类型
"
>
<el-form-item
label=
"任务名称
"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.source_type"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.task_id"
@
change=
"getSubTask"
>
<el-option
value=
"pull_video_stream"
label=
'拉取视频'
></el-option>
<el-option
v-for=
'item in taskList'
:value=
"item.task_id"
:key=
"item.task_id"
:label=
'item.task_name'
></el-option>
<el-option
value=
"pull_pic_files"
label=
'拉取图片'
></el-option>
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"相机名称"
>
<el-form-item
label=
"视频名称"
>
<span
class=
"inputBox"
>
<span
class=
"selectBox"
>
<el-input
placeholder=
"请输入相机名称"
v-model=
"conditions.vchan_name"
></el-input>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.subtask_id"
>
</span>
<el-option
v-for=
'item in subTaskList'
:value=
"item.subtask_id"
:key=
"item.subtask_id"
:label=
'item.subtask_name'
></el-option>
</el-form-item>
</el-select>
<el-form-item
label=
"任务名称"
>
<span
class=
"inputBox"
>
<el-input
placeholder=
"请输入任务名称"
v-model=
"conditions.task_name"
></el-input>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"车牌号码"
>
<el-form-item
label=
"车牌号码"
>
...
@@ -25,38 +21,27 @@
...
@@ -25,38 +21,27 @@
<el-input
placeholder=
"请输入车牌号码"
v-model=
"conditions.plate"
></el-input>
<el-input
placeholder=
"请输入车牌号码"
v-model=
"conditions.plate"
></el-input>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"车辆类型"
>
<el-form-item
label=
"车牌类型"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.car_type"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
v-for=
'item in vehicleTypeList'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
</el-select>
</span>
</el-form-item>
<el-form-item
label=
"车身颜色"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.car_color"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.plate_type"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
v-for=
'item in vehicleColorList'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option
>
<!--
<el-option
v-for=
'item in vehicleTypeList'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
--
>
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"车辆
品牌
"
>
<el-form-item
label=
"车辆
类型
"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.
logo_type"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.
car_type"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
v-for=
'item in brand
List'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
<el-option
v-for=
'item in vehicleType
List'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
标志物
"
>
<el-form-item
label=
"
车辆颜色
"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.marke
r"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.car_colo
r"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
"0"
label=
'年检标志'
></el-option>
<el-option
v-for=
'item in vehicleColorList'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
<el-option
value=
"1"
label=
'摆件'
></el-option>
<el-option
value=
"2"
label=
'吊坠'
></el-option>
<el-option
value=
"3"
label=
'遮阳板'
></el-option>
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
...
@@ -68,14 +53,6 @@
...
@@ -68,14 +53,6 @@
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"危险品车"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.is_key_vehicle"
>
<el-option
:value=
"false"
label=
'否'
></el-option>
<el-option
:value=
"true"
label=
'是'
></el-option>
</el-select>
</span>
</el-form-item>
<el-form-item
label=
"起始时间"
>
<el-form-item
label=
"起始时间"
>
<span
class=
"dateBox"
>
<span
class=
"dateBox"
>
...
@@ -95,7 +72,7 @@
...
@@ -95,7 +72,7 @@
<el-col
:span=
"2"
>
<el-col
:span=
"2"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"exportFun"
>
导出
</el-button>
<el-button
type=
"success"
class=
"block
compatibleBtn
"
@
click=
"exportFun"
>
导出
</el-button>
</div>
</div>
<div>
<div>
<el-button
type=
"success"
class=
"block"
@
click=
"batchdel"
>
批量删除
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"batchdel"
>
批量删除
</el-button>
...
@@ -104,7 +81,7 @@
...
@@ -104,7 +81,7 @@
<div
style=
""
>
<div
style=
""
>
<el-table
<el-table
:data=
"formattterData"
:data=
"formattterData"
height=
"574
"
:height=
"tableHeight
"
stripe
stripe
border
border
@
selection-change=
"handleSelectionChange"
>
@
selection-change=
"handleSelectionChange"
>
...
@@ -277,15 +254,14 @@
...
@@ -277,15 +254,14 @@
conditions
:
{
conditions
:
{
start_dt
:
start_dt
,
start_dt
:
start_dt
,
end_dt
:
end_dt
,
end_dt
:
end_dt
,
source_type
:
'pull_video_stream'
,
task_id
:
''
,
marker
:
''
,
subtask_id
:
''
,
plate
:
''
,
plate_type
:
''
,
car_type
:
''
,
car_type
:
''
,
car_color
:
''
,
car_color
:
''
,
logo_type
:
''
,
plate
:
''
,
task_name
:
''
,
vchan_name
:
''
,
illegal
:
'all'
,
illegal
:
'all'
,
source_type
:
'pull_video_stream'
,
is_key_vehicle
:
false
,
is_key_vehicle
:
false
,
},
},
brandList
:
this
.
$buildCode
.
getCodeList
(
'车辆品牌'
),
brandList
:
this
.
$buildCode
.
getCodeList
(
'车辆品牌'
),
...
@@ -298,7 +274,10 @@
...
@@ -298,7 +274,10 @@
page
:
1
,
page
:
1
,
pageSize
:
30
,
pageSize
:
30
,
selectcheck
:[],
selectcheck
:[],
currentIndex
:
0
currentIndex
:
0
,
taskList
:[],
subTaskList
:[],
tableHeight
:
window
.
twoSearchTableHeight
,
}
}
},
},
watch
:{
watch
:{
...
@@ -309,9 +288,31 @@
...
@@ -309,9 +288,31 @@
},
},
components
:{},
components
:{},
mounted
(){
mounted
(){
this
.
getTaskList
();
this
.
getData
()
this
.
getData
()
},
},
methods
:{
methods
:{
getTaskList
(){
this
.
$api
.
task
.
getTask
({
source_type
:
"pull_video_stream"
,
task_type
:
"normal"
}).
then
(
res
=>
{
this
.
taskList
=
res
.
list_data
;
this
.
taskList
.
unshift
({
task_id
:
''
,
task_name
:
'全部'
})
})
},
getSubTask
(){
this
.
conditions
.
subtask_id
=
null
;
this
.
$api
.
task
.
getSubTask
(
this
.
conditions
.
task_id
).
then
(
res
=>
{
this
.
subTaskList
=
res
.
list_data
;
if
(
this
.
subTaskList
.
length
>
0
){
this
.
conditions
.
subtask_id
=
this
.
subTaskList
[
0
].
subtask_id
}
})
},
playFun
(
index
,
row
){
playFun
(
index
,
row
){
if
(
!
row
.
video
)
{
if
(
!
row
.
video
)
{
return
return
...
@@ -328,13 +329,12 @@
...
@@ -328,13 +329,12 @@
'&event_type=&event_dt__gte='
+
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_type=&event_dt__gte='
+
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_dt__lt='
+
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_dt__lt='
+
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&source_type='
+
this
.
conditions
.
source_type
+
'&source_type='
+
this
.
conditions
.
source_type
+
'&vchan_name__like='
+
this
.
conditions
.
vchan_name
+
'&task_id='
+
this
.
conditions
.
task_id
+
'&subtask_id='
+
this
.
conditions
.
subtask_id
+
'&plate_number__like='
+
this
.
conditions
.
plate
+
'&plate_type='
+
this
.
conditions
.
plate_type
+
'&vehicle_type='
+
this
.
conditions
.
car_type
+
'&vehicle_type='
+
this
.
conditions
.
car_type
+
'&body_color='
+
this
.
conditions
.
car_color
+
'&body_color='
+
this
.
conditions
.
car_color
+
'&logo_type='
+
this
.
conditions
.
logo_type
+
'&plate_number__like='
+
this
.
conditions
.
plate
+
'&marker='
+
this
.
conditions
.
marker
+
'&task_name='
+
this
.
conditions
.
task_name
+
'&is_key_vehicle='
+
this
.
conditions
.
is_key_vehicle
+
'&is_key_vehicle='
+
this
.
conditions
.
is_key_vehicle
+
'&illegal_code='
+
this
.
conditions
.
illegal
))
'&illegal_code='
+
this
.
conditions
.
illegal
))
},
},
...
@@ -418,17 +418,16 @@
...
@@ -418,17 +418,16 @@
offset
:
offset
,
offset
:
offset
,
event_dt__gte
:
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__gte
:
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__lt
:
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__lt
:
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
source_type
:
this
.
conditions
.
source_type
,
task_id
:
this
.
conditions
.
task_id
,
vchan_name__like
:
this
.
conditions
.
vchan_name
,
subtask_id
:
this
.
conditions
.
subtask_id
,
plate_number__like
:
this
.
conditions
.
plate
,
plate_type
:
this
.
conditions
.
plate_type
,
vehicle_type
:
this
.
conditions
.
car_type
,
vehicle_type
:
this
.
conditions
.
car_type
,
body_color
:
this
.
conditions
.
car_color
,
body_color
:
this
.
conditions
.
car_color
,
logo_type
:
this
.
conditions
.
logo_type
,
plate_number__like
:
this
.
conditions
.
plate
,
marker
:
this
.
conditions
.
marker
,
illegal_code
:
this
.
conditions
.
illegal
,
illegal_code
:
this
.
conditions
.
illegal
,
source_type
:
this
.
conditions
.
source_type
,
is_key_vehicle
:
this
.
conditions
.
is_key_vehicle
,
is_key_vehicle
:
this
.
conditions
.
is_key_vehicle
,
event_type
:
''
,
event_type
:
''
,
task_name
:
this
.
conditions
.
task_name
?
this
.
conditions
.
task_name
.
replace
(
/
\s\s
*/g
,
''
)
:
this
.
conditions
.
task_name
}
}
this
.
$api
.
search
.
tableList
(
search_params
this
.
$api
.
search
.
tableList
(
search_params
).
then
((
res
)
=>
{
).
then
((
res
)
=>
{
...
...
src/views/search/traficflow.vue
View file @
d60b57e
...
@@ -2,7 +2,21 @@
...
@@ -2,7 +2,21 @@
<div
class=
"innnerBox"
>
<div
class=
"innnerBox"
>
<el-col
:span=
"22"
>
<el-col
:span=
"22"
>
<el-form
ref=
"form"
label-width=
"80px"
inline
>
<el-form
ref=
"form"
label-width=
"80px"
inline
>
<el-form-item
label=
"地点名称"
>
<el-form-item
label=
"任务名称"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.task_id"
@
change=
"getSubTask"
>
<el-option
v-for=
'item in taskList'
:value=
"item.task_id"
:key=
"item.task_id"
:label=
'item.task_name'
></el-option>
</el-select>
</span>
</el-form-item>
<el-form-item
label=
"视频名称"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.subtask_id"
>
<el-option
v-for=
'item in subTaskList'
:value=
"item.subtask_id"
:key=
"item.subtask_id"
:label=
'item.subtask_name'
></el-option>
</el-select>
</span>
</el-form-item>
<!--
<el-form-item
label=
"地点名称"
>
<span
class=
"inputBox"
>
<span
class=
"inputBox"
>
<el-input
placeholder=
"请输入地点名称"
v-model=
"conditions.location_name"
></el-input>
<el-input
placeholder=
"请输入地点名称"
v-model=
"conditions.location_name"
></el-input>
</span>
</span>
...
@@ -11,7 +25,7 @@
...
@@ -11,7 +25,7 @@
<span
class=
"inputBox"
>
<span
class=
"inputBox"
>
<el-input
placeholder=
"请输入相机名称"
v-model=
"conditions.device_name"
></el-input>
<el-input
placeholder=
"请输入相机名称"
v-model=
"conditions.device_name"
></el-input>
</span>
</span>
</el-form-item>
</el-form-item>
-->
<el-form-item
label=
"检测类型"
>
<el-form-item
label=
"检测类型"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.detection_type"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.detection_type"
>
...
@@ -49,13 +63,13 @@
...
@@ -49,13 +63,13 @@
<el-col
:span=
"2"
>
<el-col
:span=
"2"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"exportFun"
>
导出
</el-button>
<el-button
type=
"success"
class=
"block
compatibleBtn
"
@
click=
"exportFun"
>
导出
</el-button>
</div>
</div>
</el-col>
</el-col>
<div
style=
""
>
<div
style=
""
>
<el-table
<el-table
:data=
"formattterData"
:data=
"formattterData"
height=
"574
"
:height=
"tableHeight
"
stripe
stripe
border
>
border
>
<el-table-column
<el-table-column
...
@@ -64,9 +78,9 @@
...
@@ -64,9 +78,9 @@
label=
"时间"
>
label=
"时间"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
device
_name"
prop=
"
location
_name"
align=
"center"
align=
"center"
label=
"
相机
名称"
>
label=
"
地点
名称"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"detection_type"
prop=
"detection_type"
...
@@ -80,7 +94,7 @@
...
@@ -80,7 +94,7 @@
align=
"center"
align=
"center"
label=
"车道"
>
label=
"车道"
>
</el-table-column>
</el-table-column>
<el-table-column
<
!--
<
el-table-column
v-if=
"conditions.statistic_type =='device'"
v-if=
"conditions.statistic_type =='device'"
prop=
"direction"
prop=
"direction"
align=
"center"
align=
"center"
...
@@ -90,7 +104,7 @@
...
@@ -90,7 +104,7 @@
{{
scope
.
row
.
direction
==
1
?
"来向"
:(
scope
.
row
.
direction
==
2
?
"去向"
:
"来向"
)
}}
{{
scope
.
row
.
direction
==
1
?
"来向"
:(
scope
.
row
.
direction
==
2
?
"去向"
:
"来向"
)
}}
</div>
</div>
</
template
>
</
template
>
</el-table-column>
</el-table-column>
-->
<el-table-column
<el-table-column
align=
"center"
align=
"center"
label=
"平均速度(km/h)"
>
label=
"平均速度(km/h)"
>
...
@@ -169,8 +183,8 @@
...
@@ -169,8 +183,8 @@
conditions
:
{
conditions
:
{
start_dt
:
start_dt
,
start_dt
:
start_dt
,
end_dt
:
end_dt
,
end_dt
:
end_dt
,
location_name
:
''
,
task_id
:
''
,
device_name
:
''
,
subtask_id
:
''
,
detection_type
:
''
,
detection_type
:
''
,
statistic_type
:
'road'
statistic_type
:
'road'
},
},
...
@@ -178,6 +192,9 @@
...
@@ -178,6 +192,9 @@
total
:
0
,
total
:
0
,
page
:
1
,
page
:
1
,
pageSize
:
30
,
pageSize
:
30
,
taskList
:[],
subTaskList
:[],
tableHeight
:
window
.
oneSearchTableHeight
}
}
},
},
watch
:{
watch
:{
...
@@ -188,9 +205,31 @@
...
@@ -188,9 +205,31 @@
},
},
components
:{},
components
:{},
mounted
(){
mounted
(){
this
.
getData
()
this
.
getData
();
this
.
getTaskList
();
},
},
methods
:{
methods
:{
getTaskList
(){
this
.
$api
.
task
.
getTask
({
source_type
:
"pull_video_stream"
,
task_type
:
"normal"
}).
then
(
res
=>
{
this
.
taskList
=
res
.
list_data
;
this
.
taskList
.
unshift
({
task_id
:
''
,
task_name
:
'全部'
})
})
},
getSubTask
(){
this
.
conditions
.
subtask_id
=
null
;
this
.
$api
.
task
.
getSubTask
(
this
.
conditions
.
task_id
).
then
(
res
=>
{
this
.
subTaskList
=
res
.
list_data
;
if
(
this
.
subTaskList
.
length
>
0
){
this
.
conditions
.
subtask_id
=
this
.
subTaskList
[
0
].
subtask_id
}
})
},
typeFormatter
(
row
,
column
,
cellValue
,
index
){
typeFormatter
(
row
,
column
,
cellValue
,
index
){
let
codename
=
''
;
let
codename
=
''
;
switch
(
cellValue
){
switch
(
cellValue
){
...
@@ -216,8 +255,8 @@
...
@@ -216,8 +255,8 @@
process
.
env
.
VUE_APP_URL
+
'/api/v1/traffic/flow/statistics/export?s='
+
Math
.
random
()
+
process
.
env
.
VUE_APP_URL
+
'/api/v1/traffic/flow/statistics/export?s='
+
Math
.
random
()
+
'&event_type=&event_dt__gte='
+
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_type=&event_dt__gte='
+
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_dt__lt='
+
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_dt__lt='
+
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&
location_name='
+
this
.
conditions
.
location_name
+
'&
task_id='
+
this
.
conditions
.
task_id
+
'&
device_name='
+
this
.
conditions
.
device_name
+
'&
subtask_id='
+
this
.
conditions
.
subtask_id
+
'&statistic_type='
+
this
.
conditions
.
statistic_type
'&statistic_type='
+
this
.
conditions
.
statistic_type
))
))
},
},
...
@@ -240,8 +279,8 @@
...
@@ -240,8 +279,8 @@
offset
:
offset
,
offset
:
offset
,
event_dt__gte
:
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__gte
:
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__lt
:
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__lt
:
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
location_name
:
this
.
conditions
.
location_name
,
task_id
:
this
.
conditions
.
task_id
,
device_name
:
this
.
conditions
.
device_name
,
subtask_id
:
this
.
conditions
.
subtask_id
,
detection_type
:
this
.
conditions
.
detection_type
,
detection_type
:
this
.
conditions
.
detection_type
,
statistic_type
:
this
.
conditions
.
statistic_type
statistic_type
:
this
.
conditions
.
statistic_type
}
}
...
...
src/views/search/vehicleSearch.vue
View file @
d60b57e
...
@@ -11,13 +11,17 @@
...
@@ -11,13 +11,17 @@
</span>
</span>
</el-form-item>
-->
</el-form-item>
-->
<el-form-item
label=
"任务名称"
>
<el-form-item
label=
"任务名称"
>
<span
class=
"inputBox"
>
<span
class=
"selectBox"
>
<el-input
placeholder=
"请输入任务名称"
v-model=
"conditions.task_name"
></el-input>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.task_id"
@
change=
"getSubTask"
>
<el-option
v-for=
'item in taskList'
:value=
"item.task_id"
:key=
"item.task_id"
:label=
'item.task_name'
></el-option>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"视频名称"
>
<el-form-item
label=
"视频名称"
>
<span
class=
"inputBox"
>
<span
class=
"selectBox"
>
<el-input
placeholder=
"请输入视频名称"
v-model=
"conditions.vchan_name"
></el-input>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.subtask_id"
>
<el-option
v-for=
'item in subTaskList'
:value=
"item.subtask_id"
:key=
"item.subtask_id"
:label=
'item.subtask_name'
></el-option>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
...
@@ -42,7 +46,7 @@
...
@@ -42,7 +46,7 @@
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"车
身
颜色"
>
<el-form-item
label=
"车
辆
颜色"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.car_color"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.car_color"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
...
@@ -50,14 +54,14 @@
...
@@ -50,14 +54,14 @@
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"车辆品牌"
>
<
!--
<
el-form-item
label=
"车辆品牌"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.logo_type"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.logo_type"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
v-for=
'item in brandList'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
<el-option
v-for=
'item in brandList'
:value=
"item.code"
:key=
"item.code"
:label=
'item.name'
></el-option>
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
-->
<!--
<el-form-item
label=
"标志物"
>
<!--
<el-form-item
label=
"标志物"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.marker"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.marker"
>
...
@@ -98,7 +102,7 @@
...
@@ -98,7 +102,7 @@
<el-col
:span=
"2"
>
<el-col
:span=
"2"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"exportFun"
>
导出
</el-button>
<el-button
type=
"success"
class=
"block
compatibleBtn
"
@
click=
"exportFun"
>
导出
</el-button>
</div>
</div>
<div>
<div>
<el-button
type=
"success"
class=
"block"
@
click=
"batchdel"
>
批量删除
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"batchdel"
>
批量删除
</el-button>
...
@@ -107,7 +111,7 @@
...
@@ -107,7 +111,7 @@
<div
style=
""
>
<div
style=
""
>
<el-table
<el-table
:data=
"formattterData"
:data=
"formattterData"
height=
"574
"
:height=
"tableHeight
"
stripe
stripe
border
border
@
selection-change=
"handleSelectionChange"
>
@
selection-change=
"handleSelectionChange"
>
...
@@ -280,9 +284,9 @@
...
@@ -280,9 +284,9 @@
car_color
:
''
,
car_color
:
''
,
logo_type
:
''
,
logo_type
:
''
,
plate
:
''
,
plate
:
''
,
task_
name
:
''
,
task_
id
:
''
,
curdelid
:
''
,
curdelid
:
''
,
vchan
_name
:
''
,
subtask
_name
:
''
,
special_type
:
''
special_type
:
''
},
},
brandList
:
this
.
$buildCode
.
getCodeList
(
'车辆品牌'
),
brandList
:
this
.
$buildCode
.
getCodeList
(
'车辆品牌'
),
...
@@ -294,7 +298,10 @@
...
@@ -294,7 +298,10 @@
page
:
1
,
page
:
1
,
pageSize
:
30
,
pageSize
:
30
,
selectcheck
:[],
selectcheck
:[],
currentIndex
:
0
currentIndex
:
0
,
taskList
:[],
subTaskList
:[],
tableHeight
:
window
.
twoSearchTableHeight
,
}
}
},
},
watch
:{
watch
:{
...
@@ -306,10 +313,32 @@
...
@@ -306,10 +313,32 @@
components
:{},
components
:{},
mounted
(){
mounted
(){
this
.
getData
()
this
.
getData
()
this
.
getTaskList
();
},
},
methods
:{
methods
:{
getTaskList
(){
this
.
$api
.
task
.
getTask
({
source_type
:
"pull_video_stream"
,
task_type
:
"normal"
}).
then
(
res
=>
{
this
.
taskList
=
res
.
list_data
;
this
.
taskList
.
unshift
({
task_id
:
''
,
task_name
:
'全部'
})
})
},
getSubTask
(){
this
.
conditions
.
subtask_id
=
null
;
this
.
$api
.
task
.
getSubTask
(
this
.
conditions
.
task_id
).
then
(
res
=>
{
this
.
subTaskList
=
res
.
list_data
;
if
(
this
.
subTaskList
.
length
>
0
){
this
.
conditions
.
subtask_id
=
this
.
subTaskList
[
0
].
subtask_id
}
})
},
exportFun
(){
exportFun
(){
window
.
open
(
encodeURI
(
process
.
env
.
VUE_APP_URL
+
'/api/v1/traffic/events/export?s='
+
Math
.
random
()
+
'&event_type=&event_dt__gte='
+
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_dt__lt='
+
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&
vchan_name__like='
+
this
.
conditions
.
vchan_name
+
'&vehicle_type='
+
this
.
conditions
.
car_type
+
'&body_color='
+
this
.
conditions
.
car_color
+
'&logo_type='
+
this
.
conditions
.
logo_type
+
'&plate_number__like='
+
this
.
conditions
.
plate
+
'&task_name='
+
this
.
conditions
.
task_name
+
'&special_type='
+
this
.
conditions
.
special_type
))
window
.
open
(
encodeURI
(
process
.
env
.
VUE_APP_URL
+
'/api/v1/traffic/events/export?s='
+
Math
.
random
()
+
'&event_type=&event_dt__gte='
+
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&event_dt__lt='
+
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
)
+
'&
subtask_name='
+
this
.
conditions
.
subtask_name
+
'&vehicle_type='
+
this
.
conditions
.
car_type
+
'&body_color='
+
this
.
conditions
.
car_color
+
'&logo_type='
+
this
.
conditions
.
logo_type
+
'&plate_number__like='
+
this
.
conditions
.
plate
+
'&task_id='
+
this
.
conditions
.
task_id
+
'&special_type='
+
this
.
conditions
.
special_type
))
},
},
batchdel
(){
batchdel
(){
if
(
this
.
selectcheck
.
length
==
0
){
if
(
this
.
selectcheck
.
length
==
0
){
...
@@ -392,7 +421,7 @@
...
@@ -392,7 +421,7 @@
event_dt__gte
:
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__gte
:
this
.
$moment
(
this
.
conditions
.
start_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__lt
:
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
event_dt__lt
:
this
.
$moment
(
this
.
conditions
.
end_dt
).
utc
().
format
(
'YYYY-MM-DD HH:mm:ss'
),
// source_type: this.conditions.source_type,
// source_type: this.conditions.source_type,
vchan_name__like
:
this
.
conditions
.
vchan
_name
,
subtask_name
:
this
.
conditions
.
subtask
_name
,
vehicle_type
:
this
.
conditions
.
car_type
,
vehicle_type
:
this
.
conditions
.
car_type
,
body_color
:
this
.
conditions
.
car_color
,
body_color
:
this
.
conditions
.
car_color
,
logo_type
:
this
.
conditions
.
logo_type
,
logo_type
:
this
.
conditions
.
logo_type
,
...
@@ -401,7 +430,7 @@
...
@@ -401,7 +430,7 @@
plate_type
:
this
.
conditions
.
plate_type
,
plate_type
:
this
.
conditions
.
plate_type
,
event_type
:
''
,
event_type
:
''
,
special_type
:
this
.
conditions
.
special_type
,
special_type
:
this
.
conditions
.
special_type
,
task_
name
:
this
.
conditions
.
task_name
?
this
.
conditions
.
task_name
.
replace
(
/
\s\s
*/g
,
''
)
:
this
.
conditions
.
task_name
task_
id
:
this
.
conditions
.
task_id
}
}
this
.
$api
.
search
.
tableList
(
search_params
this
.
$api
.
search
.
tableList
(
search_params
).
then
((
res
)
=>
{
).
then
((
res
)
=>
{
...
...
src/views/search/xcycle.vue
View file @
d60b57e
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
相机
名称"
>
<el-form-item
label=
"
视频
名称"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.subtask_id"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.subtask_id"
>
<el-option
v-for=
'item in subTaskList'
:value=
"item.subtask_id"
:key=
"item.subtask_id"
:label=
'item.subtask_name'
></el-option>
<el-option
v-for=
'item in subTaskList'
:value=
"item.subtask_id"
:key=
"item.subtask_id"
:label=
'item.subtask_name'
></el-option>
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
<el-input
placeholder=
"请输入抓拍地点"
v-model=
"conditions.location_name"
></el-input>
<el-input
placeholder=
"请输入抓拍地点"
v-model=
"conditions.location_name"
></el-input>
</span>
</span>
</el-form-item>
-->
</el-form-item>
-->
<el-form-item
label=
"
类型
"
>
<el-form-item
label=
"
检索对象
"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.event_type"
@
change=
"typeChange"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.event_type"
@
change=
"typeChange"
>
<el-option
value=
"xcycle"
label=
"非机动车"
></el-option>
<el-option
value=
"xcycle"
label=
"非机动车"
></el-option>
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
</el-select>
</el-select>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"
检索
类型"
>
<el-form-item
label=
"
对象
类型"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.xcycle_type"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.xcycle_type"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
...
@@ -52,10 +52,20 @@
...
@@ -52,10 +52,20 @@
</el-form-item>
</el-form-item>
<el-form-item
label=
"运营公司"
>
<el-form-item
label=
"运营公司"
>
<span
class=
"inputBox"
>
<span
class=
"inputBox"
>
<el-input
placeholder=
"请输入
任务
名称"
v-model=
"conditions.company"
></el-input>
<el-input
placeholder=
"请输入
公司
名称"
v-model=
"conditions.company"
></el-input>
</span>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"上身颜色"
>
<el-form-item
label=
"是否带盔"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.with_hats"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
:value=
"0"
:key=
"0"
label=
'不确定'
></el-option>
<el-option
:value=
"1"
:key=
"1"
label=
'带盔'
></el-option>
<el-option
:value=
"2"
:key=
"2"
label=
'未带盔'
></el-option>
</el-select>
</span>
</el-form-item>
<!--
<el-form-item
label=
"上身颜色"
>
<span
class=
"selectBox"
>
<span
class=
"selectBox"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.upbodyColor"
>
<el-select
placeholder=
"请选择"
:popper-append-to-body=
false
v-model=
"conditions.upbodyColor"
>
<el-option
value=
""
label=
'全部'
></el-option>
<el-option
value=
""
label=
'全部'
></el-option>
...
@@ -70,6 +80,11 @@
...
@@ -70,6 +80,11 @@
<el-option
v-for=
'item in bodyColorList'
:value=
"item.value"
:key=
"item.value"
:label=
'item.label'
></el-option>
<el-option
v-for=
'item in bodyColorList'
:value=
"item.value"
:key=
"item.value"
:label=
'item.label'
></el-option>
</el-select>
</el-select>
</span>
</span>
</el-form-item>
-->
<el-form-item
label=
"车牌号码"
>
<span
class=
"inputBox"
>
<el-input
placeholder=
"请输入车牌号码"
v-model=
"conditions.plate"
></el-input>
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"起始时间"
>
<el-form-item
label=
"起始时间"
>
<span
class=
"dateBox"
>
<span
class=
"dateBox"
>
...
@@ -89,7 +104,7 @@
...
@@ -89,7 +104,7 @@
<el-col
:span=
"2"
>
<el-col
:span=
"2"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<div
style=
"margin-bottom: 6px;padding-top: 3px;"
>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"primary"
style=
""
@
click=
"query"
class=
"block"
>
查询
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"exportFun"
>
导出
</el-button>
<el-button
type=
"success"
class=
"block
compatibleBtn
"
@
click=
"exportFun"
>
导出
</el-button>
</div>
</div>
<div>
<div>
<el-button
type=
"success"
class=
"block"
@
click=
"batchdel"
>
批量删除
</el-button>
<el-button
type=
"success"
class=
"block"
@
click=
"batchdel"
>
批量删除
</el-button>
...
@@ -98,7 +113,7 @@
...
@@ -98,7 +113,7 @@
<div
style=
""
>
<div
style=
""
>
<el-table
<el-table
:data=
"formattterData"
:data=
"formattterData"
height=
"574
"
:height=
"tableHeight
"
stripe
stripe
border
border
@
selection-change=
"handleSelectionChange"
>
@
selection-change=
"handleSelectionChange"
>
...
@@ -118,14 +133,14 @@
...
@@ -118,14 +133,14 @@
label=
"性别"
>
label=
"性别"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"driver_face_
upbody_text
"
prop=
"driver_face_
with_hats
"
align=
"center"
align=
"center"
label=
"
上身颜色
"
>
label=
"
是否带盔
"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"
driver_face_lobody
_text"
prop=
"
xcycle_plate
_text"
align=
"center"
align=
"center"
label=
"
下身颜色
"
>
label=
"
车牌号码
"
>
</el-table-column>
</el-table-column>
<el-table-column
<el-table-column
prop=
"company"
prop=
"company"
...
@@ -270,8 +285,8 @@
...
@@ -270,8 +285,8 @@
xcycle_type
:
''
,
xcycle_type
:
''
,
sex
:
''
,
sex
:
''
,
company
:
''
,
company
:
''
,
upbodyColor
:
''
,
with_hats
:
''
,
lobodyColor
:
''
plate
:
''
},
},
brandList
:
this
.
$buildCode
.
getCodeList
(
'车辆品牌'
),
brandList
:
this
.
$buildCode
.
getCodeList
(
'车辆品牌'
),
vehicleTypeList
:
this
.
$buildCode
.
getCodeList
(
'车辆类型'
),
vehicleTypeList
:
this
.
$buildCode
.
getCodeList
(
'车辆类型'
),
...
@@ -284,7 +299,8 @@
...
@@ -284,7 +299,8 @@
selectcheck
:[],
selectcheck
:[],
currentIndex
:
0
,
currentIndex
:
0
,
taskList
:[],
taskList
:[],
subTaskList
:[]
subTaskList
:[],
tableHeight
:
window
.
twoSearchTableHeight
,
}
}
},
},
watch
:{
watch
:{
...
@@ -305,6 +321,10 @@
...
@@ -305,6 +321,10 @@
task_type
:
"normal"
task_type
:
"normal"
}).
then
(
res
=>
{
}).
then
(
res
=>
{
this
.
taskList
=
res
.
list_data
;
this
.
taskList
=
res
.
list_data
;
this
.
taskList
.
unshift
({
task_id
:
''
,
task_name
:
'全部'
})
})
})
},
},
getSubTask
(){
getSubTask
(){
...
@@ -341,10 +361,10 @@
...
@@ -341,10 +361,10 @@
this
.
conditions
.
subtask_id
+
this
.
conditions
.
subtask_id
+
"&company_like="
+
"&company_like="
+
this
.
conditions
.
company
+
this
.
conditions
.
company
+
"&
upbodyColor
="
+
"&
with_hats
="
+
this
.
conditions
.
upbodyColor
+
this
.
conditions
.
with_hats
+
"&
lobodyColor
="
+
"&
plate_number__like
="
+
this
.
conditions
.
lobodyColor
this
.
conditions
.
plate
}
else
{
}
else
{
url
=
process
.
env
.
VUE_APP_URL
+
url
=
process
.
env
.
VUE_APP_URL
+
"/api/v1/traffic/events/export?s="
+
"/api/v1/traffic/events/export?s="
+
...
@@ -363,10 +383,10 @@
...
@@ -363,10 +383,10 @@
this
.
conditions
.
subtask_id
+
this
.
conditions
.
subtask_id
+
"&company_like="
+
"&company_like="
+
this
.
conditions
.
company
+
this
.
conditions
.
company
+
"&
upbodyColor
="
+
"&
with_hats
="
+
this
.
conditions
.
upbodyColor
+
this
.
conditions
.
with_hats
+
"&
lobodyColor
="
+
"&
plate_number__like
="
+
this
.
conditions
.
lobodyColor
this
.
conditions
.
plate
}
}
window
.
open
(
window
.
open
(
encodeURI
(
url
)
encodeURI
(
url
)
...
@@ -457,8 +477,8 @@
...
@@ -457,8 +477,8 @@
event_type
:
this
.
conditions
.
event_type
,
event_type
:
this
.
conditions
.
event_type
,
sex
:
this
.
conditions
.
sex
,
sex
:
this
.
conditions
.
sex
,
company_like
:
this
.
conditions
.
company
,
company_like
:
this
.
conditions
.
company
,
upbodyColor
:
this
.
conditions
.
upbodyColor
,
with_hats
:
this
.
conditions
.
with_hats
,
lobodyColor
:
this
.
conditions
.
lobodyColor
plate_number__like
:
this
.
conditions
.
plate
}
}
if
(
this
.
conditions
.
event_type
==
'xcycle'
){
if
(
this
.
conditions
.
event_type
==
'xcycle'
){
search_params
.
xcycle_type
=
this
.
conditions
.
xcycle_type
;
search_params
.
xcycle_type
=
this
.
conditions
.
xcycle_type
;
...
...
Write
Preview
Markdown
is supported
Attach a file
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 post a comment