Pārlūkot izejas kodu

场景数据包更新

zhangliang2 2 gadi atpakaļ
vecāks
revīzija
043b3c1783

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 655 - 538
src/views/sceneLibrary/components/generalizationDetail.vue


+ 61 - 20
src/views/sceneLibrary/components/generalizationList.vue

@@ -26,6 +26,22 @@
                 </el-select>
             </template>
             <template slot="searchItem3">
+                <span class="label">道路类型</span>
+                <el-select
+                    v-model="searchParams.scenarioRoadType"
+                    multiple
+                    size="small"
+                    clearable
+                >
+                    <el-option
+                        v-for="item in scenarioRoadTypeList"
+                        :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.scenarioWeather" multiple>
                     <el-option
@@ -35,8 +51,8 @@
                         :key="item.code"
                     ></el-option>
                 </el-select>
-            </template>
-            <template slot="searchItem4">
+            </template> -->
+            <!-- <template slot="searchItem4">
                 <span class="label">场景发生时刻</span>
                 <el-time-picker
                     v-model="searchParams.scenarioTime"
@@ -44,7 +60,7 @@
                     placeholder="请选择"
                 >
                 </el-time-picker>
-            </template>
+            </template> -->
             <template slot="searchBtn1">
                 <el-button type="primary" @click="doSearch">查询</el-button>
             </template>
@@ -53,6 +69,13 @@
             </template>
         </search-layout>
 
+        <div class="myTabsBox myTabsBoxInline">
+            <el-tabs v-model="activeName" type="card" @tab-click="pageControl">
+                <el-tab-pane label="公有" name="1"></el-tab-pane>
+                <el-tab-pane label="私有" name="2"></el-tab-pane>
+            </el-tabs>
+        </div>
+
         <tableList
             ref="table"
             style="margin: 0"
