Bladeren bron

feat:自然,标准,交通场景复杂危险搜索字段修复

linchengzhe 1 jaar geleden
bovenliggende
commit
f20a30791f

+ 26 - 20
src/views/sceneLibrary/naturalDrivingScenarioList.vue

@@ -87,23 +87,21 @@
       <template slot="searchItem5">
         <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,32 +132,30 @@
       <template slot="searchItem7">
         <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="searchItem6">
         <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>
@@ -285,6 +279,12 @@ export default {
         turnAround: [], // 掉头
 
         share: '0', // 0 私有 1 公有
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
       },
       labels: [],
       list: [],
@@ -408,6 +408,12 @@ export default {
         laneChange: [],
         turnAround: [],
         share: this.activeName === '1' ? '1' : '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
       }
       // this.labels = [];
       this.doSearch()

+ 26 - 18
src/views/sceneLibrary/standardRegulationSimulationScenarioList.vue

@@ -45,7 +45,7 @@
       <template slot="searchItem6">
         <span class="label">复杂度</span>
         <el-input
-          v-model="searchParams.a"
+          v-model="searchParams.minComplexity"
           size="small"
           clearable
           placeholder="请输入"
@@ -56,7 +56,7 @@
         </el-input>
         <span class="dateSeparator">至</span>
         <el-input
-          v-model="searchParams.b"
+          v-model="searchParams.maxComplexity"
           size="small"
           clearable
           placeholder="请输入"
@@ -70,23 +70,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>
@@ -94,32 +92,30 @@
       <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>
@@ -214,6 +210,12 @@ export default {
         standardType: '', //标准类型
         label: [],
         share: '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
       },
       labels: [], // 标签
       regulationTypeList: [],
@@ -307,6 +309,12 @@ export default {
         standardType: '',
         label: [],
         share: this.activeName === '1' ? '1' : '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
       }
       // this.labels = [];
       this.doSearch()

+ 26 - 16
src/views/sceneLibrary/trafficAccidentSimulationScenarioList.vue

@@ -97,7 +97,7 @@
       <template slot="searchItem6">
         <span class="label">复杂度</span>
         <el-input
-          v-model="searchParams.a"
+        v-model="searchParams.minComplexity"
           size="small"
           clearable
           placeholder="请输入"
@@ -108,7 +108,7 @@
         </el-input>
         <span class="dateSeparator">至</span>
         <el-input
-          v-model="searchParams.b"
+          v-model="searchParams.maxComplexity"
           size="small"
           clearable
           placeholder="请输入"
@@ -122,7 +122,7 @@
       <template slot="searchItem7">
         <span class="label">危险度</span>
         <el-input
-          v-model="searchParams.a"
+          v-model="searchParams.minRisk"
           size="small"
           clearable
           placeholder="请输入"
@@ -133,7 +133,7 @@
         </el-input>
         <span class="dateSeparator">至</span>
         <el-input
-          v-model="searchParams.b"
+          v-model="searchParams.maxRisk"
           size="small"
           clearable
           placeholder="请输入"
@@ -146,32 +146,30 @@
       <template slot="searchItem7">
         <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>
@@ -278,6 +276,12 @@ export default {
         driveCurve: '', // 沿弯道行驶
         carConflict: '', // 机动车-机动车冲突
         share: '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
       },
       labels: [],
       selfDrivingList: [],
@@ -412,6 +416,12 @@ export default {
         driveCurve: '',
         carConflict: '',
         share: this.activeName === '1' ? '1' : '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
       }
       // this.labels = [];
       this.doSearch()

+ 518 - 557
src/views/systemManagement/sceneLibraryManagement/naturalDrivingScene.vue

@@ -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>

+ 367 - 369
src/views/systemManagement/sceneLibraryManagement/standardRegulationSimulationScene.vue

@@ -1,92 +1,89 @@
 <template>
