<template>
<div>
<el-menu
:default-active="currentPath"
router
mode="horizontal"
background-color="#fff"
text-color="#222"
active-text-color="red"
style="min-width: 1300px">
<a href="/index" class="indexCss">主页a>
<a href="/library" class="libraryCss">场景库a>
<a href="/test" class="testCss">仿真测试a>
<a href="/accidentAnalysis" class="accidentAnalysisCss">事故分析a>
<span class="mainTileCss">自动驾驶安全测试平台span>
el-menu>
div>
template>
<script>
export default {
name: 'NavMenu',
data () {
return {
navList: [
{name: '/index', navItem: '主页'},
{name: '/library', navItem: '场景库'},
{name: '/test', navItem: '仿真测试'},
{name: '/accidentAnalysis', navItem: '事故分析'}
],
keywords: ''
}
},
computed: {
hoverBackground () {
return '#ffd04b'
},
currentPath () {
var x = this.$route.path.indexOf('/', 1)
if (x !== -1) {
return this.$route.path.substring(0, x)
} else {
return this.$route.path
}
}
},
mounted () {
document.getElementsByClassName('indexCss').style.textColor = 'rgba(255, 141, 26, 1)'
}
}
script>
<style scoped>
a{
text-decoration: none;
}
span {
pointer-events: none;
}
.indexCss{
position: absolute;
z-index: 1;
left: 1194px;
top: 73px;
width: 90px;
height: 44px;
opacity: 1;
/** 文本1 */
font-size: 36px;
font-weight: 400;
letter-spacing: 0px;
line-height: 0px;
color: rgba(255, 255, 255, 1);
text-align: left;
vertical-align: top;
}
.indexCss:hover{
color: rgba(255, 141, 26, 1);
}
.libraryCss{
position: absolute;
z-index: 1;
left: 1455px;
top: 73px;
width: 150px;
height: 44px;
opacity: 1;
/** 文本1 */
font-size: 36px;
font-weight: 400;
letter-spacing: 0px;
line-height: 0px;
color: rgba(255, 255, 255, 1);
text-align: left;
vertical-align: top;
}
.libraryCss:hover{
color: rgba(255, 141, 26, 1);
}
.testCss{
position: absolute;
z-index: 1;
left: 1742px;
top: 73px;
width: 200px;
height: 44px;
opacity: 1;
/** 文本1 */
font-size: 36px;
font-weight: 400;
letter-spacing: 0px;
line-height: 0px;
color: rgba(255, 255, 255, 1);
text-align: left;
vertical-align: top;
}
.testCss:hover{
color: rgba(255, 141, 26, 1);
}
.accidentAnalysisCss{
position: absolute;
z-index: 1;
left: 2035px;
top: 73px;
width: 200px;
height: 44px;
opacity: 1;
/** 文本1 */
font-size: 36px;
font-weight: 400;
letter-spacing: 0px;
line-height: 0px;
color: rgba(255, 255, 255, 1);
text-align: left;
vertical-align: top;
}
.accidentAnalysisCss:hover{
color: rgba(255, 141, 26, 1);
}
.mainTileCss{
position: absolute;
z-index: 1;
left: 132px;
top: 73px;
width: 524px;
height: 71px;
opacity: 1;
/** 文本1 */
font-size: 40px;
font-weight: 400;
letter-spacing: 0px;
line-height: 0px;
color: rgba(255, 255, 255, 1);
text-align: left;
vertical-align: top;
}
style>
<template>
<div class="mainDiv">
<div class="topDiv" >
<img src="/svl_web/second_try_wj/Autonomous-driving-safety-test-demonstration-platform/wj-vue/src/components/photos/libray_1.png" alt="">
div>
<div class="chosePage">
<div class="ScenarioFilter abc">
<el-card class="elCardStyle">
<div style="width: 1052px; height: 404px;left: 394px;top: 150px;margin: 150px auto auto 394px;">
<h1 class="title"><b>筛选条件b>h1>
<div style="height: 94px;">div>
<div class="optionStyle">
<span style="text-align: left;height: 38px;width: 173px;font-size: 36px;font-family:HarmonyOS Sans SC;">
车道类型:
span>
<span style="margin-left: 180px;margin-right: 20px;">
<input type="checkbox" id="100" value="100" v-model="drivewayTypes"/>
<label style="width: 119px;height: 38px; margin-left: 15px;" for="单车道">单车道label>
span>
<span style="margin-left: 60px;margin-right: 20px;">
<input type="checkbox" id="010" value="10" v-model="drivewayTypes" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="多车道">多车道label>
span>
<span style="margin-left: 60px;margin-right: 20px;">
<input type="checkbox" id="001" value="1" v-model="drivewayTypes" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="交叉路口">交叉路口label>
span>
div>
<div class="optionStyle">
<span style="text-align: left;height: 38px;width: 173px;font-size: 36px;font-family:HarmonyOS Sans SC;">
规划任务:
span>
<span style="margin-left: 180px;margin-right: 20px;">
<input type="checkbox" id="100" value="100" v-model="taskPlannings" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="直行">直行label>
span>
<span style="margin-left: 74px;margin-right: 20px;">
<input type="checkbox" id="010" value="10" v-model="taskPlannings" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="转弯">转弯label>
span>
<span style="margin-left: 77px;margin-right: 20px;">
<input type="checkbox" id="001" value="1" v-model="taskPlannings" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="变道">变道label>
span>
div>
<div class="optionStyle">
<span style="text-align: left;height: 38px;width: 173px;font-size: 36px;font-family:HarmonyOS Sans SC;">
障碍物类型:
span>
<span style="margin-left: 145px;margin-right: 20px;">
<input type="checkbox" id="1000" value="1000" v-model="obstacleTypes" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="行人">行人label>
span>
<span style="margin-left: 71px;margin-right: 20px;">
<input type="checkbox" id="0100" value="100" v-model="obstacleTypes" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="路障">路障label>
span>
<span style="margin-left: 77px;margin-right: 20px;">
<input type="checkbox" id="0010" value="10" v-model="obstacleTypes" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="变道">变道label>
span>
<span style="margin-left: 60px;margin-right: 20px;">
<input type="checkbox" id="0001" value="1" v-model="obstacleTypes" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="卡车">卡车label>
span>
div>
<div class="optionStyle">
<span style="text-align: left;height: 38px;width: 173px;font-size: 36px;font-family:HarmonyOS Sans SC;">
障碍物数量:
span>
<span style="margin-left: 145px;margin-right: 20px;">
<input type="checkbox" id="1000" value="1000" v-model="obstacleNumbers" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="<10"><10label>
span>
<span style="margin-left: 74px;margin-right: 20px;">
<input type="checkbox" id="0100" value="100" v-model="obstacleNumbers" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="[10, 20)">[10, 20)label>
span>
<span style="margin-left: 56px;margin-right: 20px;">
<input type="checkbox" id="0010" value="10" v-model="obstacleNumbers" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for="[20, 30)">[20, 30)label>
span>
<span style="margin-left: 37px;margin-right: 20px;">
<input type="checkbox" id="0001" value="1" v-model="obstacleNumbers" />
<label style="width: 119px;height: 38px; margin-left: 15px;" for=">=30">>=30label>
span>
div>
div>
<button @click="handleSelect" class="handleSelectCss" >确认button>
el-card>
<div class="crossRoad2">div>
<div class="crossRoad1">div>
div>
div>
<div class="img3Css">div>
<div class="bottomCss">
<div class="bottomdiv"><a href="#" class="removebig">了解产品a><a href="#" class="removebig">支持与服务a><a href="#" class="removebig">关于我们a><a href="#" class="removebig">资讯动态a><a href="#" class="removebig">战略伙伴a><a href="#" class="removebig">媒体a>div>
<br><br>
<div class="bottomdiv"><a href="#" class="remove">金融设备a><a href="#" class="remove">支持a><a href="#" class="remove">关于我们a><a href="#" class="remove">我们的活动a><a href="#" class="remove">可买技术a><a href="#" class="remove">genshionimapcta>div>
<div class="bottomdiv"><a href="#" class="remove">金融设备a><a href="#" class="remove">品牌资料包a><a href="#" class="remove">联系我们a><a href="#" class="remove">我们的论坛a><a href="#" class="remove">哗啦啦a><a href="#" class="remove">鹅鹅鹅a>div>
<div class="bottomdiv"><a href="#" class="remove">桌面设备a><a href="#" class="remove">SDK&文档a><a href="#" class="remove">代理商加盟a><a href="#" class="remove">a><a href="#" class="remove">罗德岛a><a href="#" class="remove">中国互联网a>div>
<div class="bottomdiv"><a href="#" class="remove">零售a><a href="#" class="remove">服务网点a><a href="#" class="remove">a><a href="#" class="remove">a><a href="#" class="remove">夹带私货a><a href="#" class="remove">中国工商协会a>div>
<div class="bottomdiv"><a href="#" class="remove">配件a><a href="#" class="remove">售后查询a><a href="#" class="remove">a><a href="#" class="remove">a><a href="#" class="remove">原神a><a href="#" class="remove">扫码支付a>div>
<div style="text-align: left; margin-left: 400px;">
<span style="left: 10px; font-size: 20px;">联系方式:咨询 span>
<a href="#" style="color: orange; margin: 10px auto; text-decoration: none; font-size: 20px;">在线客服a>
<span style="font-size: 20px;">或致电span>
<a href="#" style="color: orange; margin: 10px auto; text-decoration: none; font-size: 20px;">400-400-4000a>
<span style=" margin-left: 5px;text-decoration: none; font-size: 20px;">(周一至周日 9:00-21:00)span>
div>
<hr>
<div style="text-align: left; margin-left: 400px;">
<span style="left: 10px; font-size: 20px;">2023 copyright@ 版权所有 span>
div>
div>
div>
template>
<script>
export default {
name: 'ScenarioFilter',
data () {
return {
drivewayTypes: [],
taskPlannings: [],
obstacleTypes: [],
obstacleNumbers: []
}
},
methods: {
handleSelect () {
var s1 = 0
var s2 = 0
var s3 = 0
var s4 = 0
for (var i = 0; i < this.drivewayTypes.length; i++) {
s1 += Number(this.drivewayTypes[i])
}
this.did = s1
for (var j = 0; j < this.taskPlannings.length; j++) {
s2 += Number(this.taskPlannings[j])
}
this.tid = s2
for (var k = 0; k < this.obstacleTypes.length; k++) {
s3 += Number(this.obstacleTypes[k])
}
this.oid = s3
for (var m = 0; m < this.obstacleNumbers.length; m++) {
s4 += Number(this.obstacleNumbers[m])
}
this.nid = s4
this.$emit('indexSelect')
}
}
}
script>
<style scoped>
.mainDiv{
/* width: 2560px;
height: 25060px;
margin: 1100px auto; */
background-color: white;
}
.topDiv{
position: absolute;
z-index: 0;
left: 0px;
top: 0px;
width: 2560px;
height: 880px;
opacity: 1;
background-image: url(https://user-images.githubusercontent.com/107924376/220128832-02b7ae11-f35e-4c86-b642-51f534e2569c.png);
background-size: 2560px auto;
/* margin: 35px auto 0 auto; */
}
.elCardStyle{
text-align: center;
width: 2560px;
height:704px;
margin: 293px 0px 594px 0px;
background: rgba(237, 237, 240, 1);
display: inline-block;
border: 1px solid rgba(229, 229, 229, 1);
}
.crossRoad1{
position: absolute;
left: 1867px;
top: 88px;
width: 597px;
height: 782px;
opacity: 1;
/* display: inline-block; */
background: url(https://images.unsplash.com/photo-1517586979036-b7d1e86b3345?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwzNjAzNTV8MHwxfHNlYXJjaHwxNHx8c3RyZWV0fGVufDB8fHx8MTY3NTIzNDAwOQ&ixlib=rb-4.0.3&q=80&w=1080);
}
.crossRoad2{
position: absolute;
left: 1467px;
top: 400px;
width: 597px;
height: 782px;
opacity: 1;
/* display: inline-block; */
background: url(https://images.unsplash.com/photo-1513171920216-2640b288471b?crop=entropy&cs=tinysrgb&fit=max&fm=jpg&ixid=MnwzNjAzNTV8MHwxfHNlYXJjaHw0MHx8c3RyZWV0fGVufDB8fHx8MTY3NTIzNDA4NA&ixlib=rb-4.0.3&q=80&w=1080);
}
.ScenarioFilter {
position: absolute;
left: 0px;
top: 880px;
width: 2560px;
height: 1591px;
opacity: 1;
}
.title{
font-size: 60px;
font-weight: 400;
font-family: 金山云技术体;
letter-spacing: 0px;
line-height: 0px;
color: rgba(38, 39, 41, 1);
text-align: left;
vertical-align: top;
}
.optionStyle{
width: 1015px;
height: 74px;
text-align: left;
}
input[type=checkbox] {
margin-right: 5px;
cursor: pointer;
font-size: 12px;
width: 18px;
height: 18px;
position: relative;
}
input[type=checkbox]:after {
/* position: absolute; */
width: 22px;
height: 20px;
top: 0;
content: " ";
background-color: white;
color: rgba(255, 141, 26, 1);
display: inline-block;
visibility: visible;
padding: 1px 1px;
border-radius: 0px;
}
input[type=checkbox]:checked:after {
content: "▀";
text-align: left;
font-size: 32px;
}
.handleSelectCss{
/* display: inline-block; */
position: absolute;
left: 743px;
top: 449px;
width: 131px;
height: 56px;
/* opacity: 1; */
/* border-radius: 2px; */
border-color: white;
margin: 0px 0px 0px 0px;
padding: auto;
background: rgba(255, 141, 26, 1);
}
.img3Css{
position: absolute;
text-align: center;
top:2400px;
left: 0px;
width: 2560px;
height: 2000px;
background: url(https://user-images.githubusercontent.com/107924376/220279312-2080eb75-a856-42c3-8437-bd3af3b030ab.png);
}
.bottomCss{
position: absolute;
top: 5600px;
width: 2560px;
height: 430px;
text-align: center;
background-color: rgba(242, 242, 242, 1);
}
.bottomdiv{
width: 2560px;
height: 50px;
}
.removebig{
text-decoration: none;
display: inline-block;
width: 250px;
margin-left: 90px;
color: black;
font-weight: 600;
font-size: 30px;
}
.remove{
text-decoration: none;
display: inline-block;
width: 250px;
margin-left: 90px;
color: black;
font-size: 20px;
}
style>
<template>
<div style="margin-top: 40px">
<div class="scenarios-area">
<el-row>
<el-col
v-for="scenario in scenarios"
:key="scenario.id"
:span="6"
>
<el-card :span="8" :body-style="{ padding: '0px' }" class="box-card" shadow="hover">
<video controls width="393px" :src="scenario.video" type="video/mp4">video>
<div class = "head">
<router-link class="scenario-link" :to="{path:'library/scenarios',query:{id: scenario.id}}"> <span><span style="font-size: 48px"><strong>场景{{scenario.id}}strong>span>span>router-link>
div>
el-card>
<br />
el-col>
el-row>
div>
<div class="paginationClass">
<el-pagination
background="orange"
layout="total, prev, pager, next, jumper"
@current-change="handleCurrentChange"
:page-size="pageSize"
:total="total">
el-pagination>
div>
div>
template>
<script>
export default {
name: 'Scenarios',
data () {
return {
scenarios: [],
pageSize: 12,
total: 0
}
},
mounted: function () {
this.loadScenarios()
},
methods: {
loadScenarios () {
var _this = this
this.$axios.get('/scenarios/' + this.pageSize + '/1').then(resp => {
if (resp && resp.data.code === 200) {
_this.scenarios = resp.data.result.content
_this.total = resp.data.result.totalElements
}
})
},
handleCurrentChange (page) {
var _this = this
this.$axios.get('/scenarios/' + this.pageSize + '/' + page).then(resp => {
if (resp && resp.data.code === 200) {
_this.scenarios = resp.data.result.content
_this.total = resp.data.result.totalElements
}
})
}
}
}
script>
<style scoped>
.scenarios-area {
position: absolute;
width: 1904px;
height: 1px;
top: 1260px;
left: 198px;
margin-left: auto;
margin-right: auto;
}
.scenario-link {
text-decoration: none;
color: rgba(255, 141, 26, 1);
}
.scenario-link:hover {
color: #409EFF;
}
.head{
height: 50px;
}
.box-card {
width: 393px;
height: 300px;
margin-bottom: 379px;
}
.button-style {
margin-top: 24px;
}
.paginationClass {
position: absolute;
left: 1009px;
top: 3600px;
width: 447px;
height: 1px;
text-align: center;
}
.paginationClass:hover{
color: rgba(255, 141, 26, 1);
}
.el-pagination{
color: orange;
}
style>
//2023/2/27/
<template>
<div id="app">
<router-view/>
div>
template>
<script>
import NavMenu from '@/components/common/NavMenu'
export default {
name: 'App',
components: {NavMenu}
}
script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin: 0 auto;
background-image: url(https://img-blog.csdnimg.cn/cd7246bdf7d24c5e94f309afad1fab4b.jpeg);
background-repeat: no-repeat;
background-size: 100% 100%;
/*margin-top: 10px;*/
}
*{
margin:0;
padding:0;
border:0;
box-sizing: border-box;
}
body{
margin: 0 auto !important;
}
style>
<template>
<div>
<nav-menu class="nav-menu">nav-menu>
<router-view/>
div>
template>
<script>
import NavMenu from '@/components/common/NavMenu'
export default {
components: {NavMenu}
}
script>
<style>
.nav-menu {
/*margin-bottom: 40px;*/
box-shadow: 0 2px 4px 0 rgba(0,0,0,.05);
}
*{
margin:0;
padding:0;
border:0;
box-sizing: border-box;
}
body{
margin: 0 auto !important;
}
style>
<template>
<div class="index wrapper">
<h2>自动驾驶安全平台h2>
div>
template>
<script>
export default {
name: 'NavMenu',
data () {
return {
navList: [
{name: '/index', navItem: '主页'},
{name: '/library', navItem: '场景库'},
{name: '/test', navItem: '仿真测试'},
{name: '/accidentAnalysis', navItem: '事故分析'}
],
keywords: ''
}
},
computed: {
hoverBackground () {
return '#ffd04b'
},
currentPath () {
var x = this.$route.path.indexOf('/', 1)
if (x !== -1) {
return this.$route.path.substring(0, x)
} else {
return this.$route.path
}
}
}
}
script>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
li{
list-style: none;
}
a{
text-decoration: none;
list-style: none;
}
.clearfix::before,.clearfix::after{
content: "";
display: table;
}
.clearfix::after{
clear: both;
}
.wrapper{
width: auto;
margin: 0 auto !important;
}
body{
margin: 0 auto 0px !important;
}
.home{
margin: 0 auto !important;
padding: 0;
}
.index{
height: 67px;
/* background-color: pink; */
}
.index h2{
line-height: 67px;
font-style: italic;
background-image: linear-gradient(-135deg, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0);
background-image: -ms-linear-gradient(-135deg, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0);
-webkit-text-fill-color: rgba(0,0,0,0);
-webkit-background-clip: text;
background-size: 10% 10%;
animation: masked-animation 3s infinite linear;
animation-duration: 3s;
animation-timing-function: linear;
animation-delay: 0s;
animation-iteration-count: infinite;
animation-direction: normal;
animation-fill-mode: none;
animation-play-state: running;
animation-name: masked-animation;
}
style>
<template>
<div>
<div class="indexpage">
<div class="left">
这是左边
div>
<div class="right">
<div class="introduction">
<h2>
项目介绍
h2>
<p>自动驾驶是一个研究领域,里面蕴含着复杂的单学科甚至跨学科技术。当自动驾驶被运用在汽车等交通载体,就会产生许多安全问题,这也是安全的伴生性体现。自动驾驶安全,同样作为一个研究领域,主要涉及Safety和Security两个方面。近年来,受到广泛关注,包括安全顶会NDSS2022的Automotive and Autonomous Vehicle Security (AutoSec) Workshopp>
div>
<a href="/library" class="card">
<img src="https://img1.baidu.com/it/u=4198926913,1017907452&fm=253&fmt=auto&app=120&f=JPEG?w=1024&h=576" alt="Card Image" width="250px" height="200px">
<div class="card-info">
<h2>场景库h2>
<p>Card description goes here.p>
div>
a>
<a href="/test" class="card">
<img src="https://img1.baidu.com/it/u=1564904049,4029887644&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500" alt="Card Image" width="300px" height="200px">
<div class="card-info">
<h2>仿真测试h2>
<p>Card description goes here.p>
div>
a>
<a href="/accidentAnalysis" class="card">
<img src="https://img0.baidu.com/it/u=1983969966,970150&fm=253&fmt=auto&app=120&f=JPEG?w=889&h=500" alt="Card Image" width="300px" height="200px">
<div class="card-info">
<h2>事故分析h2>
<p >Card description goes here.p>
div>
a>
div>
div>
div>
template>
<script>
export default {
name: 'Footer'
}
script>
<style scoped>
* {
margin: 0;
padding: 0;
font-family: '微软雅黑', Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
body {
font-size: 12px;
width: 1200px;
}
div {
font-size: 12px;
}
span {
font-size: 12px;
}
.indexpage{
margin: 0 auto;
/* background-color: greenyellow; */
/* background-image: url(https://img0.baidu.com/it/u=2075265399,2772318687&fm=253&fmt=auto&app=120&f=JPEG?w=700&h=438); */
/* width: 1200px; */
}
.indexpage .left{
float: left;
width: 172px;
height: 527px;
background-image: url(https://www.mihoyo.com/_nuxt/img/line.a3e37b6.png);
}
.indexpage .right{
float: left;
overflow: hidden;
}
.right a{
display: block;
float: left;
width: 250px;
height: 200px;
box-shadow: inset;
}
.introduction{
padding: 50px 30px;
height: 320px;
font-size: 20px;
background-image: url(https://img1.baidu.com/it/u=3909727114,516689982&fm=253&fmt=auto&app=120&f=JPEG?w=800&h=500);
color: white;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
.indexpage h2{
font-size: 24px;
color: white;
}
.indexpage p{
width: 690px;
text-align: left;
text-indent: 2em;
}
.card {
position: relative;
width: 600px;
height: 200px;
overflow: hidden;
}
.card:hover img {
transform: scale(1.2);
}
.card img {
transition: transform 0.5s ease;
}
.card .card-info {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
padding: 10px;
background-color: rgba(0, 0, 0, 0.5);
color: #fff;
opacity: 0;
transition: opacity 0.5s ease;
}
.card:hover .card-info {
opacity: 1;
}
.card .card-info h2 {
margin: 0;
font-size: 24px;
}
.card .card-info p {
margin: 10px 0 0;
}
.card-info h2:hover{
color: orange;
}
.card {
/* background-color: white; */
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
border-radius: 10px;
/* padding: 20px; */
/* position: relative; */
}
/* .card::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: rgba(255, 255, 255, 0.5);
z-index: -1;
border-radius: 10px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
} */
style>
2023/2/28
<template>
<div class="index wrapper">
<div>
<h2>自动驾驶安全平台h2>
<li><a href="/accidentAnalysis">事故分析a>li>
<li><a href="/test">仿真测试a>li>
<li><a href="/library">场景库a>li>
<li><a href="/index">主页a>li>
div>
div>
template>
<script>
export default {
name: 'NavMenu',
data () {
return {
navList: [
{name: '/index', navItem: '主页'},
{name: '/library', navItem: '场景库'},
{name: '/test', navItem: '仿真测试'},
{name: '/accidentAnalysis', navItem: '事故分析'}
],
keywords: ''
}
},
computed: {
hoverBackground () {
return '#ffd04b'
},
currentPath () {
var x = this.$route.path.indexOf('/', 1)
if (x !== -1) {
return this.$route.path.substring(0, x)
} else {
return this.$route.path
}
}
}
}
script>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
li{
list-style: none;
}
a{
text-decoration: none;
list-style: none;
}
.clearfix::before,.clearfix::after{
content: "";
display: table;
}
.clearfix::after{
clear: both;
}
.wrapper{
width: auto;
margin: 0 auto !important;
}
body{
margin: 0 auto 0px !important;
}
.home{
margin: 0 auto !important;
padding: 0;
}
.index{
height: 67px;
/* background-color: pink; */
}
.index div{
line-height: 67px;
margin: 0 auto;
font-style: italic;
background-image: linear-gradient(-135deg, #20ea5c,#23f4f4,#418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0);
/* background-image: -ms-linear-gradient(-135deg, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0); */
/* -webkit-text-fill-color: rgba(0,0,0,0); */
/* -webkit-background-clip: text; */
text-align: left;
background-size: 200% 200%;
box-shadow: 0 0 5px rgb(66 68 68);
position: relative;
background-size: 400% 400%;
-webkit-animation: Gradient 10s ease infinite;
-moz-animation: Gradient 10s ease infinite;
animation: Gradient 10s ease infinite !important;
animation-duration: 10s !important;
animation-timing-function: ease !important;
animation-delay: 0s !important;
animation-iteration-count: infinite !important;
animation-direction: normal !important;
animation-fill-mode: none !important;
animation-play-state: running !important;
animation-name: Gradient !important;
}
@-webkit-keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@-moz-keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.index h2{
width: 500px;
display: inline-block;
margin-left: 10%;
}
.index li{
float: right;
display: inline-block;
margin: 0 60px;
font-size: 20px;
font-style: normal;
text-align: center;
}
.index li a{
color: #23ec5f;
font-weight: 600;
font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
.index li a:hover{
color: rgb(41, 115, 225);
}
style>
<template>
<el-container>
<el-header class="elheader">
<scenarioFilter @indexSelect="listByFilter" ref="scenarioFilter">scenarioFilter>
el-header>
<el-main>
<scenarios class="scenarios-area" ref="scenariosArea">scenarios>
el-main>
el-container>
template>
<script>
import ScenarioFilter from './ScenarioFilter'
import Scenarios from './Scenarios'
export default {
name: 'ScenarioIndex',
components: {ScenarioFilter, Scenarios},
methods: {
listByFilter () {
var _this = this
var did = this.$refs.scenarioFilter.did
var tid = this.$refs.scenarioFilter.tid
var oid = this.$refs.scenarioFilter.oid
var nid = this.$refs.scenarioFilter.nid
var size = this.$refs.scenariosArea.pageSize
var url = 'filter/' + did + '/' + tid + '/' + oid + '/' + nid + '/' + size + '/1' + '/scenarios'
this.$axios.get(url).then(resp => {
if (resp && resp.data.code === 200) {
_this.$refs.scenariosArea.scenarios = resp.data.result.content
_this.$refs.scenariosArea.total = resp.data.result.totalElements
_this.$refs.scenariosArea.did = did
_this.$refs.scenariosArea.tid = tid
_this.$refs.scenariosArea.oid = oid
_this.$refs.scenariosArea.nid = nid
_this.$refs.scenariosArea.r = 1
}
})
}
}
};
script>
<style scoped>
*{
margin: 0;
padding: 0;
}
.elheader{
height: auto !important;
/*background-color: greenyellow;*/
/* background-image: url(https://img0.baidu.com/it/u=2112674673,278331356&fm=253&fmt=auto&app=120&f=JPEG?w=1200&h=500); */
margin: 0 auto;
}
.scenarios-area {
/* width: 2000px; */
margin: 0 auto;
padding: 20px;
/* background-color: black; */
}
style>
<template>
<div>
<el-card style="text-align: left;width: 990px;margin: 35px auto 0 auto">
<div>
<span style="font-size: 30px"><strong>{{scenario.name}}详细信息strong>span>
<el-divider>el-divider>
<p><span style="font-size: 20px">{{scenario.intro}}span>p>
<div><span style="font-size: 20px">车道类型:{{scenario.drivewayType.type}}span> div>
<div><span style="font-size: 20px">无人车规划任务:{{scenario.taskPlanning.task}}span>div>
<div><span style="font-size: 20px">障碍物类型:{{scenario.obstacleType.type}}span>div>
<div><span style="font-size: 20px">障碍物数量:{{scenario.num}}span>div>
<video controls width="900" :src="scenario.video" type="video/mp4">video>
div>
el-card>
div>
template>
<script>
export default {
name: 'ScenarioIntro',
data () {
return {
scenario: ''
}
},
mounted () {
this.loadScenario()
},
methods: {
loadScenario () {
var _this = this
this.$axios.get('/scenarios/' + this.$route.query.id).then(resp => {
if (resp && resp.data.code === 200) {
_this.scenario = resp.data.result
// console.log(_this.scenario)
}
})
}
}
}
script>
<style scoped>
@import "../../styles/markdown.css";
style>
<template>
<div style="margin-top: 40px">
<div class="scenarios-area">
<el-row>
<el-col
v-for="scenario in scenarios"
:key="scenario.id"
:span="6"
>
<el-card :span="8" :body-style="{ padding: '0px' }" class="box-card" shadow="hover">
<video controls width="210" :src="scenario.video" type="video/mp4" class="cardvideo" >video>
<div class = "head">
<router-link class="scenario-link" :to="{path:'library/scenarios',query:{id: scenario.id}}">
<li><span style="font-size: 20px; "><strong>场景{{scenario.id}}strong>span>li>
router-link>
div>
el-card>
el-col>
el-row>
div>
<el-pagination
:background="isBackground"
layout="total, prev, pager, next, jumper"
@current-change="handleCurrentChange"
:page-size="pageSize"
:total="total" >
el-pagination>
div>
template>
<script>
export default {
name: 'Scenarios',
data () {
return {
scenarios: [],
pageSize: 12,
total: 0,
r: 0, // 用于判断是否是筛选后的分页
did: 0,
tid: 0,
oid: 0,
nid: 0
}
},
mounted: function () {
this.loadScenarios()
},
methods: {
loadScenarios () {
var _this = this
this.$axios.get('/scenarios/' + this.pageSize + '/1').then(resp => {
if (resp && resp.data.code === 200) {
_this.scenarios = resp.data.result.content
_this.total = resp.data.result.totalElements
}
})
},
handleCurrentChange (page) {
var _this = this
if (_this.r === 0) {
this.$axios.get('/scenarios/' + this.pageSize + '/' + page).then(resp => {
if (resp && resp.data.code === 200) {
_this.scenarios = resp.data.result.content
_this.total = resp.data.result.totalElements
}
})
} else {
var url = 'filter/' + this.did + '/' + this.tid + '/' + this.oid + '/' + this.nid + '/' + this.pageSize + '/' + page + '/scenarios'
this.$axios.get(url).then(resp => {
if (resp && resp.data.code === 200) {
_this.scenarios = resp.data.result.content
_this.total = resp.data.result.totalElements
}
})
}
}
}
}
script>
<style scoped>
* {
margin: 0;
padding: 0;
font-family: '微软雅黑', Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
div {
font-size: 12px;
}
span {
font-size: 12px;
}
.scenarios-area {
width: 1500px;/*修改下面那个盒子的大小 */
height: auto;
margin-left: auto;
margin-right: auto;
}
.box-card {
display: inline-block;
width: 240px;
height: 180px;
/* margin-top: 60px;
margin-left: 20px; */
margin: 60px 10px;
/* line-height: 67px; */
border-radius: 15px;
font-style: italic;
background-image: linear-gradient(-135deg, #20ea5c,#23f4f4,#4ac918, #d1b330, #14d3e0, #1d7cc5, #23d165, #1ebb33, #df119e, #d66e3d, #db2f69);
background-color: #fff;
-webkit-text-fill-color: rgba(0,0,0,0);
-webkit-background-clip: text;
box-shadow: 0 0 5px rgb(66 68 68);
position: relative;
background-size: 400% 400%;
-webkit-animation: Gradient 10s ease infinite;
-moz-animation: Gradient 10s ease infinite;
animation: Gradient 10s ease infinite !important;
animation-duration: 10s !important;
animation-timing-function: ease !important;
animation-delay: 0s !important;
animation-iteration-count: infinite !important;
animation-direction: normal !important;
animation-fill-mode: none !important;
animation-play-state: running !important;
animation-name: Gradient !important;
}
.head{
height: 20px;
margin: 0;
}
.scenario-link{
display: inline-block;
margin: 0;
}
.head li{
margin: 0;
height: 50px;
}
.button-style {
margin-top: 24px;
}
.cardvideo{
height: 150px;
}
style>
<template>
<body>
<div class="home">
<el-container>
<el-main>
<about class="about" ref="about">about>
el-main>
el-container>
div>
body>
template>
<script>
import About from '@/components/common/About'
export default {
name: 'AppIndex',
components: {About}
}
script>
<style scoped>
/* @import url(../../css/AppIndex.css); */
.starter {
width: 990px;
height: 2000px;
margin-left: auto;
margin-right: auto;
}
.home {
width: 990px;
/* height: 2000px; */
margin-left: auto;
margin-right: auto;
margin-top: 20px;
background-color: blue;
}
style>
<template>
<div class="index wrapper">
<div>
<h2>自动驾驶安全平台h2>
<li><a href="/accidentAnalysis">事故分析a>li>
<li><a href="/test">仿真测试a>li>
<li><a href="/library">场景库a>li>
<li><a href="/index">主页a>li>
div>
div>
template>
<script>
export default {
name: 'NavMenu',
data () {
return {
navList: [
{name: '/index', navItem: '主页'},
{name: '/library', navItem: '场景库'},
{name: '/test', navItem: '仿真测试'},
{name: '/accidentAnalysis', navItem: '事故分析'}
],
keywords: ''
}
},
computed: {
hoverBackground () {
return '#ffd04b'
},
currentPath () {
var x = this.$route.path.indexOf('/', 1)
if (x !== -1) {
return this.$route.path.substring(0, x)
} else {
return this.$route.path
}
}
}
}
script>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
li{
list-style: none;
}
a{
text-decoration: none;
list-style: none;
}
.clearfix::before,.clearfix::after{
content: "";
display: table;
}
.clearfix::after{
clear: both;
}
.wrapper{
width: auto;
margin: 0 auto !important;
}
body{
margin: 0 auto 0px !important;
}
.home{
margin: 0 auto !important;
padding: 0;
}
.index{
height: 67px;
/* background-color: pink; */
}
.index div{
line-height: 67px;
margin: 0 auto;
font-style: italic;
background-image: linear-gradient(-135deg, #20ea5c,#23f4f4,#418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0);
/* background-image: -ms-linear-gradient(-135deg, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0, #56a0d8, #dc8bc3, #56a0d8, #418ae0); */
/* -webkit-text-fill-color: rgba(0,0,0,0); */
/* -webkit-background-clip: text; */
text-align: left;
background-size: 200% 200%;
box-shadow: 0 0 5px rgb(66 68 68);
position: relative;
background-size: 400% 400%;
-webkit-animation: Gradient 10s ease infinite;
-moz-animation: Gradient 10s ease infinite;
animation: Gradient 10s ease infinite !important;
animation-duration: 10s !important;
animation-timing-function: ease !important;
animation-delay: 0s !important;
animation-iteration-count: infinite !important;
animation-direction: normal !important;
animation-fill-mode: none !important;
animation-play-state: running !important;
animation-name: Gradient !important;
}
@-webkit-keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@-moz-keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.index h2{
width: 500px;
display: inline-block;
margin-left: 10%;
}
.index li{
float: right;
display: inline-block;
margin: 0 60px;
font-size: 20px;
font-style: normal;
text-align: center;
}
.index li a{
color: #23ec5f;
font-weight: 600;
font-family:'Franklin Gothic Medium', 'Arial Narrow', Arial, sans-serif;
}
.index li a:hover{
color: rgb(41, 115, 225);
}
style>
<template>
<div>
<nav-menu class="nav-menu">nav-menu>
<router-view/>
div>
template>
<script>
import NavMenu from '@/components/common/NavMenu'
export default {
components: {NavMenu}
}
script>
<style>
.nav-menu {
/*margin-bottom: 40px;*/
box-shadow: 0 2px 4px 0 rgba(0,0,0,.05);
}
*{
margin:0;
padding:0;
border:0;
box-sizing: border-box;
}
body{
margin: 0 auto !important;
}
style>
<template>
<div id="app">
<router-view/>
div>
template>
<script>
import NavMenu from '@/components/common/NavMenu'
export default {
name: 'App',
components: {NavMenu}
};
script>
<style>
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin: 0 auto;
background-image: url(https://user-images.githubusercontent.com/107924376/221787434-9c641c0d-1567-46c7-a40c-cd43c5b941b3.PNG);
background-repeat: no-repeat;
background-size: 100% 100%;
background-attachment: fixed;
/* height: 100%; */
/*margin-top: 10px;*/
}
*{
margin:0;
padding:0;
border:0;
box-sizing: border-box;
}
body{
margin: 0 auto !important;
}
style>
<template>
<div class="ScenarioFilter">
<el-card class="elcard">
<h1 ><b>筛选条件 <button @click="handleSelect">确认button> b>h1>
<div class="upperbox">
<tr>
<td class="">
车道类型:
td>
<td>
<input type="radio" id="100" value="100" v-model="drivewayTypes" />
<label for="单车道">单车道label>
td>
<td>
<input type="radio" id="010" value="10" v-model="drivewayTypes" />
<label for="多车道">多车道label>
td>
<td>
<input type="radio" id="001" value="1" v-model="drivewayTypes" />
<label for="交叉路口">交叉路口label>
td>
tr>
<tr>
<td class="">
规划任务:
td>
<td>
<input type="radio" id="100" value="100" v-model="taskPlannings" />
<label for="直行">直行label>
td>
<td>
<input type="radio" id="010" value="10" v-model="taskPlannings" />
<label for="转弯">转弯label>
td>
<td>
<input type="radio" id="001" value="1" v-model="taskPlannings" />
<label for="变道">变道label>
td>
tr>
<tr>
<td class="">
障碍物类型:
td>
<td>
<input type="radio" id="1000" value="1000" v-model="obstacleTypes" />
<label for="行人">行人label>
td>
<td>
<input type="radio" id="0100" value="100" v-model="obstacleTypes" />
<label for="路障">路障label>
td>
<td>
<input type="radio" id="0010" value="10" v-model="obstacleTypes" />
<label for="变道">变道label>
td>
<td>
<input type="radio" id="0001" value="1" v-model="obstacleTypes" />
<label for="卡车">卡车label>
td>
tr>
<tr>
<td class="">
障碍物数量:
td>
<td>
<input type="radio" id="1000" value="1000" v-model="obstacleNumbers" />
<label for="<10"><10label>
td>
<td>
<input type="radio" id="0100" value="100" v-model="obstacleNumbers" />
<label for="[10, 20)">[10, 20)label>
td>
<td>
<input type="radio" id="0010" value="10" v-model="obstacleNumbers" />
<label for="[20, 30)">[20, 30)label>
td>
<td>
<input type="radio" id="0001" value="1" v-model="obstacleNumbers" />
<label for=">=30">>=30label>
td>
tr>
div>
el-card>
div>
template>
<script>
export default {
name: 'ScenarioFilter',
data () {
return {
drivewayTypes: [],
taskPlannings: [],
obstacleTypes: [],
obstacleNumbers: []
}
},
methods: {
handleSelect () {
var s1 = 0
var s2 = 0
var s3 = 0
var s4 = 0
for (var i = 0; i < this.drivewayTypes.length; i++) {
s1 += Number(this.drivewayTypes[i])
}
this.did = s1
for (var j = 0; j < this.taskPlannings.length; j++) {
s2 += Number(this.taskPlannings[j])
}
this.tid = s2
for (var k = 0; k < this.obstacleTypes.length; k++) {
s3 += Number(this.obstacleTypes[k])
}
this.oid = s3
for (var m = 0; m < this.obstacleNumbers.length; m++) {
s4 += Number(this.obstacleNumbers[m])
}
this.nid = s4
this.$emit('indexSelect')
}
}
}
script>
<style scoped>
* {
margin: 0;
padding: 0;
font-family: '微软雅黑', Arial, Helvetica, sans-serif;
box-sizing: border-box;
}
body {
font-size: 12px;
width: 1200px;
}
div {
font-size: 12px;
}
span {
font-size: 12px;
}
.ScenarioFilter{
margin: 0 auto;
}
@supports (-webkit-appearance: none) or (-moz-appearance: none) {
input[type=checkbox],
input[type=radio] {
--active: #275EFE;
--active-inner: #fff;
--focus: 2px rgba(39, 94, 254, .3);
--border: #BBC1E1;
--border-hover: #275EFE;
--background: #fff;
--disabled: #F6F8FF;
--disabled-inner: #E1E6F9;
-webkit-appearance: none;
-moz-appearance: none;
height: 21px;
outline: none;
display: inline-block;
vertical-align: top;
position: relative;
margin: 0;
cursor: pointer;
border: 1px solid var(--bc, var(--border));
background: var(--b, var(--background));
transition: background 0.3s, border-color 0.3s, box-shadow 0.2s;
}
input[type=checkbox]:after,
input[type=radio]:after {
content: "";
display: block;
left: 0;
top: 0;
position: absolute;
transition: transform var(--d-t, 0.3s) var(--d-t-e, ease), opacity var(--d-o, 0.2s);
}
input[type=checkbox]:checked,
input[type=radio]:checked {
--b: var(--active);
--bc: var(--active);
--d-o: .3s;
--d-t: .6s;
--d-t-e: cubic-bezier(.2, .85, .32, 1.2);
}
input[type=checkbox]:disabled,
input[type=radio]:disabled {
--b: var(--disabled);
cursor: not-allowed;
opacity: 0.9;
}
input[type=checkbox]:disabled:checked,
input[type=radio]:disabled:checked {
--b: var(--disabled-inner);
--bc: var(--border);
}
input[type=checkbox]:disabled + label,
input[type=radio]:disabled + label {
cursor: not-allowed;
}
input[type=checkbox]:hover:not(:checked):not(:disabled),
input[type=radio]:hover:not(:checked):not(:disabled) {
--bc: var(--border-hover);
}
input[type=checkbox]:focus,
input[type=radio]:focus {
box-shadow: 0 0 0 var(--focus);
}
input[type=checkbox],
input[type=radio] {
width: 21px;
}
input[type=checkbox]:after,
input[type=radio]:after {
opacity: var(--o, 0);
}
input[type=checkbox]:checked,
input[type=radio]:checked {
--o: 1;
}
input[type=checkbox] + label,
input[type=radio] + label {
font-size: 14px;
line-height: 21px;
display: inline-block;
vertical-align: top;
cursor: pointer;
margin-left: 4px;
}
input[type=checkbox] {
border-radius: 7px;
}
input[type=checkbox]:after {
width: 5px;
height: 9px;
border: 2px solid var(--active-inner);
border-top: 0;
border-left: 0;
left: 7px;
top: 4px;
transform: rotate(var(--r, 20deg));
}
input[type=checkbox]:checked {
--r: 43deg;
}
input[type=radio] {
border-radius: 50%;
}
input[type=radio]:after {
width: 19px;
height: 19px;
border-radius: 50%;
background: var(--active-inner);
opacity: 0;
transform: scale(var(--s, 0.7));
}
input[type=radio]:checked {
--s: .5;
}
}
ul {
margin: 12px;
padding: 0;
list-style: none;
width: 100%;
max-width: 320px;
}
ul li {
margin: 16px 0;
position: relative;
}
html {
box-sizing: border-box;
}
* {
box-sizing: inherit;
}
*:before, *:after {
box-sizing: inherit;
}
body {
min-height: 100vh;
font-family: "Inter", Arial, sans-serif;
color: #8A91B4;
display: flex;
justify-content: center;
align-items: center;
background: #F6F8FF;
}
@media (max-width: 800px) {
body {
flex-direction: column;
}
}
.upperbox{
text-align: left;
/* background-color: pink; */
}
.upperbox div{
margin-right: 50px;
}
.upperbox tr td{
padding-left: 50px;
font-size: 15px;
font-weight: 600;
color: rgb(91, 131, 147);
font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
}
h1{
text-align: left;
margin-bottom: 30px;
margin-left: 50px;
/* text-shadow: pink; */
color: rgb(69, 102, 115);
}
.elcard{
text-align: center;
width: 1135px;
height:250px;
margin: 30px auto;
background-color: pink;
border-radius: 20px;
--trans-light: rgba(255, 255, 255, 0.75);
--trans-dark: rgba(25, 25, 25, 0.75);
--border-style: 1px solid rgb(169, 169, 169);
--backdrop-filter: blur(5px) saturate(150%);
background: linear-gradient( -45deg, #e8d8b9, #eccec5, #a3e9eb, #bdbdf0, #eec1ea );
box-shadow: 0 0 5px rgb(66 68 68);
position: relative;
background-size: 400% 400%;
-webkit-animation: Gradient 10s ease infinite;
-moz-animation: Gradient 10s ease infinite;
animation: Gradient 10s ease infinite !important;
animation-duration: 10s !important;
animation-timing-function: ease !important;
animation-delay: 0s !important;
animation-iteration-count: infinite !important;
animation-direction: normal !important;
animation-fill-mode: none !important;
animation-play-state: running !important;
animation-name: Gradient !important;
/* background-color: rgba(red, green, blue, 0.6); */
}
@-webkit-keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@-moz-keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
@keyframes Gradient {
0% {
background-position: 0% 50%;
}
50% {
background-position: 100% 50%;
}
100% {
background-position: 0% 50%;
}
}
.ScenarioFilter button{
background-color: skyblue;
float: right;
font-size: 25px;
font-family: '微软雅黑';
border-radius: 5px;
color: #6c718e;
width: 60px;
height: 40px;
margin-right: 20%;
}
style>
2023/3/18
Apollo
Autoware
从场景库选取
本地上传
已选择的场景文件:{{initialScenarioFileName}}
小时
场景多样性
与周围车辆的安全距离
规划路径的偏移
碰撞
驶出道路
环境要素
变异
不变异
静态障碍物
变异
不变异
行人:
最大数量:
最小数量:
路障:
最大数量:
最小数量:
动态障碍物
变异
不变异
机动车:
最大数量:
最小数量:
自行车:
最大数量:
最小数量:
EGO
是否改变EGO目的地
改变
不改变
交通设施
是否改变交通信号灯时长
改变
不改变
当前运行
ID:{{test.id}}
{{test.date}}
变异策略:
.环境要素 :{{test.system.type}}
.静态障碍物 : {{test.system.state}}
.动态 :
.EGO:
.交通设施:
测试对象 : {{test.system.type}}
测试时长 : {{test.system.state}}
测试场景 :
场景评估策略:
目标事故处理:
等待运行
ID:{{test.id}}
{{test.date}}
启动测试
运行结束
ID:{{test.id}}
{{test.date}}
变异策略:
.测试场景总数:{{test.system.type}}
.平均场 : {{test.system.state}}
.碰撞:驶出道路 :
.EGO:
.交通设施:
当前运行
ID:{{test.id}}
{{test.date}}
变异策略:
.环境要素 :{{test.system.type}}
.静态障碍物 : {{test.system.state}}
.动态 :
.EGO:
.交通设施:
测试对象 : {{test.system.type}}
测试时长 : {{test.system.state}}
测试场景 :
场景评估策略:
目标事故处理:
等待运行
ID:{{test.id}}
{{test.date}}
启动测试
运行结束
ID:{{test.id}}
{{test.date}}
变异策略:
.测试场景总数:{{test.system.type}}
.平均场 : {{test.system.state}}
.碰撞:驶出道路 :
.EGO:
.交通设施:
----------哈哈--------
分析场景:
请输入事故场景ID:
检索事故场景
启用功能:
当前运行
ID:{{analysis.id}}
{{analysis.date}}
变异策略:
.环境要素 :
.静态障碍物 :
.动态 :
.EGO:
.交通设施:
测试对象 :
测试时长 :
测试场景 :
场景评估策略:
目标事故处理:
等待运行
ID:{{analysis.id}}
{{analysis.date}}
启动分析
运行结束
ID:{{analysis.id}}
{{analysis.date}}
变异策略:
.环境要素 :
.静态障碍物 :
.动态 :
.EGO:
.交通设施:
测试对象 :
测试时长 :
测试场景 :
场景评估策略:
目标事故处理: