Selaa lähdekoodia

feat:基准库筛选项编辑

linchengzhe 1 vuosi sitten
vanhempi
commit
20343df056

+ 6 - 1
src/api/sceneLibrary.js

@@ -17,6 +17,9 @@ const querybenchmarkList = basePart + '/sceneReference/querySceneReferenceLibLis
 
 const saveSceneReferenceById = basePart + '/sceneReference/saveSceneReferenceById'; // 基准场景编辑
 
+const benchmarkSearchCreate = basePart + '/dict/createDictByType'; // 基准库筛选项创建
+
+const benchmarkSearchDelete = basePart + '/dict/deleteDictById'; // 基准库筛选项删除
 const queryStandardsRegulationsList = basePart + '/StandardsRegulations/queryStandardsRegulationsList'; // 标准法规场景列表
 const saveStandardsRegulations = basePart + '/StandardsRegulations/saveStandardsRegulations'; // 新增标准法规仿场景
 const deleteStandardsRegulations = basePart + '/StandardsRegulations/deleteStandardsRegulations'; // 删除标准法规仿场景
@@ -108,5 +111,7 @@ export default {
     saveSceneReferenceById,
     queryComplexityDetail,
     queryRiskDetail,
-    batchDeleteSceneReference
+    batchDeleteSceneReference,
+    benchmarkSearchCreate,
+    benchmarkSearchDelete
 }

+ 3 - 2
src/api/workManagement.js

@@ -31,7 +31,7 @@ const updateAutoProjectNowRunState = basePart + '/simulationProject/updateAutoPr
 
 const getEvaluationRuleDetail = basePart +'/simulationProject/getEvaluationRuleDetail'; // 标准化测试详情展示规则
 
-
+const querySceneEvaluationDetail = basePart + '/simulationProject/querySceneEvaluationDetail'; // 标准化场景评价列表
 const carList = basePart + '/simulationProject/selectDropDownByTypeNew'; //多模式仿真获取车辆列表
 const mapList = basePart + '/simulationMap/selectAllSimulationMapList'; //多模式仿真获取地图列表
 const algorithmList = basePart + '/simulationProject/selectDropDownByTypeNew';//多模式仿真获取算法列表
@@ -81,5 +81,6 @@ export default {
     deleteAutomaticProjectByids,
     deleteAutomaticSubProjectByIds,
     updateAutoProjectNowRunState,
-    getEvaluationRuleDetail
+    getEvaluationRuleDetail,
+    querySceneEvaluationDetail
 }

+ 1 - 1
src/views/multimodeSimulation/simulationEdit.vue

@@ -103,7 +103,7 @@
           <span v-if="!isEdit && ![2,4,6,null].includes(scope.row.taskStatus)" @click="toEvaluate(scope.row)" class="elIcon">
             评价结果
           </span>
-          <span v-else>-</span>
+          <span v-else>-y</span>
           <span
             v-if="isEdit"
             @click="navigatorEdit(scope.row.id)"

+ 3 - 4
src/views/multimodeSimulation/simulationHome.vue

@@ -47,9 +47,7 @@
       </template>
       <template slot="searchBtn1">
         <el-button type="primary" @click="doSearch">查询</el-button>
-      </template>
-      <template slot="searchBtn2">
-        <!-- <el-button type="primary" @click="doReset">重置</el-button> -->
+        <el-button type="primary" @click="doReset">重置</el-button>
       </template>
     </search-layout>
     <div></div>
@@ -191,7 +189,8 @@ export default {
         projectName: '', // 项目名称
         projectStatus: '', // 项目进度
       }
