zhangjie 4 年之前
父节点
当前提交
dc010fabd3
共有 26 个文件被更改,包括 114 次插入101 次删除
  1. 54 38
      src/api/invigilation.js
  2. 9 9
      src/features/invigilation/ExamInvigilation/ExamInvigilation.vue
  3. 1 1
      src/features/invigilation/ExamReport/BreachDetailDialog.vue
  4. 1 0
      src/features/invigilation/ExamReport/ExamReport.vue
  5. 1 1
      src/features/invigilation/ExamReport/ExceptionDetailDialog.vue
  6. 1 1
      src/features/invigilation/ExamReport/ReportAbsent.vue
  7. 2 2
      src/features/invigilation/ExamReport/ReportBreach.vue
  8. 2 2
      src/features/invigilation/ExamReport/ReportCancalBreach.vue
  9. 1 1
      src/features/invigilation/ExamReport/ReportException.vue
  10. 2 2
      src/features/invigilation/ExamReport/ReportOverview.vue
  11. 1 1
      src/features/invigilation/ExamReport/ReportReexam.vue
  12. 1 1
      src/features/invigilation/ExamReport/ReportStatistics.vue
  13. 5 7
      src/features/invigilation/InvigilationDetail/InvigilationDetail.vue
  14. 4 2
      src/features/invigilation/OnlinePatrol/OnlinePatrol.vue
  15. 1 1
      src/features/invigilation/OnlinePatrol/PatrolWarningDetail.vue
  16. 4 6
      src/features/invigilation/ProgressDetail/ProgressDetail.vue
  17. 1 1
      src/features/invigilation/RealtimeMonitoring/ExamBatchDialog.vue
  18. 2 1
      src/features/invigilation/RealtimeMonitoring/RealtimeMonitoring.vue
  19. 1 1
      src/features/invigilation/RealtimeMonitoring/WarningDetail.vue
  20. 3 6
      src/features/invigilation/ReexamApply/ReexamApply.vue
  21. 3 2
      src/features/invigilation/ReexamChecked/ReexamChecked.vue
  22. 3 2
      src/features/invigilation/ReexamPending/ReexamPending.vue
  23. 1 1
      src/features/invigilation/StudentLogManage/StudentLogDetailDialog.vue
  24. 2 1
      src/features/invigilation/StudentLogManage/StudentLogManage.vue
  25. 4 7
      src/features/invigilation/WarningManage/WarningManage.vue
  26. 4 4
      src/features/invigilation/common/SummaryLine.vue

+ 54 - 38
src/api/invigilation.js

@@ -2,6 +2,8 @@ import { httpApp } from "@/plugins/axiosIndex";
 import { pickBy } from "lodash-es";
 import { object2QueryString } from "@/utils/utils";
 
+const paramFilter = (v) => v !== "" && v !== undefined && v !== null;
+
 // monitor key
 export function getUserMonitorKey(recordId) {
   return httpApp.post(
@@ -23,7 +25,7 @@ export function examInvigilationWarnTrend() {
   return httpApp.post("/api/admin/report/examination_monitor/warn_trend", {});
 }
 export function examInvigilationVideoRandomList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/list/video/random?" + object2QueryString(data),
     {}
@@ -35,49 +37,51 @@ export function examInvigilationWarnMessage() {
 
 // realtime-monitoring
 export function invigilateList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/list?" + object2QueryString(data),
     {}
   );
 }
 export function invigilateCount(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/exam/list/count?" + object2QueryString(data),
     {}
   );
 }
 export function invigilateVideoList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/list/video?" + object2QueryString(data),
     {}
   );
 }
 export function monitorCallCount(examId) {
+  const data = pickBy({ examId }, paramFilter);
   return httpApp.post(
-    "/api/admin/monitor/call/count?" + object2QueryString({ examId }),
+    "/api/admin/monitor/call/count?" + object2QueryString(data),
     {}
   );
 }
 export function invigilationWarningMessage(examId) {
+  const data = pickBy({ examId }, paramFilter);
   return httpApp.post(
-    "/api/admin/invigilate/warn/message?" + object2QueryString({ examId }),
+    "/api/admin/invigilate/warn/message?" + object2QueryString(data),
     {}
   );
 }
 
 // online-patrol
 export function patrolList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/patrol/list?" + object2QueryString(data),
     {}
   );
 }
 export function patrolReportList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/patrol?" + object2QueryString(data),
     {}
