deason 1 rok pred
rodič
commit
dbee11a22c
1 zmenil súbory, kde vykonal 97 pridanie a 133 odobranie
  1. 97 133
      src/modules/oe/component/ExamRecordDetail.vue

+ 97 - 133
src/modules/oe/component/ExamRecordDetail.vue

@@ -71,124 +71,72 @@
 
         <el-row class="margin-top-10">
           <el-col :span="24">
-            <el-table :data="examRecordData" border>
-              <el-table-column
-                label="姓名"
-                prop="studentName"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="身份证号"
-                prop="identityNumber"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="学号"
-                prop="studentCode"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="课程代码"
-                prop="courseCode"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="课程名称"
-                prop="courseName"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column label="课程层次" width="80">
-                <template slot-scope="scope">
-                  <span v-html="getLevel(scope.row.courseLevel)"></span>
-                </template>
-              </el-table-column>
-              <el-table-column
-                label="学习中心"
-                prop="orgName"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="年级"
-                min-width="90px"
-                prop="grade"
-              ></el-table-column>
-            </el-table>
-          </el-col>
-        </el-row>
-
-        <el-row class="margin-top-10">
-          <el-col :span="24">
-            <el-table :data="examRecordData" border>
-              <el-table-column
-                label="客观题总分"
-                prop="objectiveTotalScore"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="切屏次数"
-                prop="switchScreenCount"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="校验次数"
-                prop="faceTotalCount"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="成功次数"
-                prop="faceSuccessCount"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                label="陌生人次数"
-                prop="faceStrangerCount"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column
-                min-width="90px"
-                label="人脸比对(%)"
-                prop="faceSuccessPercent"
-              ></el-table-column>
-              <el-table-column
-                min-width="90px"
-                label="人脸真实性(%)"
-                prop="baiduFaceLivenessSuccessPercent"
-              ></el-table-column>
-              <el-table-column
-                min-width="90px"
-                label="虚拟设备"
-                prop="virtualCameraNames"
-              ></el-table-column>
-            </el-table>
-          </el-col>
-        </el-row>
-
-        <el-row class="margin-top-10">
-          <el-col :span="24">
-            <el-table :data="examRecordData" border>
-              <el-table-column
-                min-width="90px"
-                label="审核结果"
-                prop="status"
-              ></el-table-column>
-              <el-table-column
-                label="违纪类型"
-                prop="disciplineType"
-                min-width="90px"
-              ></el-table-column>
-              <el-table-column label="违纪说明" min-width="90px">
-                <template slot-scope="scope">
+            <el-descriptions :column="3" size="small" border>
+              <template v-for="(item, index) in examRecordData">
+                <el-descriptions-item :key="index" label="姓名">
+                  {{ item.studentName }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="身份证号">
+                  {{ item.identityNumber }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="学号">
+                  {{ item.studentCode }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="课程代码">
+                  {{ item.courseCode }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="课程名称">
+                  {{ item.courseName }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="课程层次">
+                  {{ parseCourseLevel(item.courseLevel) }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="客观题总分">
+                  {{ item.objectiveTotalScore }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="学习中心">
+                  {{ item.orgName }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="年级">
+                  {{ item.grade }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="校验次数">
+                  {{ item.faceTotalCount }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="成功次数">
+                  {{ item.faceSuccessCount }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="陌生人次数">
+                  {{ item.faceStrangerCount }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="人脸比对(%)">
+                  {{ item.faceSuccessPercent }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="人脸真实性(%)">
+                  {{ item.baiduFaceLivenessSuccessPercent }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="切屏次数">
+                  {{ item.switchScreenCount }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="审核结果">
+                  {{ item.status }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="违纪类型">
+                  {{ item.disciplineType }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="违纪说明">
                   <span
-                    v-html="disciplineTypeFilter(scope.row.disciplineDetail)"
+                    v-html="parseDisciplineDetail(item.disciplineDetail)"
                   ></span>
-                </template>
-              </el-table-column>
-              <el-table-column label="其它异常" min-width="90px">
-                <template>
-                  <span v-html="warnFilter(examWarns)"></span>
-                </template>
-              </el-table-column>
-            </el-table>
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="虚拟设备">
+                  {{ item.virtualCameraNames }}
+                </el-descriptions-item>
+                <el-descriptions-item :key="index" label="其它异常">
+                  <span v-html="parseExamWarn(examWarns)"></span>
+                </el-descriptions-item>
+              </template>
+            </el-descriptions>
           </el-col>
         </el-row>
 
@@ -378,7 +326,7 @@ export default {
         }
       });
     },
-    getLevel(level) {
+    parseCourseLevel(level) {
       if (level === "ZSB") {
         return "专升本";
       } else if (level === "GQZ") {
@@ -389,32 +337,48 @@ export default {
         return "不限";
       }
     },
-    disciplineTypeFilter: function (value) {
-      if (value && value.indexOf("&&") > -1) {
-        let arr = value.split("&&");
-        let detail = "";
-        for (let i = 0; i < arr.length; i++) {
-          detail += arr[i] + "<br>";
+    parseDisciplineDetail: function (details) {
+      if (!details) {
+        return "";
+      }
+
+      if (details.indexOf("&&") < 0) {
+        return details;
+      }
+
+      let result = "";
+      let values = details.split("&&");
+      for (let i = 0; i < values.length; i++) {
+        result += values[i];
+        if (i < values.length - 1) {
+          result += "<br/>";
         }
-        return detail;
-      } else {
-        return value;
       }
+      return result;
     },
-    warnFilter: function (examWarns) {
-      if (examWarns) {
-        let detail = "";
-        for (let i = 0; i < examWarns.length; i++) {
-          detail += examWarns[i].warnDetail + "<br>";
+    parseExamWarn: function (examWarns) {
+      if (!examWarns) {
+        return "";
+      }
+
+      let result = "";
+      for (let i = 0; i < examWarns.length; i++) {
+        result += examWarns[i].warnDetail;
+        if (i < examWarns.length - 1) {
+          result += "<br/>";
         }
-        return detail;
       }
-      return "";
+      return result;
     },
   },
 };
 </script>
 
+<style>
+.el-descriptions-item__label {
+  width: 100px;
+}
+</style>
 <style scoped>
 #capture-detail-header {
   height: 15px !important;