-      this.refreshList()
+      this.doSearch()
+      // this.refreshList()
     },
     // 仿真任务状态更新
     updateTask(row) {

+ 67 - 42
src/views/sceneLibrary/benchmarkScenarioList.vue

@@ -21,10 +21,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['汇入']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['egoAction']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -36,10 +36,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['直行']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['targetAction']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -47,10 +47,10 @@
         <span class="label">天气</span>
         <el-select v-model="searchParams.weather[0][1]" size="small" clearable>
           <el-option
-            v-for="item in ['晴']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['sceneLibWeather']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -58,10 +58,10 @@
         <span class="label">道路类型</span>
         <el-select v-model="searchParams.roadType[0][1]" size="small" clearable>
           <el-option
-            v-for="item in ['高速']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['sceneLibrodeType']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -73,10 +73,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['直道']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['roadPlaneGeometry']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -88,10 +88,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['上坡']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['roadProfileGeometry']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -103,10 +103,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['ACC', 'AEB']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['supportedAdas']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -118,10 +118,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['主路']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['rodeSection']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -179,10 +179,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['S', 'AA', 'A', 'B', 'C']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['complexityLevel']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -190,10 +190,10 @@
         <span class="label">危险度等级</span>
         <el-select v-model="searchParams.riskLevel" size="small" clearable>
           <el-option
-            v-for="item in ['S', 'AA', 'A', 'B', 'C']"
-            :label="item"
-            :value="item"
-            :key="item"
+            v-for="item in dictionaryList['riskLevel']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -225,6 +225,9 @@
       <template slot="searchBtn2">
         <el-button type="primary" @click="doReset">重置</el-button>
       </template>
+      <template slot="searchBtn2">
+        <el-button type="primary" @click="benchmarkEditShow=true">筛选编辑</el-button>
+      </template>
     </search-layout>
     <tableList
       ref="table"
@@ -390,18 +393,21 @@
         <el-button type="primary" @click="editUpdate">更新</el-button>
       </div>
     </el-dialog>
+    <benchmark-edit v-if="benchmarkEditShow" @closeHandle="editCloseHandle"></benchmark-edit>
   </div>
 </template>
 
 <script>
 import searchLayout from '@/components/grid/searchLayout'
 import tableList from '@/components/grid/TableList'
+import benchmarkEdit from './components/benchmarkEdit'
 import { mapState } from 'vuex'
 export default {
   name: 'benchmarkScenarioList', // 基准场景库
-  components: { searchLayout, tableList },
+  components: { searchLayout, tableList,benchmarkEdit },
   data() {
     return {
+      benchmarkEditShow:false,
       //搜索参数
       searchParams: {
         sceneName: '', // 场景名称
@@ -547,6 +553,7 @@ export default {
       videoSrc: '',
       objectPath: '',
       videoDiaTitle: '',
+      dictionaryList:{},
     }
   },
 
@@ -643,10 +650,28 @@ export default {
         query:{id:row.sceneId}
       })
     },
+    // 筛选项编辑关闭 -- 刷新筛选列表
+    editCloseHandle(){
+      this.benchmarkEditShow = false
+      this.searchInit()
+    },
+    searchInit() {
+            this.$axios({
+                method: 'post',
+                url: this.$api.common.getDictListsByTypes,
+                data: { dictTypes: "egoAction,targetAction,sceneLibWeather,sceneLibrodeType,roadPlaneGeometry,roadProfileGeometry,supportedAdas,rodeSection,complexityLevel,riskLevel" },
+            }).then((res) => {
+                if (res.code == 200) {
+                    this.dictionaryList = res.info
+                } else {
+                    this.$message.error(res.message || '查询失败')
+                }
+            })
+        },
   },
 
   async mounted() {
-
+    this.searchInit()
   },
 }
 </script>

+ 182 - 0
src/views/sceneLibrary/components/benchmarkEdit.vue