@@ -87,17 +91,21 @@ export function patrolReportList(datas) {
 // 强制/手动交卷接口
 export function invigilateFinish(datas) {
   // type: MANUAL:手动,AUTO:自动,BREACH:违纪交卷,INTERRUPT:监考强制交卷
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post("/api/admin/invigilate/finish", data);
 }
 // 结束监考接口
 export function invigilateExamFinish(examId) {
-  return httpApp.post("/api/admin/invigilate/exam/finish?examId=" + examId, {});
+  const data = pickBy({ examId }, paramFilter);
+  return httpApp.post(
+    "/api/admin/invigilate/exam/finish?" + object2QueryString(data),
+    {}
+  );
 }
 
 // 监考老师::事实监控台-考试批次列表
 export function examMonitorBatchList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post("/api/admin/exam/query?" + object2QueryString(data), {});
 }
 // 监考老师::考试批次列表
@@ -107,15 +115,23 @@ export function examBatchList(userId) {
 }
 // 监考老师::根据权限获取场次和考场接口
 export function examActivityRoomList(examId) {
-  return httpApp.post("/api/admin/sys/exam/privilegeQuery?examId=" + examId);
+  const data = pickBy({ examId }, paramFilter);
+  return httpApp.post(
+    "/api/admin/sys/exam/privilegeQuery?" + object2QueryString(data),
+    {}
+  );
 }
 // 考试属性统计接口
 export function examPropCount(examId) {
-  return httpApp.post("/api/admin/exam/prop/count?examId=" + examId);
+  const data = pickBy({ examId }, paramFilter);
+  return httpApp.post(
+    "/api/admin/exam/prop/count?" + object2QueryString(data),
+    {}
+  );
 }
 
 export function communicationList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/monitor/call/list?" + object2QueryString(data),
     {},