-    <div>
-        <search-layout :needBox="true">
-            <template slot="searchItem1">
-                <span class="label">场景名称</span>
-                <el-input
-                    v-model="searchParams.sceneName"
-                    size="small"
-                    maxlength="60"
-                    clearable
-                    placeholder="请输入"
-                    @keyup.enter.native="doSearch"
-                >
-                </el-input>
-            </template>
-            <template slot="searchItem2">
-                <span class="label">法规类型</span>
-                <el-select
-                    v-model="searchParams.regulationType"
-                    multiple
-                    clearable
-                    size="small"
-                >
-                    <el-option
-                        v-for="item in regulationTypeList"
-                        :label="item.caption"
-                        :value="item.code"
-                        :key="item.code"
-                    ></el-option>
-                </el-select>
-            </template>
-            <template slot="searchItem3">
-                <span class="label">标准类型</span>
-                <el-input
-                    v-model="searchParams.standardType"
-                    size="small"
-                    maxlength="60"
-                    clearable
-                    placeholder="请输入"
-                    @keyup.enter.native="doSearch"
-                >
-                </el-input>
-            </template>
-                         <!-- 复杂度 -->
+  <div>
+    <search-layout :needBox="true">
+      <template slot="searchItem1">
+        <span class="label">场景名称</span>
+        <el-input
+          v-model="searchParams.sceneName"
+          size="small"
+          maxlength="60"
+          clearable
+          placeholder="请输入"
+          @keyup.enter.native="doSearch"
+        >
+        </el-input>
+      </template>
+      <template slot="searchItem2">
+        <span class="label">法规类型</span>
+        <el-select
+          v-model="searchParams.regulationType"
+          multiple
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in regulationTypeList"
+            :label="item.caption"
+            :value="item.code"
+            :key="item.code"
+          ></el-option>
+        </el-select>
+      </template>
+      <template slot="searchItem3">
+        <span class="label">标准类型</span>
+        <el-input
+          v-model="searchParams.standardType"
+          size="small"
+          maxlength="60"
+          clearable
+          placeholder="请输入"
+          @keyup.enter.native="doSearch"
+        >
+        </el-input>
+      </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>
       </template>
       <!-- 危险度 -->
       <template slot="searchItem6">
+        <span class="label">危险度</span>
         <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>
@@ -94,37 +91,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="ISO" :key="1" class="labelA"
                         >ISO</el-checkbox-button
                     >
@@ -138,42 +133,38 @@
                         >E-NCAP</el-checkbox-button
                     >
                 </el-checkbox-group> -->
-                <div class="labelsBox">
-                    <b class="labelA" @click="conditions(1)">ISO</b>
-                    <b class="labelB" @click="conditions(2)">GB</b>
-                    <b class="labelC" @click="conditions(3)">C-NCAP</b>
-                    <b class="labelD" @click="conditions(4)">E-NCAP</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">
-            <el-button
-                type="primary"
-                plain
-                icon="el-icon-delete"
-                @click="delRows"
-                >批量删除</el-button
-            >
+        <div class="labelsBox">
+          <b class="labelA" @click="conditions(1)">ISO</b>
+          <b class="labelB" @click="conditions(2)">GB</b>
+          <b class="labelC" @click="conditions(3)">C-NCAP</b>
+          <b class="labelD" @click="conditions(4)">E-NCAP</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>
 
-        <tableList
-            ref="table"
-            style="margin: 0 30px"
-            :columns="columns"
-            :getDataWay="getDataWay"
-            :pagination="pagination"
-            :checkedData="checkedArr"
-            selection
-            index
-        >
-            <!-- <tableList
+    <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
             ref="table"
             style="margin: 30px"
             :columns="columns"
@@ -181,297 +172,304 @@
             :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 { mapState } from "vuex";