@@ -0,0 +1,182 @@
+<template>
+    <el-dialog title="基准场景筛选编辑" :visible.sync="dialogVisible" width="700" @close="dialogClose">
+        <h3>标签类型</h3>
+        <el-radio-group v-model="radio" style="display: flex; flex-wrap: wrap; justify-content: flex-start;"
+            @input="radioChange">
+            <el-radio style="margin: 5px 5px" label="sceneLibrodeType" border>道路类型</el-radio>
+            <el-radio style="margin: 5px 5px;" label="egoAction" border>主车行动</el-radio>
+            <el-radio style="margin: 5px 5px;" label="targetAction" border>它车行动</el-radio>
+            <el-radio style="margin: 5px 5px;" label="sceneLibWeather" border>天气</el-radio>
+            <el-radio style="margin: 5px 5px;" label="roadPlaneGeometry" border>道路平面几何</el-radio>
+            <el-radio style="margin: 5px 5px;" label="roadProfileGeometry" border>道路几何-纵断面</el-radio>
+            <el-radio style="margin: 5px 5px;" label="rodeSection" border>运行区域</el-radio>
+            <el-radio style="margin: 5px 5px;" label="supportedAdas" border>智能驾驶</el-radio>
+            <el-radio style="margin: 5px 5px;" label="complexityLevel" border>复杂度等级</el-radio>
+            <el-radio style="margin: 5px 5px;" label="riskLevel" border>危险度等级</el-radio>
+        </el-radio-group>
+        <h3>下拉内容编辑</h3>
+        <div style="display: flex; margin-bottom: 30px;">
+            <el-tag :key="tag.id" v-for="tag in dynamicTags" closable :disable-transitions="false"
+                @close="handleClose(tag.id)">
+                {{ tag.dictName }}
+            </el-tag>
+            <el-input placeholder="请输入新增内容" style="width: 150px; margin-left: 20px;" v-if="inputVisible"
+                v-model="inputValue" ref="saveTagInput" size="small" @keyup.enter.native="handleInputConfirm"
+                @blur="handleInputConfirm">
+            </el-input>
+            <el-button v-else class="button-new-tag" size="small" @click="showInput">新增数据+</el-button>
+        </div>
+        <!-- <span slot="footer" class="dialog-footer">
+            <el-button @click="dialogVisible = false">取 消</el-button>
+            <el-button type="primary" @click="dialogVisible = false">确 定</el-button>
+        </span> -->
+    </el-dialog>
+</template>
+
+<script>
+const dictionaryMap = {
+    sceneLibrodeType: '道路类型',
+    egoAction: '主车动作',
+    targetAction: '它车动作',
+    sceneLibWeather: '天气',
+    roadPlaneGeometry: '道路平面几何',
+    roadProfileGeometry: '道路几何-纵断面',
+    rodeSection: '运行区域',
+    supportedAdas: '智能驾驶',
+    complexityLevel: '复杂度等级',
+    riskLevel: '危险度等级',
+}
+
+export default {
+    name: "benchmarkEdit", // 基准场景筛选项编辑
+    components: {},
+    data() {
+        return {
+            radio: 'sceneLibrodeType',
+            dialogVisible: true,
+            dictionaryList: {}, // 字典对象
+            dynamicTags: [{ label: 'xxx', value: '123' }],
+            inputVisible: false,
+            inputValue: '',
+        }
+
+    },
+    props: {
+        // content: {
+        //     type: String,
+        //     default: "",
+        // },
+        // isEdit: {
+        //     type: Boolean,
+        //     default: true,
+        // },
+    },
+
+    methods: {
+        init(defaultType = 'sceneLibrodeType') {
+            this.$axios({
+                method: 'post',
+                url: this.$api.common.getDictListsByTypes,
+                data: { dictTypes: "egoAction,targetAction,sceneLibWeather,sceneLibrodeType,roadPlaneGeometry,roadProfileGeometry,supportedAdas,rodeSection,complexityLevel,riskLevel" },
+            }).then((res) => {
+                if (res.code == 200) {
+                    this.dictionaryList = res.info
+                    // 默认加载道路类型数据 
+                    this.dynamicTags = res.info[defaultType] || []
+                } else {
+                    this.$message.error(res.message || '查询失败')
+                }
+            })
+        },
+        radioChange(type) {
+            this.dynamicTags = this.dictionaryList[type] || []
+        },
+        handleClose(tag) {
+            console.log(tag)
+            // this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+            this.$axios({
+                    method: 'post',
+                    url: this.$api.sceneLibrary.benchmarkSearchDelete,
+                    data: {
+                        id: tag,
+                        dictType: this.radio
+                    },
+                }).then((res) => {
+                    if (res.code == 200) {
+                        this.$message.success('数据删除成功')
+                        this.init(this.radio)
+                    } else {
+                        this.$message.error(res.message || '删除失败')
+                    }
+                })
+        },
+        showInput() {
+            this.inputVisible = true;
+            this.$nextTick(() => {
+                this.$refs.saveTagInput.$refs.input.focus();
+            });
+        },
+        handleInputConfirm() {
+            console.log(this.radio, dictionaryMap[this.radio])
+            let inputValue = this.inputValue;
+            if (inputValue) {
+                this.$axios({
+                    method: 'post',
+                    url: this.$api.sceneLibrary.benchmarkSearchCreate,
+                    data: {
+                        dictType: this.radio,
+                        dictName: this.inputValue,
+                        dictCode: this.inputValue,
+                        dictComment: dictionaryMap[this.radio]
+                    },
+                }).then((res) => {
+                    if (res.code == 200) {
+                        this.$message.success('数据新增成功')
+                        this.init(this.radio)
+                    } else {
+                        this.$message.error(res.message || '新增失败')
+                    }
+                    this.inputVisible = false;
+                    this.inputValue = '';
+                })
+            }
+        },
+        dialogClose(){
+            console.log('关闭')
+            this.$emit('closeHandle');
+        }
+    },
+    mounted() {
+        this.init()
+    },
+    beforeDestroy() {
+
+    },
+};
+</script>
+
+<style lang='less' scoped>
+.el-tag+.el-tag {
+    margin-left: 10px;
+}
+
+.button-new-tag {
+    margin-left: 10px;
+    height: 32px;
+    line-height: 30px;
+    padding-top: 0;
+    padding-bottom: 0;
+}
+
+.input-new-tag {
+    border: 2px solid red;
+    width: 50px;
+    margin-left: 10px;
+    vertical-align: bottom;
+}
+
+h3 {
+    font-size: 18px;
+    margin: 20px 0 10px;
+}
+</style>