@@ -137,7 +153,7 @@ export function communicationOver(callCancelBackendMobile) {
 
 // invigilation-detail
 export function invigilationHistoryList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/history/list?" + object2QueryString(data),
     {}
@@ -146,14 +162,14 @@ export function invigilationHistoryList(datas) {
 
 // warning-manage
 export function invigilationWarningList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/warn/list?" + object2QueryString(data),
     {}
   );
 }
 export function invigilationWarningCount(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/warn/notify?" + object2QueryString(data),
     {}
@@ -190,13 +206,13 @@ export function invigilateDetail(recordId) {
 }
 // 学生违纪处理
 export function updateBreachInfo(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
 
   return httpApp.post("/api/admin/invigilate/breach", data);
 }
 // 发送文字/音频消息
 export function sendWarningMsg(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post("/api/admin/invigilate/notice", data);
 }
 // TODO:接口待定
@@ -206,27 +222,27 @@ export function sendAudioWarningMsg(datas) {
 
 // reexam-apply
 export function reexamApplyList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/reexam/list?" + object2QueryString(data),
     {}
   );
 }
 export function applyReexam(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post("/api/admin/invigilate/reexam/apply", data);
 }
 
 // reexam-pending
 export function reexamPendingList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/reexam/list_not_done?" + object2QueryString(data),
     {}
   );
 }
 export function reexamPendingCount(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/reexam/list_not_done_notify?" +
       object2QueryString(data),
@@ -245,7 +261,7 @@ export function reexamCheckDetail(reexamId) {
 
 // reexam-checked
 export function reexamCheckedList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/reexam/list_done?" + object2QueryString(data),
     {}
@@ -254,14 +270,14 @@ export function reexamCheckedList(datas) {
 
 // progress-detail
 export function progressDetailList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/progress/list?" + object2QueryString(data),
     {}
   );
 }
 export function downloadProgressResult(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/invigilate/progress/list/export?" + object2QueryString(data),
     {},
@@ -275,7 +291,7 @@ export function downloadProgressResult(datas) {
 // report-overview
 // reexam-checked
 export function reportOverviewData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_view?" + object2QueryString(data),
     {}
@@ -283,7 +299,7 @@ export function reportOverviewData(datas) {
 }
 // report-statistics
 export function reportStatisticsData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_view_count?" + object2QueryString(data),
     {}
@@ -291,7 +307,7 @@ export function reportStatisticsData(datas) {
 }
 // report-absent
 export function reportAbsentData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_deficiency_list?" + object2QueryString(data),
     {}
@@ -299,7 +315,7 @@ export function reportAbsentData(datas) {
 }
 // report-exception
 export function reportExceptionData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_exception_list?" + object2QueryString(data),
     {}
@@ -307,7 +323,7 @@ export function reportExceptionData(datas) {
 }
 export function reportExceptionDetail(datas) {
   // examStudentId
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_exception_list_detail?" + object2QueryString(data),
     {}
@@ -315,7 +331,7 @@ export function reportExceptionDetail(datas) {
 }
 // report-reexam
 export function reportReexamData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_reexam_list?" + object2QueryString(data),
     {}
@@ -323,14 +339,14 @@ export function reportReexamData(datas) {
 }
 // report-breach
 export function reportBreachData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_breach_list?" + object2QueryString(data),
     {}
   );
 }
 export function reportBreachDetail(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_breach_list_detail?" + object2QueryString(data),
     {}
@@ -338,14 +354,14 @@ export function reportBreachDetail(datas) {
 }
 // report-cancel-breach
 export function reportCancelBreachData(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_revoke_breach_list?" + object2QueryString(data),
     {}
   );
 }
 export function reportCancelBreachDetail(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_revoke_breach_list_detail?" +
       object2QueryString(data),
@@ -355,14 +371,14 @@ export function reportCancelBreachDetail(datas) {
 
 // student-log-manage
 export function studentLogList(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_student_log_list?" + object2QueryString(data),
     {}
   );
 }
 export function studentLogDetail(datas) {
-  const data = pickBy(datas, (v) => v !== "");
+  const data = pickBy(datas, paramFilter);
   return httpApp.post(
     "/api/admin/report/exam_student_log_list_detail?" +
       object2QueryString(data),

+ 9 - 9
src/features/invigilation/ExamInvigilation/ExamInvigilation.vue

@@ -17,7 +17,7 @@
                 popper-class="warning-popover"
                 width="200"
                 trigger="hover"
-                content=""
+                content="当前在线考试人数。"
               >
                 <i class="el-icon-question" slot="reference"></i>
               </el-popover>
@@ -62,7 +62,7 @@
         <div class="invigilation-summary-item">
           <div class="part-box">
             <h5>
-              <span>通讯故障(人)</span>
+              <span>通讯故障</span>
               <el-popover
                 placement="top-start"
                 popper-class="warning-popover"
@@ -95,13 +95,13 @@
         <div class="invigilation-summary-item">
           <div class="part-box">
             <h5>
-              <span>预警(人)</span>
+              <span>预警</span>
               <el-popover
                 placement="top-start"
                 popper-class="warning-popover"
                 width="200"
                 trigger="hover"
-                content=""
+                content="实时预警数量及升跌趋势(后1分钟增量与前1分钟增量对比,大于为升势,小于为跌势)。"
               >
                 <i class="el-icon-question" slot="reference"></i>
               </el-popover>
@@ -134,7 +134,7 @@
             popper-class="warning-popover"
             width="200"
             trigger="hover"
-            content=""
+            content="各二级子机构当前在线考试人数分布。"
           >
             <i class="el-icon-question" slot="reference"></i>
           </el-popover>
@@ -155,7 +155,7 @@
                   popper-class="warning-popover"
                   width="200"
                   trigger="hover"
-                  content=""
+                  content="各二级子机构当前预警数量分布。"
                 >
                   <i class="el-icon-question" slot="reference"></i>
                 </el-popover>
@@ -175,7 +175,7 @@
                   popper-class="warning-popover"
                   width="200"
                   trigger="hover"
-                  content=""
+                  content="当前考试累计预警的类型分析。"
                 >
                   <i class="el-icon-question" slot="reference"></i>
                 </el-popover>
@@ -196,7 +196,7 @@
             popper-class="warning-popover"
             width="200"
             trigger="hover"
-            content=""
+            content="按时间维度呈现预警数量的升跌走势图。"
           >
             <i class="el-icon-question" slot="reference"></i>
           </el-popover>
@@ -214,7 +214,7 @@
             popper-class="warning-popover"
             width="200"
             trigger="hover"
-            content=""
+            content="系统实时预警提示滚屏。"
           >
             <i class="el-icon-question" slot="reference"></i>
           </el-popover>

+ 1 - 1
src/features/invigilation/ExamReport/BreachDetailDialog.vue

@@ -73,7 +73,7 @@ export default {
     async getList() {
       const datas = {
         examStudentId: this.detailId,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 1 - 0
src/features/invigilation/ExamReport/ExamReport.vue

@@ -177,6 +177,7 @@ export default {
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 1 - 1
src/features/invigilation/ExamReport/ExceptionDetailDialog.vue

@@ -68,7 +68,7 @@ export default {
     async getList() {
       const datas = {
         examStudentId: this.detailId,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 1 - 1
src/features/invigilation/ExamReport/ReportAbsent.vue

@@ -60,7 +60,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 2 - 2
src/features/invigilation/ExamReport/ReportBreach.vue

@@ -19,7 +19,7 @@
       <el-table-column prop="breachStatus" label="违纪/正常">
         <template slot-scope="scope">
           <span :class="{ 'color-danger': scope.row.breachStatus }">
-            {{ scope.row.breachStatus ? "违纪" : "正常" }}
+            {{ !scope.row.breachStatus ? "违纪" : "正常" }}
           </span>
         </template>
       </el-table-column>
@@ -86,7 +86,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 2 - 2
src/features/invigilation/ExamReport/ReportCancalBreach.vue

@@ -19,7 +19,7 @@
       <el-table-column prop="breachStatus" label="违纪/正常">
         <template slot-scope="scope">
           <span :class="{ 'color-danger': scope.row.breachStatus }">
-            {{ scope.row.breachStatus ? "违纪" : "正常" }}
+            {{ !scope.row.breachStatus ? "违纪" : "正常" }}
           </span>
         </template>
       </el-table-column>
@@ -87,7 +87,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 1 - 1
src/features/invigilation/ExamReport/ReportException.vue

@@ -84,7 +84,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 2 - 2
src/features/invigilation/ExamReport/ReportOverview.vue

@@ -31,7 +31,7 @@
               placement="top-start"
               width="200"
               trigger="hover"
-              content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
+              content="批次下的实时考试进度。"
             >
               <i class="el-icon-question" slot="reference"></i>
             </el-popover>
@@ -50,7 +50,7 @@
           placement="top-start"
           width="200"
           trigger="hover"
-          content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
+          content="按时间维度呈现已完成的科次数量分布。"
         >
           <i class="el-icon-question" slot="reference"></i>
         </el-popover>

+ 1 - 1
src/features/invigilation/ExamReport/ReportReexam.vue

@@ -60,7 +60,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 1 - 1
src/features/invigilation/ExamReport/ReportStatistics.vue

@@ -77,7 +77,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 5 - 7
src/features/invigilation/InvigilationDetail/InvigilationDetail.vue

@@ -172,6 +172,7 @@
           class="part-filter-info-main"
           data-type="complete"
           :exam-id="filter.examId"
+          v-if="filter.examId"
         ></summary-line>
       </div>
     </div>
@@ -201,7 +202,7 @@
       <el-table-column prop="breachStatus" label="违纪">
         <template slot-scope="scope">
           <span :class="{ 'color-danger': scope.row.breachStatus }">
-            {{ scope.row.breachStatus | zeroOneYesNoFilter }}
+            {{ !scope.row.breachStatus ? "违纪" : "正常" }}
           </span>
         </template>
       </el-table-column>
@@ -294,7 +295,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -316,15 +317,12 @@ export default {
     },
     async getExamBatchList() {
       const user = this.$store.state.user;
-      const userId =
-        user.roleCodes.includes("INVIGILATE") ||
-        user.roleCodes.includes("INSPECTION")
-          ? user.id
-          : null;
+      const userId = user.roleCodes.includes("INVIGILATE") ? user.id : null;
       const res = await examBatchList(userId);
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 4 - 2
src/features/invigilation/OnlinePatrol/OnlinePatrol.vue

@@ -135,6 +135,7 @@
           class="part-filter-info-main"
           data-type="trouble"
           :exam-id="filter.examId"
+          v-if="filter.examId"
         ></summary-line>
       </div>
     </div>
@@ -175,7 +176,7 @@
       <el-table-column prop="breachStatus" label="违纪">
         <template slot-scope="scope">
           <span :class="{ 'color-danger': scope.row.breachStatus }">
-            {{ scope.row.breachStatus | zeroOneYesNoFilter }}
+            {{ !scope.row.breachStatus ? "违纪" : "正常" }}
           </span>
         </template>
       </el-table-column>
@@ -302,7 +303,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -323,6 +324,7 @@ export default {
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 1 - 1
src/features/invigilation/OnlinePatrol/PatrolWarningDetail.vue

@@ -120,7 +120,7 @@
             <span>
               <b>违纪状态:</b>
               <b :class="{ 'color-danger': detailInfo.breachStatus }">
-                {{ detailInfo.breachStatus ? "违纪" : "正常" }}
+                {{ !detailInfo.breachStatus ? "违纪" : "正常" }}
               </b>
             </span>
           </p>

+ 4 - 6
src/features/invigilation/ProgressDetail/ProgressDetail.vue

@@ -65,6 +65,7 @@
           class="part-filter-info-main"
           data-type="progress"
           :exam-id="filter.examId"
+          v-if="filter.examId"
         ></summary-line>
         <div class="part-filter-info-sub">
           <el-button
@@ -164,7 +165,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -179,15 +180,12 @@ export default {
     },
     async getExamBatchList() {
       const user = this.$store.state.user;
-      const userId =
-        user.roleCodes.includes("INVIGILATE") ||
-        user.roleCodes.includes("INSPECTION")
-          ? user.id
-          : null;
+      const userId = user.roleCodes.includes("INVIGILATE") ? user.id : null;
       const res = await examBatchList(userId);
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 1 - 1
src/features/invigilation/RealtimeMonitoring/ExamBatchDialog.vue

@@ -43,7 +43,7 @@ export default {
     async getExamList() {
       const res = await examMonitorBatchList({
         userId: this.userId,
-        pageNumber: 0,
+        pageNumber: 1,
         pageSize: 100,
       });
       this.examBatchs = res.data.data.records.map((item) => {

+ 2 - 1
src/features/invigilation/RealtimeMonitoring/RealtimeMonitoring.vue

@@ -48,6 +48,7 @@
           class="part-filter-info-main"
           data-type="trouble"
           :exam-id="filter.examId"
+          v-if="filter.examId"
         ></summary-line>
         <div class="part-filter-info-sub" v-if="!this.IS_INSPECTION">
           <el-badge
@@ -213,7 +214,7 @@
       <el-table-column prop="breachStatus" label="违纪">
         <template slot-scope="scope">
           <span :class="{ 'color-danger': scope.row.breachStatus }">
-            {{ scope.row.breachStatus ? "违纪" : "正常" }}
+            {{ !scope.row.breachStatus ? "违纪" : "正常" }}
           </span>
         </template>
       </el-table-column>

+ 1 - 1
src/features/invigilation/RealtimeMonitoring/WarningDetail.vue

@@ -161,7 +161,7 @@
             <span>
               <b>违纪状态:</b>
               <b :class="{ 'color-danger': detailInfo.breachStatus }">
-                {{ detailInfo.breachStatus ? "违纪" : "正常" }}
+                {{ !detailInfo.breachStatus ? "违纪" : "正常" }}
               </b>
             </span>
           </p>

+ 3 - 6
src/features/invigilation/ReexamApply/ReexamApply.vue

@@ -163,7 +163,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -178,15 +178,12 @@ export default {
     },
     async getExamBatchList() {
       const user = this.$store.state.user;
-      const userId =
-        user.roleCodes.includes("INVIGILATE") ||
-        user.roleCodes.includes("INSPECTION")
-          ? user.id
-          : null;
+      const userId = user.roleCodes.includes("INVIGILATE") ? user.id : null;
       const res = await examBatchList(userId);
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 3 - 2
src/features/invigilation/ReexamChecked/ReexamChecked.vue

@@ -78,7 +78,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
-              value-format="yyyy-MM-dd"
+              value-format="timestamp"
               format="yyyy-MM-dd"
             >
             </el-date-picker>
@@ -202,7 +202,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -220,6 +220,7 @@ export default {
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 3 - 2
src/features/invigilation/ReexamPending/ReexamPending.vue

@@ -78,7 +78,7 @@
               range-separator="至"
               start-placeholder="开始日期"
               end-placeholder="结束日期"
-              value-format="yyyy-MM-dd"
+              value-format="timestamp"
               format="yyyy-MM-dd"
             >
             </el-date-picker>
@@ -204,7 +204,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -222,6 +222,7 @@ export default {
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 1 - 1
src/features/invigilation/StudentLogManage/StudentLogDetailDialog.vue

@@ -58,7 +58,7 @@ export default {
     async getList() {
       const datas = {
         examStudentId: this.detailId,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 

+ 2 - 1
src/features/invigilation/StudentLogManage/StudentLogManage.vue

@@ -162,7 +162,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -180,6 +180,7 @@ export default {
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 4 - 7
src/features/invigilation/WarningManage/WarningManage.vue

@@ -156,7 +156,7 @@
       <el-table-column prop="breachStatus" label="是否违纪">
         <template slot-scope="scope">
           <span :class="{ 'color-danger': scope.row.breachStatus }">
-            {{ scope.row.breachStatus | zeroOneYesNoFilter }}
+            {{ !scope.row.breachStatus ? "违纪" : "正常" }}
           </span>
         </template>
       </el-table-column>
@@ -248,7 +248,7 @@ export default {
     async getList() {
       const datas = {
         ...this.filter,
-        pageNumber: this.current - 1,
+        pageNumber: this.current,
         pageSize: this.size,
       };
 
@@ -270,15 +270,12 @@ export default {
     },
     async getExamBatchList() {
       const user = this.$store.state.user;
-      const userId =
-        user.roleCodes.includes("INVIGILATE") ||
-        user.roleCodes.includes("INSPECTION")
-          ? user.id
-          : null;
+      const userId = user.roleCodes.includes("INVIGILATE") ? user.id : null;
       const res = await examBatchList(userId);
       this.examBatchs = res.data.data;
     },
     async getExamActivityRoomList() {
+      if (!this.filter.examId) return;
       const res = await examActivityRoomList(this.filter.examId);
       this.examActivities = res.data.data.examActivitys;
       this.examRooms = res.data.data.examRooms;

+ 4 - 4
src/features/invigilation/common/SummaryLine.vue

@@ -39,7 +39,7 @@ const paramInfo = {
   finish: {
     name: "完成率",
     param: "completionRate",
-    desc: "",
+    desc: "完成率=“已完成”科次数量占应考科次数量的百分比。",
     icon: "rate",
     unit: "%",
   },
@@ -60,13 +60,13 @@ const paramInfo = {
   complete: {
     name: "已交卷",
     param: "alreadyComplete",
-    desc: "",
+    desc: "某科次的某次考试已完成“交卷”。",
     pointType: "danger",
     unit: "人",
   },
   trouble: {
     name: "通讯故障",
-    param: "clientCommunicationStatusCount",
+    param: "clientWebsocketStatusCount",
     desc:
       "考生端出现断网、断电、软硬件故障等异常导致考生端与监考端无法正常连接的考生。",
     pointType: "danger",
@@ -75,7 +75,7 @@ const paramInfo = {
   unfinish: {
     name: "未完成",
     param: "notComplete",
-    desc: "",
+    desc: "某科次完成“交卷”的考试次数为0。",
     pointType: "danger",
     unit: "人",
   },