|
@@ -14,14 +14,15 @@
|
|
<span>在线(人)</span>
|
|
<span>在线(人)</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</h5>
|
|
</h5>
|
|
- <p>26000</p>
|
|
|
|
|
|
+ <p>{{ monitorCount.onlineCount }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="invigilation-summary-item">
|
|
<div class="invigilation-summary-item">
|
|
@@ -30,14 +31,15 @@
|
|
<span>待考(人)</span>
|
|
<span>待考(人)</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content="已进入待考界面等待开考的考生。"
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</h5>
|
|
</h5>
|
|
- <p>170</p>
|
|
|
|
|
|
+ <p>{{ monitorCount.waitingCount }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="invigilation-summary-item">
|
|
<div class="invigilation-summary-item">
|
|
@@ -46,14 +48,15 @@
|
|
<span>考试中(人)</span>
|
|
<span>考试中(人)</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content="正在答题的考生。"
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</h5>
|
|
</h5>
|
|
- <p>2560</p>
|
|
|
|
|
|
+ <p>{{ monitorCount.examingCount }}</p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="invigilation-summary-item">
|
|
<div class="invigilation-summary-item">
|
|
@@ -62,14 +65,31 @@
|
|
<span>通讯故障(人)</span>
|
|
<span>通讯故障(人)</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content="考生端出现断网、断电、软硬件故障等异常导致考生端与监考端无法正常连接的考生。"
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</h5>
|
|
</h5>
|
|
- <p>26000</p>
|
|
|
|
|
|
+ <p
|
|
|
|
+ :class="{
|
|
|
|
+ 'color-danger': monitorCount.exceptionCountChange > 0,
|
|
|
|
+ 'color-success': monitorCount.exceptionCountChange < 0,
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ {{ monitorCount.exceptionCount }}
|
|
|
|
+ <i
|
|
|
|
+ :class="[
|
|
|
|
+ 'icon',
|
|
|
|
+ {
|
|
|
|
+ 'icon-arrows-up': monitorCount.exceptionCountChange > 0,
|
|
|
|
+ 'icon-arrows-down': monitorCount.exceptionCountChange < 0,
|
|
|
|
+ },
|
|
|
|
+ ]"
|
|
|
|
+ ></i>
|
|
|
|
+ </p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="invigilation-summary-item">
|
|
<div class="invigilation-summary-item">
|
|
@@ -78,14 +98,31 @@
|
|
<span>预警(人)</span>
|
|
<span>预警(人)</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</h5>
|
|
</h5>
|
|
- <p>15</p>
|
|
|
|
|
|
+ <p
|
|
|
|
+ :class="{
|
|
|
|
+ 'color-danger': monitorCount.warnCountChange > 0,
|
|
|
|
+ 'color-success': monitorCount.warnCountChange < 0,
|
|
|
|
+ }"
|
|
|
|
+ >
|
|
|
|
+ {{ monitorCount.warnCount }}
|
|
|
|
+ <i
|
|
|
|
+ :class="[
|
|
|
|
+ 'icon',
|
|
|
|
+ {
|
|
|
|
+ 'icon-arrows-up': monitorCount.warnCountChange > 0,
|
|
|
|
+ 'icon-arrows-down': monitorCount.warnCountChange < 0,
|
|
|
|
+ },
|
|
|
|
+ ]"
|
|
|
|
+ ></i>
|
|
|
|
+ </p>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -94,9 +131,10 @@
|
|
<span>各机构在线考试人数分布</span>
|
|
<span>各机构在线考试人数分布</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -104,7 +142,6 @@
|
|
<echart-render
|
|
<echart-render
|
|
:chart-data="onlineData"
|
|
:chart-data="onlineData"
|
|
chart-type="bar"
|
|
chart-type="bar"
|
|
- v-if="chartDataReady"
|
|
|
|
></echart-render>
|
|
></echart-render>
|
|
</div>
|
|
</div>
|
|
<div class="invigilation-warning">
|
|
<div class="invigilation-warning">
|
|
@@ -115,9 +152,10 @@
|
|
<span>机构预警分布</span>
|
|
<span>机构预警分布</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -125,7 +163,6 @@
|
|
<echart-render
|
|
<echart-render
|
|
:chart-data="orgWarningData"
|
|
:chart-data="orgWarningData"
|
|
chart-type="pieAnnulus"
|
|
chart-type="pieAnnulus"
|
|
- v-if="chartDataReady"
|
|
|
|
></echart-render>
|
|
></echart-render>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -135,9 +172,10 @@
|
|
<span>预警类型分布</span>
|
|
<span>预警类型分布</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -145,7 +183,6 @@
|
|
<echart-render
|
|
<echart-render
|
|
:chart-data="typeWarningData"
|
|
:chart-data="typeWarningData"
|
|
chart-type="pieAnnulus"
|
|
chart-type="pieAnnulus"
|
|
- v-if="chartDataReady"
|
|
|
|
></echart-render>
|
|
></echart-render>
|
|
</div>
|
|
</div>
|
|
</el-col>
|
|
</el-col>
|
|
@@ -156,9 +193,10 @@
|
|
<span>预警时间趋势</span>
|
|
<span>预警时间趋势</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
@@ -166,7 +204,6 @@
|
|
<echart-render
|
|
<echart-render
|
|
:chart-data="warningTrendData"
|
|
:chart-data="warningTrendData"
|
|
chart-type="line"
|
|
chart-type="line"
|
|
- v-if="chartDataReady"
|
|
|
|
></echart-render>
|
|
></echart-render>
|
|
</div>
|
|
</div>
|
|
<div class="invigilation-message part-box">
|
|
<div class="invigilation-message part-box">
|
|
@@ -174,26 +211,24 @@
|
|
<span>预警消息</span>
|
|
<span>预警消息</span>
|
|
<el-popover
|
|
<el-popover
|
|
placement="top-start"
|
|
placement="top-start"
|
|
|
|
+ popper-class="warning-popover"
|
|
width="200"
|
|
width="200"
|
|
trigger="hover"
|
|
trigger="hover"
|
|
- content="这是一段内容,这是一段内容,这是一段内容,这是一段内容。"
|
|
|
|
|
|
+ content=""
|
|
>
|
|
>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
<i class="el-icon-question" slot="reference"></i>
|
|
</el-popover>
|
|
</el-popover>
|
|
</h3>
|
|
</h3>
|
|
<div class="message-list">
|
|
<div class="message-list">
|
|
- <div class="message-item">
|
|
|
|
- <span><i class="el-icon-warning"></i></span>
|
|
|
|
- <span>2020-7-1 08:23</span>
|
|
|
|
- <span
|
|
|
|
- >张三(证件号:1001001)陌生人入境,系统已提示李四(账号:lisi)进行人工干预</span
|
|
|
|
- >
|
|
|
|
- </div>
|
|
|
|
- <div class="message-item">
|
|
|
|
|
|
+ <div class="message-item" v-for="item in messages" :key="item.id">
|
|
<span><i class="el-icon-warning"></i></span>
|
|
<span><i class="el-icon-warning"></i></span>
|
|
- <span>2020-7-1 08:23</span>
|
|
|
|
|
|
+ <span>{{ item.createdTime }}</span>
|
|
<span
|
|
<span
|
|
- >张三(证件号:1001001)陌生人入境,系统已提示李四(账号:lisi)进行人工干预</span
|
|
|
|
|
|
+ >{{ item.name }}(证件号:{{
|
|
|
|
+ item.identity
|
|
|
|
+ }})陌生人入境,系统已提示{{ item.actionName }}(账号:{{
|
|
|
|
+ item.actionAccount
|
|
|
|
+ }})进行人工干预</span
|
|
>
|
|
>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
@@ -213,145 +248,47 @@
|
|
<script>
|
|
<script>
|
|
import EchartRender from "../common/EchartRender";
|
|
import EchartRender from "../common/EchartRender";
|
|
import InvigilationStudent from "../common/InvigilationStudent";
|
|
import InvigilationStudent from "../common/InvigilationStudent";
|
|
|
|
+import {
|
|
|
|
+ examInvigilationCount,
|
|
|
|
+ examInvigilationWarnDistribution,
|
|
|
|
+ examInvigilationWarnTrend,
|
|
|
|
+ examInvigilationVideoRandomList,
|
|
|
|
+ examInvigilationWarnMessage,
|
|
|
|
+} from "@/api/invigilation";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "exam-invigilation",
|
|
name: "exam-invigilation",
|
|
components: { EchartRender, InvigilationStudent },
|
|
components: { EchartRender, InvigilationStudent },
|
|
data() {
|
|
data() {
|
|
return {
|
|
return {
|
|
|
|
+ monitorCount: {
|
|
|
|
+ onlineCount: 0,
|
|
|
|
+ waitingCount: 0,
|
|
|
|
+ examingCount: 0,
|
|
|
|
+ exceptionCount: 0,
|
|
|
|
+ warnCount: 0,
|
|
|
|
+ exceptionCountChange: false,
|
|
|
|
+ warnCountChange: false,
|
|
|
|
+ },
|
|
onlineData: {
|
|
onlineData: {
|
|
- dataList: [
|
|
|
|
- {
|
|
|
|
- name: "数学学院",
|
|
|
|
- count: 500,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "物理学院",
|
|
|
|
- count: 700,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "计算机学院",
|
|
|
|
- count: 300,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "外语学院",
|
|
|
|
- count: 400,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ dataList: [],
|
|
type: "light", // light or dark
|
|
type: "light", // light or dark
|
|
},
|
|
},
|
|
orgWarningData: {
|
|
orgWarningData: {
|
|
- dataList: [
|
|
|
|
- {
|
|
|
|
- name: "数学学院",
|
|
|
|
- count: 50,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "物理学院",
|
|
|
|
- count: 5,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "计算机学院",
|
|
|
|
- count: 20,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "外语学院",
|
|
|
|
- count: 25,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ dataList: [],
|
|
type: "light",
|
|
type: "light",
|
|
},
|
|
},
|
|
typeWarningData: {
|
|
typeWarningData: {
|
|
- dataList: [
|
|
|
|
- {
|
|
|
|
- name: "频繁离开座位",
|
|
|
|
- count: 50,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "身份验证不通过",
|
|
|
|
- count: 5,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "陌生人入境",
|
|
|
|
- count: 20,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "疑似:开启虚拟摄像头",
|
|
|
|
- count: 25,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ dataList: [],
|
|
type: "light",
|
|
type: "light",
|
|
},
|
|
},
|
|
warningTrendData: {
|
|
warningTrendData: {
|
|
- dataList: [
|
|
|
|
- {
|
|
|
|
- name: "8:00",
|
|
|
|
- count: 13,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "9:00",
|
|
|
|
- count: 16,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "10:00",
|
|
|
|
- count: 20,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "11:00",
|
|
|
|
- count: 16,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "12:00",
|
|
|
|
- count: 10,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "13:00",
|
|
|
|
- count: 16,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "14:00",
|
|
|
|
- count: 25,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "15:00",
|
|
|
|
- count: 30,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "16:00",
|
|
|
|
- count: 22,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "17:00",
|
|
|
|
- count: 15,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "18:00",
|
|
|
|
- count: 12,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "19:00",
|
|
|
|
- count: 20,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ dataList: [],
|
|
type: "light",
|
|
type: "light",
|
|
},
|
|
},
|
|
- chartDataReady: false,
|
|
|
|
- students: [
|
|
|
|
- {
|
|
|
|
- name: "刘西西",
|
|
|
|
- identity: "000000000000000008",
|
|
|
|
- progress: "52%",
|
|
|
|
- warning: false,
|
|
|
|
- netbreak: true,
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: "刘西西",
|
|
|
|
- identity: "000000000000000008",
|
|
|
|
- progress: "52%",
|
|
|
|
- warning: true,
|
|
|
|
- netbreak: false,
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ setT: null,
|
|
|
|
+ students: [],
|
|
|
|
+ messages: [],
|
|
};
|
|
};
|
|
},
|
|
},
|
|
computed: {
|
|
computed: {
|
|
@@ -365,9 +302,82 @@ export default {
|
|
},
|
|
},
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
- this.chartDataReady = true;
|
|
|
|
|
|
+ this.initData();
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
|
|
+ async initData() {
|
|
|
|
+ if (this.setT) clearTimeout(this.setT);
|
|
|
|
+
|
|
|
|
+ const fetchAll = [
|
|
|
|
+ this.getCount(),
|
|
|
|
+ this.getWarnDistribution(),
|
|
|
|
+ this.getWarnTrend(),
|
|
|
|
+ ];
|
|
|
|
+ await Promise.all(fetchAll).catch(() => {});
|
|
|
|
+
|
|
|
|
+ this.fullScreenChange(this.checkDocIsFullscreen());
|
|
|
|
+
|
|
|
|
+ // this.getVideoList();
|
|
|
|
+
|
|
|
|
+ this.setT = setTimeout(() => {
|
|
|
|
+ this.initData();
|
|
|
|
+ }, 10 * 1000);
|
|
|
|
+ },
|
|
|
|
+ async getCount() {
|
|
|
|
+ const res = await examInvigilationCount();
|
|
|
|
+ const data = res.data.data;
|
|
|
|
+ this.monitorCount = {
|
|
|
|
+ onlineCount: data.onlineCount,
|
|
|
|
+ waitingCount: data.waitingCount,
|
|
|
|
+ examingCount: data.examingCount,
|
|
|
|
+ exceptionCount: data.exceptionCount,
|
|
|
|
+ warnCount: data.warnCount,
|
|
|
|
+ exceptionCountChange:
|
|
|
|
+ data.exceptionCount - this.monitorCount.exceptionCount,
|
|
|
|
+ warnCountChange: data.warnCount - this.monitorCount.warnCount,
|
|
|
|
+ };
|
|
|
|
+ this.onlineData.dataList = data.orgExamingCount.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ name: item.orgName,
|
|
|
|
+ count: item.count * 1,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ async getWarnDistribution() {
|
|
|
|
+ const res = await examInvigilationWarnDistribution();
|
|
|
|
+ const data = res.data.data;
|
|
|
|
+ this.orgWarningData.dataList = data.orgDistribution.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ name: item.orgName,
|
|
|
|
+ count: item.count,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ this.typeWarningData.dataList = data.typeDistribution.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ name: item.type,
|
|
|
|
+ count: item.count * 1,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ async getWarnTrend() {
|
|
|
|
+ const res = await examInvigilationWarnTrend();
|
|
|
|
+ this.warningTrendData.dataList = res.data.data.map((item) => {
|
|
|
|
+ return {
|
|
|
|
+ name: item.hour,
|
|
|
|
+ count: item.count * 1,
|
|
|
|
+ };
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ async getVideoList() {
|
|
|
|
+ const res = await examInvigilationVideoRandomList({ randomNum: 4 });
|
|
|
|
+ this.students = res.data.data;
|
|
|
|
+ },
|
|
|
|
+ async getMessageList() {
|
|
|
|
+ const res = await examInvigilationWarnMessage();
|
|
|
|
+ this.messages = res.data.data;
|
|
|
|
+ // TODO:
|
|
|
|
+ },
|
|
|
|
+ // fullscreen
|
|
exitFullscreen() {
|
|
exitFullscreen() {
|
|
const exitFullscreen =
|
|
const exitFullscreen =
|
|
document.exitFullscreen ||
|
|
document.exitFullscreen ||
|
|
@@ -385,17 +395,16 @@ export default {
|
|
);
|
|
);
|
|
},
|
|
},
|
|
fullScreenChange(isFullScreen) {
|
|
fullScreenChange(isFullScreen) {
|
|
- this.chartDataReady = false;
|
|
|
|
- this.$nextTick(() => {
|
|
|
|
- const colorType = isFullScreen ? "dark" : "light";
|
|
|
|
- this.onlineData.type = colorType;
|
|
|
|
- this.orgWarningData.type = colorType;
|
|
|
|
- this.typeWarningData.type = colorType;
|
|
|
|
- this.warningTrendData.type = colorType;
|
|
|
|
- this.chartDataReady = true;
|
|
|
|
- });
|
|
|
|
|
|
+ const colorType = isFullScreen ? "dark" : "light";
|
|
|
|
+ this.onlineData.type = colorType;
|
|
|
|
+ this.orgWarningData.type = colorType;
|
|
|
|
+ this.typeWarningData.type = colorType;
|
|
|
|
+ this.warningTrendData.type = colorType;
|
|
},
|
|
},
|
|
},
|
|
},
|
|
|
|
+ beforeDestroy() {
|
|
|
|
+ if (this.setT) clearTimeout(this.setT);
|
|
|
|
+ },
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|
|
|
|
|
|
@@ -403,6 +412,7 @@ export default {
|
|
.exam-invigilation {
|
|
.exam-invigilation {
|
|
position: relative;
|
|
position: relative;
|
|
padding-right: 310px;
|
|
padding-right: 310px;
|
|
|
|
+ min-width: 1250px;
|
|
.part-box-head-right {
|
|
.part-box-head-right {
|
|
display: none;
|
|
display: none;
|
|
}
|
|
}
|
|
@@ -443,6 +453,7 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.invigilation-analysis {
|
|
.invigilation-analysis {
|
|
|
|
+ min-width: 940px;
|
|
.part-box-head-left h1 {
|
|
.part-box-head-left h1 {
|
|
line-height: 25px;
|
|
line-height: 25px;
|
|
}
|
|
}
|
|
@@ -457,6 +468,7 @@ export default {
|
|
width: 20%;
|
|
width: 20%;
|
|
padding: 0 10px;
|
|
padding: 0 10px;
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
|
|
+ color: #202b4b;
|
|
|
|
|
|
h5 {
|
|
h5 {
|
|
font-size: 14px;
|
|
font-size: 14px;
|
|
@@ -468,9 +480,11 @@ export default {
|
|
font-size: 32px;
|
|
font-size: 32px;
|
|
line-height: 51px;
|
|
line-height: 51px;
|
|
font-weight: 600;
|
|
font-weight: 600;
|
|
- color: #202b4b;
|
|
|
|
margin: 0;
|
|
margin: 0;
|
|
}
|
|
}
|
|
|
|
+ .icon {
|
|
|
|
+ margin-top: -4px;
|
|
|
|
+ }
|
|
|
|
|
|
&:first-child {
|
|
&:first-child {
|
|
.part-box {
|
|
.part-box {
|