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 d13af288
authored
Mar 20, 2020
by
潘建波
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
提交预置位设置
1 parent
2d6459fb
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
297 additions
and
154 deletions
dist.zip
src/api/axios.js
src/api/baseUrl.js
src/assets/css/public.css
src/views/behaviorShow/devInfo.vue
src/views/sceneManage/setting/areaconfig/trafficback.vue
src/views/sceneManage/setting/index.vue
src/views/sceneManage/setting/ytconfig.vue
src/views/search/event.vue
src/views/search/illegal.vue
src/views/taskManage/editSet.vue
src/views/taskManage/index.vue
src/views/trafficShow/index.vue
src/views/trafficShow/indexback.vue
src/views/trafficShow/map.vue
dist.zip
View file @
d13af28
No preview for this file type
src/api/axios.js
View file @
d13af28
...
...
@@ -37,7 +37,11 @@ service.interceptors.request.use(
let
atoken
=
localStorage
.
getItem
(
"atoken"
);
if
(
atoken
)
{
// 判断是否存在token,如果存在的话,则每个http header都加上token
if
(
config
.
url
.
indexOf
(
"codes"
)
>
-
1
)
{
//
}
else
{
config
.
headers
.
authorization
=
atoken
;
}
}
else
{
router
.
push
(
"/login"
);
// endLoading();
...
...
src/api/baseUrl.js
View file @
d13af28
...
...
@@ -3,14 +3,14 @@ import axios from "axios";
console
.
log
(
process
.
env
.
NODE_ENV
);
switch
(
process
.
env
.
NODE_ENV
)
{
case
"development"
:
baseUrl
=
"
/api
"
;
// 测试环境url
baseUrl
=
"
http://192.168.9.133:20080
"
;
// 测试环境url
// baseUrl = "http://192.168.9.61:8086";
break
;
case
"pre"
:
baseUrl
=
"https://pre-server.feleti.cn"
;
// 预上线环境url
break
;
case
"production"
:
baseUrl
=
"http://
vion-panda.51vip.biz:5251
0"
;
// 生产环境url
baseUrl
=
"http://
192.168.9.133:2008
0"
;
// 生产环境url
break
;
}
...
...
src/assets/css/public.css
View file @
d13af28
...
...
@@ -243,3 +243,27 @@ body{
.el-menu-item.is-active
.submenuicon
{
background
:
rgba
(
0
,
105
,
255
,
1
)
!important
;
}
.el-input-group__append
{
background
:
rgba
(
0
,
105
,
255
,
1
)
!important
;
color
:
#ffffff
;
}
.search-vchan
.el-input-group
{
box-shadow
:
-1.2px
2px
1px
0px
rgba
(
78
,
8
,
8
,
0.1
);
}
.card-hover
:hover
{
webkit-transform
:
translateY
(
-4px
)
scale
(
1
);
-moz-transform
:
translateY
(
-4px
)
scale
(
1.01
);
-ms-transform
:
translateY
(
-4px
)
scale
(
1.01
);
-o-transform
:
translateY
(
-4px
)
scale
(
1.01
);
transform
:
translateY
(
-4px
)
scale
(
1.01
);
-webkit-box-shadow
:
0
14px
24px
rgba
(
62
,
57
,
107
,
.1
);
box-shadow
:
0
14px
24px
rgba
(
62
,
57
,
107
,
.1
);
}
.card-hover
{
-webkit-transition
:
all
.25s
ease
;
-o-transition
:
all
.25s
ease
;
-moz-transition
:
all
.25s
ease
;
transition
:
all
.25s
ease
;
}
\ No newline at end of file
src/views/behaviorShow/devInfo.vue
View file @
d13af28
...
...
@@ -17,15 +17,15 @@
<div
class=
"item-box"
>
<div
class=
"icon el-icon-bell"
></div>
<div
class=
"item-info-box"
>
<div>
运行异常
资源
</div>
<div><span>
6
</span>
个
</div>
<div>
运行异常
</div>
<div><span>
6
</span>
个
</div>
</div>
</div>
<div
class=
"item-box"
>
<div
class=
"icon el-icon-s-order"
></div>
<div
class=
"item-info-box"
>
<div>
信息存储量
</div>
<div>
<span>
1.2
</span>
T
</div>
<div><span>
1.2
</span>
T
</div>
</div>
</div>
</div>
...
...
src/views/sceneManage/setting/areaconfig/trafficback.vue
View file @
d13af28
...
...
@@ -341,12 +341,12 @@ export default {
typeFlag
:
1
,
//选择属性弹窗状态
lineNum
:
1
,
//车道线/车道序号
curLayerstate
:
false
,
//行人检测区域属性设置
testLayerstate
:
false
,
//测试检测区域属性设置
testLayerstate
:
false
,
//测试检测区域属性设置
polygon_id
:
""
,
//行人检测区域id
polygon_name
:
""
,
//行人检测区域name
markLineType
:
"0"
,
lanuse
:
'0'
,
//车道属性类型
guidingtype
:
''
,
//车道导向类型
lanuse
:
"0"
,
//车道属性类型
guidingtype
:
""
,
//车道导向类型
markLineDirect
:
""
,
childUrl
:
""
,
//红绿灯区域截图
scale
:
{},
//红绿灯区域截图放大倍数
...
...
@@ -354,11 +354,11 @@ export default {
type
:
"1"
,
distribute
:
"1"
,
shap
:
"1"
,
delay
:
3
delay
:
3
},
roiBody
:
{},
XMLStr
:
""
,
eventData
:
[]
eventData
:
[]
};
},
props
:
[
"bgUrl"
],
...
...
@@ -401,21 +401,25 @@ export default {
id
:
"noStopLayer"
,
name
:
"layer"
});
this
.
bicyLayer
=
new
Kinetic
.
Layer
({
//行人检测区域
this
.
bicyLayer
=
new
Kinetic
.
Layer
({
//行人检测区域
id
:
"bicyLayer"
,
name
:
"layer"
});
this
.
densityLayer
=
new
Kinetic
.
Layer
({
//密度
id
:
'densityLayer'
,
name
:
"layer"
this
.
densityLayer
=
new
Kinetic
.
Layer
({
//密度
id
:
"densityLayer"
,
name
:
"layer"
});
this
.
foreignLayer
=
new
Kinetic
.
Layer
({
//异物
id
:
'foreignLayer'
,
name
:
"layer"
this
.
foreignLayer
=
new
Kinetic
.
Layer
({
//异物
id
:
"foreignLayer"
,
name
:
"layer"
});
this
.
testRegionLayer
=
new
Kinetic
.
Layer
({
//测试检测区域
id
:
'testRegionLayer'
,
name
:
"layer"
this
.
testRegionLayer
=
new
Kinetic
.
Layer
({
//测试检测区域
id
:
"testRegionLayer"
,
name
:
"layer"
});
let
shadow
=
new
Kinetic
.
Rect
({
...
...
@@ -455,7 +459,7 @@ export default {
this
.
stage
.
add
(
this
.
noStopLayer
);
this
.
stage
.
add
(
this
.
densityLayer
);
this
.
stage
.
add
(
this
.
foreignLayer
);
this
.
stage
.
add
(
this
.
testRegionLayer
)
this
.
stage
.
add
(
this
.
testRegionLayer
);
this
.
layers
=
[
this
.
testLayer
,
this
.
lineLayer
,
...
...
@@ -602,12 +606,12 @@ export default {
line
.
index
=
ele
.
lane_no
;
let
lane_guid_type
=
0
;
let
lane_use
=
0
;
if
(
obj
.
lanes
.
lane_count
==
1
)
{
lane_guid_type
=
obj
.
lanes
.
lane
.
lane_guiding_type
lane_use
=
obj
.
lanes
.
lane
.
lane_use_type
if
(
obj
.
lanes
.
lane_count
==
1
)
{
lane_guid_type
=
obj
.
lanes
.
lane
.
lane_guiding_type
;
lane_use
=
obj
.
lanes
.
lane
.
lane_use_type
;
}
else
{
lane_guid_type
=
obj
.
lanes
.
lane
[
index
].
lane_guiding_type
;
lane_use
=
obj
.
lanes
.
lane
[
index
].
lane_use_type
lane_use
=
obj
.
lanes
.
lane
[
index
].
lane_use_type
;
}
this
.
roads
[
parseInt
(
ele
.
lane_seq
-
1
)]
=
{
type
:
ele
.
lane_type
,
...
...
@@ -648,7 +652,8 @@ export default {
(
rect
.
light_type
=
ele
.
light_type
),
(
rect
.
light_distribute
=
ele
.
light_distribute
),
(
rect
.
light_shape
=
ele
.
light_shape
),
(
rect
.
light_delay
=
ele
.
light_yellow_delay
||
ele
.
light_yellow_interval
),
(
rect
.
light_delay
=
ele
.
light_yellow_delay
||
ele
.
light_yellow_interval
),
(
rect
.
light_regions
=
{
light_region_count
:
1
,
light_region
:
linghtRoi
...
...
@@ -987,7 +992,7 @@ export default {
this
.
markLineType
=
this
.
roads
[
shape
.
roadIndex
].
type
;
this
.
markLineDirect
=
this
.
roads
[
shape
.
roadIndex
].
direct
;
this
.
guidingtype
=
this
.
roads
[
shape
.
roadIndex
].
lane_guiding_type
;
this
.
lanuse
=
this
.
roads
[
shape
.
roadIndex
].
lane_use_type
||
'0'
;
this
.
lanuse
=
this
.
roads
[
shape
.
roadIndex
].
lane_use_type
||
"0"
;
shape
.
setFill
(
"rgba("
+
this
.
color
[
1
]
+
",0.3)"
);
let
gLine
=
this
.
greenLines
[
shape
.
roadIndex
];
if
(
gLine
.
getParent
().
attrs
.
name
==
"arr"
)
{
...
...
@@ -1031,7 +1036,7 @@ export default {
type
:
shape
.
light_type
,
shap
:
shape
.
light_shape
,
distribute
:
shape
.
light_distribute
,
delay
:
shape
.
light_delay
delay
:
shape
.
light_delay
};
}
else
if
(
this
.
drawState
==
6
||
...
...
@@ -1115,7 +1120,7 @@ export default {
type
:
"1"
,
distribute
:
"1"
,
shap
:
"1"
,
delay
:
3
delay
:
3
};
this
.
layers
[
this
.
drawState
].
draw
();
},
...
...
@@ -1246,12 +1251,10 @@ export default {
},
0
);
layer
.
draw
();
}
if
(
this
.
drawState
==
6
||
this
.
drawState
==
7
||
this
.
drawState
==
8
)
{
if
(
this
.
drawState
==
6
||
this
.
drawState
==
7
||
this
.
drawState
==
8
)
{
this
.
curLayerstate
=
true
;
}
if
(
this
.
drawState
==
9
)
{
if
(
this
.
drawState
==
9
)
{
this
.
testLayerstate
=
true
;
}
},
...
...
@@ -1316,7 +1319,6 @@ export default {
//清空输入框
this
.
polygon_id
=
""
;
this
.
polygon_name
=
""
;
},
curlayCancel
()
{
let
curLayers
=
this
.
layers
[
this
.
drawState
].
get
(
".rect"
);
...
...
@@ -1575,7 +1577,7 @@ export default {
type
:
"1"
,
distribute
:
"1"
,
shap
:
"1"
,
delay
:
3
delay
:
3
};
this
.
selectedShape
=
null
;
},
...
...
@@ -1656,38 +1658,40 @@ export default {
// console.log('蓝色车道线')
// console.log(this.blueLines)
this
.
blueLines
.
forEach
((
ele
,
index
)
=>
{
if
(
ele
.
attrs
.
points
[
1
]
-
ele
.
attrs
.
points
[
3
]
>
0
)
{
if
(
ele
.
attrs
.
points
[
1
]
-
ele
.
attrs
.
points
[
3
]
>
0
)
{
var
copypoint
=
Array
.
from
(
ele
.
attrs
.
points
);
ele
.
attrs
.
points
[
0
]
=
copypoint
[
2
]
ele
.
attrs
.
points
[
1
]
=
copypoint
[
3
]
ele
.
attrs
.
points
[
2
]
=
copypoint
[
0
]
ele
.
attrs
.
points
[
3
]
=
copypoint
[
1
]
ele
.
attrs
.
points
[
0
]
=
copypoint
[
2
];
ele
.
attrs
.
points
[
1
]
=
copypoint
[
3
];
ele
.
attrs
.
points
[
2
]
=
copypoint
[
0
];
ele
.
attrs
.
points
[
3
]
=
copypoint
[
1
];
// console.log('*******蓝色车道线*******')
// console.log(ele)
}
})
});
//车道线根据坐标排序
function
sortBlueLine
(
arr
)
{
function
sortBlueLine
(
arr
)
{
var
len
=
arr
.
length
;
for
(
var
i
=
0
;
i
<
len
;
i
++
)
{
for
(
var
j
=
0
;
j
<
len
-
1
-
i
;
j
++
)
{
if
(
arr
[
j
].
attrs
.
points
[
0
]
>
arr
[
j
+
1
].
attrs
.
points
[
0
])
{
//相邻元素两两对比
var
temp
=
arr
[
j
+
1
];
//元素交换
arr
[
j
+
1
]
=
arr
[
j
];
if
(
arr
[
j
].
attrs
.
points
[
0
]
>
arr
[
j
+
1
].
attrs
.
points
[
0
])
{
//相邻元素两两对比
var
temp
=
arr
[
j
+
1
];
//元素交换
arr
[
j
+
1
]
=
arr
[
j
];
arr
[
j
]
=
temp
;
}
}
}
return
arr
;
}
console
.
log
(
'排序后的蓝色车道线'
)
console
.
log
(
sortBlueLine
(
this
.
blueLines
))
console
.
log
(
"排序后的蓝色车道线"
);
console
.
log
(
sortBlueLine
(
this
.
blueLines
));
this
.
blueLines
.
forEach
((
ele
,
index
)
=>
{
let
points
=
this
.
sortLinePoints
(
ele
.
attrs
.
points
);
let
points
=
this
.
sortLinePoints
(
ele
.
attrs
.
points
);
if
(
index
>
0
)
{
//绘制车道
let
lastPoints
=
this
.
sortLinePoints
(
this
.
blueLines
[
index
-
1
].
attrs
.
points
);
let
lastPoints
=
this
.
sortLinePoints
(
this
.
blueLines
[
index
-
1
].
attrs
.
points
);
let
num1
=
Math
.
pow
(
points
[
0
]
-
lastPoints
[
0
],
2
)
+
Math
.
pow
(
points
[
1
]
-
lastPoints
[
1
],
2
)
+
...
...
@@ -1731,8 +1735,7 @@ export default {
(
mPoints
[
0
]
+
mPoints
[
6
])
/
2
,
(
mPoints
[
1
]
+
mPoints
[
7
])
/
2
,
(
mPoints
[
2
]
+
mPoints
[
4
])
/
2
,
(
mPoints
[
3
]
+
mPoints
[
5
])
/
2
,
(
mPoints
[
3
]
+
mPoints
[
5
])
/
2
];
road
.
cPoints
=
cPoints
;
let
cLine
=
this
.
drawLine
(
"morePoints"
,
cPoints
,
this
.
color
[
2
]);
...
...
@@ -2000,10 +2003,10 @@ export default {
linetype
=
10
;
break
;
case
"4"
:
linetype
=
""
;
linetype
=
13
;
break
;
case
"5"
:
linetype
=
""
;
linetype
=
14
;
break
;
default
:
break
;
...
...
@@ -2044,13 +2047,7 @@ export default {
}
catch
(
error
)
{
console
.
log
(
error
);
}
console
.
log
(
"#######################"
);
console
.
log
(
lanaAry
);
console
.
log
(
"#######################"
);
this
.
roiBody
.
lanes
=
{
lane_count
:
lanaAry
.
length
?
lanaAry
.
length
:
0
,
lane
:
lanaAry
?
lanaAry
:
[]
}
//对向车道
try
{
this
.
subtendLayer
.
get
(
".rect"
).
forEach
((
el
,
index
)
=>
{
...
...
@@ -2084,7 +2081,14 @@ export default {
}
});
});
}
catch
(
error
)
{}
}
catch
(
error
)
{
console
.
log
(
error
);
}
console
.
log
(
"lanaAry"
,
lanaAry
);
this
.
roiBody
.
lanes
=
{
lane_count
:
lanaAry
.
length
?
lanaAry
.
length
:
0
,
lane
:
lanaAry
?
lanaAry
:
[]
};
// 红绿灯区域
let
lightAry
=
[];
...
...
@@ -2093,14 +2097,14 @@ export default {
lightAry
.
push
({
light_seq
:
index
+
1
,
light_type
:
ele
.
light_type
,
light_id
:
ele
.
light_type
,
light_id
:
ele
.
light_type
,
light_distribute
:
ele
.
light_distribute
,
light_number_type
:
ele
.
light_distribute
,
light_number_type
:
ele
.
light_distribute
,
light_yellow_delay
:
Number
(
ele
.
light_delay
),
light_yellow_interval
:
Number
(
ele
.
light_delay
),
light_shape
:
ele
.
light_shape
,
light_shape_type
:
ele
.
light_shape
,
light_regions
:
ele
.
light_regions
,
light_yellow_interval
:
Number
(
ele
.
light_delay
),
light_shape
:
ele
.
light_shape
,
light_shape_type
:
ele
.
light_shape
,
light_regions
:
ele
.
light_regions
});
});
}
catch
(
error
)
{}
...
...
@@ -2244,8 +2248,8 @@ export default {
});
}
testRegion
.
push
({
polygon_id
:
el
.
polygon_id
,
polygon_name
:
el
.
polygon_name
,
polygon_id
:
el
.
polygon_id
,
polygon_name
:
el
.
polygon_name
,
polygon_point_count
:
foAry
.
length
,
point
:
foAry
});
...
...
@@ -2269,47 +2273,47 @@ export default {
(
this
.
needRect
=
false
),
(
this
.
needLine
=
false
),
(
this
.
canvasState
=
0
),
(
this
.
polygon_name
=
''
),
(
this
.
polygon_id
=
''
),
(
this
.
polygon_name
=
""
),
(
this
.
polygon_id
=
""
),
(
this
.
polyline
=
0
);
$
(
".modal-lt button"
).
removeClass
(
"active"
);
},
sortLinePoints
(
pointarr
)
{
try
{
sortLinePoints
(
pointarr
)
{
try
{
let
newpoint
=
[];
if
((
pointarr
[
1
]
-
pointarr
[
3
])
>
0
)
{
newpoint
[
0
]
=
pointarr
[
2
]
newpoint
[
1
]
=
pointarr
[
3
]
newpoint
[
2
]
=
pointarr
[
0
]
newpoint
[
3
]
=
pointarr
[
1
]
if
(
pointarr
[
1
]
-
pointarr
[
3
]
>
0
)
{
newpoint
[
0
]
=
pointarr
[
2
];
newpoint
[
1
]
=
pointarr
[
3
];
newpoint
[
2
]
=
pointarr
[
0
];
newpoint
[
3
]
=
pointarr
[
1
];
}
else
{
newpoint
=
pointarr
newpoint
=
pointarr
;
}
return
newpoint
}
catch
(
err
)
{
console
.
log
(
err
)
return
newpoint
;
}
catch
(
err
)
{
console
.
log
(
err
);
}
},
changetestid
()
{
changetestid
()
{
this
.
eventData
.
forEach
(
ele
=>
{
if
(
ele
.
value
==
this
.
polygon_id
)
{
this
.
polygon_name
=
ele
.
name
if
(
ele
.
value
==
this
.
polygon_id
)
{
this
.
polygon_name
=
ele
.
name
;
}
})
});
}
},
mounted
()
{
this
.
eventData
=
eventJson
this
.
eventData
=
eventJson
;
// this.stageInit()
key
(
'alt+1'
,()
=>
{
if
(
this
.
istest
)
{
this
.
istest
=
false
key
(
"alt+1"
,
()
=>
{
if
(
this
.
istest
)
{
this
.
istest
=
false
;
}
else
{
this
.
istest
=
true
this
.
istest
=
true
;
}
})
});
}
};
};
</
script
>
<
style
scoped
>
...
...
src/views/sceneManage/setting/index.vue
View file @
d13af28
...
...
@@ -5,13 +5,15 @@
:data=
"taskInfo.mtasks[0].scenes"
border
stripe
highlight-current-row
style=
"width: 80%;float:left"
height=
"25vh"
@
current-change=
"handleCurrentChange"
>
<el-table-column
label=
"序号"
type=
"index"
width=
"50"
align=
"center"
>
</el-table-column>
<el-table-column
prop=
"
name
"
prop=
"
position_num
"
align=
"center"
label=
"预置位编号"
width=
"180"
...
...
@@ -60,7 +62,7 @@
<handleparam
ref=
"handleparam"
></handleparam>
</div>
<div
class=
"yt-box"
>
<ytconfig
ref=
"yt"
></ytconfig>
<ytconfig
ref=
"yt"
@
subpostion=
"submitPosion"
></ytconfig>
</div>
<div>
<parameter
ref=
"parameter"
></parameter>
...
...
@@ -108,6 +110,17 @@
<el-input
v-model=
"timer"
style=
"padding-right:23px"
></el-input>
</div>
</div>
<div
class=
"sel-box"
>
<span
class=
"title"
>
开启轮休:
</span>
<div
class=
"timer-sel"
>
<el-switch
width=
"30"
v-model=
"polling_state"
active-color=
"#13ce66"
inactive-color=
"#ff4949"
>
</el-switch>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleTimerClose"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"submitTimer"
>
确 定
</el-button>
...
...
@@ -126,11 +139,13 @@ export default {
data
()
{
return
{
timer
:
0
,
polling_state
:
false
,
timersel
:
0
,
timerDialog
:
false
,
curindex
:
0
,
timeroptions
:
[
30
,
40
,
50
,
60
,
100
],
timerscenes
:
null
,
currentRow
:
null
,
taskInfo
:
{
mtasks
:
[
{
...
...
@@ -166,7 +181,7 @@ export default {
this
.
$refs
.
handleparam
.
show
(
type
);
},
setsounces
()
{
this
.
$refs
.
yt
.
openyt
();
this
.
$refs
.
yt
.
openyt
(
this
.
currentRow
);
},
getTaskParams
()
{
this
.
$api
.
task
.
getTaskParams
(
this
.
taskid
,
this
.
subtaskid
).
then
(
data
=>
{
...
...
@@ -175,6 +190,7 @@ export default {
},
setTimer
(
data
)
{
this
.
timerscenes
=
data
;
this
.
polling_state
=
data
.
pollingState
;
this
.
$store
.
commit
(
"setocxstate"
,
0
);
this
.
timerDialog
=
true
;
},
...
...
@@ -182,11 +198,30 @@ export default {
this
.
timerDialog
=
false
;
this
.
$store
.
commit
(
"setocxstate"
,
1
);
},
handleCurrentChange
(
val
)
{
this
.
currentRow
=
val
;
},
submitPosion
(
positionnum
)
{
this
.
taskInfo
.
mtasks
[
0
].
scenes
.
map
(
ele
=>
{
if
(
ele
.
scene_unid
==
this
.
currentRow
.
scene_unid
)
{
ele
.
position_num
=
positionnum
;
}
});
this
.
subRoi
(
this
.
taskInfo
.
mtasks
);
},
submitTimer
(
item
)
{
this
.
taskInfo
.
mtasks
[
0
].
time_interval
=
this
.
timer
;
this
.
taskInfo
.
mtasks
[
0
].
scenes
.
map
(
ele
=>
{
if
(
ele
.
scene_unid
==
this
.
currentRow
.
scene_unid
)
{
ele
.
runtime
=
this
.
timer
;
ele
.
pollingState
=
this
.
polling_state
;
}
});
this
.
subRoi
(
this
.
taskInfo
.
mtasks
);
},
subRoi
(
mdata
)
{
let
data
=
{
subtask_id
:
this
.
subtaskid
,
mtasks
:
this
.
taskInfo
.
mtasks
mtasks
:
mdata
};
this
.
$api
.
task
.
editRoi
(
this
.
taskid
,
this
.
subtaskid
,
data
).
then
(
res
=>
{
if
(
res
.
ecode
==
200
)
{
...
...
@@ -208,7 +243,7 @@ export default {
playurl
:
this
.
playurl
}
});
window
.
open
(
routeData
.
href
,
'_blank'
);
window
.
open
(
routeData
.
href
,
"_blank"
);
},
submit
:
function
(
xml
,
type
)
{
let
postObj
=
{
...
...
src/views/sceneManage/setting/ytconfig.vue
View file @
d13af28
...
...
@@ -72,7 +72,7 @@
</div>
<div
class=
"right-bottom-box"
>
<div
class=
"setyzw item-box"
>
<el-input
placeholder=
"预置位编号"
></el-input>
<el-input
placeholder=
"预置位编号"
v-model=
"presetindex"
></el-input>
</div>
<div
class=
"subbtn item-box"
>
<el-button
@
click=
"subset"
>
确定
</el-button>
...
...
@@ -104,11 +104,22 @@ export default {
value2
:
0
,
value3
:
0
,
value4
:
0
,
presetindex
:
""
,
curtask
:{},
};
},
methods
:
{
openyt
()
{
openyt
(
curtask
)
{
if
(
curtask
)
{
this
.
curtask
=
curtask
;
this
.
showyt
=
true
;
this
.
presetindex
=
curtask
.
position_num
;
}
else
{
this
.
$message
({
message
:
"请选择要操作的预置位"
,
type
:
"warning"
});
}
},
closeyt
()
{
this
.
showyt
=
false
;
...
...
@@ -121,23 +132,7 @@ export default {
VionVideo
.
VionPTZonrol
(
null
,
nType
,
nParam
);
},
subset
()
{
let
mtasks
=
this
.
allMask
.
mtasks
;
this
.
allMask
.
mtasks
.
forEach
(
ele
=>
{
ele
.
scenes
[
this
.
curindex
].
algo_type
=
this
.
algo_type
;
ele
.
scenes
[
this
.
curindex
].
position_name
=
this
.
position_name
;
ele
.
scenes
[
this
.
curindex
].
position_num
=
this
.
position_num
;
});
let
reqObj
=
{
subtask_id
:
this
.
curentSubTaskId
,
mtasks
:
this
.
allMask
.
mtasks
};
this
.
$api
.
task
.
editRoi
(
this
.
curentTaskId
,
this
.
curentSubTaskId
,
reqObj
)
.
then
(
res
=>
{
if
(
data
.
ecode
==
"200"
)
{
this
.
closeyt
();
}
});
this
.
$emit
(
"subpostion"
,
this
.
presetindex
);
}
}
};
...
...
src/views/search/event.vue
View file @
d13af28
...
...
@@ -110,7 +110,7 @@
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
content=
"播放"
placement=
"bottom"
effect=
"light"
:visible-arrow=
false
>
<span
:class=
"
{'iconfont icon-
bofa
ng playIcon':true,'no-btn':scope.row.video
&&
scope.row.video[0].src_url!=''?false:true}" @click="playFun(scope.$index, scope.row)">
</span>
<span
:class=
"
{'iconfont icon-
fanxing-qido
ng playIcon':true,'no-btn':scope.row.video
&&
scope.row.video[0].src_url!=''?false:true}" @click="playFun(scope.$index, scope.row)">
</span>
</el-tooltip>
<span
class=
"tableSpanBorder"
></span>
<el-tooltip
content=
"详情"
placement=
"bottom"
effect=
"light"
:visible-arrow=
false
>
...
...
src/views/search/illegal.vue
View file @
d13af28
...
...
@@ -145,7 +145,7 @@
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-tooltip
content=
"播放"
placement=
"bottom"
effect=
"light"
:visible-arrow=
false
>
<span
:class=
"
{'iconfont icon-
bofa
ng playIcon':true,'no-btn':scope.row.video
&&
scope.row.video[0].src_url!=''?false:true}" @click="playFun(scope.$index, scope.row)">
</span>
<span
:class=
"
{'iconfont icon-
fanxing-qido
ng playIcon':true,'no-btn':scope.row.video
&&
scope.row.video[0].src_url!=''?false:true}" @click="playFun(scope.$index, scope.row)">
</span>
</el-tooltip>
<span
class=
"tableSpanBorder"
></span>
<el-tooltip
content=
"详情"
placement=
"bottom"
effect=
"light"
:visible-arrow=
false
>
...
...
src/views/taskManage/editSet.vue
View file @
d13af28
...
...
@@ -37,8 +37,8 @@
</el-form-item>
<el-form-item
label=
"时间计划"
>
<el-select
v-model=
"formData.period"
>
<el-option
value=
"true
"
label=
"全天"
></el-option>
<el-option
value=
"false
"
label=
"时间"
></el-option>
<el-option
:value=
"1
"
label=
"全天"
></el-option>
<el-option
:value=
"0
"
label=
"时间"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"时间"
v-show=
"formData.plate_time != 'day'"
>
...
...
src/views/taskManage/index.vue
View file @
d13af28
<
template
>
<div
class=
"contentBox"
>
<div
class=
"topCon"
>
<div
class=
"left"
>
<
!--
<
div
class=
"left"
>
<img
src=
"../../assets/img/taskmanage/weather.png"
alt=
""
/>
<span
class=
"textCon"
>
<div
class=
"topText"
>
21°/31°
</div>
<div
class=
"bottomText"
>
西北风1级 空气优
</div>
</span>
</div>
</div>
-->
<div
class=
"right"
>
<div
class=
"rightBox"
>
<img
src=
"../../assets/img/taskmanage/pic1.png"
alt=
""
/>
...
...
@@ -336,9 +336,14 @@ export default {
// /
},
dateFormatter
(
row
,
column
,
cellValue
,
index
)
{
if
(
row
.
period
)
{
return
"全天"
}
else
{
let
startDate
=
cellValue
?
cellValue
.
split
(
" "
)[
0
]
:
""
;
let
endDate
=
row
.
end_dt
?
row
.
end_dt
.
split
(
" "
)[
0
]
:
""
;
return
startDate
+
" ~ "
+
endDate
;
}
},
typeFormatter
(
row
,
column
,
cellValue
,
index
)
{
if
(
cellValue
==
0
)
{
...
...
src/views/trafficShow/index.vue
View file @
d13af28
...
...
@@ -2,8 +2,13 @@
<el-row
:gutter=
"10"
style=
"padding: 10px 0 10px 10px;width: 100%;overflow:hidden"
>
<el-col
:span=
"17"
>
<div
id=
"map"
class=
"maps"
>
<div
class=
"search-vchan"
>
<el-input
placeholder=
"请输入内容"
v-model=
"vchanname"
class=
"input-with-select"
>
<el-button
slot=
"append"
type=
"primary"
icon=
"el-icon-search"
@
click=
"searchvchan"
></el-button>
</el-input>
</div>
<showmap
ref=
"map"
></showmap>
<div
class=
"eventlist-box"
>
<div
class=
"eventlist-box
card-hover
"
>
<!--
<eventList></eventList>
-->
<devInfo></devInfo>
</div>
...
...
@@ -20,7 +25,7 @@
</el-col>
<el-col
:span=
"7"
>
<el-row>
<div
class=
"collect-box"
>
<div
class=
"collect-box
card-hover
"
>
<div
class=
"header-title"
>
今日抓拍量
</div>
<div
class=
"collect-content"
>
<el-col
:span=
"6"
class=
"content-item"
>
...
...
@@ -44,11 +49,11 @@
</el-row>
<el-row
:gutter=
"12"
class=
"event-type-box"
style=
"margin-top:1vh"
>
<el-col
:span=
"16"
>
<div
class=
"right-item-box"
>
<div
class=
"right-item-box
card-hover
"
>
<eventTypedis></eventTypedis>
</div>
</el-col>
<el-col
:span=
"8"
style=
"padding-right:0"
>
<el-col
:span=
"8"
style=
"padding-right:0"
class=
"card-hover"
>
<div
class=
"right-item-box"
>
<div
class=
"title"
>
重点车辆分布
</div>
<div
class=
"car-dis-info"
>
...
...
@@ -88,12 +93,12 @@
</el-col>
</el-row>
<el-row
style=
"margin-top:1vh;background:#fff"
>
<div
class
>
<div
class
=
"card-hover"
>
<illegaltrend></illegaltrend>
</div>
</el-row>
<el-row
class=
"clearpright"
style=
"margin-top:1vh"
>
<div
class=
"right-item-box"
>
<div
class=
"right-item-box
card-hover
"
>
<div
class=
"title"
>
实时数据
</div>
<alarmEvent
@
event=
"alarmevent"
></alarmEvent>
</div>
...
...
@@ -127,6 +132,7 @@ export default {
archiveUnid
:
0
,
snap_num
:
0
,
playurl
:
{},
vchanname
:
''
,
playurl2
:
""
,
audit_num
:
0
,
snapData
:
{
...
...
@@ -168,6 +174,9 @@ export default {
//移动地图
this
.
$refs
.
map
.
movemap
(
data
);
},
searchvchan
(){
this
.
$refs
.
map
.
searchvchan
(
this
.
vchanname
)
},
closeocx
(){
this
.
ocxstatus
=
false
;
},
...
...
@@ -437,4 +446,12 @@ export default {
width
:
200px
;
height
:
200px
;
}
.search-vchan
{
width
270px;
position
:
absolute
;
top
:
12px
;
z-index
900;
right
10px;
border-radius
3px;
}
</
style
>
src/views/trafficShow/indexback.vue
View file @
d13af28
...
...
@@ -19,7 +19,7 @@
<div
class=
"infoChild"
>
<img
src=
"../../assets/img/map/warn.png"
alt=
""
>
<span
class=
"textCon"
>
<div>
运行异常
资源
</div>
<div>
运行异常
</div>
<div
class=
"colorText"
><span>
7
</span>
个
</div>
</span>
</div>
...
...
src/views/trafficShow/map.vue
View file @
d13af28
...
...
@@ -8,8 +8,7 @@
class=
"ol-popup-closer"
@
click=
"closepopup"
></a>
<div
class=
""
id=
"t-popup-content"
>
</div>
<div
class=
""
id=
"t-popup-content"
></div>
</div>
<div
id=
"videopopup"
class=
"ol-popup"
>
<a
...
...
@@ -22,6 +21,21 @@
<videoPlay
ref=
"mapvideo"
:playurl=
"playurl"
></videoPlay>
</div>
</div>
<div
id=
"taskinfopopup"
class=
"ol-popup info-popup"
>
<a
href=
"#"
id=
"task-popup-closer"
class=
"ol-popup-closer"
@
click=
"closetaskpopup"
></a>
<div>
<span>
{{
infoData
.
vchan_name
}}
</span>
<span></span>
<span></span>
<span></span>
<span></span>
</div>
</div>
</div>
</
template
>
...
...
@@ -34,7 +48,7 @@ import Feature from "ol/Feature"; //元素
import
Overlay
from
"ol/Overlay"
;
//弹出框
import
{
toStringHDMS
}
from
"ol/coordinate"
;
import
{
fromLonLat
,
toLonLat
}
from
"ol/proj"
;
import
{
defaults
as
defaultControls
,
Control
}
from
'ol/control.js'
;
import
{
defaults
as
defaultControls
,
Control
}
from
"ol/control.js"
;
import
{
Tile
as
TileLayer
,
Vector
as
VectorLayer
,
...
...
@@ -68,19 +82,22 @@ var map = "";
var
Views
=
""
;
var
container
=
""
;
var
videocontainer
=
""
;
var
taskInfocontaniner
=
""
;
var
content
=
""
;
var
voideocontent
=
""
;
var
closer
=
""
;
var
taskcloser
=
""
;
var
overlay
=
""
;
var
RotateNorthControl
=
(
function
(
Control
)
{
var
infooverlay
=
""
;
var
RotateNorthControl
=
(
function
(
Control
)
{
function
RotateNorthControl
(
opt_options
)
{
var
options
=
opt_options
||
{};
var
button
=
document
.
createElement
(
'button'
);
button
.
className
=
'el-icon-aim'
;
var
button
=
document
.
createElement
(
"button"
);
button
.
className
=
"el-icon-aim"
;
var
element
=
document
.
createElement
(
'div'
);
element
.
className
=
'rotate-north ol-unselectable ol-control'
;
var
element
=
document
.
createElement
(
"div"
);
element
.
className
=
"rotate-north ol-unselectable ol-control"
;
element
.
appendChild
(
button
);
Control
.
call
(
this
,
{
...
...
@@ -88,14 +105,14 @@ var RotateNorthControl = (function (Control) {
target
:
options
.
target
});
button
.
addEventListener
(
'click'
,
this
.
handleRotateNorth
.
bind
(
this
),
false
);
button
.
addEventListener
(
"click"
,
this
.
handleRotateNorth
.
bind
(
this
),
false
);
}
if
(
Control
)
RotateNorthControl
.
__proto__
=
Control
;
RotateNorthControl
.
prototype
=
Object
.
create
(
Control
&&
Control
.
prototype
);
if
(
Control
)
RotateNorthControl
.
__proto__
=
Control
;
RotateNorthControl
.
prototype
=
Object
.
create
(
Control
&&
Control
.
prototype
);
RotateNorthControl
.
prototype
.
constructor
=
RotateNorthControl
;
RotateNorthControl
.
prototype
.
handleRotateNorth
=
function
handleRotateNorth
()
{
RotateNorthControl
.
prototype
.
handleRotateNorth
=
function
handleRotateNorth
()
{
let
pos
=
[
120.324447
,
36.074594
];
Views
.
animate
({
center
:
pos
,
...
...
@@ -105,12 +122,13 @@ var RotateNorthControl = (function (Control) {
};
return
RotateNorthControl
;
}(
Control
)
);
})(
Control
);
export
default
{
data
()
{
return
{
devList
:
[],
playurl
:{}
playurl
:
{},
infoData
:
{}
};
},
components
:
{
...
...
@@ -177,9 +195,7 @@ export default {
center
:
[
120.324447
,
36.064594
]
});
map
=
new
Map
({
controls
:
defaultControls
().
extend
([
new
RotateNorthControl
()
]),
controls
:
defaultControls
().
extend
([
new
RotateNorthControl
()]),
// 设置地图图层
layers
:
[
// 创建一个使用Open Street Map地图源的瓦片图层
...
...
@@ -215,7 +231,6 @@ export default {
let
that
=
this
;
map
.
on
(
"click"
,
e
=>
{
console
.
log
(
'经纬度'
,
e
.
coordinate
);
var
pixel
=
map
.
getEventPixel
(
e
.
originalEvent
);
//点击相机标注点
map
.
forEachFeatureAtPixel
(
pixel
,
function
(
feature
)
{
...
...
@@ -226,18 +241,30 @@ export default {
//播放视频操作
let
data
=
feature
.
getProperties
().
cameraInfo
;
that
.
playvideo
(
data
);
console
.
log
(
"视频播放地址"
+
data
);
console
.
log
(
"视频播放地址"
,
data
);
});
});
//鼠标移入标注点
map
.
on
(
"pointermove"
,
e
=>
{
var
pixel
=
map
.
getEventPixel
(
e
.
originalEvent
);
map
.
forEachFeatureAtPixel
(
pixel
,
function
(
feature
)
{
let
data
=
feature
.
getProperties
().
cameraInfo
;
that
.
infoData
=
data
;
that
.
showTaskInfo
(
data
);
});
});
},
movemap
(
data
)
{
let
pos
=
[
120.324447
,
36.074594
];
movemap
(
data
,
point
,
type
)
{
let
pos
=
point
?
point
:
[
120.324447
,
36.074594
];
Views
.
animate
({
center
:
pos
,
duration
:
400
,
zoom
:
14
});
if
(
type
&&
type
==
2
)
{
this
.
addLayer
(
data
,
pos
);
}
},
closepopup
()
{
overlay
.
setPosition
(
undefined
);
...
...
@@ -245,6 +272,7 @@ export default {
return
false
;
},
closevideopopup
()
{
this
.
closetaskpopup
();
let
video_ocx
=
document
.
getElementById
(
"VionVideo"
);
let
stopRes
=
video_ocx
.
StopPlaySip
(
0
);
let
stopRtspRes
=
video_ocx
.
StopPlay
(
0
);
...
...
@@ -252,6 +280,11 @@ export default {
closer
.
blur
();
return
false
;
},
closetaskpopup
()
{
infooverlay
.
setPosition
(
undefined
);
taskcloser
.
blur
();
return
false
;
},
addLayer
(
pdata
,
pos
)
{
document
.
getElementById
(
"popup"
).
style
.
display
=
"block"
;
...
...
@@ -323,7 +356,19 @@ export default {
vectorSource
.
addFeature
(
icon
);
return
vectorSource
;
},
showTaskInfo
(
data
)
{
let
pos
=
[
data
.
longitude
,
data
.
latitude
];
document
.
getElementById
(
"taskinfopopup"
).
style
.
display
=
"block"
;
infooverlay
=
new
Overlay
({
element
:
taskInfocontaniner
,
autoPan
:
true
,
position
:
pos
,
autoPanAnimation
:
{
duration
:
50
}
});
map
.
addOverlay
(
infooverlay
);
},
playvideo
(
data
)
{
let
pos
=
[
data
.
longitude
,
data
.
latitude
];
document
.
getElementById
(
"videopopup"
).
style
.
display
=
"block"
;
...
...
@@ -385,6 +430,14 @@ export default {
this
.
InitMap
();
},
200
);
});
},
searchvchan
(
vchanname
)
{
this
.
devList
.
forEach
(
ele
=>
{
if
(
ele
.
vchan_name
==
vchanname
)
{
let
point
=
[
ele
.
longitude
,
ele
.
latitude
];
this
.
movemap
(
point
);
}
});
}
},
mounted
()
{
...
...
@@ -393,9 +446,11 @@ export default {
},
1000
);
container
=
document
.
getElementById
(
"popup"
);
videocontainer
=
document
.
getElementById
(
"videopopup"
);
taskInfocontaniner
=
document
.
getElementById
(
"taskinfopopup"
);
content
=
document
.
getElementById
(
"t-popup-content"
);
voideocontent
=
document
.
getElementById
(
"video-popup-content"
);
closer
=
document
.
getElementById
(
"popup-closer"
);
taskcloser
=
document
.
getElementById
(
"task-popup-closer"
);
}
};
</
script
>
...
...
@@ -472,6 +527,10 @@ export default {
width
:
100%
;
}
}
.info-popup
{
width
10vw;
height
100px;
}
.pop-info
{
float
:
left
;
padding-left
:
20px
;
...
...
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