@@ -106,16 +129,19 @@ export default {
     components: { searchLayout, tableList },
     data() {
         return {
+            activeName: "2",
             searchParams: {
                 //搜索参数
                 sceneId: "", // 场景类型编号
                 fileName: [], // 功能模块
-                scenarioWeather: [], // 天气
-                scenarioTime: "", // 场景发生时刻
+                scenarioRoadType: [], // 道路类型
+                share: "0",
+                // scenarioWeather: [], // 天气
+                // scenarioTime: "", // 场景发生时刻
             },
-            labels: [],
             fileNameList: [],
-            scenarioWeatherList: [],
+            scenarioRoadTypeList: [],
+            // scenarioWeatherList: [],
             props: {
                 multiple: true,
                 label: "dictName",
@@ -139,14 +165,14 @@ export default {
                     label: "道路类型",
                     prop: "scenarioRoadType",
                 },
-                {
-                    label: "场景发生时刻",
-                    prop: "scenarioTime",
-                },
-                {
-                    label: "天气",
-                    prop: "scenarioWeather",
-                },
+                // {
+                //     label: "场景发生时刻",
+                //     prop: "scenarioTime",
+                // },
+                // {
+                //     label: "天气",
+                //     prop: "scenarioWeather",
+                // },
             ],
             pagination: {
                 //分页使用
@@ -162,7 +188,9 @@ export default {
                 type: "post",
                 // firstRequest: false,
                 data: this.$api.sceneLibrary.querySceneGeneralTemplateList,
-                param: {},
+                param: {
+                    share: "0",
+                },
             },
             checkedArr: [],
             dialogVisible: false,
@@ -178,6 +206,7 @@ export default {
 
     methods: {
         doSearch() {
+            this.searchParams.share = this.activeName === "1" ? "1" : "0";
             this.refreshList(this.searchParams);
         },
         //刷新table
@@ -190,10 +219,15 @@ export default {
             this.searchParams = {
                 sceneId: "",
                 fileName: [],
-                scenarioWeather: [],
-                scenarioTime: "",
+                scenarioRoadType: [],
+                share: this.activeName === "1" ? "1" : "0",
+                // scenarioWeather: [],
+                // scenarioTime: "",
             };
-            this.labels = [];
+            this.doSearch();
+        },
+        pageControl(data) {
+            this.activeName = data.name;
             this.doSearch();
         },
         viewRow(row) {
@@ -265,7 +299,8 @@ export default {
 
     async mounted() {
         await this.$dicsListsInit({
-            scenarioWeatherList: "scenarioWeather",
+            // scenarioWeatherList: "scenarioWeather",
+            scenarioRoadTypeList: "scenarioRoadType",
         });
 
         this.getFileNameList();
@@ -287,5 +322,11 @@ export default {
             width: 230px;
         }
     }
+
+    .myTabsBoxInline {
+    .el-tabs {
+        margin-top: 10px;
+    }
+}
 }
 </style>

+ 87 - 4
src/views/sceneLibrary/components/realSceneList.vue

@@ -28,7 +28,11 @@
                     </template>
                     <template slot="searchItem2">
                         <span class="label">自车驾驶行为</span>
-                        <el-select v-model="searchParamsA.selfDriving" multiple>
+                        <el-select
+                            v-model="searchParamsA.selfDriving"
+                            multiple
+                            size="small"
+                        >
                             <el-option
                                 v-for="item in selfDrivingList"
                                 :label="item.caption"
@@ -42,6 +46,7 @@
                         <el-select
                             v-model="searchParamsA.targetDriving"
                             multiple
+                            size="small"
                         >
                             <el-option
                                 v-for="item in targetDrivingList"
@@ -56,6 +61,7 @@
                         <el-select
                             v-model="searchParamsA.selfReaction"
                             multiple
+                            size="small"
                         >
                             <el-option
                                 v-for="item in selfReactionList"
@@ -70,6 +76,7 @@
                         <el-select
                             v-model="searchParamsA.conflictBehavior"
                             multiple
+                            size="small"
                         >
                             <el-option
                                 v-for="item in conflictBehaviorList"
@@ -84,6 +91,7 @@
                         <el-select
                             v-model="searchParamsA.conflictType"
                             multiple
+                            size="small"
                         >
                             <el-option
                                 v-for="item in conflictTypeList"
@@ -109,6 +117,16 @@
                         >已选择</el-checkbox
                     >
                 </div>
+                <div class="myTabsBox myTabsBoxInline">
+                    <el-tabs
+                        v-model="activeNameA"
+                        type="card"
+                        @tab-click="pageControlA"
+                    >
+                        <el-tab-pane label="公有" name="1"></el-tab-pane>
+                        <el-tab-pane label="私有" name="2"></el-tab-pane>
+                    </el-tabs>
+                </div>
                 <tableList
                     ref="tableA"
                     :columns="columnsA"
@@ -146,6 +164,7 @@
                             :options="roadList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchItem3">
@@ -155,6 +174,7 @@
                             :options="infrastructureList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchItem4">
@@ -164,6 +184,7 @@
                             :options="trafficConditionList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchItem5">
@@ -173,6 +194,7 @@
                             :options="selfBehaviorList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchItem6">
@@ -182,6 +204,7 @@
                             :options="targetBehaviorList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchItem7">
@@ -191,6 +214,7 @@
                             :options="naturalEnvironmentList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchItem8">
@@ -200,6 +224,7 @@
                             :options="temporaryOperationList"
                             :props="props"
                             clearable=""
+                            size="small"
                         ></el-cascader>
                     </template>
                     <template slot="searchBtn1">
@@ -218,6 +243,16 @@
                         >已选择</el-checkbox
                     >
                 </div>
+                <div class="myTabsBox myTabsBoxInline">
+                    <el-tabs
+                        v-model="activeNameB"
+                        type="card"
+                        @tab-click="pageControlB"
+                    >
+                        <el-tab-pane label="公有" name="1"></el-tab-pane>
+                        <el-tab-pane label="私有" name="2"></el-tab-pane>
+                    </el-tabs>
+                </div>
                 <tableList
                     ref="tableB"
                     :columns="columnsB"
@@ -253,6 +288,7 @@
                         <el-select
                             v-model="searchParamsC.regulationType"
                             multiple
+                            size="small"
                         >
                             <el-option
                                 v-for="item in regulationTypeList"
@@ -289,6 +325,16 @@
                         >已选择</el-checkbox
                     >
                 </div>
+                <div class="myTabsBox myTabsBoxInline">
+                    <el-tabs
+                        v-model="activeNameC"
+                        type="card"
+                        @tab-click="pageControlC"
+                    >
+                        <el-tab-pane label="公有" name="1"></el-tab-pane>
+                        <el-tab-pane label="私有" name="2"></el-tab-pane>
+                    </el-tabs>
+                </div>
                 <tableList
                     ref="tableC"
                     :columns="columnsC"
@@ -341,6 +387,7 @@ export default {
                 selfReaction: [], //自车反应行为
                 conflictBehavior: [], //冲突行为
                 conflictType: [], //冲突类型
+                share: "0",
             },
             selfDrivingList: [],
             targetDrivingList: [],
@@ -388,7 +435,9 @@ export default {
                 type: "post",
                 // firstRequest: false,
                 data: this.$api.sceneLibrary.querySceneAccidentList,
-                param: {},
+                param: {
+                    share: "0",
+                },
             },
             selectedA: false, // 是否选中展示已选择项
             searchParamsB: {
@@ -400,6 +449,7 @@ export default {
                 selfBehavior: [], // 自车行为
                 targetBehavior: [], // 目标行为
                 naturalEnvironment: [], // 自然环境
+                share: "0",
             },
             roadList: [],
             infrastructureList: [],
@@ -446,7 +496,9 @@ export default {
                 type: "post",
                 // firstRequest: false,
                 data: this.$api.sceneLibrary.querySceneNaturalList,
-                param: {},
+                param: {
+                    share: "0",
+                },
             },
             selectedB: false,
             searchParamsC: {
@@ -454,6 +506,7 @@ export default {
                 sceneName: "", //场景名称
                 regulationType: [], //法规类型
                 standardType: "", //标准类型
+                share: "0",
             },
             regulationTypeList: [],
             columnsC: [
@@ -485,7 +538,9 @@ export default {
                 type: "post",
                 // firstRequest: false,
                 data: this.$api.sceneLibrary.queryStandardsRegulationsList,
-                param: {},
+                param: {
+                    share: "0",
+                },
             },
             selectedC: false,
             checkedArrA: [], // 交通事故列表已选
@@ -495,6 +550,10 @@ export default {
             checkedIdsA: [], // 当前交通事故列表已选
             checkedIdsB: [], // 当前自然驾驶列表已选
             checkedIdsC: [], // 当前标准法规列表已选
+
+            activeNameA: "2",
+            activeNameB: "2",
+            activeNameC: "2",
         };
     },
 
@@ -512,6 +571,7 @@ export default {
             }
         },
         doSearchA() {
+            this.searchParamsA.share = this.activeNameA === "1" ? "1" : "0";
             let data = { ...this.searchParamsA };
             if (this.selectedA) {
                 data.ids = this.checkedIdsA;
@@ -535,6 +595,7 @@ export default {
                 selfReaction: [],
                 conflictBehavior: [],
                 conflictType: [],
+                share: this.activeNameA === "1" ? "1" : "0",
             };
             this.doSearchA();
         },
@@ -583,6 +644,7 @@ export default {
             }
         },
         doSearchB() {
+            this.searchParamsB.share = this.activeNameB === "1" ? "1" : "0";
             let data = { ...this.searchParamsB };
             if (this.selectedB) {
                 data.ids = this.checkedIdsB;
@@ -608,6 +670,7 @@ export default {
                 targetBehavior: [],
                 naturalEnvironment: [],
                 temporaryOperation: [],
+                share: this.activeNameB === "1" ? "1" : "0",
             };
             this.doSearchB();
         },
@@ -650,6 +713,7 @@ export default {
             }
         },
         doSearchC() {
+            this.searchParamsC.share = this.activeNameC === "1" ? "1" : "0";
             let data = { ...this.searchParamsC };
             if (this.selectedC) {
                 data.ids = this.checkedIdsC;
@@ -670,6 +734,7 @@ export default {
                 sceneName: "",
                 regulationType: [],
                 standardType: "",
+                share: this.activeNameC === "1" ? "1" : "0",
             };
             this.doSearchC();
         },
@@ -720,6 +785,18 @@ export default {
         selectedShowC() {
             this.doSearchC();
         },
+        pageControlA(data) {
+            this.activeNameA = data.name;
+            this.doSearchA();
+        },
+        pageControlB(data) {
+            this.activeNameB = data.name;
+            this.doSearchB();
+        },
+        pageControlC(data) {
+            this.activeNameC = data.name;
+            this.doSearchC();
+        },
     },
 
     async mounted() {
@@ -803,4 +880,10 @@ export default {
         }
     }
 }
+
+.myTabsBoxInline {
+    .el-tabs {
+        margin-top: 10px;
+    }
+}
 </style>

+ 45 - 14
src/views/sceneLibrary/scenePacketList.vue

@@ -209,6 +209,14 @@
                 <el-step title="第一步" description="选择场景模板"></el-step>
                 <el-step title="第二步" description="场景泛化"></el-step>
             </el-steps>
+            <div class="changeBtn">
+                <el-button
+                    type="primary"
+                    v-if="stepActive === 2"
+                    @click="changeTemplate"
+                    >更换模板</el-button
+                >
+            </div>
             <div>
                 <generalization-list
                     v-if="stepActive === 1"
@@ -225,7 +233,6 @@
                     :genUrlType="genUrlType"
                     @generalizationBegin="generalizationBegin"
                     @generalizationDone="generalizationDone"
-                    @changeTemplate="changeTemplate"
                 ></generalization-detail>
             </div>
             <span slot="footer">
@@ -247,7 +254,7 @@
                     @click="generalizationConfirm"
                     >完成</el-button
                 >
-                <el-button @click="generalizationCancel">取 消</el-button>
+                <!-- <el-button @click="generalizationCancel">取 消</el-button> -->
             </span>
         </el-dialog>
 
@@ -307,15 +314,16 @@ export default {
                 callback(new Error(rule.message));
                 return;
             }
-            if (value.startsWith("0")) {
+            // if (value.startsWith("0")) {
+            //     callback(new Error(rule.message));
+            //     return;
+            // }
+            // if (value.includes(".")) {
+            //     callback(new Error(rule.message));
+            //     return;
+            // }
+            !/^(0|[1-9][0-9]*)(\.\d{1})?$/.test(value) &&
                 callback(new Error(rule.message));
-                return;
-            }
-            if (value.includes(".")) {
-                callback(new Error(rule.message));
-                return;
-            }
-            !/^[1-9][0-9]*$/.test(value) && callback(new Error(rule.message));
             callback();
         };
 
@@ -417,7 +425,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入大不于100的正数",
+                        message: "请输入大不于100且最多带有一位小数的正数",
                         trigger: ["blur"],
                     },
                 ],
@@ -455,6 +463,7 @@ export default {
             generalizationId: "", // 泛化详情id
             genUrlType: 1, // 1为从列表跳入的模板信息,2为泛化后的详情
             maxSceneCount: 0, // 可创建的最大场景数量
+            originRuleList: [], // 原版的res.info
         };
     },
 
@@ -568,7 +577,7 @@ export default {
             if (row.packageAndRules) {
                 this.formA.rulesId = row.packageAndRules;
                 this.formA.ruleName =
-                    this.ruleList.find((i) => i.rulesId === row.packageAndRules)
+                    this.originRuleList.find((i) => i.rulesId === row.packageAndRules)
                         .ruleName || "";
             }
 
@@ -994,14 +1003,24 @@ export default {
                 data: {},
             }).then((res) => {
                 if (res.code == 200 && res.info) {
-                    this.ruleList = res.info;
+                    this.originRuleList = res.info;
+
+                    let arr = [];
+                    res.info.forEach((i, index) => {
+                        arr[index] = Object.assign({}, i);
+                    });
+
+                    arr.forEach((i) => {
+                        if (i.share === "1") i.ruleName = i.ruleName + "(公有)";
+                    });
+                    this.ruleList = arr;
                 } else {
                     this.$message.error(res.message || "获取评分规则列表失败");
                 }
             });
         },
         ruleSelChange(val) {
-            this.formA.ruleName = this.ruleList.find(
+            this.formA.ruleName = this.originRuleList.find(
                 (i) => i.rulesId === val
             ).ruleName;
         },
@@ -1091,6 +1110,18 @@ export default {
         }
     }
 
+    .generalizationDia {
+        /deep/ .el-dialog__body {
+            position: relative;
+
+            .changeBtn {
+                position: absolute;
+                top: 20px;
+                right: 60px;
+            }
+        }
+    }
+
     .btns {
         padding: 30px 0;
         text-align: center;

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels