4c4f7640
梁保满
路由表,路由前端文件
|
1
|
<template>
|
bb778c90
阿宝
设备状态
|
2
3
4
5
6
|
<div>
<back-box>
<template slot="title">
<span>设备管理</span>
</template>
|
db11048f
阿宝
设备状态,学校管理
|
7
|
<template slot="btns" v-if="type == 1 && school !== '长水'">
|
bb778c90
阿宝
设备状态
|
8
9
10
11
12
13
14
|
<el-tooltip effect="dark" content="设备导入" placement="bottom">
<el-button
type="primary"
icon="el-icon-upload2"
size="mini"
plain
circle
|
db11048f
阿宝
设备状态,学校管理
|
15
|
@click="diaUp = true"
|
bb778c90
阿宝
设备状态
|
16
17
18
19
20
21
22
23
24
|
></el-button>
</el-tooltip>
<el-tooltip effect="dark" content="添加基站" placement="bottom">
<el-button
type="primary"
icon="el-icon-receiving"
size="mini"
plain
circle
|
db11048f
阿宝
设备状态,学校管理
|
25
|
@click="diaAnswerEqu = true"
|
bb778c90
阿宝
设备状态
|
26
27
28
29
|
></el-button>
</el-tooltip>
</template>
</back-box>
|
db11048f
阿宝
设备状态,学校管理
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
<div class="page-content">
<div class="tab-box">
<el-radio-group v-model="type">
<el-radio-button :label="1">基站管理</el-radio-button>
<el-radio-button :label="2">答题器管理</el-radio-button>
<el-radio-button :label="3">授课端管理</el-radio-button>
</el-radio-group>
</div>
<div class="content">
<div v-if="type == 1">
<div class="chart-box">
<div class="device-num">
<p class="p1">{{ total }}</p>
<p class="p2">基站数量</p>
</div>
<div class="chart">
<pie-chart
id="pieChart"
:params="chartData"
@clickPieChart="clickPieChart"
></pie-chart>
</div>
</div>
<div class="table-box">
<div class="answer-header">
<div class="sel-box">
<el-cascader
class="sel"
collapse-tags
clearable
placeholder="选择班级"
v-model="query.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
62
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
63
64
|
:props="props"
:show-all-levels="false"
|
db11048f
阿宝
设备状态,学校管理
|
65
66
67
|
></el-cascader>
<el-select
class="sel"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
68
|
v-model="query.onlineStatus"
|
db11048f
阿宝
设备状态,学校管理
|
69
|
placeholder="选择状态"
|
b21d90ef
梁保满
长水登录
|
70
|
@change="_QueryData(true)"
|
db11048f
阿宝
设备状态,学校管理
|
71
72
73
74
75
76
77
78
79
80
81
82
|
>
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-input
type="number"
placeholder="请输入设备编码"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
83
|
v-model="query.sn"
|
db11048f
阿宝
设备状态,学校管理
|
84
85
86
87
88
89
90
91
92
|
class="input-with-select"
@keyup.enter.native="_QueryData(true)"
>
<el-button
slot="append"
icon="el-icon-search"
@click="_QueryData(true)"
></el-button>
</el-input>
|
b21d90ef
梁保满
长水登录
|
93
94
95
96
97
98
|
<el-button
class="serach-box"
round
@click="_QueryData(true)"
>筛选</el-button
>
|
db11048f
阿宝
设备状态,学校管理
|
99
100
101
102
|
</div>
</div>
<el-table :data="tableData" border style="width: 100%">
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
103
|
prop="deviceId"
|
db11048f
阿宝
设备状态,学校管理
|
104
105
106
107
|
label="设备编码"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
108
|
prop="frequency"
|
db11048f
阿宝
设备状态,学校管理
|
109
110
111
112
|
label="频点"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
113
|
prop="pairingCode"
|
db11048f
阿宝
设备状态,学校管理
|
114
115
116
117
|
label="配对码"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
118
|
prop="roomName"
|
db11048f
阿宝
设备状态,学校管理
|
119
120
121
|
label="所在教室"
align="center"
></el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
122
123
124
125
126
127
128
|
<el-table-column label="关联班级" align="center">
<template slot-scope="scoped">
<p v-for="item in scoped.row.classList" :key="item.classId">
{{ item.className }}
</p>
</template>
</el-table-column>
|
db11048f
阿宝
设备状态,学校管理
|
129
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
130
131
|
prop="otaVersionNumber"
label="固件版本号"
|
db11048f
阿宝
设备状态,学校管理
|
132
133
134
|
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
135
136
|
prop="latestReportTime"
label="最近上报"
|
db11048f
阿宝
设备状态,学校管理
|
137
138
|
align="center"
></el-table-column>
|
db11048f
阿宝
设备状态,学校管理
|
139
140
141
142
143
|
<el-table-column label="状态" align="center"
><template slot-scope="scope">
{{
scope.row.status == 1
? "在线"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
144
|
: scope.row.status == 0
|
db11048f
阿宝
设备状态,学校管理
|
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
? "离线"
: "异常"
}}
</template></el-table-column
>
<el-table-column label="操作" align="center"
><template slot-scope="scoped">
<el-tooltip effect="dark" content="修改基站" placement="top">
<el-button
type="primary"
circle
size="mini"
icon="fa fa-edit"
@click="edit(scoped.row)"
></el-button>
</el-tooltip>
<el-tooltip effect="dark" content="日志" placement="top">
<el-button
type="warning"
circle
size="mini"
icon="fa fa-eye"
@click="linkTo(scoped.row, 1)"
></el-button>
</el-tooltip> </template
></el-table-column>
</el-table>
</div>
</div>
<div v-if="type == 2">
<div class="chart-box">
<div class="device-num">
<p class="p1">{{ total }}</p>
<p class="p2">答题器数量</p>
</div>
<div class="chart">
<scatter-chart
id="scatterChart"
:params="chartData2"
@clickScatterChart="clickScatterChart"
></scatter-chart>
</div>
</div>
<div class="table-box">
<div class="answer-header">
<div class="sel-box">
<el-cascader
class="sel"
collapse-tags
clearable
placeholder="选择班级"
v-model="query.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
197
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
198
199
|
:props="props"
:show-all-levels="false"
|
db11048f
阿宝
设备状态,学校管理
|
200
201
202
|
></el-cascader>
<el-select
class="sel"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
203
|
v-model="query.type"
|
db11048f
阿宝
设备状态,学校管理
|
204
|
placeholder="选择状态"
|
b21d90ef
梁保满
长水登录
|
205
|
@change="_QueryData(true)"
|
db11048f
阿宝
设备状态,学校管理
|
206
207
|
>
<el-option
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
208
|
v-for="item in typeList"
|
db11048f
阿宝
设备状态,学校管理
|
209
210
211
212
213
214
215
216
217
|
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-input
type="number"
placeholder="请输入设备编码"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
218
|
v-model="query.sn"
|
db11048f
阿宝
设备状态,学校管理
|
219
220
221
222
223
224
225
226
227
|
class="input-with-select"
@keyup.enter.native="_QueryData(true)"
>
<el-button
slot="append"
icon="el-icon-search"
@click="_QueryData(true)"
></el-button>
</el-input>
|
b21d90ef
梁保满
长水登录
|
228
229
230
231
232
233
|
<el-button
class="serach-box"
round
@click="_QueryData(true)"
>筛选</el-button
>ƒ
|
db11048f
阿宝
设备状态,学校管理
|
234
235
236
237
|
</div>
</div>
<el-table :data="tableData" border style="width: 100%">
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
238
|
prop="deviceId"
|
db11048f
阿宝
设备状态,学校管理
|
239
240
241
|
label="设备编码"
align="center"
></el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
242
243
244
245
246
247
248
249
250
251
|
<el-table-column label="学生信息" align="center"
><template slot-scope="scoped"
><p
v-for="item in scoped.row.studentList"
:key="item.studentId"
>
{{ item.studentName }}
</p></template
></el-table-column
>
|
db11048f
阿宝
设备状态,学校管理
|
252
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
253
|
prop="electricity"
|
db11048f
阿宝
设备状态,学校管理
|
254
255
256
|
label="电量"
align="center"
></el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
257
258
259
260
261
262
263
|
<el-table-column prop="class" label="关联班级" align="center">
<template slot-scope="scoped">
<p v-for="item in scoped.row.classList" :key="item.classId">
{{ item.className }}
</p>
</template></el-table-column
>
|
db11048f
阿宝
设备状态,学校管理
|
264
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
265
|
prop="pairingCode"
|
db11048f
阿宝
设备状态,学校管理
|
266
267
268
269
|
label="配对码"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
270
|
prop="answerTimes"
|
db11048f
阿宝
设备状态,学校管理
|
271
272
273
274
|
label="答题次数"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
275
|
prop="latestReportTime"
|
db11048f
阿宝
设备状态,学校管理
|
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
|
label="最后答题时间"
align="center"
></el-table-column>
<el-table-column label="操作" align="center"
><template slot-scope="scoped">
<el-tooltip effect="dark" content="日志" placement="top">
<el-button
type="warning"
circle
size="mini"
icon="fa fa-eye"
@click="linkTo(scoped.row, 2)"
></el-button>
</el-tooltip> </template
></el-table-column>
</el-table>
</div>
</div>
<div v-if="type == 3">
<div class="table-box">
<div class="answer-header">
<div class="sel-box">
<el-cascader
class="sel"
collapse-tags
clearable
placeholder="选择班级"
v-model="query.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
304
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
305
306
307
308
|
:props="props"
:show-all-levels="false"
@change="_QueryData(false)"
></el-cascader>
|
e5ff81a1
阿宝
集团管理员接口
|
309
310
311
|
<span class="sel"
>共选择{{ selectionTabIds.length }}个授课端</span
>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
312
|
<el-button plan round @click="autoUpDate(false)"
|
db11048f
阿宝
设备状态,学校管理
|
313
314
|
>开启自动更新</el-button
>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
315
|
<el-button plan round @click="stopUpdate(false)"
|
db11048f
阿宝
设备状态,学校管理
|
316
317
318
319
320
321
322
323
324
325
326
|
>停止自动更新</el-button
>
</div>
</div>
<el-table
:data="tableData"
border
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
327
328
329
330
331
332
333
|
<el-table-column prop="class" label="关联班级" align="center"
><template slot-scope="scoped">
<p v-for="item in scoped.row.classList" :key="item.classId">
{{ item.className }}
</p>
</template></el-table-column
>
|
db11048f
阿宝
设备状态,学校管理
|
334
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
335
|
prop="lastUpdateTime"
|
db11048f
阿宝
设备状态,学校管理
|
336
337
338
339
|
label="最近更新"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
340
|
prop="osInfo"
|
db11048f
阿宝
设备状态,学校管理
|
341
342
343
344
|
label="软件系统"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
345
|
prop="hardwareInfo"
|
db11048f
阿宝
设备状态,学校管理
|
346
347
348
349
|
label="硬件环境"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
350
|
prop="otaVersionNumber"
|
db11048f
阿宝
设备状态,学校管理
|
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
|
label="版本号"
align="center"
></el-table-column>
<el-table-column label="状态" align="center"
><template slot-scope="scope">
{{
scope.row.status == 1
? "在线"
: scope.row.status == 2
? "离线"
: "异常"
}}
</template></el-table-column
>
<el-table-column label="自动更新" align="center"
><template slot-scope="scoped">
<el-switch
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
368
|
v-model="scoped.row.upgradeFlag"
|
db11048f
阿宝
设备状态,学校管理
|
369
370
371
372
373
374
375
|
@change="changeUpdate($event, scoped.row, this)"
>
</el-switch> </template
></el-table-column>
</el-table>
</div>
</div>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
376
377
378
379
380
381
382
383
384
385
386
387
|
<div class="pagination-box">
<el-pagination
small=""
layout="total,prev, pager, next"
:hide-on-single-page="true"
:total="total"
@current-change="changePage"
:current-page="page"
:page-size="size"
>
</el-pagination>
</div>
|
db11048f
阿宝
设备状态,学校管理
|
388
389
390
391
392
393
|
</div>
</div>
<el-dialog title="设备导入" :visible.sync="diaUp" width="400">
<up-load id="downDevice" :url="url" fileName="设备信息">
<p class="down-txt" slot="down">
通过Excel名单导入设备,需要提供设备编码,点击
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
394
|
<el-link type="danger" @click="downExcel">模板下载</el-link> 。
|
db11048f
阿宝
设备状态,学校管理
|
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
|
</p>
</up-load>
<div class="dialog-footer" slot="footer">
<el-button @click="diaUp = false">取 消</el-button>
</div>
</el-dialog>
<el-dialog title="添加答题器" :visible.sync="diaAnswerEqu" width="400">
<el-form ref="forms" :model="form" :rules="formRules" label-width="140px">
<el-form-item label="设备编码:" prop="number">
<el-col :span="10"
><el-input
type="text"
placeholder="输入设备编码"
v-model.trim="form.number"
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
416
|
<el-form-item label="频点:" prop="frequency">
|
db11048f
阿宝
设备状态,学校管理
|
417
418
419
420
|
<el-col :span="10"
><el-input
type="text"
placeholder="输入频点"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
421
|
v-model.trim="form.frequency"
|
db11048f
阿宝
设备状态,学校管理
|
422
423
424
425
426
427
428
|
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
429
|
<el-form-item label="配对码:" prop="pairingCode">
|
db11048f
阿宝
设备状态,学校管理
|
430
431
432
433
|
<el-col :span="10"
><el-input
type="text"
placeholder="输入配对码"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
434
|
v-model.trim="form.pairingCode"
|
db11048f
阿宝
设备状态,学校管理
|
435
436
437
438
439
440
441
442
443
444
445
446
|
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
<el-form-item label="选择班级:" prop="classId">
<el-col :span="10">
<el-cascader
clearable
v-model="form.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
447
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
448
449
450
451
452
453
454
455
456
457
|
:props="{ expandTrigger: 'hover' }"
:show-all-levels="false"
></el-cascader>
</el-col>
</el-form-item>
<el-form-item label="所在教室:">
<el-col :span="10"
><el-input
type="text"
placeholder="输入所在教室"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
458
|
v-model.trim="form.roomName"
|
db11048f
阿宝
设备状态,学校管理
|
459
460
461
462
463
464
465
466
467
468
469
470
471
|
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
</el-form>
<div class="dialog-footer" slot="footer">
<el-button type="primary" @click="addAnswerEqu">确 定</el-button>
<el-button @click="diaAnswerEqu = false">取 消</el-button>
</div>
</el-dialog>
|
bb778c90
阿宝
设备状态
|
472
|
</div>
|
4c4f7640
梁保满
路由表,路由前端文件
|
473
474
475
|
</template>
<script>
|
db11048f
阿宝
设备状态,学校管理
|
476
477
478
479
480
481
|
import pieChart from "@/components/charts/pieChart";
import scatterChart from "@/components/charts/scatterChart";
import _ from "lodash";
import { downloadFile, formatClass } from "@/utils";
export default {
components: { pieChart, scatterChart },
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
|
watch: {
type: function (val) {
this.page = 1;
this.total = 0;
this.query.classId = [];
this.query.onlineStatus = "";
this.query.sn = "";
this.query.type = "";
if (val == 1) {
this.stationReport();
} else if (val == 2) {
this.keyboardReport();
}
this._QueryData();
},
},
|
db11048f
阿宝
设备状态,学校管理
|
498
499
|
data() {
return {
|
e5ff81a1
阿宝
集团管理员接口
|
500
|
role: "",
|
db11048f
阿宝
设备状态,学校管理
|
501
502
503
504
505
|
school: "",
loading: false,
url: "/web/upLoadDevice",
diaUp: false,
diaAnswerEqu: false,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
506
507
|
gradeList: [],
gradeListAll: [],
|
db11048f
阿宝
设备状态,学校管理
|
508
509
510
511
|
props: { multiple: true, checkStrictly: false },
type: 1,
query: {
classId: [],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
512
513
514
|
onlineStatus: "",
sn: "",
type: "",
|
db11048f
阿宝
设备状态,学校管理
|
515
516
|
},
statusList: [
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
517
|
{ label: "离线", value: 0 },
|
db11048f
阿宝
设备状态,学校管理
|
518
|
{ label: "在线", value: 1 },
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
519
520
521
522
523
524
525
526
527
528
|
{ label: "异常", value: 2 },
],
typeList: [
{ label: "全部", value: 0 },
{ label: "1日内", value: 1 },
{ label: "3日内", value: 2 },
{ label: "7日内", value: 3 },
{ label: "1月内", value: 4 },
{ label: "3月内", value: 5 },
{ label: "3月以上", value: 6 },
|
db11048f
阿宝
设备状态,学校管理
|
529
530
531
|
],
form: {
number: "",
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
532
533
|
frequency: "",
pairingCode: "",
|
db11048f
阿宝
设备状态,学校管理
|
534
|
classId: "",
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
535
|
roomName: "",
|
db11048f
阿宝
设备状态,学校管理
|
536
537
538
539
540
|
},
formRules: {
number: [
{ required: true, message: "请输入设备编码", trigger: "blur" },
],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
541
542
543
544
|
frequency: [{ required: true, message: "请输入频点", trigger: "blur" }],
pairingCode: [
{ required: true, message: "请输入配对码", trigger: "blur" },
],
|
db11048f
阿宝
设备状态,学校管理
|
545
546
|
classId: [{ required: true, message: "请选择班级", trigger: "blur" }],
},
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
547
548
549
550
|
tableData: [],
total: 0,
chartData: [],
chartData2: [],
|
db11048f
阿宝
设备状态,学校管理
|
551
|
selectionTabIds: [],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
552
553
|
page: 1,
size: 20,
|
db11048f
阿宝
设备状态,学校管理
|
554
555
556
|
};
},
created() {
|
e5ff81a1
阿宝
集团管理员接口
|
557
558
559
560
561
562
563
|
let role = "";
this.$store.getters.info.permissions.map((item) => {
if (item.roleName == this.$store.getters.info.showRoleName) {
role = item.role;
}
});
this.role = role ? role : this.$store.getters.info.permissions[0].role;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
564
565
566
|
this.stationReport();
this._QueryGradeList();
this._QueryData();
|
db11048f
阿宝
设备状态,学校管理
|
567
568
569
570
571
572
573
574
575
576
577
578
579
|
},
methods: {
edit() {},
linkTo(obj, type) {
this.$router.push({
path: "/deviceLog",
query: {
id: obj.id,
type: type,
},
});
},
clickPieChart(obj) {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
580
581
582
583
|
this.query.onlineStatus =
obj.name == "在线" ? 1 : obj.name == "离线" ? 0 : 2;
this.query.sn = "";
this.page = 1;
|
b21d90ef
梁保满
长水登录
|
584
|
this._QueryData(false);
|
db11048f
阿宝
设备状态,学校管理
|
585
586
|
},
clickScatterChart(obj) {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
587
588
589
590
591
592
593
594
595
596
597
598
599
600
|
this.query.type =
obj.name == "1日内"
? 1
: obj.name == "3日内"
? 2
: obj.name == "7日内"
? 3
: obj.name == "1月内"
? 4
: obj.name == "3月内"
? 5
: 6;
this.query.sn = "";
this.page = 1;
|
b21d90ef
梁保满
长水登录
|
601
|
this._QueryData(false);
|
db11048f
阿宝
设备状态,学校管理
|
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
|
},
handleSelectionChange(val) {
console.log(val);
this.selectionTabIds = val.map((item) => {
return item.id;
});
},
changeUpdate: _.debounce(function (event, obj) {
console.log(this);
if (event) {
this.autoUpDate(obj.id);
} else {
this.stopUpdate(obj.id);
}
}, 800),
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
617
618
|
changePage(page) {
this.page = page;
|
b21d90ef
梁保满
长水登录
|
619
|
this._QueryData(false);
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
620
|
},
|
db11048f
阿宝
设备状态,学校管理
|
621
622
623
624
625
626
627
|
async autoUpDate(id) {
if (!this.selectionTabIds.length && !id) {
this.$message.warning("请选择授课端~");
return;
}
if (this.loadingUpDate) return;
this.loadingUpDate = true;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
628
|
let data = await this.$request.modifyUpgradeFlag({
|
dd5150c5
阿宝
数据同步
|
629
|
deviceIds: id ? [id] : this.selectionTabIds,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
630
|
upgradeFlag: 1,
|
db11048f
阿宝
设备状态,学校管理
|
631
632
633
634
|
});
this.loadingUpDate = false;
if (data && !data.code) {
this._QueryData(false);
|
e5ff81a1
阿宝
集团管理员接口
|
635
|
this.selectionTabIds = [];
|
db11048f
阿宝
设备状态,学校管理
|
636
637
638
639
640
641
642
643
644
645
646
647
|
this.$message.success("开启自动更新成功");
} else {
this.$message.error(data.message);
}
},
async stopUpdate(id) {
if (!this.selectionTabIds.length && !id) {
this.$message.warning("请选择授课端~");
return;
}
if (this.loadingUpDate) return;
this.loadingUpDate = true;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
648
|
let data = await this.$request.modifyUpgradeFlag({
|
dd5150c5
阿宝
数据同步
|
649
|
deviceIds: id ? [id] : this.selectionTabIds,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
650
|
upgradeFlag: 0,
|
db11048f
阿宝
设备状态,学校管理
|
651
652
653
|
});
this.loadingUpDate = false;
if (data && !data.code) {
|
e5ff81a1
阿宝
集团管理员接口
|
654
|
this.selectionTabIds = [];
|
db11048f
阿宝
设备状态,学校管理
|
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
|
this._QueryData(false);
this.$message.success("关闭自动更新成功");
} else {
this.$message.error(data.message);
}
},
async downExcel() {
let data = await this.$request.downDevice({
id: this.id,
});
if (data && !data.code) {
let blob = new Blob([data], {
type: "application/vnd.ms-excel;charset=utf-8",
});
downloadFile(`设备信息.xlsx`, blob);
} else {
this.$message.error(data.message);
}
},
// 添加设备
async addAnswerEqu() {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
677
678
679
680
681
682
683
684
685
686
|
if (this.loadingAnswerEqu) return;
this.loadingAnswerEqu = true;
const { data, status, info } = await this.$request.fetchgradeList();
this.loadingAnswerEqu = false;
console.log(status);
if (status === 0) {
this._QueryData();
} else {
this.$message.error(info);
}
|
db11048f
阿宝
设备状态,学校管理
|
687
688
|
},
// 查找班级
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
689
690
|
async _QueryGradeList() {
this.loading = true;
|
e5ff81a1
阿宝
集团管理员接口
|
691
692
693
694
695
|
const gradeList =
this.role != "ROLE_JITUAN"
? this.$request.gradeList
: this.$request.regionList;
const { data, status, info } = await gradeList();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
696
697
698
|
console.log(status);
if (status === 0) {
if (!!data.list) {
|
e5ff81a1
阿宝
集团管理员接口
|
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
|
if (this.role != "ROLE_JITUAN") {
this.gradeList =
data.list?.map((item) => {
let gradeList = {
value: item.grade,
label: item.gradeName,
};
gradeList.children =
item.classList?.map((items) => {
return {
value: items.classCode,
label: items.className,
};
}) || [];
return gradeList;
}) || [];
} else {
this.gradeList =
data.list?.map((item) => {
let gradeList = {
value: item.id,
label: item.regionName,
};
gradeList.children =
item.schoolList?.map((items) => {
return {
value: items.id,
label: items.schoolName,
};
}) || [];
return gradeList;
}) || [];
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
732
733
734
735
736
737
738
|
}
} else {
this.$message.error(info);
}
},
// 基站统计数据
async stationReport() {
|
e5ff81a1
阿宝
集团管理员接口
|
739
740
741
742
743
|
const stationReport =
this.role != "ROLE_JITUAN"
? this.$request.stationReport
: this.$request.tenantStationReport;
const { data, status, info } = await stationReport();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
744
745
746
747
748
|
if (status === 0) {
this.chartData =
data.list?.map((item) => {
return {
name:
|
e5ff81a1
阿宝
集团管理员接口
|
749
750
751
752
753
|
item.onlineStatus == "1"
? "在线"
: item.onlineStatus == 0
? "离线"
: "异常",
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
754
755
756
757
758
759
760
761
762
763
764
|
value: item.rate,
count: item.count,
};
}) || [];
this.total = data.total || 0;
} else {
this.$message.error(info);
}
},
// 答题器统计数据
async keyboardReport() {
|
e5ff81a1
阿宝
集团管理员接口
|
765
766
767
768
769
|
const keyboardReport =
this.role != "ROLE_JITUAN"
? this.$request.keyboardReport
: this.$request.tenantKeyboardReport;
const { data, status, info } = await keyboardReport();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
|
if (status === 0) {
this.chartData2 =
data.list?.map((item) => {
return {
name:
item.type == 1
? "1日内"
: item.type == 2
? "3日内"
: item.type == 3
? "7日内"
: item.type == 4
? "1月内"
: item.type == 5
? "3月内"
: "3月以上",
value: item.total,
rate: item.rate,
};
}) || [];
this.total = data.total || 0;
} else {
this.$message.error(info);
}
|
db11048f
阿宝
设备状态,学校管理
|
794
795
|
},
// 设备列表信息
|
b21d90ef
梁保满
长水登录
|
796
|
async _QueryData(isRef) {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
|
this.loading = true;
let query = {};
let gradeNames = [];
let classIds = [];
this.query.classId.map((item) => {
if (!gradeNames.includes(item[0])) {
gradeNames.push(item[0]);
}
classIds.push(item[1]);
});
if (this.query.sn) {
query.sn = this.query.sn;
} else {
gradeNames.length ? (query.gradeNames = gradeNames) : "";
classIds.length ? (query.classIds = classIds) : "";
if (this.type == 1) {
this.query.onlineStatus !== ""
? (query.onlineStatus = this.query.onlineStatus)
: "";
} else if (this.type == 2) {
this.query.type !== "" ? (query.type = this.query.type) : "";
}
}
|
b21d90ef
梁保满
长水登录
|
820
821
822
|
if(isRef){
this.page= 1
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
823
|
this.loading = true;
|
e5ff81a1
阿宝
集团管理员接口
|
824
825
826
827
828
|
const deviceList =
this.role != "ROLE_JITUAN"
? this.$request.deviceList
: this.$request.tenantDeviceList;
const { data, status, info } = await deviceList({
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
829
830
831
832
833
834
|
...query,
deviceType: this.type,
page: this.page,
size: this.size,
});
this.loading = false;
|
e5ff81a1
阿宝
集团管理员接口
|
835
836
|
if (status == 0) {
this.tableData = data?.list || [];
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
837
838
839
|
} else {
this.$message.error(info);
}
|
db11048f
阿宝
设备状态,学校管理
|
840
841
842
|
},
},
};
|
4c4f7640
梁保满
路由表,路由前端文件
|
843
844
|
</script>
|
db11048f
阿宝
设备状态,学校管理
|
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
|
<style lang="scss" scoped>
.page-content {
padding: 20px 20px 0;
}
.tab-box {
margin-bottom: 12px;
}
.content {
background: #f8f8f8;
border: 1px solid #e2e2e2;
border-radius: 10px;
overflow: hidden;
:deep(.fa-edit) {
width: 12px;
height: 12px;
&::before {
margin-left: 2px;
}
}
:deep(.fa-eye) {
width: 12px;
height: 12px;
&::before {
margin-left: 1px;
}
}
.chart-box {
display: flex;
overflow: hidden;
height: 240px;
border-bottom: 0.5px solid #e2e2e2;
.device-num {
width: 280px;
border-right: 0.5px solid #e2e2e2;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.p1 {
font-size: 28px;
}
}
.chart {
flex: 1;
height: 100%;
}
}
.table-box {
padding: 20px;
.answer-header {
padding: 0;
margin-bottom: 12px;
}
}
}
|
4c4f7640
梁保满
路由表,路由前端文件
|
900
|
</style>
|