|
@@ -1,109 +1,107 @@
|
|
|
<template>
|
|
|
- <div class="naturalDrivingScenarioListPanel">
|
|
|
- <search-layout :needBox="true">
|
|
|
- <template slot="searchItem1">
|
|
|
- <span class="label">场景名称</span>
|
|
|
- <el-input
|
|
|
- v-model="searchParams.naturalName"
|
|
|
- size="small"
|
|
|
- clearable
|
|
|
- placeholder="请输入"
|
|
|
- maxlength="60"
|
|
|
- @keyup.enter.native="doSearch"
|
|
|
- >
|
|
|
- </el-input>
|
|
|
- </template>
|
|
|
- <template slot="searchItem2">
|
|
|
- <span class="label">自车行为</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.selfBehavior"
|
|
|
- :options="selfBehaviorList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <template slot="searchItem3">
|
|
|
- <span class="label">目标行为</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.targetBehavior"
|
|
|
- :options="targetBehaviorList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <template slot="searchItem4">
|
|
|
- <span class="label">交通情况</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.trafficCondition"
|
|
|
- :options="trafficConditionList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <template slot="searchItem5">
|
|
|
- <span class="label">道路</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.road"
|
|
|
- :options="roadList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <template slot="searchItem6">
|
|
|
- <span class="label">基础设施</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.infrastructure"
|
|
|
- :options="infrastructureList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <template slot="searchItem7">
|
|
|
- <span class="label">自然环境</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.naturalEnvironment"
|
|
|
- :options="naturalEnvironmentList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <template slot="searchItem8">
|
|
|
- <span class="label">临时性操纵</span>
|
|
|
- <el-cascader
|
|
|
- v-model="searchParams.temporaryOperation"
|
|
|
- :options="temporaryOperationList"
|
|
|
- :props="props"
|
|
|
- clearable
|
|
|
- size="small"
|
|
|
- ></el-cascader>
|
|
|
- </template>
|
|
|
- <!-- 复杂度 -->
|
|
|
+ <div class="naturalDrivingScenarioListPanel">
|
|
|
+ <search-layout :needBox="true">
|
|
|
+ <template slot="searchItem1">
|
|
|
+ <span class="label">场景名称</span>
|
|
|
+ <el-input
|
|
|
+ v-model="searchParams.naturalName"
|
|
|
+ size="small"
|
|
|
+ clearable
|
|
|
+ placeholder="请输入"
|
|
|
+ maxlength="60"
|
|
|
+ @keyup.enter.native="doSearch"
|
|
|
+ >
|
|
|
+ </el-input>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem2">
|
|
|
+ <span class="label">自车行为</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.selfBehavior"
|
|
|
+ :options="selfBehaviorList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem3">
|
|
|
+ <span class="label">目标行为</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.targetBehavior"
|
|
|
+ :options="targetBehaviorList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem4">
|
|
|
+ <span class="label">交通情况</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.trafficCondition"
|
|
|
+ :options="trafficConditionList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem5">
|
|
|
+ <span class="label">道路</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.road"
|
|
|
+ :options="roadList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem6">
|
|
|
+ <span class="label">基础设施</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.infrastructure"
|
|
|
+ :options="infrastructureList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem7">
|
|
|
+ <span class="label">自然环境</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.naturalEnvironment"
|
|
|
+ :options="naturalEnvironmentList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <template slot="searchItem8">
|
|
|
+ <span class="label">临时性操纵</span>
|
|
|
+ <el-cascader
|
|
|
+ v-model="searchParams.temporaryOperation"
|
|
|
+ :options="temporaryOperationList"
|
|
|
+ :props="props"
|
|
|
+ clearable
|
|
|
+ size="small"
|
|
|
+ ></el-cascader>
|
|
|
+ </template>
|
|
|
+ <!-- 复杂度 -->
|
|
|
<template slot="searchItem6">
|
|
|
<span class="label">复杂度</span>
|
|
|
<el-input
|
|
|
- v-model="searchParams.a"
|
|
|
+ v-model="searchParams.minComplexity"
|
|
|
size="small"
|
|
|
clearable
|
|
|
placeholder="请输入"
|
|
|
maxlength="60"
|
|
|
- @keyup.enter.native="doSearch"
|
|
|
style="width: 100px"
|
|
|
>
|
|
|
</el-input>
|
|
|
<span class="dateSeparator">至</span>
|
|
|
<el-input
|
|
|
- v-model="searchParams.b"
|
|
|
+ v-model="searchParams.maxComplexity"
|
|
|
size="small"
|
|
|
clearable
|
|
|
placeholder="请输入"
|
|
|
maxlength="60"
|
|
|
- @keyup.enter.native="doSearch"
|
|
|
style="width: 100px"
|
|
|
>
|
|
|
</el-input>
|
|
@@ -112,23 +110,21 @@
|
|
|
<template slot="searchItem6">
|
|
|
<span class="label">危险度</span>
|
|
|
<el-input
|
|
|
- v-model="searchParams.a"
|
|
|
+ v-model="searchParams.minRisk"
|
|
|
size="small"
|
|
|
clearable
|
|
|
placeholder="请输入"
|
|
|
maxlength="60"
|
|
|
- @keyup.enter.native="doSearch"
|
|
|
style="width: 100px"
|
|
|
>
|
|
|
</el-input>
|
|
|
<span class="dateSeparator">至</span>
|
|
|
<el-input
|
|
|
- v-model="searchParams.b"
|
|
|
+ v-model="searchParams.maxRisk"
|
|
|
size="small"
|
|
|
clearable
|
|
|
placeholder="请输入"
|
|
|
maxlength="60"
|
|
|
- @keyup.enter.native="doSearch"
|
|
|
style="width: 100px"
|
|
|
>
|
|
|
</el-input>
|
|
@@ -136,37 +132,35 @@
|
|
|
<template slot="searchItem8">
|
|
|
<span class="label">复杂度等级</span>
|
|
|
<el-select
|
|
|
- v-model="searchParams.scenarioRoadType"
|
|
|
- multiple
|
|
|
+ v-model="searchParams.complexityLevel"
|
|
|
size="small"
|
|
|
clearable
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in scenarioRoadTypeList"
|
|
|
- :label="item.caption"
|
|
|
- :value="item.code"
|
|
|
- :key="item.code"
|
|
|
+ v-for="item in ['S', 'AA', 'A', 'B', 'C']"
|
|
|
+ :label="item"
|
|
|
+ :value="item"
|
|
|
+ :key="item"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
<template slot="searchItem8">
|
|
|
<span class="label">危险度等级</span>
|
|
|
<el-select
|
|
|
- v-model="searchParams.scenarioRoadType"
|
|
|
- multiple
|
|
|
+ v-model="searchParams.riskLevel"
|
|
|
size="small"
|
|
|
clearable
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="item in scenarioRoadTypeList"
|
|
|
- :label="item.caption"
|
|
|
- :value="item.code"
|
|
|
- :key="item.code"
|
|
|
+ v-for="item in ['S', 'AA', 'A', 'B', 'C']"
|
|
|
+ :label="item"
|
|
|
+ :value="item"
|
|
|
+ :key="item"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</template>
|
|
|
- <template slot="searchItem27">
|
|
|
- <!-- <el-checkbox-group v-model="labels">
|
|
|
+ <template slot="searchItem27">
|
|
|
+ <!-- <el-checkbox-group v-model="labels">
|
|
|
<el-checkbox-button label="1" :key="1" class="labelA"
|
|
|
>高速</el-checkbox-button
|
|
|
>
|
|
@@ -189,25 +183,25 @@
|
|
|
>掉头</el-checkbox-button
|
|
|
>
|
|
|
</el-checkbox-group> -->
|
|
|
- <div class="labelsBox">
|
|
|
- <b class="labelA" @click="conditions(1)">高速</b>
|
|
|
- <b class="labelB" @click="conditions(2)">切入</b>
|
|
|
- <b class="labelC" @click="conditions(3)">切出</b>
|
|
|
- <b class="labelD" @click="conditions(4)">变道</b>
|
|
|
- <b class="labelA" @click="conditions(5)">匝道</b>
|
|
|
- <b class="labelB" @click="conditions(6)">隧道</b>
|
|
|
- <b class="labelC" @click="conditions(7)">掉头</b>
|
|
|
- </div>
|
|
|
- </template>
|
|
|
- <template slot="searchBtn1">
|
|
|
- <el-button type="primary" @click="doSearch">查询</el-button>
|
|
|
- </template>
|
|
|
- <template slot="searchBtn2">
|
|
|
- <el-button type="primary" @click="doReset">重置</el-button>
|
|
|
- </template>
|
|
|
- </search-layout>
|
|
|
+ <div class="labelsBox">
|
|
|
+ <b class="labelA" @click="conditions(1)">高速</b>
|
|
|
+ <b class="labelB" @click="conditions(2)">切入</b>
|
|
|
+ <b class="labelC" @click="conditions(3)">切出</b>
|
|
|
+ <b class="labelD" @click="conditions(4)">变道</b>
|
|
|
+ <b class="labelA" @click="conditions(5)">匝道</b>
|
|
|
+ <b class="labelB" @click="conditions(6)">隧道</b>
|
|
|
+ <b class="labelC" @click="conditions(7)">掉头</b>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ <template slot="searchBtn1">
|
|
|
+ <el-button type="primary" @click="doSearch">查询</el-button>
|
|
|
+ </template>
|
|
|
+ <template slot="searchBtn2">
|
|
|
+ <el-button type="primary" @click="doReset">重置</el-button>
|
|
|
+ </template>
|
|
|
+ </search-layout>
|
|
|
|
|
|
- <!-- <div class="btnsPanel">
|
|
|
+ <!-- <div class="btnsPanel">
|
|
|
<el-button
|
|
|
type="primary"
|
|
|
plain
|
|
@@ -217,7 +211,7 @@
|
|
|
>
|
|
|
</div> -->
|
|
|
|
|
|
- <!-- <file-dialog
|
|
|
+ <!-- <file-dialog
|
|
|
ref="fileDialog"
|
|
|
type="1"
|
|
|
:objectPath="objectPath"
|
|
@@ -225,27 +219,23 @@
|
|
|
@fileClose="fileClose"
|
|
|
></file-dialog> -->
|
|
|
|
|
|
- <div class="btnsPanel">
|
|
|
- <el-button
|
|
|
- type="primary"
|
|
|
- plain
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="delRows"
|
|
|
- >批量删除</el-button
|
|
|
- >
|
|
|
- </div>
|
|
|
+ <div class="btnsPanel">
|
|
|
+ <el-button type="primary" plain icon="el-icon-delete" @click="delRows"
|
|
|
+ >批量删除</el-button
|
|
|
+ >
|
|
|
+ </div>
|
|
|
|
|
|
- <tableList
|
|
|
- ref="table"
|
|
|
- style="margin: 0 30px"
|
|
|
- :columns="columns"
|
|
|
- :getDataWay="getDataWay"
|
|
|
- :pagination="pagination"
|
|
|
- :checkedData="checkedArr"
|
|
|
- selection
|
|
|
- index
|
|
|
- >
|
|
|
- <!-- <tableList
|
|
|
+ <tableList
|
|
|
+ ref="table"
|
|
|
+ style="margin: 0 30px"
|
|
|
+ :columns="columns"
|
|
|
+ :getDataWay="getDataWay"
|
|
|
+ :pagination="pagination"
|
|
|
+ :checkedData="checkedArr"
|
|
|
+ selection
|
|
|
+ index
|
|
|
+ >
|
|
|
+ <!-- <tableList
|
|
|
ref="table"
|
|
|
style="margin: 30px"
|
|
|
:columns="columns"
|
|
@@ -253,202 +243,203 @@
|
|
|
:pagination="pagination"
|
|
|
index
|
|
|
> -->
|
|
|
- <el-table-column
|
|
|
- label="操作"
|
|
|
- slot="cgInfos"
|
|
|
- align="center"
|
|
|
- width="180"
|
|
|
- >
|
|
|
- <template v-slot="scope">
|
|
|
- <i
|
|
|
- @click="viewRow(scope.row)"
|
|
|
- class="el-icon-view elIcon cursor"
|
|
|
- title="查看"
|
|
|
- >
|
|
|
- </i>
|
|
|
- <i
|
|
|
- @click="delRow(scope.row)"
|
|
|
- class="el-icon-delete elIcon"
|
|
|
- title="删除"
|
|
|
- >
|
|
|
- </i>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </tableList>
|
|
|
+ <el-table-column label="操作" slot="cgInfos" align="center" width="180">
|
|
|
+ <template v-slot="scope">
|
|
|
+ <i
|
|
|
+ @click="viewRow(scope.row)"
|
|
|
+ class="el-icon-view elIcon cursor"
|
|
|
+ title="查看"
|
|
|
+ >
|
|
|
+ </i>
|
|
|
+ <i
|
|
|
+ @click="delRow(scope.row)"
|
|
|
+ class="el-icon-delete elIcon"
|
|
|
+ title="删除"
|
|
|
+ >
|
|
|
+ </i>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </tableList>
|
|
|
|
|
|
- <el-dialog
|
|
|
- :title="videoDiaTitle"
|
|
|
- :visible.sync="dialogVisible"
|
|
|
- width="690px"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- :before-close="diaClose"
|
|
|
- >
|
|
|
- <div class="videoBox">
|
|
|
- <video autoplay :src="videoSrc" controls></video>
|
|
|
- </div>
|
|
|
- </el-dialog>
|
|
|
- </div>
|
|
|
+ <el-dialog
|
|
|
+ :title="videoDiaTitle"
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ width="690px"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ :before-close="diaClose"
|
|
|
+ >
|
|
|
+ <div class="videoBox">
|
|
|
+ <video autoplay :src="videoSrc" controls></video>
|
|
|
+ </div>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import searchLayout from "@/components/grid/searchLayout";
|
|
|
-import tableList from "@/components/grid/TableList";
|
|
|
+import searchLayout from '@/components/grid/searchLayout'
|
|
|
+import tableList from '@/components/grid/TableList'
|
|
|
// import fileDialog from "./components/fileDialog";
|
|
|
-import { mapState } from "vuex";
|
|
|
+import { mapState } from 'vuex'
|
|
|
|
|
|
export default {
|
|
|
- name: "naturalDrivingScenarioList", // 自然驾驶场景
|
|
|
- components: { searchLayout, tableList },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- searchParams: {
|
|
|
- //搜索参数
|
|
|
- naturalName: "", // 场景名称
|
|
|
- road: [], // 道路
|
|
|
- infrastructure: [], // 基础设施
|
|
|
- trafficCondition: [], // 交通情况
|
|
|
- selfBehavior: [], // 自车行为
|
|
|
- targetBehavior: [], // 目标行为
|
|
|
- naturalEnvironment: [], // 自然环境
|
|
|
+ name: 'naturalDrivingScenarioList', // 自然驾驶场景
|
|
|
+ components: { searchLayout, tableList },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ searchParams: {
|
|
|
+ //搜索参数
|
|
|
+ naturalName: '', // 场景名称
|
|
|
+ road: [], // 道路
|
|
|
+ infrastructure: [], // 基础设施
|
|
|
+ trafficCondition: [], // 交通情况
|
|
|
+ selfBehavior: [], // 自车行为
|
|
|
+ targetBehavior: [], // 目标行为
|
|
|
+ naturalEnvironment: [], // 自然环境
|
|
|
|
|
|
- highSpeed: [], // 高速
|
|
|
- ramp: [], // 匝道
|
|
|
- tunnel: [], // 隧道
|
|
|
- cutIn: [], // 切入
|
|
|
- cutOut: [], // 切出
|
|
|
- laneChange: [], // 变道
|
|
|
- turnAround: [], // 掉头
|
|
|
+ highSpeed: [], // 高速
|
|
|
+ ramp: [], // 匝道
|
|
|
+ tunnel: [], // 隧道
|
|
|
+ cutIn: [], // 切入
|
|
|
+ cutOut: [], // 切出
|
|
|
+ laneChange: [], // 变道
|
|
|
+ turnAround: [], // 掉头
|
|
|
|
|
|
- share: "0",
|
|
|
- },
|
|
|
- labels: [],
|
|
|
- list: [],
|
|
|
- // roadList: [],
|
|
|
- // infrastructureList: [],
|
|
|
- // trafficConditionList: [],
|
|
|
- // selfBehaviorList: [],
|
|
|
- // targetBehaviorList: [],
|
|
|
- // naturalEnvironmentList: [],
|
|
|
- // temporaryOperationList: [],
|
|
|
- props: {
|
|
|
- multiple: true,
|
|
|
- label: "dictName",
|
|
|
- value: "dictCode",
|
|
|
- },
|
|
|
- columns: [
|
|
|
- //表格列
|
|
|
- {
|
|
|
- label: "场景名称",
|
|
|
- prop: "naturalName",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "自车行为",
|
|
|
- prop: "selfBehavior",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "目标行为",
|
|
|
- prop: "targetBehavior",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "天气",
|
|
|
- prop: "weather",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "道路类型",
|
|
|
- prop: "roadType",
|
|
|
- },
|
|
|
- {
|
|
|
- label: "标签",
|
|
|
- prop: "label",
|
|
|
- },
|
|
|
- {
|
|
|
- label: '复杂度',
|
|
|
- prop: 'complexity',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '复杂度等级',
|
|
|
- prop: 'complexityLevel',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '危险度',
|
|
|
- prop: 'risk',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '危险度等级',
|
|
|
- prop: 'riskLevel',
|
|
|
- },
|
|
|
- {
|
|
|
- label: "操作",
|
|
|
- prop: "cgInfos",
|
|
|
- template: true,
|
|
|
- },
|
|
|
- ],
|
|
|
- pagination: {
|
|
|
- //分页使用
|
|
|
- currentPage: 1,
|
|
|
- pageSize: 10,
|
|
|
- position: "right",
|
|
|
- pageSizes: [10, 30, 50, 100, 200],
|
|
|
- layout: "sizes, total, prev, pager, next, jumper",
|
|
|
- },
|
|
|
- getDataWay: {
|
|
|
- //加载表格数据
|
|
|
- dataType: "url",
|
|
|
- type: "post",
|
|
|
- // firstRequest: false,
|
|
|
- data: this.$api.sceneLibrary.querySceneNaturalList,
|
|
|
- param: {
|
|
|
- share: "0",
|
|
|
- },
|
|
|
- },
|
|
|
- dialogVisible: false,
|
|
|
- autoplay: false,
|
|
|
- videoSrc: "",
|
|
|
- objectPath: "",
|
|
|
- videoDiaTitle: "",
|
|
|
- checkedArr: [],
|
|
|
- };
|
|
|
- },
|
|
|
-
|
|
|
- props: {
|
|
|
- roadList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ share: '0',
|
|
|
+ minComplexity: '',
|
|
|
+ maxComplexity: '',
|
|
|
+ minRisk: '',
|
|
|
+ maxRisk: '',
|
|
|
+ complexityLevel: '',
|
|
|
+ riskLevel: '',
|
|
|
+ },
|
|
|
+ labels: [],
|
|
|
+ list: [],
|
|
|
+ // roadList: [],
|
|
|
+ // infrastructureList: [],
|
|
|
+ // trafficConditionList: [],
|
|
|
+ // selfBehaviorList: [],
|
|
|
+ // targetBehaviorList: [],
|
|
|
+ // naturalEnvironmentList: [],
|
|
|
+ // temporaryOperationList: [],
|
|
|
+ props: {
|
|
|
+ multiple: true,
|
|
|
+ label: 'dictName',
|
|
|
+ value: 'dictCode',
|
|
|
+ },
|
|
|
+ columns: [
|
|
|
+ //表格列
|
|
|
+ {
|
|
|
+ label: '场景名称',
|
|
|
+ prop: 'naturalName',
|
|
|
},
|
|
|
- infrastructureList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ {
|
|
|
+ label: '自车行为',
|
|
|
+ prop: 'selfBehavior',
|
|
|
},
|
|
|
- trafficConditionList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ {
|
|
|
+ label: '目标行为',
|
|
|
+ prop: 'targetBehavior',
|
|
|
},
|
|
|
- selfBehaviorList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ {
|
|
|
+ label: '天气',
|
|
|
+ prop: 'weather',
|
|
|
},
|
|
|
- targetBehaviorList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ {
|
|
|
+ label: '道路类型',
|
|
|
+ prop: 'roadType',
|
|
|
},
|
|
|
- naturalEnvironmentList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ {
|
|
|
+ label: '标签',
|
|
|
+ prop: 'label',
|
|
|
},
|
|
|
- temporaryOperationList: {
|
|
|
- type: Array,
|
|
|
- default: [],
|
|
|
+ {
|
|
|
+ label: '复杂度',
|
|
|
+ prop: 'complexity',
|
|
|
},
|
|
|
- },
|
|
|
+ {
|
|
|
+ label: '复杂度等级',
|
|
|
+ prop: 'complexityLevel',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '危险度',
|
|
|
+ prop: 'risk',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '危险度等级',
|
|
|
+ prop: 'riskLevel',
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '操作',
|
|
|
+ prop: 'cgInfos',
|
|
|
+ template: true,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ pagination: {
|
|
|
+ //分页使用
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ position: 'right',
|
|
|
+ pageSizes: [10, 30, 50, 100, 200],
|
|
|
+ layout: 'sizes, total, prev, pager, next, jumper',
|
|
|
+ },
|
|
|
+ getDataWay: {
|
|
|
+ //加载表格数据
|
|
|
+ dataType: 'url',
|
|
|
+ type: 'post',
|
|
|
+ // firstRequest: false,
|
|
|
+ data: this.$api.sceneLibrary.querySceneNaturalList,
|
|
|
+ param: {
|
|
|
+ share: '0',
|
|
|
+ },
|
|
|
+ },
|
|
|
+ dialogVisible: false,
|
|
|
+ autoplay: false,
|
|
|
+ videoSrc: '',
|
|
|
+ objectPath: '',
|
|
|
+ videoDiaTitle: '',
|
|
|
+ checkedArr: [],
|
|
|
+ }
|
|
|
+ },
|
|
|
|
|
|
- computed: {
|
|
|
- ...mapState(["fileHost", "fileUrl"]),
|
|
|
+ props: {
|
|
|
+ roadList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
+ },
|
|
|
+ infrastructureList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
+ },
|
|
|
+ trafficConditionList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
},
|
|
|
+ selfBehaviorList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
+ },
|
|
|
+ targetBehaviorList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
+ },
|
|
|
+ naturalEnvironmentList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
+ },
|
|
|
+ temporaryOperationList: {
|
|
|
+ type: Array,
|
|
|
+ default: [],
|
|
|
+ },
|
|
|
+ },
|
|
|
+
|
|
|
+ computed: {
|
|
|
+ ...mapState(['fileHost', 'fileUrl']),
|
|
|
+ },
|
|
|
|
|
|
- methods: {
|
|
|
- doSearch() {
|
|
|
- /* this.searchParams.highSpeed = this.labels.includes("1")
|
|
|
+ methods: {
|
|
|
+ doSearch() {
|
|
|
+ /* this.searchParams.highSpeed = this.labels.includes("1")
|
|
|
? [["roadType", "高速"]]
|
|
|
: [];
|
|
|
this.searchParams.cutIn = this.labels.includes("2")
|
|
@@ -544,252 +535,222 @@ export default {
|
|
|
]
|
|
|
: []; */
|
|
|
|
|
|
- this.refreshList(this.searchParams);
|
|
|
- },
|
|
|
- //刷新table
|
|
|
- refreshList(param) {
|
|
|
- param
|
|
|
- ? this.$refs["table"].loadData(param)
|
|
|
- : this.$refs["table"].loadData();
|
|
|
- },
|
|
|
- doReset() {
|
|
|
- this.searchParams = {
|
|
|
- naturalName: "",
|
|
|
- road: [],
|
|
|
- infrastructure: [],
|
|
|
- trafficCondition: [],
|
|
|
- selfBehavior: [],
|
|
|
- targetBehavior: [],
|
|
|
- naturalEnvironment: [],
|
|
|
- temporaryOperation: [],
|
|
|
- highSpeed: [],
|
|
|
- ramp: [],
|
|
|
- tunnel: [],
|
|
|
- cutIn: [],
|
|
|
- cutOut: [],
|
|
|
- laneChange: [],
|
|
|
- turnAround: [],
|
|
|
- share: "0",
|
|
|
- };
|
|
|
- this.labels = [];
|
|
|
- this.doSearch();
|
|
|
- },
|
|
|
- conditions(v) {
|
|
|
- switch (v) {
|
|
|
- case 1:
|
|
|
- this.searchParams.road = [
|
|
|
- ...this.searchParams.road,
|
|
|
- ["roadType", "高速"],
|
|
|
- ];
|
|
|
- break;
|
|
|
- case 2:
|
|
|
- this.searchParams.targetBehavior = [
|
|
|
- ...this.searchParams.targetBehavior,
|
|
|
- [
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "机动车从左侧切入成功",
|
|
|
- ],
|
|
|
- [
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "机动车从右侧切入成功",
|
|
|
- ],
|
|
|
- ];
|
|
|
- break;
|
|
|
- case 3:
|
|
|
- this.searchParams.targetBehavior = [
|
|
|
- ...this.searchParams.targetBehavior,
|
|
|
- [
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "机动车向左侧切出成功",
|
|
|
- ],
|
|
|
- [
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "targetBehavior",
|
|
|
- "机动车向右侧切出成功",
|
|
|
- ],
|
|
|
- ];
|
|
|
- break;
|
|
|
- case 4:
|
|
|
- this.searchParams.selfBehavior = [
|
|
|
- ...this.searchParams.selfBehavior,
|
|
|
- [
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "向左变道成功",
|
|
|
- ],
|
|
|
- [
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "向右变道成功",
|
|
|
- ],
|
|
|
- [
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "向左连续变道",
|
|
|
- ],
|
|
|
- [
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "向右连续变道",
|
|
|
- ],
|
|
|
- [
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "向左变道超车",
|
|
|
- ],
|
|
|
- [
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "selfBehavior",
|
|
|
- "向右变道超车",
|
|
|
- ],
|
|
|
- ];
|
|
|
- break;
|
|
|
- case 5:
|
|
|
- this.searchParams.road = [
|
|
|
- ...this.searchParams.road,
|
|
|
- ["ramp", "是"],
|
|
|
- ];
|
|
|
- break;
|
|
|
- case 6:
|
|
|
- this.searchParams.road = [
|
|
|
- ...this.searchParams.road,
|
|
|
- ["tunnel", "是"],
|
|
|
- ];
|
|
|
- break;
|
|
|
- case 7:
|
|
|
- this.searchParams.selfBehavior = [
|
|
|
- ...this.searchParams.selfBehavior,
|
|
|
- ["selfBehavior", "直路掉头"],
|
|
|
- ["selfBehavior", "selfBehavior", "路口掉头"],
|
|
|
- ];
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
- },
|
|
|
- viewRow(row) {
|
|
|
- if (!row.videoAddress) {
|
|
|
- this.$message.warning("本场景无仿真视频");
|
|
|
- return;
|
|
|
- }
|
|
|
+ this.refreshList(this.searchParams)
|
|
|
+ },
|
|
|
+ //刷新table
|
|
|
+ refreshList(param) {
|
|
|
+ param
|
|
|
+ ? this.$refs['table'].loadData(param)
|
|
|
+ : this.$refs['table'].loadData()
|
|
|
+ },
|
|
|
+ doReset() {
|
|
|
+ this.searchParams = {
|
|
|
+ naturalName: '',
|
|
|
+ road: [],
|
|
|
+ infrastructure: [],
|
|
|
+ trafficCondition: [],
|
|
|
+ selfBehavior: [],
|
|
|
+ targetBehavior: [],
|
|
|
+ naturalEnvironment: [],
|
|
|
+ temporaryOperation: [],
|
|
|
+ highSpeed: [],
|
|
|
+ ramp: [],
|
|
|
+ tunnel: [],
|
|
|
+ cutIn: [],
|
|
|
+ cutOut: [],
|
|
|
+ laneChange: [],
|
|
|
+ turnAround: [],
|
|
|
+ share: '0',
|
|
|
+ minComplexity: '',
|
|
|
+ maxComplexity: '',
|
|
|
+ minRisk: '',
|
|
|
+ maxRisk: '',
|
|
|
+ complexityLevel: '',
|
|
|
+ riskLevel: '',
|
|
|
+ }
|
|
|
+ this.labels = []
|
|
|
+ this.doSearch()
|
|
|
+ },
|
|
|
+ conditions(v) {
|
|
|
+ switch (v) {
|
|
|
+ case 1:
|
|
|
+ this.searchParams.road = [
|
|
|
+ ...this.searchParams.road,
|
|
|
+ ['roadType', '高速'],
|
|
|
+ ]
|
|
|
+ break
|
|
|
+ case 2:
|
|
|
+ this.searchParams.targetBehavior = [
|
|
|
+ ...this.searchParams.targetBehavior,
|
|
|
+ [
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ '机动车从左侧切入成功',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ '机动车从右侧切入成功',
|
|
|
+ ],
|
|
|
+ ]
|
|
|
+ break
|
|
|
+ case 3:
|
|
|
+ this.searchParams.targetBehavior = [
|
|
|
+ ...this.searchParams.targetBehavior,
|
|
|
+ [
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ '机动车向左侧切出成功',
|
|
|
+ ],
|
|
|
+ [
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ 'targetBehavior',
|
|
|
+ '机动车向右侧切出成功',
|
|
|
+ ],
|
|
|
+ ]
|
|
|
+ break
|
|
|
+ case 4:
|
|
|
+ this.searchParams.selfBehavior = [
|
|
|
+ ...this.searchParams.selfBehavior,
|
|
|
+ ['selfBehavior', 'selfBehavior', 'selfBehavior', '向左变道成功'],
|
|
|
+ ['selfBehavior', 'selfBehavior', 'selfBehavior', '向右变道成功'],
|
|
|
+ ['selfBehavior', 'selfBehavior', 'selfBehavior', '向左连续变道'],
|
|
|
+ ['selfBehavior', 'selfBehavior', 'selfBehavior', '向右连续变道'],
|
|
|
+ ['selfBehavior', 'selfBehavior', 'selfBehavior', '向左变道超车'],
|
|
|
+ ['selfBehavior', 'selfBehavior', 'selfBehavior', '向右变道超车'],
|
|
|
+ ]
|
|
|
+ break
|
|
|
+ case 5:
|
|
|
+ this.searchParams.road = [...this.searchParams.road, ['ramp', '是']]
|
|
|
+ break
|
|
|
+ case 6:
|
|
|
+ this.searchParams.road = [...this.searchParams.road, ['tunnel', '是']]
|
|
|
+ break
|
|
|
+ case 7:
|
|
|
+ this.searchParams.selfBehavior = [
|
|
|
+ ...this.searchParams.selfBehavior,
|
|
|
+ ['selfBehavior', '直路掉头'],
|
|
|
+ ['selfBehavior', 'selfBehavior', '路口掉头'],
|
|
|
+ ]
|
|
|
+ break
|
|
|
+ default:
|
|
|
+ break
|
|
|
+ }
|
|
|
+ },
|
|
|
+ viewRow(row) {
|
|
|
+ if (!row.videoAddress) {
|
|
|
+ this.$message.warning('本场景无仿真视频')
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- this.dialogVisible = true;
|
|
|
- this.videoDiaTitle = row.naturalName;
|
|
|
+ this.dialogVisible = true
|
|
|
+ this.videoDiaTitle = row.naturalName
|
|
|
|
|
|
- let url = "";
|
|
|
- if (process.env.VUE_APP_IS_DEV == "true") {
|
|
|
- url = this.fileHost + this.fileUrl;
|
|
|
- } else {
|
|
|
- url = this.fileUrl;
|
|
|
- }
|
|
|
+ let url = ''
|
|
|
+ if (process.env.VUE_APP_IS_DEV == 'true') {
|
|
|
+ url = this.fileHost + this.fileUrl
|
|
|
+ } else {
|
|
|
+ url = this.fileUrl
|
|
|
+ }
|
|
|
|
|
|
- let token = localStorage.getItem("Authorization").split(" ")[1];
|
|
|
- this.videoSrc = `${url}?objectName=${row.videoAddress}&access_token=${token}`;
|
|
|
- this.autoplay = true;
|
|
|
- },
|
|
|
- delRow(row) {
|
|
|
- this.$confirm("确认是否删除?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- }).then(() => {
|
|
|
- this.$axios({
|
|
|
- method: "post",
|
|
|
- url: this.$api.sceneLibrary.deleteSceneNatural,
|
|
|
- data: {
|
|
|
- naturalId: row.naturalId,
|
|
|
- naturalName: row.naturalName,
|
|
|
- },
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message.success("删除成功");
|
|
|
- } else {
|
|
|
- this.$message.error(res.message || "删除失败");
|
|
|
- }
|
|
|
- this.doSearch();
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- delRows() {
|
|
|
- let checkedArr = this.checkedArr;
|
|
|
+ let token = localStorage.getItem('Authorization').split(' ')[1]
|
|
|
+ this.videoSrc = `${url}?objectName=${row.videoAddress}&access_token=${token}`
|
|
|
+ this.autoplay = true
|
|
|
+ },
|
|
|
+ delRow(row) {
|
|
|
+ this.$confirm('确认是否删除?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ }).then(() => {
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: this.$api.sceneLibrary.deleteSceneNatural,
|
|
|
+ data: {
|
|
|
+ naturalId: row.naturalId,
|
|
|
+ naturalName: row.naturalName,
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success('删除成功')
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message || '删除失败')
|
|
|
+ }
|
|
|
+ this.doSearch()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ delRows() {
|
|
|
+ let checkedArr = this.checkedArr
|
|
|
|
|
|
- if (checkedArr.length <= 0) {
|
|
|
- this.$message.info("请先选择数据");
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (checkedArr.length <= 0) {
|
|
|
+ this.$message.info('请先选择数据')
|
|
|
+ return
|
|
|
+ }
|
|
|
|
|
|
- let arr = checkedArr.map((i) => i.naturalName);
|
|
|
+ let arr = checkedArr.map((i) => i.naturalName)
|
|
|
|
|
|
- this.$confirm("确认是否批量删除?", "提示", {
|
|
|
- confirmButtonText: "确定",
|
|
|
- cancelButtonText: "取消",
|
|
|
- type: "warning",
|
|
|
- }).then(() => {
|
|
|
- this.$axios({
|
|
|
- method: "post",
|
|
|
- url: this.$api.sceneLibrary.batchDeleteSceneNatural,
|
|
|
- data: {
|
|
|
- naturalNameList: arr,
|
|
|
- },
|
|
|
- }).then((res) => {
|
|
|
- if (res.code == 200) {
|
|
|
- this.$message.success("删除成功");
|
|
|
- } else {
|
|
|
- this.$message.error(res.message || "删除失败");
|
|
|
- }
|
|
|
- this.doSearch();
|
|
|
- });
|
|
|
- });
|
|
|
- },
|
|
|
- diaClose(done) {
|
|
|
- this.autoplay = false;
|
|
|
- this.videoSrc = "";
|
|
|
- done();
|
|
|
- },
|
|
|
- openFileDia() {
|
|
|
- this.objectPath = Math.random().toString();
|
|
|
- this.$refs.fileDialog.fileVisible = true;
|
|
|
- },
|
|
|
- fileClose() {
|
|
|
- this.objectPath = "";
|
|
|
- this.doSearch();
|
|
|
- },
|
|
|
+ this.$confirm('确认是否批量删除?', '提示', {
|
|
|
+ confirmButtonText: '确定',
|
|
|
+ cancelButtonText: '取消',
|
|
|
+ type: 'warning',
|
|
|
+ }).then(() => {
|
|
|
+ this.$axios({
|
|
|
+ method: 'post',
|
|
|
+ url: this.$api.sceneLibrary.batchDeleteSceneNatural,
|
|
|
+ data: {
|
|
|
+ naturalNameList: arr,
|
|
|
+ },
|
|
|
+ }).then((res) => {
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.$message.success('删除成功')
|
|
|
+ } else {
|
|
|
+ this.$message.error(res.message || '删除失败')
|
|
|
+ }
|
|
|
+ this.doSearch()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ diaClose(done) {
|
|
|
+ this.autoplay = false
|
|
|
+ this.videoSrc = ''
|
|
|
+ done()
|
|
|
+ },
|
|
|
+ openFileDia() {
|
|
|
+ this.objectPath = Math.random().toString()
|
|
|
+ this.$refs.fileDialog.fileVisible = true
|
|
|
},
|
|
|
-};
|
|
|
+ fileClose() {
|
|
|
+ this.objectPath = ''
|
|
|
+ this.doSearch()
|
|
|
+ },
|
|
|
+ },
|
|
|
+}
|
|
|
</script>
|
|
|
|
|
|
<style lang='less' scoped>
|
|
|
-@import "./common/util.less";
|
|
|
+@import './common/util.less';
|
|
|
.naturalDrivingScenarioListPanel {
|
|
|
- .inputBox {
|
|
|
- .label {
|
|
|
- min-width: 75px;
|
|
|
- }
|
|
|
+ .inputBox {
|
|
|
+ .label {
|
|
|
+ min-width: 75px;
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- .btnsPanel {
|
|
|
- text-align: right;
|
|
|
- }
|
|
|
+ .btnsPanel {
|
|
|
+ text-align: right;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|