+import searchLayout from '@/components/grid/searchLayout'
+import tableList from '@/components/grid/TableList'
+import { mapState } from 'vuex'
 
 export default {
-    name: "standardRegulationSimulationScenarioList", // 标准法规场景
-    components: { searchLayout, tableList },
-    data() {
-        return {
-            searchParams: {
-                //搜索参数
-                sceneName: "", //场景名称
-                regulationType: [], //法规类型
-                standardType: "", //标准类型
-                label: [],
-                share: "0",
-            },
-            labels: [], // 标签
-            // regulationTypeList: [],
-            columns: [
-                //表格列
-                {
-                    label: "场景名称",
-                    prop: "sceneName",
-                },
-                {
-                    label: "法规类型",
-                    prop: "regulationType",
-                },
-                {
-                    label: "标准类型",
-                    prop: "standardType",
-                },
-                {
-                    label: "标签",
-                    prop: "regulationType",
-                },
-                {
-                label: '复杂度',
-                prop: 'complexity',
-                },
-                {
-                label: '复杂度等级',
-                prop: 'complexityLevel',
-                },
-                {
-                label: '危险度',
-                prop: 'risk',
-                },
-                {
-                label: '危险度等级',
-                prop: 'riskLevel',
-                },
-                {
-                    label: "操作",
-                    prop: "cgInfos",
-                    template: true,
-                    // videoAddress
-                },
-            ],
-            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.queryStandardsRegulationsList,
-                param: {
-                    share: "0",
-                },
-            },
-            dialogVisible: false,
-            autoplay: false,
-            videoSrc: "",
-            objectPath: "",
-            videoDiaTitle: "",
-            checkedArr: [],
-        };
-    },
-
-    props: {
-        regulationTypeList: {
-            type: Array,
-            default: [],
+  name: 'standardRegulationSimulationScenarioList', // 标准法规场景
+  components: { searchLayout, tableList },
+  data() {
+    return {
+      searchParams: {
+        //搜索参数
+        sceneName: '', //场景名称
+        regulationType: [], //法规类型
+        standardType: '', //标准类型
+        label: [],
+        share: '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
+      },
+      labels: [], // 标签
+      // regulationTypeList: [],
+      columns: [
+        //表格列
+        {
+          label: '场景名称',
+          prop: 'sceneName',
         },
-    },
-
-    computed: {
-        ...mapState(["fileHost", "fileUrl"]),
-    },
-
-    methods: {
-        doSearch() {
-            // this.searchParams.label = [...this.labels];
-            this.refreshList(this.searchParams);
+        {
+          label: '法规类型',
+          prop: 'regulationType',
+        },
+        {
+          label: '标准类型',
+          prop: 'standardType',
+        },
+        {
+          label: '标签',
+          prop: 'regulationType',
+        },
+        {
+          label: '复杂度',
+          prop: 'complexity',
         },
-        //刷新table
-        refreshList(param) {
-            param
-                ? this.$refs["table"].loadData(param)
-                : this.$refs["table"].loadData();
+        {
+          label: '复杂度等级',
+          prop: 'complexityLevel',
         },
-        doReset() {
-            this.searchParams = {
-                sceneName: "",
-                regulationType: [],
-                standardType: "",
-                label: [],
-                share: "0",
-            };
-            // this.labels = [];
-            this.doSearch();
+        {
+          label: '危险度',
+          prop: 'risk',
         },
-        conditions(v) {
-            switch (v) {
-                case 1:
-                    if (!this.searchParams.regulationType.includes("ISO")) {
-                        this.searchParams.regulationType = [
-                            ...this.searchParams.regulationType,
-                            "ISO",
-                        ];
-                    }
-                    break;
-                case 2:
-                    if (!this.searchParams.regulationType.includes("GB")) {
-                        this.searchParams.regulationType = [
-                            ...this.searchParams.regulationType,
-                            "GB",
-                        ];
-                    }
-                    break;
-                case 3:
-                    if (!this.searchParams.regulationType.includes("C-NCAP")) {
-                        this.searchParams.regulationType = [
-                            ...this.searchParams.regulationType,
-                            "C-NCAP",
-                        ];
-                    }
-                    break;
-                case 4:
-                    if (!this.searchParams.regulationType.includes("E-NCAP")) {
-                        this.searchParams.regulationType = [
-                            ...this.searchParams.regulationType,
-                            "E-NCAP",
-                        ];
-                    }
-                    break;
-                default:
-                    break;
-            }
+        {
+          label: '危险度等级',
+          prop: 'riskLevel',
         },
-        viewRow(row) {
-            if (!row.videoAddress) {
-                this.$message.warning("本场景无仿真视频");
-                return;
-            }
+        {
+          label: '操作',
+          prop: 'cgInfos',
+          template: true,
+          // videoAddress
+        },
+      ],
+      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.queryStandardsRegulationsList,
+        param: {
+          share: '0',
+        },
+      },
+      dialogVisible: false,
+      autoplay: false,
+      videoSrc: '',
+      objectPath: '',
+      videoDiaTitle: '',
+      checkedArr: [],
+    }
+  },
 
-            this.dialogVisible = true;
-            this.videoDiaTitle = row.sceneName;
+  props: {
+    regulationTypeList: {
+      type: Array,
+      default: [],
+    },
+  },
 
-            let url = "";
-            if (process.env.VUE_APP_IS_DEV == "true") {
-                url = this.fileHost + this.fileUrl;
-            } else {
-                url = this.fileUrl;
-            }
+  computed: {
+    ...mapState(['fileHost', '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.deleteStandardsRegulations,
-                    data: {
-                        regulationsId: row.regulationsId,
-                        sceneName: row.sceneName,
-                    },
-                }).then((res) => {
-                    if (res.code == 200) {
-                        this.$message.success("删除成功");
-                    } else {
-                        this.$message.error(res.message || "删除失败");
-                    }
-                    this.doSearch();
-                });
-            });
-        },
-        delRows() {
-            let checkedArr = this.checkedArr;
+  methods: {
+    doSearch() {
+      // this.searchParams.label = [...this.labels];
+      this.refreshList(this.searchParams)
+    },
+    //刷新table
+    refreshList(param) {
+      param
+        ? this.$refs['table'].loadData(param)
+        : this.$refs['table'].loadData()
+    },
+    doReset() {
+      this.searchParams = {
+        sceneName: '',
+        regulationType: [],
+        standardType: '',
+        label: [],
+        share: '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
+      }
+      // this.labels = [];
+      this.doSearch()
+    },
+    conditions(v) {
+      switch (v) {
+        case 1:
+          if (!this.searchParams.regulationType.includes('ISO')) {
+            this.searchParams.regulationType = [
+              ...this.searchParams.regulationType,
+              'ISO',
+            ]
+          }
+          break
+        case 2:
+          if (!this.searchParams.regulationType.includes('GB')) {
+            this.searchParams.regulationType = [
+              ...this.searchParams.regulationType,
+              'GB',
+            ]
+          }
+          break
+        case 3:
+          if (!this.searchParams.regulationType.includes('C-NCAP')) {
+            this.searchParams.regulationType = [
+              ...this.searchParams.regulationType,
+              'C-NCAP',
+            ]
+          }
+          break
+        case 4:
+          if (!this.searchParams.regulationType.includes('E-NCAP')) {
+            this.searchParams.regulationType = [
+              ...this.searchParams.regulationType,
+              'E-NCAP',
+            ]
+          }
+          break
+        default:
+          break
+      }
+    },
+    viewRow(row) {
+      if (!row.videoAddress) {
+        this.$message.warning('本场景无仿真视频')
+        return
+      }
 
-            if (checkedArr.length <= 0) {
-                this.$message.info("请先选择数据");
-                return;
-            }
+      this.dialogVisible = true
+      this.videoDiaTitle = row.sceneName
 
-            let arr = checkedArr.map((i) => i.sceneName);
+      let url = ''
+      if (process.env.VUE_APP_IS_DEV == 'true') {
+        url = this.fileHost + this.fileUrl
+      } else {
+        url = this.fileUrl
+      }
 
-            this.$confirm("确认是否批量删除?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            }).then(() => {
-                this.$axios({
-                    method: "post",
-                    url: this.$api.sceneLibrary.batchDeleteSceneStandards,
-                    data: {
-                        sceneNameList: 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();
-        },
+      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.deleteStandardsRegulations,
+          data: {
+            regulationsId: row.regulationsId,
+            sceneName: row.sceneName,
+          },
+        }).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
+      }
+
+      let arr = checkedArr.map((i) => i.sceneName)
+
+      this.$confirm('确认是否批量删除?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning',
+      }).then(() => {
+        this.$axios({
+          method: 'post',
+          url: this.$api.sceneLibrary.batchDeleteSceneStandards,
+          data: {
+            sceneNameList: 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';
 .btnsPanel {
-    text-align: right;
+  text-align: right;
 }
 </style>

+ 467 - 476
src/views/systemManagement/sceneLibraryManagement/trafficAccidentSimulationScene.vue

@@ -1,103 +1,103 @@
 <template>
-    <div class="trafficAccidentSimulationScenarioListPanel">
-        <search-layout :needBox="true">
-            <template slot="searchItem1">
-                <span class="label">场景名称</span>
-                <el-input
-                    v-model="searchParams.sceneName"
-                    size="small"
-                    clearable
-                    placeholder="请输入"
-                    maxlength="60"
-                    @keyup.enter.native="doSearch"
-                >
-                </el-input>
-            </template>
-            <template slot="searchItem2">
-                <span class="label">自车驾驶行为</span>
-                <el-select
-                    v-model="searchParams.selfDriving"
-                    multiple
-                    clearable
-                    size="small"
-                >
-                    <el-option
-                        v-for="item in selfDrivingList"
-                        :label="item.caption"
-                        :value="item.code"
-                        :key="item.code"
-                    ></el-option>
-                </el-select>
-            </template>
-            <template slot="searchItem3">
-                <span class="label">目标驾驶行为</span>
-                <el-select
-                    v-model="searchParams.targetDriving"
-                    multiple
-                    clearable
-                    size="small"
-                >
-                    <el-option
-                        v-for="item in targetDrivingList"
-                        :label="item.caption"
-                        :value="item.code"
-                        :key="item.code"
-                    ></el-option>
-                </el-select>
-            </template>
-            <template slot="searchItem4">
-                <span class="label">自车反应行为</span>
-                <el-select
-                    v-model="searchParams.selfReaction"
-                    multiple
-                    clearable
-                    size="small"
-                >
-                    <el-option
-                        v-for="item in selfReactionList"
-                        :label="item.caption"
-                        :value="item.code"
-                        :key="item.code"
-                    ></el-option>
-                </el-select>
-            </template>
-            <template slot="searchItem5">
-                <span class="label">冲突行为</span>
-                <el-select
-                    v-model="searchParams.conflictBehavior"
-                    multiple
-                    clearable
-                    size="small"
-                >
-                    <el-option
-                        v-for="item in conflictBehaviorList"
-                        :label="item.caption"
-                        :value="item.code"
-                        :key="item.code"
-                    ></el-option>
-                </el-select>
-            </template>
-            <template slot="searchItem6">
-                <span class="label">冲突类型</span>
-                <el-select
-                    v-model="searchParams.conflictType"
-                    multiple
-                    clearable
-                    size="small"
-                >
-                    <el-option
-                        v-for="item in conflictTypeList"
-                        :label="item.caption"
-                        :value="item.code"
-                        :key="item.code"
-                    ></el-option>
-                </el-select>
-            </template>
-                         <!-- 复杂度 -->
+  <div class="trafficAccidentSimulationScenarioListPanel">
+    <search-layout :needBox="true">
+      <template slot="searchItem1">
+        <span class="label">场景名称</span>
+        <el-input
+          v-model="searchParams.sceneName"
+          size="small"
+          clearable
+          placeholder="请输入"
+          maxlength="60"
+          @keyup.enter.native="doSearch"
+        >
+        </el-input>
+      </template>
+      <template slot="searchItem2">
+        <span class="label">自车驾驶行为</span>
+        <el-select
+          v-model="searchParams.selfDriving"
+          multiple
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in selfDrivingList"
+            :label="item.caption"
+            :value="item.code"
+            :key="item.code"
+          ></el-option>
+        </el-select>
+      </template>
+      <template slot="searchItem3">
+        <span class="label">目标驾驶行为</span>
+        <el-select
+          v-model="searchParams.targetDriving"
+          multiple
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in targetDrivingList"
+            :label="item.caption"
+            :value="item.code"
+            :key="item.code"
+          ></el-option>
+        </el-select>
+      </template>
+      <template slot="searchItem4">
+        <span class="label">自车反应行为</span>
+        <el-select
+          v-model="searchParams.selfReaction"
+          multiple
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in selfReactionList"
+            :label="item.caption"
+            :value="item.code"
+            :key="item.code"
+          ></el-option>
+        </el-select>
+      </template>
+      <template slot="searchItem5">
+        <span class="label">冲突行为</span>
+        <el-select
+          v-model="searchParams.conflictBehavior"
+          multiple
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in conflictBehaviorList"
+            :label="item.caption"
+            :value="item.code"
+            :key="item.code"
+          ></el-option>
+        </el-select>
+      </template>
+      <template slot="searchItem6">
+        <span class="label">冲突类型</span>
+        <el-select
+          v-model="searchParams.conflictType"
+          multiple
+          clearable
+          size="small"
+        >
+          <el-option
+            v-for="item in conflictTypeList"
+            :label="item.caption"
+            :value="item.code"
+            :key="item.code"
+          ></el-option>
+        </el-select>
+      </template>
+      <!-- 复杂度 -->
       <template slot="searchItem6">
         <span class="label">复杂度</span>
         <el-input
-          v-model="searchParams.a"
+        v-model="searchParams.minComplexity"
           size="small"
           clearable
           placeholder="请输入"
@@ -108,7 +108,7 @@
         </el-input>
         <span class="dateSeparator">至</span>
         <el-input
-          v-model="searchParams.b"
+          v-model="searchParams.maxComplexity"
           size="small"
           clearable
           placeholder="请输入"
@@ -122,7 +122,7 @@
       <template slot="searchItem6">
         <span class="label">危险度</span>
         <el-input
-          v-model="searchParams.a"
+          v-model="searchParams.minRisk"
           size="small"
           clearable
           placeholder="请输入"
@@ -133,7 +133,7 @@
         </el-input>
         <span class="dateSeparator">至</span>
         <el-input
-          v-model="searchParams.b"
+          v-model="searchParams.maxRisk"
           size="small"
           clearable
           placeholder="请输入"
@@ -146,37 +146,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="追尾" :key="1" class="labelA"
                         >追尾</el-checkbox-button
                     >
@@ -196,46 +194,38 @@
                         >机动车-机动车冲突</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
-                    >
-                </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">
-            <el-button
-                type="primary"
-                plain
-                icon="el-icon-delete"
-                @click="delRows"
-                >批量删除</el-button
-            >
+        <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>
         </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>
 
-        <tableList
-            ref="table"
-            style="margin: 0 30px"
-            :columns="columns"
-            :getDataWay="getDataWay"
-            :pagination="pagination"
-            :checkedData="checkedArr"
-            selection
-            index
-        >
-            <!-- <tableList
+    <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
             ref="table"
             style="margin: 30px"
             :columns="columns"
@@ -243,183 +233,184 @@
             :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 { mapState } from "vuex";
+import searchLayout from '@/components/grid/searchLayout'
+import tableList from '@/components/grid/TableList'
+import { mapState } from 'vuex'
 
 export default {
-    name: "trafficAccidentSimulationScenarioList", // 交通事故场景
-    components: { searchLayout, tableList },
-    data() {
-        return {
-            searchParams: {
-                //搜索参数
-                sceneName: "", //场景名称
-                selfDriving: [], //自车驾驶行为
-                targetDriving: [], //目标驾驶行为
-                selfReaction: [], //自车反应行为
-                conflictBehavior: [], //冲突行为
-                conflictType: [], //冲突类型
-                rearEndCollision: "", // 追尾
-                cutIn: "", // 切入
-                driveCurve: "", // 沿弯道行驶
-                carConflict: "", // 机动车-机动车冲突
-                share: "0",
-            },
-            labels: [],
-            // selfDrivingList: [],
-            // targetDrivingList: [],
-            // selfReactionList: [],
-            // conflictBehaviorList: [],
-            // conflictTypeList: [],
-            columns: [
-                //表格列
-                {
-                    label: "场景名称",
-                    prop: "sceneName",
-                },
-                {
-                    label: "自车驾驶行为",
-                    prop: "selfDriving",
-                },
-                {
-                    label: "目标驾驶行为",
-                    prop: "targetDriving",
-                },
-                {
-                    label: "自车反应行为",
-                    prop: "selfReaction",
-                },
-                {
-                    label: "冲突行为",
-                    prop: "conflictBehavior",
-                },
-                {
-                    label: "冲突类型",
-                    prop: "conflictType",
-                },
-                {
-                    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.querySceneAccidentList,
-                param: {
-                    share: "0",
-                },
-            },
-            dialogVisible: false,
-            autoplay: false,
-            videoSrc: "",
-            objectPath: "",
-            videoDiaTitle: "",
-            checkedArr: [],
-        };
-    },
-
-    props: {
-        selfDrivingList: {
-            type: Array,
-            default: [],
+  name: 'trafficAccidentSimulationScenarioList', // 交通事故场景
+  components: { searchLayout, tableList },
+  data() {
+    return {
+      searchParams: {
+        //搜索参数
+        sceneName: '', //场景名称
+        selfDriving: [], //自车驾驶行为
+        targetDriving: [], //目标驾驶行为
+        selfReaction: [], //自车反应行为
+        conflictBehavior: [], //冲突行为
+        conflictType: [], //冲突类型
+        rearEndCollision: '', // 追尾
+        cutIn: '', // 切入
+        driveCurve: '', // 沿弯道行驶
+        carConflict: '', // 机动车-机动车冲突
+        share: '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
+      },
+      labels: [],
+      // selfDrivingList: [],
+      // targetDrivingList: [],
+      // selfReactionList: [],
+      // conflictBehaviorList: [],
+      // conflictTypeList: [],
+      columns: [
+        //表格列
+        {
+          label: '场景名称',
+          prop: 'sceneName',
         },
-        targetDrivingList: {
-            type: Array,
-            default: [],
+        {
+          label: '自车驾驶行为',
+          prop: 'selfDriving',
         },
-        selfReactionList: {
-            type: Array,
-            default: [],
+        {
+          label: '目标驾驶行为',
+          prop: 'targetDriving',
         },
-        conflictBehaviorList: {
-            type: Array,
-            default: [],
+        {
+          label: '自车反应行为',
+          prop: 'selfReaction',
         },
-        conflictTypeList: {
-            type: Array,
-            default: [],
+        {
+          label: '冲突行为',
+          prop: 'conflictBehavior',
         },
-    },
+        {
+          label: '冲突类型',
+          prop: 'conflictType',
+        },
+        {
+          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.querySceneAccidentList,
+        param: {
+          share: '0',
+        },
+      },
+      dialogVisible: false,
+      autoplay: false,
+      videoSrc: '',
+      objectPath: '',
+      videoDiaTitle: '',
+      checkedArr: [],
+    }
+  },
 
-    computed: {
-        ...mapState(["fileHost", "fileUrl"]),
+  props: {
+    selfDrivingList: {
+      type: Array,
+      default: [],
+    },
+    targetDrivingList: {
+      type: Array,
+      default: [],
+    },
+    selfReactionList: {
+      type: Array,
+      default: [],
+    },
+    conflictBehaviorList: {
+      type: Array,
+      default: [],
     },
+    conflictTypeList: {
+      type: Array,
+      default: [],
+    },
+  },
+
+  computed: {
+    ...mapState(['fileHost', 'fileUrl']),
+  },
 
-    methods: {
-        doSearch() {
-            /* this.searchParams.rearEndCollision = this.labels.includes("追尾")
+  methods: {
+    doSearch() {
+      /* this.searchParams.rearEndCollision = this.labels.includes("追尾")
                 ? "追尾"
                 : "";
             this.searchParams.cutIn = this.labels.includes("切入")
@@ -434,181 +425,181 @@ export default {
                 ? "机动车-机动车"
                 : ""; */
 
-            this.refreshList(this.searchParams);
-        },
-        //刷新table
-        refreshList(param) {
-            param
-                ? this.$refs["table"].loadData(param)
-                : this.$refs["table"].loadData();
-        },
-        doReset() {
-            this.searchParams = {
-                sceneName: "",
-                selfDriving: [],
-                targetDriving: [],
-                selfReaction: [],
-                conflictBehavior: [],
-                conflictType: [],
-                rearEndCollision: "",
-                cutIn: "",
-                driveCurve: "",
-                carConflict: "",
-                share: "0",
-            };
-            // this.labels = [];
-            this.doSearch();
-        },
-        conditions(v) {
-            switch (v) {
-                case 1:
-                    if (!this.searchParams.conflictBehavior.includes("追尾")) {
-                        this.searchParams.conflictBehavior = [
-                            ...this.searchParams.conflictBehavior,
-                            "追尾",
-                        ];
-                    }
-                    break;
-                case 2:
-                    if (!this.searchParams.targetDriving.includes("切入")) {
-                        this.searchParams.targetDriving = [
-                            ...this.searchParams.targetDriving,
-                            "切入",
-                        ];
-                    }
-                    break;
-                case 3:
-                    if (
-                        !this.searchParams.targetDriving.includes("沿弯道行驶")
-                    ) {
-                        this.searchParams.targetDriving = [
-                            ...this.searchParams.targetDriving,
-                            "沿弯道行驶",
-                        ];
-                    }
-                    break;
-                case 4:
-                    if (
-                        !this.searchParams.conflictType.includes(
-                            "机动车-机动车"
-                        )
-                    ) {
-                        this.searchParams.conflictType = [
-                            ...this.searchParams.conflictType,
-                            "机动车-机动车",
-                        ];
-                    }
-                    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 = {
+        sceneName: '',
+        selfDriving: [],
+        targetDriving: [],
+        selfReaction: [],
+        conflictBehavior: [],
+        conflictType: [],
+        rearEndCollision: '',
+        cutIn: '',
+        driveCurve: '',
+        carConflict: '',
+        share: '0',
+        minComplexity: '',
+        maxComplexity: '',
+        minRisk: '',
+        maxRisk: '',
+        complexityLevel: '',
+        riskLevel: '',
+      }
+      // this.labels = [];
+      this.doSearch()
+    },
+    conditions(v) {
+      switch (v) {
+        case 1:
+          if (!this.searchParams.conflictBehavior.includes('追尾')) {
+            this.searchParams.conflictBehavior = [
+              ...this.searchParams.conflictBehavior,
+              '追尾',
+            ]
+          }
+          break
+        case 2:
+          if (!this.searchParams.targetDriving.includes('切入')) {
+            this.searchParams.targetDriving = [
+              ...this.searchParams.targetDriving,
+              '切入',
+            ]
+          }
+          break
+        case 3:
+          if (!this.searchParams.targetDriving.includes('沿弯道行驶')) {
+            this.searchParams.targetDriving = [
+              ...this.searchParams.targetDriving,
+              '沿弯道行驶',
+            ]
+          }
+          break
+        case 4:
+          if (!this.searchParams.conflictType.includes('机动车-机动车')) {
+            this.searchParams.conflictType = [
+              ...this.searchParams.conflictType,
+              '机动车-机动车',
+            ]
+          }
+          break
+        default:
+          break
+      }
+    },
+    viewRow(row) {
+      if (!row.videoAddress) {
+        this.$message.warning('本场景无仿真视频')
+        return
+      }
 
-            this.dialogVisible = true;
-            this.videoDiaTitle = row.sceneName;
+      this.dialogVisible = true
+      this.videoDiaTitle = row.sceneName
 
-            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.deleteSceneAccident,
-                    data: {
-                        accidentId: row.accidentId,
-                        sceneName: row.sceneName,
-                    },
-                }).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.deleteSceneAccident,
+          data: {
+            accidentId: row.accidentId,
+            sceneName: row.sceneName,
+          },
+        }).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.sceneName);
+      let arr = checkedArr.map((i) => i.sceneName)
 
-            this.$confirm("确认是否批量删除?", "提示", {
-                confirmButtonText: "确定",
-                cancelButtonText: "取消",
-                type: "warning",
-            }).then(() => {
-                this.$axios({
-                    method: "post",
-                    url: this.$api.sceneLibrary.batchDeleteSceneAccident,
-                    data: {
-                        sceneNameList: 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.batchDeleteSceneAccident,
+          data: {
+            sceneNameList: 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';
 .trafficAccidentSimulationScenarioListPanel {
-    .inputBox {
-        .radioBox {
-            width: 340px;
-        }
-
-        .label {
-            min-width: 90px;
-        }
+  .inputBox {
+    .radioBox {
+      width: 340px;
     }
 
-    .btnsPanel {
-        text-align: right;
+    .label {
+      min-width: 90px;
     }
+  }
+
+  .btnsPanel {
+    text-align: right;
+  }
 }
 </style>