浏览代码

0930 invi md 02

zhangjie 4 年之前
父节点
当前提交
eb4a796b96

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

@@ -49,7 +49,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -113,6 +120,7 @@ export default {
         roomCode: "",
         roomCode: "",
         courseCode: "",
         courseCode: "",
         name: "",
         name: "",
+        identity: "",
       },
       },
       examBatchs: [],
       examBatchs: [],
       examActivities: [],
       examActivities: [],

+ 9 - 1
src/features/invigilation/InvigilationDetail/InvigilationDetail.vue

@@ -71,7 +71,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -258,6 +265,7 @@ export default {
         courseCode: null,
         courseCode: null,
         auditStatus: null,
         auditStatus: null,
         name: "",
         name: "",
+        identity: "",
         maxMultipleFaceCount: undefined,
         maxMultipleFaceCount: undefined,
         minMultipleFaceCount: undefined,
         minMultipleFaceCount: undefined,
         maxExceptionCount: undefined,
         maxExceptionCount: undefined,

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

@@ -75,7 +75,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -256,6 +263,7 @@ export default {
         monitorStatusSource: null,
         monitorStatusSource: null,
         status: null,
         status: null,
         name: "",
         name: "",
+        identity: "",
         maxMultipleFaceCount: undefined,
         maxMultipleFaceCount: undefined,
         minMultipleFaceCount: undefined,
         minMultipleFaceCount: undefined,
         maxExceptionCount: undefined,
         maxExceptionCount: undefined,

+ 7 - 11
src/features/invigilation/OnlinePatrol/PatrolWarningDetail.vue

@@ -58,7 +58,7 @@
             <div class="student-video-item">
             <div class="student-video-item">
               <flv-media
               <flv-media
                 ref="FirstViewVideo"
                 ref="FirstViewVideo"
-                :data="firstViewVideo"
+                :live-url="firstViewVideo.liveUrl"
                 v-if="firstViewVideoReady"
                 v-if="firstViewVideoReady"
               ></flv-media>
               ></flv-media>
               <div class="student-video-none" v-else>
               <div class="student-video-none" v-else>
@@ -67,8 +67,8 @@
             </div>
             </div>
             <div class="student-video-item">
             <div class="student-video-item">
               <flv-media
               <flv-media
-                ref="ThirdViewVideo"
-                :data="secondViewVideo"
+                ref="SecondViewVideo"
+                :live-url="secondViewVideo.liveUrl"
                 v-if="secondViewVideoReady"
                 v-if="secondViewVideoReady"
               ></flv-media>
               ></flv-media>
               <div class="student-video-none" v-else>
               <div class="student-video-none" v-else>
@@ -188,14 +188,10 @@ export default {
       serialIds: [],
       serialIds: [],
       exceptionSummary: [],
       exceptionSummary: [],
       firstViewVideo: {
       firstViewVideo: {
-        id: "111",
-        src: "",
-        name: "第一视角",
+        liveUrl: "",
       },
       },
       secondViewVideo: {
       secondViewVideo: {
-        id: "222",
-        src: "",
-        name: "第二视角",
+        liveUrl: "",
       },
       },
       firstViewVideoReady: false,
       firstViewVideoReady: false,
       secondViewVideoReady: false,
       secondViewVideoReady: false,
@@ -344,8 +340,8 @@ export default {
     },
     },
     // video relative
     // video relative
     initSubscribeVideo() {
     initSubscribeVideo() {
-      if (this.firstViewVideo.id) this.firstViewVideoReady = true;
-      if (this.secondViewVideo.id) this.secondViewVideoReady = true;
+      if (this.firstViewVideo.liveUrl) this.firstViewVideoReady = true;
+      if (this.secondViewVideo.liveUrl) this.secondViewVideoReady = true;
     },
     },
     closeSubscribeVideo() {
     closeSubscribeVideo() {
       this.firstViewVideoReady = false;
       this.firstViewVideoReady = false;

+ 9 - 1
src/features/invigilation/ProgressDetail/ProgressDetail.vue

@@ -51,7 +51,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -140,6 +147,7 @@ export default {
         roomCode: "",
         roomCode: "",
         courseCode: "",
         courseCode: "",
         name: "",
         name: "",
+        identity: "",
       },
       },
       current: 1,
       current: 1,
       total: 0,
       total: 0,

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

@@ -121,10 +121,17 @@
               :controls="false"
               :controls="false"
             ></el-input-number>
             ></el-input-number>
           </el-form-item>
           </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.name"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.identity"
               v-model.trim="filter.identity"
-              placeholder="姓名/证件号"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -313,6 +320,7 @@ export default {
         paperDownload: null,
         paperDownload: null,
         status: null,
         status: null,
         monitorStatusSource: null,
         monitorStatusSource: null,
+        name: null,
         identity: null,
         identity: null,
         maxWarningCount: undefined,
         maxWarningCount: undefined,
         minWarningCount: undefined,
         minWarningCount: undefined,

+ 7 - 11
src/features/invigilation/RealtimeMonitoring/WarningDetail.vue

@@ -72,7 +72,7 @@
             <div class="student-video-item">
             <div class="student-video-item">
               <flv-media
               <flv-media
                 ref="FirstViewVideo"
                 ref="FirstViewVideo"
-                :data="firstViewVideo"
+                :live-url="firstViewVideo.liveUrl"
                 v-if="firstViewVideoReady"
                 v-if="firstViewVideoReady"
               ></flv-media>
               ></flv-media>
               <div class="student-video-none" v-else>
               <div class="student-video-none" v-else>
@@ -81,8 +81,8 @@
             </div>
             </div>
             <div class="student-video-item">
             <div class="student-video-item">
               <flv-media
               <flv-media
-                ref="ThirdViewVideo"
-                :data="secondViewVideo"
+                ref="SecondViewVideo"
+                :live-url="secondViewVideo.liveUrl"
                 v-if="secondViewVideoReady"
                 v-if="secondViewVideoReady"
               ></flv-media>
               ></flv-media>
               <div class="student-video-none" v-else>
               <div class="student-video-none" v-else>
@@ -311,14 +311,10 @@ export default {
       serialIds: [],
       serialIds: [],
       exceptionSummary: [],
       exceptionSummary: [],
       firstViewVideo: {
       firstViewVideo: {
-        id: "111",
-        src: "",
-        name: "第一视角",
+        liveUrl: "",
       },
       },
       secondViewVideo: {
       secondViewVideo: {
-        id: "222",
-        src: "",
-        name: "第二视角",
+        liveUrl: "",
       },
       },
       firstViewVideoReady: false,
       firstViewVideoReady: false,
       secondViewVideoReady: false,
       secondViewVideoReady: false,
@@ -554,8 +550,8 @@ export default {
     },
     },
     // video relative
     // video relative
     initSubscribeVideo() {
     initSubscribeVideo() {
-      if (this.firstViewVideo.id) this.firstViewVideoReady = true;
-      if (this.secondViewVideo.id) this.secondViewVideoReady = true;
+      if (this.firstViewVideo.liveUrl) this.firstViewVideoReady = true;
+      if (this.secondViewVideo.liveUrl) this.secondViewVideoReady = true;
     },
     },
     closeSubscribeVideo() {
     closeSubscribeVideo() {
       this.firstViewVideoReady = false;
       this.firstViewVideoReady = false;

+ 9 - 1
src/features/invigilation/ReexamApply/ReexamApply.vue

@@ -52,7 +52,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -137,6 +144,7 @@ export default {
         roomCode: null,
         roomCode: null,
         courseCode: null,
         courseCode: null,
         name: "",
         name: "",
+        identity: "",
       },
       },
       current: 1,
       current: 1,
       total: 0,
       total: 0,

+ 9 - 1
src/features/invigilation/ReexamChecked/ReexamChecked.vue

@@ -66,7 +66,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -171,6 +178,7 @@ export default {
         roomCode: null,
         roomCode: null,
         courseCode: null,
         courseCode: null,
         name: "",
         name: "",
+        identity: "",
         applyName: "",
         applyName: "",
         reasonStartTime: "",
         reasonStartTime: "",
         reasonEndTime: "",
         reasonEndTime: "",

+ 9 - 1
src/features/invigilation/ReexamPending/ReexamPending.vue

@@ -66,7 +66,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -174,6 +181,7 @@ export default {
         roomCode: null,
         roomCode: null,
         courseCode: null,
         courseCode: null,
         name: "",
         name: "",
+        identity: "",
         applyName: "",
         applyName: "",
         reasonStartTime: "",
         reasonStartTime: "",
         reasonEndTime: "",
         reasonEndTime: "",

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

@@ -66,8 +66,15 @@
           </el-form-item>
           </el-form-item>
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
-              v-model.trim="filter.content"
-              placeholder="姓名/证件号"
+              v-model.trim="filter.name"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -145,6 +152,7 @@ export default {
         roomCode: null,
         roomCode: null,
         courseCode: null,
         courseCode: null,
         name: "",
         name: "",
+        identity: "",
       },
       },
       current: 1,
       current: 1,
       total: 0,
       total: 0,

+ 16 - 1
src/features/invigilation/WarningManage/WarningManage.vue

@@ -69,7 +69,14 @@
           <el-form-item>
           <el-form-item>
             <el-input
             <el-input
               v-model.trim="filter.name"
               v-model.trim="filter.name"
-              placeholder="姓名/证件号"
+              placeholder="姓名"
+              clearable
+            ></el-input>
+          </el-form-item>
+          <el-form-item>
+            <el-input
+              v-model.trim="filter.identity"
+              placeholder="证件号"
               clearable
               clearable
             ></el-input>
             ></el-input>
           </el-form-item>
           </el-form-item>
@@ -214,6 +221,7 @@ export default {
         courseCode: null,
         courseCode: null,
         approveStatus: null,
         approveStatus: null,
         name: "",
         name: "",
+        identity: "",
         maxMultipleFaceCount: undefined,
         maxMultipleFaceCount: undefined,
         minMultipleFaceCount: undefined,
         minMultipleFaceCount: undefined,
         maxExceptionCount: undefined,
         maxExceptionCount: undefined,
@@ -343,5 +351,12 @@ export default {
     }
     }
     next();
     next();
   },
   },
+  beforeRouteEnter(to, from, next) {
+    if (from.name === "WarningDetail") {
+      next((vm) => vm.$nextTick(() => vm.getList()));
+    } else {
+      next();
+    }
+  },
 };
 };
 </script>
 </script>

+ 0 - 1
src/features/invigilation/common/FlvMedia.vue

@@ -15,7 +15,6 @@ export default {
   props: {
   props: {
     liveUrl: {
     liveUrl: {
       type: String,
       type: String,
-      required: true,
     },
     },
   },
   },
   data() {
   data() {

+ 2 - 2
src/styles/base.scss

@@ -115,14 +115,14 @@ body {
       padding: 20px 20px 10px;
       padding: 20px 20px 10px;
 
 
       &-action {
       &-action {
-        padding-bottom: 10px;
+        padding-bottom: 15px;
         white-space: nowrap;
         white-space: nowrap;
         display: flex;
         display: flex;
         align-items: flex-end;
         align-items: flex-end;
       }
       }
 
 
       .el-form-item {
       .el-form-item {
-        margin-bottom: 10px;
+        margin-bottom: 15px;
       }
       }
       .el-form-item__label {
       .el-form-item__label {
         margin-bottom: 0;
         margin-bottom: 0;

+ 2 - 1
src/utils/utils.js

@@ -88,7 +88,8 @@ export function objAssign(target, sources) {
 
 
 /**
 /**
  * 文件流下载
  * 文件流下载
- * @param {Object} option 文件下载设置
+ * @param {Function} fetchFunc 下载程序,返回promise
+ * @param {String} fileName 保存的文件名
  */
  */
 export async function downloadBlob(fetchFunc, fileName) {
 export async function downloadBlob(fetchFunc, fileName) {
   const res = await fetchFunc().catch(() => {});
   const res = await fetchFunc().catch(() => {});