|
@@ -94,16 +94,16 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item>
|
|
|
+ <el-form-item v-for="source in viewingAngles" :key="source.code">
|
|
|
<el-select
|
|
|
- v-model="filter.monitorStatusSource"
|
|
|
- placeholder="通讯故障"
|
|
|
+ v-model="monitorStatusFilter[source.filterParam]"
|
|
|
+ :placeholder="`${source.name}通讯故障`"
|
|
|
clearable
|
|
|
>
|
|
|
<el-option
|
|
|
- v-for="(val, key) in BOOLEAN_TYPE"
|
|
|
+ v-for="(val, key) in MONITOR_STATUS_TYPE"
|
|
|
:key="key"
|
|
|
- :value="key * 1"
|
|
|
+ :value="key"
|
|
|
:label="val"
|
|
|
></el-option>
|
|
|
</el-select>
|
|
@@ -311,12 +311,12 @@ import SummaryLine from "../common/SummaryLine";
|
|
|
import handleRollupDialog from "./handleRollupDialog";
|
|
|
import TextClock from "../common/TextClock";
|
|
|
import {
|
|
|
- BOOLEAN_TYPE,
|
|
|
VIDEO_SOURCE_TYPE,
|
|
|
BOOLEAN_INVERSE_TYPE,
|
|
|
STUDENT_ONLINE_STATUS,
|
|
|
CLIENT_WEBSOCKET_STATUS,
|
|
|
MONITOR_STATUS_SOURCE,
|
|
|
+ MONITOR_STATUS_TYPE,
|
|
|
} from "@/constant/constants";
|
|
|
import { mapState, mapMutations, mapActions } from "vuex";
|
|
|
|
|
@@ -345,12 +345,13 @@ export default {
|
|
|
maxWarningCount: undefined,
|
|
|
minWarningCount: undefined,
|
|
|
},
|
|
|
- BOOLEAN_TYPE,
|
|
|
+ monitorStatusFilter: {},
|
|
|
VIDEO_SOURCE_TYPE,
|
|
|
BOOLEAN_INVERSE_TYPE,
|
|
|
STUDENT_ONLINE_STATUS,
|
|
|
CLIENT_WEBSOCKET_STATUS,
|
|
|
MONITOR_STATUS_SOURCE,
|
|
|
+ MONITOR_STATUS_TYPE,
|
|
|
hasNewWarning: false,
|
|
|
loopRunning: false,
|
|
|
loopSetTs: [],
|
|
@@ -417,16 +418,25 @@ export default {
|
|
|
if (!examBatch) return;
|
|
|
this.filter.examId = examBatch.id;
|
|
|
this.curExamBatch = examBatch;
|
|
|
+ const monitorStatusFilter = {};
|
|
|
if (examBatch.monitorVideoSource) {
|
|
|
this.viewingAngles = examBatch.monitorVideoSource
|
|
|
.split(",")
|
|
|
.map((item) => {
|
|
|
+ const filterParam = this.videoSourceStatusParams[item].replace(
|
|
|
+ "Source",
|
|
|
+ ""
|
|
|
+ );
|
|
|
+
|
|
|
+ monitorStatusFilter[filterParam] = null;
|
|
|
return {
|
|
|
code: item,
|
|
|
name: this.VIDEO_SOURCE_TYPE[item],
|
|
|
param: this.videoSourceStatusParams[item],
|
|
|
+ filterParam,
|
|
|
};
|
|
|
});
|
|
|
+ this.monitorStatusFilter = monitorStatusFilter;
|
|
|
} else {
|
|
|
this.viewingAngles = [];
|
|
|
}
|
|
@@ -466,6 +476,7 @@ export default {
|
|
|
async getList() {
|
|
|
const datas = {
|
|
|
...this.filter,
|
|
|
+ ...this.monitorStatusFilter,
|
|
|
pageNumber: this.current,
|
|
|
pageSize: this.size,
|
|
|
};
|