zhangliang2 há 3 anos atrás
pai
commit
193272b4bb

+ 1 - 1
src/components/echarts/lineChartMainPage.vue

@@ -11,7 +11,7 @@ import echarts from "echarts";
 import { mapState } from "vuex";
 
 export default {
-    name: "lineChartMainPage",
+    name: "lineChartMainPage", // 首页-折线图
     props: {
         id: {
             default: "lineChartMainPage",

+ 1 - 1
src/components/echarts/lineChartMainPageA.vue

@@ -11,7 +11,7 @@ import echarts from "echarts";
 import { mapState } from "vuex";
 
 export default {
-    name: "lineChartMainPageA",
+    name: "lineChartMainPageA", // 首页-折线图
     props: {
         id: {
             default: "lineChartMainPageA",

+ 1 - 1
src/components/echarts/lineChartTaskInfo.vue

@@ -6,7 +6,7 @@
 import { mapState } from "vuex";
 
 export default {
-    name: "lineChartTaskInfo",
+    name: "lineChartTaskInfo", // 任务详情-折线图
     props: {
         id: {
             default: "lineChartA",

+ 1 - 1
src/components/echarts/pieChartMainPage.vue

@@ -10,7 +10,7 @@
 //import  from '';
 
 export default {
-    name: "pieChartMainPage", //
+    name: "pieChartMainPage", // 首页-饼图
     components: {},
     data() {
         return {

+ 21 - 5
src/components/echarts/pieChartProjectInfo.vue

@@ -6,7 +6,7 @@
 //import  from '';
 
 export default {
-    name: "pieChartProjectInfo", //
+    name: "pieChartProjectInfo", // 手动运行项目详情-饼图
     components: {},
     data() {
         return {
@@ -68,7 +68,8 @@ export default {
                 const element = stateList[index];
                 data[index] = {
                     value: element.num,
-                    name: element[this.stateName] + "\n" + element.num,
+                    // name: element[this.stateName] + "\n" + element.num,
+                    name: element[this.stateName],
                     itemStyle: {
                         normal: {
                             color: this.colors[index],
@@ -87,8 +88,8 @@ export default {
                 tooltip: {
                     //提示框,可以在全局也可以在
                     trigger: "item", //提示框的样式
-                    // formatter: "{a} <br/>{b}: {c} ({d}%)",
-                    formatter: "{a} <br/>{b} ({d}%)",
+                    formatter: "{a} <br/>{b}: {c} ({d}%)",
+                    // formatter: "{a} <br/>{b} {c} ({d}%)",
                     color: "#000", //提示框的背景色
                     textStyle: {
                         //提示的字体样式
@@ -96,14 +97,29 @@ export default {
                     },
                     confine: true,
                 },
+                legend: {
+                    orient: "vertical",
+                    left: "left",
+                },
                 series: [
                     {
                         name: this.seriesName,
                         type: "pie",
-                        // radius: '55%',
+                        radius: ["40%", "70%"],
                         avoidLabelOverlap: true,
                         data,
                         top: 10,
+                        label: {
+                            show: false,
+                            position: "outside",
+                        },
+                        emphasis: {
+                            label: {
+                                show: true,
+                                // fontSize: "20",
+                                // fontWeight: "bold",
+                            },
+                        },
                     },
                 ],
             };

+ 0 - 9
src/router/sceneLibrary.js

@@ -61,13 +61,4 @@ export default [{
         },
         component: () => import("@/views/sceneLibrary/gradingRule")
     },
-    /* {
-        path: "/templateView",
-        name: "templateView",
-        meta: {
-            tabname: "模板预览",
-            menuKind: "sceneLibrary"
-        },
-        component: () => import("@/views/sceneLibrary/templateView")
-    }, */
 ]

+ 200 - 17
src/views/workManagement/evaluationReport.vue

@@ -43,13 +43,21 @@
 
         <div class="tableBox tableBoxC">
             <div class="title">算法测试评分细则</div>
-            <tableList :columns="columnsB" :getDataWay="getDataWayB">
+            <tableList
+                :columns="columnsB"
+                :getDataWay="getDataWayB"
+                :span-method="arraySpanMethod"
+            >
             </tableList>
         </div>
 
         <div class="tableBox tableBoxD">
             <div class="title">详情得分情况</div>
-            <tableList :columns="columnsC" :getDataWay="getDataWayC">
+            <tableList
+                :columns="columnsC"
+                :getDataWay="getDataWayC"
+                :row-class-name="errRow"
+            >
             </tableList>
         </div>
     </div>
@@ -82,7 +90,7 @@ export default {
                     prop: "score",
                 },
                 {
-                    label: "得分率",
+                    label: "得分率%",
                     prop: "scoreRatio",
                 },
             ],
@@ -110,7 +118,6 @@ export default {
                 {
                     label: "90<总分<100",
                     prop: "levelA",
-                    // template: true,
                 },
                 {
                     label: "80<总分<90",
@@ -167,12 +174,181 @@ export default {
                 param: {},
             },
             info: {},
+            sublistNameObj1: {}, // 存储一级指标名称对应的次数
+            sublistNameObj2: {}, // 存储二级指标名称对应的次数
+            sublistNameObj3: {}, // 存储三级指标名称对应的次数
+            sublistNameObj4: {}, // 存储四级指标名称对应的次数
+            sublistNameObj5: {}, // 存储五级指标名称对应的次数
+            sublistNameObj6: {}, // 存储六级指标名称对应的次数
+            subIndexArr1: [], // 存储一级指标名称第一次出现对应的下标
+            subIndexArr2: [], // 存储二级指标名称第一次出现对应的下标
+            subIndexArr3: [], // 存储三级指标名称第一次出现对应的下标
+            subIndexArr4: [], // 存储四级指标名称第一次出现对应的下标
+            subIndexArr5: [], // 存储五级指标名称第一次出现对应的下标
+            subIndexArr6: [], // 存储六级指标名称第一次出现对应的下标
         };
     },
 
     computed: {},
 
-    methods: {},
+    methods: {
+        arraySpanMethod({ row, column, rowIndex, columnIndex }) {
+            if (columnIndex === 0 || columnIndex === this.columnsB.length - 1) {
+                if (this.subIndexArr1.includes(rowIndex)) {
+                    return [this.sublistNameObj1[row.sublistName1], 1];
+                } else {
+                    return [0, 0];
+                }
+            } else if (columnIndex === 1) {
+                if (this.subIndexArr2.includes(rowIndex)) {
+                    return [this.sublistNameObj2[row.sublistName2], 1];
+                } else {
+                    if (row.sublistName2) {
+                        return [0, 0];
+                    } else {
+                        return [1, 1];
+                    }
+                }
+            } else if (columnIndex === 2) {
+                if (this.subIndexArr3.includes(rowIndex)) {
+                    return [this.sublistNameObj3[row.sublistName3], 1];
+                } else {
+                    if (row.sublistName3) {
+                        return [0, 0];
+                    } else {
+                        return [1, 1];
+                    }
+                }
+            } else if (columnIndex === 3) {
+                if (this.subIndexArr4.includes(rowIndex)) {
+                    return [this.sublistNameObj4[row.sublistName4], 1];
+                } else {
+                    if (row.sublistName4) {
+                        return [0, 0];
+                    } else {
+                        return [1, 1];
+                    }
+                }
+            } else if (columnIndex === 4) {
+                if (this.subIndexArr5.includes(rowIndex)) {
+                    return [this.sublistNameObj5[row.sublistName5], 1];
+                } else {
+                    if (row.sublistName5) {
+                        return [0, 0];
+                    } else {
+                        return [1, 1];
+                    }
+                }
+            } else if (columnIndex === 5) {
+                if (this.subIndexArr6.includes(rowIndex)) {
+                    return [this.sublistNameObj6[row.sublistName6], 1];
+                } else {
+                    if (row.sublistName6) {
+                        return [0, 0];
+                    } else {
+                        return [1, 1];
+                    }
+                }
+            }
+        },
+        errRow({ row, rowIndex }) {
+            if (row.runState === "Failed") {
+                return "errColor";
+            }
+        },
+        // 处理数据,通关于配合表格进行合并单元行
+        dataHandle(data) {
+            let arr = data;
+
+            let lastRowSublistName1 = "";
+            let lastRowSublistName2 = "";
+            let lastRowSublistName3 = "";
+            let lastRowSublistName4 = "";
+            let lastRowSublistName5 = "";
+            let lastRowSublistName6 = "";
+
+            let sublistNameObj1 = {};
+            let sublistNameObj2 = {};
+            let sublistNameObj3 = {};
+            let sublistNameObj4 = {};
+            let sublistNameObj5 = {};
+            let sublistNameObj6 = {};
+
+            arr.forEach((item, i) => {
+                let sublistName1 = item.sublistName1;
+                if (sublistName1 === lastRowSublistName1) {
+                    sublistNameObj1[sublistName1]++;
+                } else {
+                    lastRowSublistName1 = sublistName1;
+                    this.subIndexArr1.push(i);
+                    sublistNameObj1[sublistName1] = 1;
+                }
+
+                if (item.sublistName2) {
+                    // 一级后的指标名称可能不存在
+                    let sublistName2 = item.sublistName2;
+                    if (sublistName2 === lastRowSublistName2) {
+                        sublistNameObj2[sublistName2]++;
+                    } else {
+                        lastRowSublistName2 = sublistName2;
+                        this.subIndexArr2.push(i);
+                        sublistNameObj2[sublistName2] = 1;
+                    }
+                }
+
+                if (item.sublistName3) {
+                    let sublistName3 = item.sublistName3;
+                    if (sublistName3 === lastRowSublistName3) {
+                        sublistNameObj3[sublistName3]++;
+                    } else {
+                        lastRowSublistName3 = sublistName3;
+                        this.subIndexArr3.push(i);
+                        sublistNameObj3[sublistName3] = 1;
+                    }
+                }
+
+                if (item.sublistName4) {
+                    let sublistName4 = item.sublistName4;
+                    if (sublistName4 === lastRowSublistName4) {
+                        sublistNameObj4[sublistName4]++;
+                    } else {
+                        lastRowSublistName4 = sublistName4;
+                        this.subIndexArr4.push(i);
+                        sublistNameObj4[sublistName4] = 1;
+                    }
+                }
+
+                if (item.sublistName5) {
+                    let sublistName5 = item.sublistName5;
+                    if (sublistName5 === lastRowSublistName5) {
+                        sublistNameObj5[sublistName5]++;
+                    } else {
+                        lastRowSublistName5 = sublistName5;
+                        this.subIndexArr5.push(i);
+                        sublistNameObj5[sublistName5] = 1;
+                    }
+                }
+
+                if (item.sublistName6) {
+                    let sublistName6 = item.sublistName6;
+                    if (sublistName6 === lastRowSublistName6) {
+                        sublistNameObj6[sublistName6]++;
+                    } else {
+                        lastRowSublistName6 = sublistName6;
+                        this.subIndexArr6.push(i);
+                        sublistNameObj6[sublistName6] = 1;
+                    }
+                }
+            });
+
+            this.sublistNameObj1 = sublistNameObj1;
+            this.sublistNameObj2 = sublistNameObj2;
+            this.sublistNameObj3 = sublistNameObj3;
+            this.sublistNameObj4 = sublistNameObj4;
+            this.sublistNameObj5 = sublistNameObj5;
+            this.sublistNameObj6 = sublistNameObj6;
+        },
+    },
 
     mounted() {
         if (this.$route.query.id) {
@@ -190,6 +366,7 @@ export default {
                         this.info = res.info;
                         this.getDataWay.data = res.info.algorithmScoreList;
                         this.columnsB = res.info.subListScoreLiTitle;
+                        this.dataHandle(res.info.subListScoreLi);
                         this.getDataWayB.data = res.info.subListScoreLi;
                         this.columnsC = res.info.sceneScoreLiTitle;
                         this.getDataWayC.data = res.info.sceneScoreLi;
@@ -287,20 +464,26 @@ export default {
     }
 
     .colorfulTable {
-        /deep/ .el-table__body .el-table__row:first-child {
-            .el-table_2_column_7 {
-                background-color: #c1db69;
-            }
-            .el-table_2_column_8 {
-                background-color: #faf54a;
-            }
-            .el-table_2_column_9 {
-                background-color: #ff9d33;
-            }
-            .el-table_2_column_10 {
-                background-color: #f56c6c;
+        /deep/ .el-table__body {
+            .el-table__row:nth-child(2) {
+                td:nth-child(2) {
+                    background-color: #c1db69;
+                }
+                td:nth-child(3) {
+                    background-color: #faf54a;
+                }
+                td:nth-child(4) {
+                    background-color: #ff9d33;
+                }
+                td:last-child {
+                    background-color: #f56c6c;
+                }
             }
         }
     }
+
+    /deep/ .el-table .errColor td {
+        color: red;
+    }
 }
 </style>

+ 81 - 36
src/views/workManagement/projectInfo.vue

@@ -1,41 +1,54 @@
 <template>
     <div class="projectInfoPanel">
-        <div class="flexBox topPanel">
-            <div class="box panel">
-                <div class="titlePanel">
-                    <div class="titlePanelBor">基本信息</div>
+        <div class="headPanel panel">
+            <div class="titlePanel">
+                <div class="titlePanelBor">基本信息</div>
+            </div>
+            <div class="boxContent">
+                <div class="info">
+                    <span>项目ID:</span>
+                    <b>{{ info.projectId }}</b>
                 </div>
-                <div class="boxContent">
-                    <div class="info">
-                        <span>项目ID:</span>
-                        <b>{{ info.projectId }}</b>
-                    </div>
-                    <div class="info">
-                        <span>项目名称:</span>
-                        <b>{{ info.projectName }}</b>
-                    </div>
-                    <div class="info">
-                        <span>项目描述:</span>
-                        <b>{{ info.projectDescribe }}</b>
-                    </div>
-                    <div class="info">
-                        <span>创建时间:</span>
-                        <b>{{ info.startTime }}</b>
-                    </div>
-                    <div class="info">
-                        <span>完成时间:</span>
-                        <b>{{ info.finishTime }}</b>
-                    </div>
-                    <div class="info">
-                        <span>完成进度:</span>
-                        <b>{{ info.nowRunStateName }}</b>
-                    </div>
-                    <div class="info">
-                        <span>结果等级:</span>
-                        <b>{{ info.evaluationLevel }}</b>
-                    </div>
+                <div class="info">
+                    <span>项目名称:</span>
+                    <b>{{ info.projectName }}</b>
+                </div>
+                <div class="info">
+                    <span>并行度:</span>
+                    <b>{{ info.parallelism }}</b>
+                </div>
+                <div class="info">
+                    <span>最大仿真时间:</span>
+                    <b>{{ info.maxSimulationTime }}</b>
+                </div>
+                <div class="info">
+                    <span>是否选择GPU:</span>
+                    <b>{{ info.isChoiceGpu }}</b>
+                </div>
+                <div class="info">
+                    <span>创建时间:</span>
+                    <b>{{ info.startTime }}</b>
+                </div>
+                <div class="info">
+                    <span>完成时间:</span>
+                    <b>{{ info.finishTime }}</b>
+                </div>
+                <div class="info">
+                    <span>完成进度:</span>
+                    <b>{{ info.nowRunStateName }}</b>
+                </div>
+                <div class="info">
+                    <span>结果等级:</span>
+                    <b>{{ info.evaluationLevel }}</b>
+                </div>
+                <div class="info">
+                    <span>项目描述:</span>
+                    <b>{{ info.projectDescribe }}</b>
                 </div>
             </div>
+        </div>
+
+        <div class="flexBox topPanel">
             <div class="box panel boxB">
                 <div class="titlePanel">
                     <div class="titlePanelBor">算法配置</div>
@@ -385,13 +398,45 @@ export default {
         border-bottom: 1px dotted @gray;
     }
 
+    .headPanel{
+        margin-bottom: 25px;
+
+        .box {
+            flex: 1;
+        }
+
+        .boxContent {
+            display: flex;
+            flex-wrap: wrap;
+            padding: 18px 15px;
+        }
+
+        .info {
+            display: flex;
+            width: 330px;
+            margin: 0 20px 22px 0;
+            word-break: break-all;
+
+            span {
+                display: block;
+                width: 105px;
+                color: @gray;
+            }
+
+            b {
+                flex: 1;
+                font-weight: normal;
+            }
+        }
+    }
+
     .topPanel {
         .box {
             flex: 1;
         }
 
         .boxB {
-            margin: 0 18px;
+            margin-right: 18px;
         }
 
         .titlePanel {
@@ -413,7 +458,7 @@ export default {
 
         .info {
             display: flex;
-            margin-bottom: 12px;
+            margin-bottom: 22px;
             word-break: break-all;
 
             span {
@@ -454,7 +499,7 @@ export default {
 
             .info {
                 display: flex;
-                margin-bottom: 12px;
+                margin-bottom: 22px;
                 word-break: break-all;
 
                 span {

+ 4 - 4
src/views/workManagement/taskInfo.vue

@@ -25,14 +25,14 @@
                     <span>场景名称:</span>
                     <b>{{ info.sceneName }}</b>
                 </div>
-                <div class="info">
-                    <span>场景描述:</span>
-                    <b>{{ info.sceneDescribe }}</b>
-                </div>
                 <div class="info">
                     <span>完成状态:</span>
                     <b>{{ info.finishState }}</b>
                 </div>
+                <div class="info">
+                    <span>场景描述:</span>
+                    <b>{{ info.sceneDescribe }}</b>
+                </div>
             </div>
         </div>
 

+ 2 - 2
vue.config.js

@@ -102,11 +102,11 @@ module.exports = {
                 }
             },
             '/simulation/resource/server': {
-                // target: 'http://10.15.12.73:7003', // 王志强
+                target: 'http://10.15.12.73:7003', // 王志强
                 // target: 'http://10.15.12.88:7003', // 王耀栋
                 // target: 'http://10.15.12.72:7003',  // 王晓峰
                 // target: 'http://10.15.12.87:7003',  // 赵艳
-                target: 'http://10.15.12.70',  // windowstest
+                // target: 'http://10.15.12.70',  // windowstest
                 // target: 'http://192.168.30.75',  // gq
                 // target: 'http://47.94.105.148',  // aliyun
                 // target: 'http://10.15.12.74:7003', // 孟令鑫