+ 57 - 40
src/views/sceneLibrary/components/realSceneList.vue

@@ -575,10 +575,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['汇入']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['egoAction']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -590,10 +590,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['直行']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['targetAction']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -605,10 +605,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['晴']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['sceneLibWeather']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -620,10 +620,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['高速']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['sceneLibrodeType']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -635,10 +635,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['直道']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['roadPlaneGeometry']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -650,10 +650,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['上坡']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['roadProfileGeometry']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -665,10 +665,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['ACC', 'AEB']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['supportedAdas']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -680,10 +680,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['主路']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['rodeSection']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -742,10 +742,10 @@
               clearable
             >
               <el-option
-                v-for="item in ['S', 'AA', 'A', 'B', 'C']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['complexityLevel']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -753,10 +753,10 @@
             <span class="label">危险度等级</span>
             <el-select v-model="searchParamsD.riskLevel" size="small" clearable>
               <el-option
-                v-for="item in ['S', 'AA', 'A', 'B', 'C']"
-                :label="item"
-                :value="item"
-                :key="item"
+              v-for="item in dictionaryList['riskLevel']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
               ></el-option>
             </el-select>
           </template>
@@ -1207,6 +1207,8 @@ export default {
       activeNameB: '2',
       activeNameC: '2',
       activeNameD: '2',
+
+      dictionaryList:{},
     }
   },
 
@@ -1565,6 +1567,19 @@ export default {
       this.activeNameD = data.name
       this.doSearchD()
     },
+    searchInit() {
+            this.$axios({
+                method: 'post',
+                url: this.$api.common.getDictListsByTypes,
+                data: { dictTypes: "egoAction,targetAction,sceneLibWeather,sceneLibrodeType,roadPlaneGeometry,roadProfileGeometry,supportedAdas,rodeSection,complexityLevel,riskLevel" },
+            }).then((res) => {
+                if (res.code == 200) {
+                    this.dictionaryList = res.info
+                } else {
+                    this.$message.error(res.message || '查询失败')
+                }
+            })
+        },
   },
 
   async mounted() {
@@ -1586,6 +1601,8 @@ export default {
       naturalEnvironmentList: 'naturalEnvironment',
       temporaryOperationList: 'temporaryOperation',
     })
+    this.searchInit()
+
   },
 }
 </script>

+ 8 - 0
src/views/sceneLibrary/sceneEvaluation.vue

@@ -75,6 +75,10 @@ export default {
     return {
       sceneId: '',
       columns1: [
+        {
+          label: '评价时间',
+          prop: 'createTime',
+        },
         {
           label: '评分规则',
           prop: 'ruleName',
@@ -89,6 +93,10 @@ export default {
         },
       ],
       columns2: [
+        {
+          label: '评价时间',
+          prop: 'createTime',
+        },
         {
           label: '评分规则',
           prop: 'ruleName',

+ 55 - 45
src/views/systemManagement/sceneLibraryManagement/benchmarkScenario.vue

@@ -21,10 +21,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['汇入']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['egoAction']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -36,10 +36,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['直行']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['targetAction']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -47,10 +47,10 @@
         <span class="label">天气</span>
         <el-select v-model="searchParams.weather[0][1]" size="small" clearable>
           <el-option
-            v-for="item in ['晴']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['sceneLibWeather']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -58,10 +58,10 @@
         <span class="label">道路类型</span>
         <el-select v-model="searchParams.roadType[0][1]" size="small" clearable>
           <el-option
-            v-for="item in ['高速']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['sceneLibrodeType']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -73,10 +73,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['直道']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['roadPlaneGeometry']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -88,10 +88,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['上坡']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['roadProfileGeometry']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -103,10 +103,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['ACC', 'AEB']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['supportedAdas']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -118,10 +118,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['主路']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['rodeSection']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -179,10 +179,10 @@
           clearable
         >
           <el-option
-            v-for="item in ['S', 'AA', 'A', 'B', 'C']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['complexityLevel']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -190,10 +190,10 @@
         <span class="label">危险度等级</span>
         <el-select v-model="searchParams.riskLevel" size="small" clearable>
           <el-option
-            v-for="item in ['S', 'AA', 'A', 'B', 'C']"
-            :label="item"
-            :value="item"
-            :key="item"
+          v-for="item in dictionaryList['riskLevel']"
+            :label="item.dictName"
+            :value="item.dictName"
+            :key="item.id"
           ></el-option>
         </el-select>
       </template>
@@ -498,6 +498,7 @@ export default {
       objectPath: '',
       videoDiaTitle: '',
       checkedArr: [], //  表格多选
+      dictionaryList:{},
     }
   },
 
@@ -605,14 +606,23 @@ export default {
         })
       }
     },
+    searchInit() {
+            this.$axios({
+                method: 'post',
+                url: this.$api.common.getDictListsByTypes,
+                data: { dictTypes: "egoAction,targetAction,sceneLibWeather,sceneLibrodeType,roadPlaneGeometry,roadProfileGeometry,supportedAdas,rodeSection,complexityLevel,riskLevel" },
+            }).then((res) => {
+                if (res.code == 200) {
+                    this.dictionaryList = res.info
+                } else {
+                    this.$message.error(res.message || '查询失败')
+                }
+            })
+        },
   },
 
   async mounted() {
-    // await this.$dicsListsInit({
-    //   // scenarioWeatherList: "scenarioWeather",
-    //   scenarioRoadTypeList: 'scenarioRoadType',
-    // })
-    // this.getFileNameList()
+    this.searchInit()
   },
 }
 </script>

+ 58 - 3
src/views/workManagement/projectInfo.vue

@@ -74,6 +74,10 @@
                         <span>危险度规则:</span>
                         <b>{{ ruleDetailInfo.riskEvaluationRuleName || '-' }}</b>
                     </div>
+                    <div class="info">
+                        <span>复杂度规则:</span>
+                        <b>{{ ruleDetailInfo.complexityEvaluationRuleName || '-' }}</b>
+                    </div>
                     <div class="info">
                         <span>覆盖率规则:</span>
                         <b>{{ ruleDetailInfo.coverageRateEvaluationRuleName || '-' }}</b>
@@ -88,7 +92,7 @@
                     </div>
                     <div class="info">
                         <span>场景测试包覆盖率:</span>
-                        <b>{{ ruleDetailInfo.testPackageCoverageRate || '-'}}</b>
+                        <b>{{ ruleDetailInfo.testPackageCoverageRate || '-' }}</b>
                     </div>
                     <div class="info">
                         <span>场景测试包暴露率:</span>
@@ -96,6 +100,15 @@
                     </div>
                 </div>
             </div>
+            <div class="scorePanel panel">
+                <div class="titlePanel">
+                    <div class="titlePanelBor">评价列表</div>
+                </div>
+                <div class="box">
+                    <tableList style="margin: 30px 0" :columns="columnsB" :getDataWay="getDataWayB" :pagination="paginationB">
+                    </tableList>
+                </div>
+            </div>
 
             <div class="flexBox topPanel">
                 <div class="box panel boxB">
@@ -291,7 +304,7 @@ export default {
             projectType: "", // 1手动 2自动
             info: {},
             evaluationLevel: "",
-            ruleDetailInfo:{}, // 规则详情列表
+            ruleDetailInfo: {}, // 规则详情列表
             columns: [
                 {
                     label: "ID",
@@ -349,6 +362,28 @@ export default {
                     prop: "scoreRatio",
                 },
             ],
+            columnsB: [
+                {
+                    label: "场景名称",
+                    prop: "sceneName",
+                },
+                {
+                    label: "危险度",
+                    prop: "risk",
+                },
+                {
+                    label: "危险度等级%",
+                    prop: "riskLevel",
+                },
+                {
+                    label: "复杂度",
+                    prop: "complexity",
+                },
+                {
+                    label: "复杂度等级",
+                    prop: "complexityLevel",
+                },
+            ],
             pagination: {
                 //分页使用
                 currentPage: 1,
@@ -376,6 +411,26 @@ export default {
                 data: [],
                 param: {},
             },
+            getDataWayB: {
+                //加载表格数据
+                dataType: "url",
+                type: "post",
+                // firstRequest: false,
+                data: this.$api.workManagement.querySceneEvaluationDetail,
+                param: {
+                    id: this.$route.query.id,
+                    projectType: this.$route.query.projectType,
+                },
+            },
+            paginationB: {
+                //分页使用
+                currentPage: 1,
+                pageSize: 10,
+                position: "right",
+                pageSizes: [10, 30, 50, 100, 200],
+                layout: "sizes, total, prev, pager, next, jumper",
+            },
+            
             // 传感器对象集合
             configList: {
                 camera: [],
@@ -643,7 +698,7 @@ export default {
                     id: this.id,
                     projectType: this.projectType,
                 },
-            }).then(res=>{
+            }).then(res => {
                 this.ruleDetailInfo = res.info
             })
         }