4c4f7640
梁保满
路由表,路由前端文件
|
1
|
<template>
|
bb778c90
阿宝
设备状态
|
2
3
4
5
6
|
<div>
<back-box>
<template slot="title">
<span>设备管理</span>
</template>
|
225a00b6
梁保满
飞书问题解决
|
7
8
|
<template
slot="btns"
|
d32e461c
梁保满
备题组卷
|
9
|
v-if="role != 'ROLE_JITUAN' && type == 1 && !code"
|
225a00b6
梁保满
飞书问题解决
|
10
|
>
|
d32e461c
梁保满
备题组卷
|
11
12
|
<!-- 暂未有接口 -->
<!-- <el-tooltip effect="dark" content="设备导入" placement="bottom">
|
bb778c90
阿宝
设备状态
|
13
14
15
16
17
18
|
<el-button
type="primary"
icon="el-icon-upload2"
size="mini"
plain
circle
|
db11048f
阿宝
设备状态,学校管理
|
19
|
@click="diaUp = true"
|
bb778c90
阿宝
设备状态
|
20
|
></el-button>
|
d32e461c
梁保满
备题组卷
|
21
|
</el-tooltip> -->
|
bb778c90
阿宝
设备状态
|
22
23
24
25
26
27
28
|
<el-tooltip effect="dark" content="添加基站" placement="bottom">
<el-button
type="primary"
icon="el-icon-receiving"
size="mini"
plain
circle
|
db11048f
阿宝
设备状态,学校管理
|
29
|
@click="diaAnswerEqu = true"
|
bb778c90
阿宝
设备状态
|
30
31
32
33
|
></el-button>
</el-tooltip>
</template>
</back-box>
|
db11048f
阿宝
设备状态,学校管理
|
34
35
36
37
38
39
40
41
42
|
<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">
|
8ea67428
梁保满
飞书bug
|
43
|
<div v-show="type == 1">
|
225a00b6
梁保满
飞书问题解决
|
44
|
<div class="chart-box" v-if="count">
|
db11048f
阿宝
设备状态,学校管理
|
45
|
<div class="device-num">
|
225a00b6
梁保满
飞书问题解决
|
46
|
<p class="p1">{{ count }}</p>
|
db11048f
阿宝
设备状态,学校管理
|
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
<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
|
225a00b6
梁保满
飞书问题解决
|
61
|
size="small"
|
db11048f
阿宝
设备状态,学校管理
|
62
|
class="sel"
|
db11048f
阿宝
设备状态,学校管理
|
63
64
65
|
clearable
placeholder="选择班级"
v-model="query.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
66
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
67
68
|
:props="props"
:show-all-levels="false"
|
db11048f
阿宝
设备状态,学校管理
|
69
70
71
|
></el-cascader>
<el-select
class="sel"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
72
|
v-model="query.onlineStatus"
|
db11048f
阿宝
设备状态,学校管理
|
73
|
placeholder="选择状态"
|
b21d90ef
梁保满
长水登录
|
74
|
@change="_QueryData(true)"
|
db11048f
阿宝
设备状态,学校管理
|
75
76
77
78
79
80
81
82
83
84
|
>
<el-option
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-input
|
db11048f
阿宝
设备状态,学校管理
|
85
|
placeholder="请输入设备编码"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
86
|
v-model="query.sn"
|
db11048f
阿宝
设备状态,学校管理
|
87
88
89
90
91
92
93
94
95
|
class="input-with-select"
@keyup.enter.native="_QueryData(true)"
>
<el-button
slot="append"
icon="el-icon-search"
@click="_QueryData(true)"
></el-button>
</el-input>
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
96
|
<el-button class="serach-box" round @click="_QueryData(true)"
|
b21d90ef
梁保满
长水登录
|
97
98
|
>筛选</el-button
>
|
db11048f
阿宝
设备状态,学校管理
|
99
100
101
102
|
</div>
</div>
<el-table :data="tableData" border style="width: 100%">
<el-table-column
|
6d7bd862
梁保满
飞书bug
|
103
|
prop="sn"
|
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
|
<el-table-column label="关联班级" align="center">
<template slot-scope="scoped">
|
255e2506
梁保满
飞书bug及优化
|
124
|
<p v-for="(item,index) in scoped.row.classList" :key="index">
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
125
126
127
128
|
{{ item.className }}
</p>
</template>
</el-table-column>
|
db11048f
阿宝
设备状态,学校管理
|
129
|
<el-table-column
|
6d7bd862
梁保满
飞书bug
|
130
|
prop="otaVersionName"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
131
|
label="固件版本号"
|
db11048f
阿宝
设备状态,学校管理
|
132
133
134
|
align="center"
></el-table-column>
<el-table-column
|
6d7bd862
梁保满
飞书bug
|
135
|
prop="onlineTime"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
136
|
label="最近上报"
|
db11048f
阿宝
设备状态,学校管理
|
137
138
|
align="center"
></el-table-column>
|
db11048f
阿宝
设备状态,学校管理
|
139
140
141
|
<el-table-column label="状态" align="center"
><template slot-scope="scope">
{{
|
6d7bd862
梁保满
飞书bug
|
142
|
scope.row.onlineStatus == 1
|
db11048f
阿宝
设备状态,学校管理
|
143
|
? "在线"
|
6d7bd862
梁保满
飞书bug
|
144
145
146
|
: scope.row.onlineStatus == 2
? "异常"
: "离线"
|
db11048f
阿宝
设备状态,学校管理
|
147
148
149
150
151
|
}}
</template></el-table-column
>
<el-table-column label="操作" align="center"
><template slot-scope="scoped">
|
225a00b6
梁保满
飞书问题解决
|
152
153
154
155
156
157
|
<el-tooltip
effect="dark"
v-if="role != 'ROLE_JITUAN'"
content="修改基站"
placement="top"
>
|
db11048f
阿宝
设备状态,学校管理
|
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
<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>
|
8ea67428
梁保满
飞书bug
|
179
|
<div v-show="type == 2">
|
225a00b6
梁保满
飞书问题解决
|
180
|
<div class="chart-box" v-if="count">
|
db11048f
阿宝
设备状态,学校管理
|
181
|
<div class="device-num">
|
225a00b6
梁保满
飞书问题解决
|
182
|
<p class="p1">{{ count }}</p>
|
db11048f
阿宝
设备状态,学校管理
|
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
<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
|
225a00b6
梁保满
飞书问题解决
|
197
|
size="small"
|
db11048f
阿宝
设备状态,学校管理
|
198
|
class="sel"
|
db11048f
阿宝
设备状态,学校管理
|
199
200
201
|
clearable
placeholder="选择班级"
v-model="query.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
202
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
203
204
|
:props="props"
:show-all-levels="false"
|
db11048f
阿宝
设备状态,学校管理
|
205
206
207
|
></el-cascader>
<el-select
class="sel"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
208
|
v-model="query.type"
|
db11048f
阿宝
设备状态,学校管理
|
209
|
placeholder="选择状态"
|
b21d90ef
梁保满
长水登录
|
210
|
@change="_QueryData(true)"
|
db11048f
阿宝
设备状态,学校管理
|
211
212
|
>
<el-option
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
213
|
v-for="item in typeList"
|
db11048f
阿宝
设备状态,学校管理
|
214
215
216
217
218
219
220
|
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option>
</el-select>
<el-input
|
db11048f
阿宝
设备状态,学校管理
|
221
|
placeholder="请输入设备编码"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
222
|
v-model="query.sn"
|
db11048f
阿宝
设备状态,学校管理
|
223
224
225
226
227
228
229
230
231
|
class="input-with-select"
@keyup.enter.native="_QueryData(true)"
>
<el-button
slot="append"
icon="el-icon-search"
@click="_QueryData(true)"
></el-button>
</el-input>
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
232
|
<el-button class="serach-box" round @click="_QueryData(true)"
|
b21d90ef
梁保满
长水登录
|
233
|
>筛选</el-button
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
234
|
>
|
db11048f
阿宝
设备状态,学校管理
|
235
236
237
238
|
</div>
</div>
<el-table :data="tableData" border style="width: 100%">
<el-table-column
|
6d7bd862
梁保满
飞书bug
|
239
|
prop="sn"
|
db11048f
阿宝
设备状态,学校管理
|
240
241
242
|
label="设备编码"
align="center"
></el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
243
244
245
|
<el-table-column label="学生信息" align="center"
><template slot-scope="scoped"
><p
|
6d7bd862
梁保满
飞书bug
|
246
247
|
v-for="(item, index) in scoped.row.studentList"
:key="index"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
248
249
250
251
252
|
>
{{ item.studentName }}
</p></template
></el-table-column
>
|
db11048f
阿宝
设备状态,学校管理
|
253
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
254
|
prop="electricity"
|
db11048f
阿宝
设备状态,学校管理
|
255
256
257
|
label="电量"
align="center"
></el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
258
259
|
<el-table-column prop="class" label="关联班级" align="center">
<template slot-scope="scoped">
|
6d7bd862
梁保满
飞书bug
|
260
|
<p v-for="(item, index) in scoped.row.classList" :key="index">
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
261
262
263
264
|
{{ item.className }}
</p>
</template></el-table-column
>
|
db11048f
阿宝
设备状态,学校管理
|
265
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
266
|
prop="pairingCode"
|
db11048f
阿宝
设备状态,学校管理
|
267
268
269
270
|
label="配对码"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
271
|
prop="answerTimes"
|
db11048f
阿宝
设备状态,学校管理
|
272
273
274
275
|
label="答题次数"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
276
|
prop="latestReportTime"
|
db11048f
阿宝
设备状态,学校管理
|
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
|
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>
|
8ea67428
梁保满
飞书bug
|
295
|
<div v-show="type == 3">
|
db11048f
阿宝
设备状态,学校管理
|
296
297
298
299
|
<div class="table-box">
<div class="answer-header">
<div class="sel-box">
<el-cascader
|
225a00b6
梁保满
飞书问题解决
|
300
|
size="small"
|
db11048f
阿宝
设备状态,学校管理
|
301
|
class="sel"
|
db11048f
阿宝
设备状态,学校管理
|
302
303
304
|
clearable
placeholder="选择班级"
v-model="query.classId"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
305
|
:options="gradeList"
|
db11048f
阿宝
设备状态,学校管理
|
306
307
308
309
|
:props="props"
:show-all-levels="false"
@change="_QueryData(false)"
></el-cascader>
|
e5ff81a1
阿宝
集团管理员接口
|
310
311
312
|
<span class="sel"
>共选择{{ selectionTabIds.length }}个授课端</span
>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
313
|
<el-button plan round @click="autoUpDate(false)"
|
db11048f
阿宝
设备状态,学校管理
|
314
315
|
>开启自动更新</el-button
>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
316
|
<el-button plan round @click="stopUpdate(false)"
|
db11048f
阿宝
设备状态,学校管理
|
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"
>
|
6d7bd862
梁保满
飞书bug
|
327
|
<el-table-column type="selection" width="55"></el-table-column>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
328
329
|
<el-table-column prop="class" label="关联班级" align="center"
><template slot-scope="scoped">
|
6d7bd862
梁保满
飞书bug
|
330
|
<p v-for="(item, index) in scoped.row.classList" :key="index">
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
331
332
333
334
|
{{ item.className }}
</p>
</template></el-table-column
>
|
db11048f
阿宝
设备状态,学校管理
|
335
|
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
336
|
prop="lastUpdateTime"
|
db11048f
阿宝
设备状态,学校管理
|
337
338
339
340
|
label="最近更新"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
341
|
prop="osInfo"
|
db11048f
阿宝
设备状态,学校管理
|
342
343
344
345
|
label="软件系统"
align="center"
></el-table-column>
<el-table-column
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
346
|
prop="hardwareInfo"
|
db11048f
阿宝
设备状态,学校管理
|
347
348
349
350
|
label="硬件环境"
align="center"
></el-table-column>
<el-table-column
|
255e2506
梁保满
飞书bug及优化
|
351
|
prop="otaVersionName"
|
db11048f
阿宝
设备状态,学校管理
|
352
353
354
355
356
357
|
label="版本号"
align="center"
></el-table-column>
<el-table-column label="状态" align="center"
><template slot-scope="scope">
{{
|
6d7bd862
梁保满
飞书bug
|
358
|
scope.row.onlineStatus == 1
|
db11048f
阿宝
设备状态,学校管理
|
359
|
? "在线"
|
6d7bd862
梁保满
飞书bug
|
360
361
362
|
: scope.row.onlineStatus == 2
? "异常"
: "离线"
|
db11048f
阿宝
设备状态,学校管理
|
363
364
365
366
367
368
|
}}
</template></el-table-column
>
<el-table-column label="自动更新" align="center"
><template slot-scope="scoped">
<el-switch
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
369
|
v-model="scoped.row.upgradeFlag"
|
db11048f
阿宝
设备状态,学校管理
|
370
371
372
373
374
375
376
|
@change="changeUpdate($event, scoped.row, this)"
>
</el-switch> </template
></el-table-column>
</el-table>
</div>
</div>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
377
378
379
380
381
382
383
384
385
386
387
388
|
<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
阿宝
设备状态,学校管理
|
389
390
391
|
</div>
</div>
<el-dialog title="设备导入" :visible.sync="diaUp" width="400">
|
255e2506
梁保满
飞书bug及优化
|
392
|
<up-load id="downDevice" :url="url" @upSuccess="upSuccess" fileName="设备信息">
|
db11048f
阿宝
设备状态,学校管理
|
393
394
|
<p class="down-txt" slot="down">
通过Excel名单导入设备,需要提供设备编码,点击
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
395
|
<el-link type="danger" @click="downExcel">模板下载</el-link> 。
|
db11048f
阿宝
设备状态,学校管理
|
396
397
398
399
400
401
|
</p>
</up-load>
<div class="dialog-footer" slot="footer">
<el-button @click="diaUp = false">取 消</el-button>
</div>
</el-dialog>
|
6d7bd862
梁保满
飞书bug
|
402
|
<el-dialog title="修改基站" :visible.sync="diaAnswerEqu" width="400">
|
db11048f
阿宝
设备状态,学校管理
|
403
|
<el-form ref="forms" :model="form" :rules="formRules" label-width="140px">
|
6d7bd862
梁保满
飞书bug
|
404
405
|
<el-form-item label="设备编码:" prop="deviceId">
<el-col :span="16"
|
db11048f
阿宝
设备状态,学校管理
|
406
407
408
|
><el-input
type="text"
placeholder="输入设备编码"
|
6d7bd862
梁保满
飞书bug
|
409
|
v-model.trim="form.deviceId"
|
db11048f
阿宝
设备状态,学校管理
|
410
411
412
413
414
415
416
|
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
417
|
<el-form-item label="频点:" prop="frequency">
|
6d7bd862
梁保满
飞书bug
|
418
|
<el-col :span="16"
|
db11048f
阿宝
设备状态,学校管理
|
419
420
421
|
><el-input
type="text"
placeholder="输入频点"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
422
|
v-model.trim="form.frequency"
|
db11048f
阿宝
设备状态,学校管理
|
423
424
425
426
427
428
429
|
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
430
|
<el-form-item label="配对码:" prop="pairingCode">
|
6d7bd862
梁保满
飞书bug
|
431
|
<el-col :span="16"
|
db11048f
阿宝
设备状态,学校管理
|
432
433
434
|
><el-input
type="text"
placeholder="输入配对码"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
435
|
v-model.trim="form.pairingCode"
|
db11048f
阿宝
设备状态,学校管理
|
436
437
438
439
440
441
442
|
maxlength="30"
size="45"
show-word-limit
>
</el-input
></el-col>
</el-form-item>
|
6d7bd862
梁保满
飞书bug
|
443
444
|
<el-form-item label="选择班级:" prop="classIds">
<el-col :span="16">
|
db11048f
阿宝
设备状态,学校管理
|
445
|
<el-cascader
|
6d7bd862
梁保满
飞书bug
|
446
|
class="sel"
|
db11048f
阿宝
设备状态,学校管理
|
447
|
clearable
|
6d7bd862
梁保满
飞书bug
|
448
|
v-model="form.classIds"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
449
|
:options="gradeList"
|
255e2506
梁保满
飞书bug及优化
|
450
|
:props="{ expandTrigger: 'hover', checkStrictly: true }"
|
db11048f
阿宝
设备状态,学校管理
|
451
452
453
454
455
|
:show-all-levels="false"
></el-cascader>
</el-col>
</el-form-item>
<el-form-item label="所在教室:">
|
6d7bd862
梁保满
飞书bug
|
456
|
<el-col :span="16"
|
db11048f
阿宝
设备状态,学校管理
|
457
458
459
|
><el-input
type="text"
placeholder="输入所在教室"
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
460
|
v-model.trim="form.roomName"
|
db11048f
阿宝
设备状态,学校管理
|
461
462
463
464
465
466
467
468
469
470
471
472
473
|
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
阿宝
设备状态
|
474
|
</div>
|
4c4f7640
梁保满
路由表,路由前端文件
|
475
476
477
|
</template>
<script>
|
db11048f
阿宝
设备状态,学校管理
|
478
479
480
|
import pieChart from "@/components/charts/pieChart";
import scatterChart from "@/components/charts/scatterChart";
import _ from "lodash";
|
255e2506
梁保满
飞书bug及优化
|
481
482
|
import { downloadFile, formatClass, formatGradeNameClass } from "@/utils";
import api from "@/api/apis/apis";
|
db11048f
阿宝
设备状态,学校管理
|
483
484
|
export default {
components: { pieChart, scatterChart },
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
485
486
487
488
|
watch: {
type: function (val) {
this.page = 1;
this.total = 0;
|
225a00b6
梁保满
飞书问题解决
|
489
|
this.count = 0;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
490
491
492
493
494
495
496
497
498
499
500
501
|
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
阿宝
设备状态,学校管理
|
502
503
|
data() {
return {
|
e5ff81a1
阿宝
集团管理员接口
|
504
|
role: "",
|
d32e461c
梁保满
备题组卷
|
505
|
code: "",
|
db11048f
阿宝
设备状态,学校管理
|
506
507
508
509
|
loading: false,
url: "/web/upLoadDevice",
diaUp: false,
diaAnswerEqu: false,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
510
511
|
gradeList: [],
gradeListAll: [],
|
225a00b6
梁保满
飞书问题解决
|
512
|
schoolAll: [],
|
255e2506
梁保满
飞书bug及优化
|
513
514
515
|
props: {
multiple: true,
checkStrictly: true,
|
255e2506
梁保满
飞书bug及优化
|
516
|
},
|
db11048f
阿宝
设备状态,学校管理
|
517
518
519
|
type: 1,
query: {
classId: [],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
520
521
522
|
onlineStatus: "",
sn: "",
type: "",
|
db11048f
阿宝
设备状态,学校管理
|
523
524
|
},
statusList: [
|
dbbfc6c5
梁保满
飞书优化及bug
|
525
|
{ label: "全部", value: "" },
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
526
|
{ label: "离线", value: 0 },
|
db11048f
阿宝
设备状态,学校管理
|
527
|
{ label: "在线", value: 1 },
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
528
529
530
531
532
533
534
535
536
537
|
{ 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
阿宝
设备状态,学校管理
|
538
539
|
],
form: {
|
255e2506
梁保满
飞书bug及优化
|
540
|
deviceId: "",
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
541
542
|
frequency: "",
pairingCode: "",
|
6d7bd862
梁保满
飞书bug
|
543
|
classIds: [],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
544
|
roomName: "",
|
db11048f
阿宝
设备状态,学校管理
|
545
546
|
},
formRules: {
|
6d7bd862
梁保满
飞书bug
|
547
|
deviceId: [
|
db11048f
阿宝
设备状态,学校管理
|
548
549
|
{ required: true, message: "请输入设备编码", trigger: "blur" },
],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
550
551
552
553
|
frequency: [{ required: true, message: "请输入频点", trigger: "blur" }],
pairingCode: [
{ required: true, message: "请输入配对码", trigger: "blur" },
],
|
6d7bd862
梁保满
飞书bug
|
554
|
classIds: [{ required: true, message: "请选择班级", trigger: "blur" }],
|
db11048f
阿宝
设备状态,学校管理
|
555
|
},
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
556
557
|
tableData: [],
total: 0,
|
225a00b6
梁保满
飞书问题解决
|
558
|
count: 0,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
559
560
|
chartData: [],
chartData2: [],
|
db11048f
阿宝
设备状态,学校管理
|
561
|
selectionTabIds: [],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
562
563
|
page: 1,
size: 20,
|
db11048f
阿宝
设备状态,学校管理
|
564
565
566
|
};
},
created() {
|
d32e461c
梁保满
备题组卷
|
567
|
this.code = localStorage.getItem("csCode")||""
|
e5ff81a1
阿宝
集团管理员接口
|
568
569
570
571
572
573
574
|
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;
|
255e2506
梁保满
飞书bug及优化
|
575
|
if (this.role == "ROLE_JITUAN") {
|
533a17d8
梁保满
备题组卷添加批量设置答案
|
576
|
this.props.lazy = true,
|
255e2506
梁保满
飞书bug及优化
|
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
|
this.props.lazyLoad = function (node, resolve) {
const { level } = node;
if (level == 2) {
console.log(node);
api
.tenantClassList({
schoolId: node.data.value,
})
.then((res) => {
let children = formatGradeNameClass(res.data?.list).sort(
(a, b) => {
return a.grade - b.grade;
}
);
console.log();
const nodes = [...children];
// 通过调用resolve将子节点数据返回,通知组件数据加载完成
resolve(nodes);
});
} else {
resolve(node);
}
};
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
602
603
604
|
this.stationReport();
this._QueryGradeList();
this._QueryData();
|
225a00b6
梁保满
飞书问题解决
|
605
606
607
|
if (role == "ROLE_JITUAN") {
this.showSchool();
}
|
db11048f
阿宝
设备状态,学校管理
|
608
609
|
},
methods: {
|
255e2506
梁保满
飞书bug及优化
|
610
611
612
613
|
upSuccess(){//导入成功
this.diaUp = false
this._QueryData();
},
|
6d7bd862
梁保满
飞书bug
|
614
|
edit(obj) {
|
255e2506
梁保满
飞书bug及优化
|
615
616
617
618
619
620
621
|
for (let key in this.form) {
if (key == "classIds") {
this.form[key] = obj.classList?.map((item) => {
return [item.classId];
});
} else {
this.form[key] = obj[key];
|
6d7bd862
梁保满
飞书bug
|
622
623
|
}
}
|
255e2506
梁保满
飞书bug及优化
|
624
|
this.diaAnswerEqu = true;
|
6d7bd862
梁保满
飞书bug
|
625
|
},
|
db11048f
阿宝
设备状态,学校管理
|
626
627
628
629
630
631
632
633
634
635
|
linkTo(obj, type) {
this.$router.push({
path: "/deviceLog",
query: {
id: obj.id,
type: type,
},
});
},
clickPieChart(obj) {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
636
637
638
639
|
this.query.onlineStatus =
obj.name == "在线" ? 1 : obj.name == "离线" ? 0 : 2;
this.query.sn = "";
this.page = 1;
|
b21d90ef
梁保满
长水登录
|
640
|
this._QueryData(false);
|
db11048f
阿宝
设备状态,学校管理
|
641
642
|
},
clickScatterChart(obj) {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
643
644
645
646
647
648
649
650
651
652
653
654
655
656
|
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
梁保满
长水登录
|
657
|
this._QueryData(false);
|
db11048f
阿宝
设备状态,学校管理
|
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
|
},
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
阿宝
学校管理相关接口简单对接
|
673
674
|
changePage(page) {
this.page = page;
|
b21d90ef
梁保满
长水登录
|
675
|
this._QueryData(false);
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
676
|
},
|
225a00b6
梁保满
飞书问题解决
|
677
|
async showSchool() {
|
296f7c47
梁保满
集团管理员接口调整
|
678
679
|
const { data, status, info } = await this.$request.schoolList();
if (status === 0) {
|
225a00b6
梁保满
飞书问题解决
|
680
681
682
683
684
685
686
687
688
689
690
691
692
|
this.schoolAll = [
{
value: 0,
label: "全部",
children: data.list?.map((item) => {
return {
value: item.id,
label: item.schoolName,
};
}),
},
];
this.gradeList = [...this.schoolAll, ...this.gradeList];
|
296f7c47
梁保满
集团管理员接口调整
|
693
694
695
696
|
} else {
this.$message.error(info);
}
},
|
db11048f
阿宝
设备状态,学校管理
|
697
698
699
700
701
702
703
|
async autoUpDate(id) {
if (!this.selectionTabIds.length && !id) {
this.$message.warning("请选择授课端~");
return;
}
if (this.loadingUpDate) return;
this.loadingUpDate = true;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
704
|
let data = await this.$request.modifyUpgradeFlag({
|
dd5150c5
阿宝
数据同步
|
705
|
deviceIds: id ? [id] : this.selectionTabIds,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
706
|
upgradeFlag: 1,
|
db11048f
阿宝
设备状态,学校管理
|
707
708
709
710
|
});
this.loadingUpDate = false;
if (data && !data.code) {
this._QueryData(false);
|
e5ff81a1
阿宝
集团管理员接口
|
711
|
this.selectionTabIds = [];
|
db11048f
阿宝
设备状态,学校管理
|
712
713
714
715
716
717
718
719
720
721
722
723
|
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
阿宝
学校管理相关接口简单对接
|
724
|
let data = await this.$request.modifyUpgradeFlag({
|
dd5150c5
阿宝
数据同步
|
725
|
deviceIds: id ? [id] : this.selectionTabIds,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
726
|
upgradeFlag: 0,
|
db11048f
阿宝
设备状态,学校管理
|
727
728
729
|
});
this.loadingUpDate = false;
if (data && !data.code) {
|
e5ff81a1
阿宝
集团管理员接口
|
730
|
this.selectionTabIds = [];
|
db11048f
阿宝
设备状态,学校管理
|
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
|
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 {
|
255e2506
梁保满
飞书bug及优化
|
747
|
this.$message.error(data.info);
|
db11048f
阿宝
设备状态,学校管理
|
748
749
750
751
|
}
},
// 添加设备
|
6d7bd862
梁保满
飞书bug
|
752
753
754
755
756
|
addAnswerEqu() {
this.$refs.forms.validate(async (valid) => {
if (valid) {
if (this.loadingAnswerEqu) return;
this.loadingAnswerEqu = true;
|
255e2506
梁保满
飞书bug及优化
|
757
758
759
760
761
762
763
|
let query = { ...this.form };
query.classIds = query.classIds.map((item) => {
return item[1];
});
const { data, status, info } = await this.$request.updateDevice({
...query,
});
|
6d7bd862
梁保满
飞书bug
|
764
765
766
|
this.loadingAnswerEqu = false;
console.log(status);
if (status === 0) {
|
255e2506
梁保满
飞书bug及优化
|
767
|
this.diaAnswerEqu = false;
|
6d7bd862
梁保满
飞书bug
|
768
769
770
771
772
773
774
775
|
this._QueryData();
} else {
this.$message.error(info);
}
} else {
this.$message.warning("数据有误,请检查!");
}
});
|
db11048f
阿宝
设备状态,学校管理
|
776
777
|
},
// 查找班级
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
778
779
|
async _QueryGradeList() {
this.loading = true;
|
e5ff81a1
阿宝
集团管理员接口
|
780
781
782
783
784
|
const gradeList =
this.role != "ROLE_JITUAN"
? this.$request.gradeList
: this.$request.regionList;
const { data, status, info } = await gradeList();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
785
786
|
if (status === 0) {
if (!!data.list) {
|
e5ff81a1
阿宝
集团管理员接口
|
787
788
789
790
|
if (this.role != "ROLE_JITUAN") {
this.gradeList =
data.list?.map((item) => {
let gradeList = {
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
791
|
value: item.gradeName,
|
e5ff81a1
阿宝
集团管理员接口
|
792
793
794
795
796
|
label: item.gradeName,
};
gradeList.children =
item.classList?.map((items) => {
return {
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
797
|
value: Number(items.classCode),
|
e5ff81a1
阿宝
集团管理员接口
|
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
|
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;
}) || [];
|
225a00b6
梁保满
飞书问题解决
|
819
|
this.gradeList = [...this.schoolAll, ...this.gradeList];
|
e5ff81a1
阿宝
集团管理员接口
|
820
|
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
821
822
823
824
825
826
827
|
}
} else {
this.$message.error(info);
}
},
// 基站统计数据
async stationReport() {
|
e5ff81a1
阿宝
集团管理员接口
|
828
829
830
831
832
|
const stationReport =
this.role != "ROLE_JITUAN"
? this.$request.stationReport
: this.$request.tenantStationReport;
const { data, status, info } = await stationReport();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
833
834
835
836
837
|
if (status === 0) {
this.chartData =
data.list?.map((item) => {
return {
name:
|
e5ff81a1
阿宝
集团管理员接口
|
838
839
840
841
842
|
item.onlineStatus == "1"
? "在线"
: item.onlineStatus == 0
? "离线"
: "异常",
|
296f7c47
梁保满
集团管理员接口调整
|
843
844
|
value: item.total,
rate: item.rate,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
845
846
|
};
}) || [];
|
225a00b6
梁保满
飞书问题解决
|
847
|
this.count = data.total || 0;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
848
849
850
851
852
853
|
} else {
this.$message.error(info);
}
},
// 答题器统计数据
async keyboardReport() {
|
e5ff81a1
阿宝
集团管理员接口
|
854
855
856
857
858
|
const keyboardReport =
this.role != "ROLE_JITUAN"
? this.$request.keyboardReport
: this.$request.tenantKeyboardReport;
const { data, status, info } = await keyboardReport();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
|
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月以上",
|
225a00b6
梁保满
飞书问题解决
|
875
876
|
count: item.total,
value: item.rate * 100,
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
877
878
|
};
}) || [];
|
225a00b6
梁保满
飞书问题解决
|
879
|
this.count = data.total || 0;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
880
881
882
|
} else {
this.$message.error(info);
}
|
db11048f
阿宝
设备状态,学校管理
|
883
|
},
|
225a00b6
梁保满
飞书问题解决
|
884
885
886
|
setQuery() {
//整理传参
let query = {};
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
887
888
889
|
if (this.query.sn) {
query.sn = this.query.sn;
} else {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
890
891
892
893
894
895
896
|
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) : "";
}
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
897
898
899
|
if (this.role == "ROLE_JITUAN") {
query.regionIds = [];
query.schoolIds = [];
|
255e2506
梁保满
飞书bug及优化
|
900
901
|
query.gradeNames = [];
query.classIds = [];
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
902
903
|
this.query.classId?.map((item) => {
if (item.length == 1) {
|
225a00b6
梁保满
飞书问题解决
|
904
|
if (!query.regionIds.includes(item[0])) {
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
905
906
|
query.regionIds.push(item[0]);
}
|
255e2506
梁保满
飞书bug及优化
|
907
|
} else if (item.length == 2) {
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
908
909
910
|
if (!query.schoolIds.includes(item[1])) {
query.schoolIds.push(item[1]);
}
|
255e2506
梁保满
飞书bug及优化
|
911
912
913
914
915
916
|
query.regionIds.includes(item[0])
? query.regionIds.remove(item[0])
: "";
} else if (item.length == 3) {
if (!query.gradeNames.includes(item[2])) {
query.gradeNames.push(item[2]);
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
917
|
}
|
255e2506
梁保满
飞书bug及优化
|
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
|
query.regionIds.includes(item[0])
? query.regionIds.remove(item[0])
: "";
query.schoolIds.includes(item[1])
? query.schoolIds.remove(item[1])
: "";
} else if (item.length == 4) {
if (!query.classIds.includes(item[3])) {
query.classIds.push(item[3]);
}
query.regionIds.includes(item[0])
? query.regionIds.remove(item[0])
: "";
query.schoolIds.includes(item[1])
? query.schoolIds.remove(item[1])
: "";
query.gradeNames.includes(item[2])
? query.gradeNames.remove(item[2])
: "";
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
937
938
939
940
941
942
943
|
}
});
} else {
query.gradeNames = [];
query.classIds = [];
this.query.classId?.map((item) => {
if (item.length == 1) {
|
225a00b6
梁保满
飞书问题解决
|
944
|
if (!query.gradeNames.includes(item[0])) {
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
945
946
947
948
949
950
951
952
953
954
955
956
957
|
query.gradeNames.push(item[0]);
}
} else {
if (!query.classIds.includes(item[1])) {
query.classIds.push(item[1]);
}
if (query.gradeNames.includes(item[0])) {
query.gradeNames.remove(item[0]);
}
}
});
}
delete query.classId;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
958
|
}
|
225a00b6
梁保满
飞书问题解决
|
959
|
return query;
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
960
961
962
963
|
},
// 设备列表信息
async _QueryData(isRef) {
this.loading = true;
|
225a00b6
梁保满
飞书问题解决
|
964
|
let query = this.setQuery();
|
1b9bae95
梁保满
级联选择器调整,日志接口调整
|
965
966
|
if (isRef) {
this.page = 1;
|
b21d90ef
梁保满
长水登录
|
967
|
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
968
|
this.loading = true;
|
e5ff81a1
阿宝
集团管理员接口
|
969
970
971
972
|
const deviceList =
this.role != "ROLE_JITUAN"
? this.$request.deviceList
: this.$request.tenantDeviceList;
|
6d7bd862
梁保满
飞书bug
|
973
|
this.tableData = [];
|
e5ff81a1
阿宝
集团管理员接口
|
974
|
const { data, status, info } = await deviceList({
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
975
976
977
978
979
980
|
...query,
deviceType: this.type,
page: this.page,
size: this.size,
});
this.loading = false;
|
e5ff81a1
阿宝
集团管理员接口
|
981
|
if (status == 0) {
|
225a00b6
梁保满
飞书问题解决
|
982
|
this.tableData =
|
255e2506
梁保满
飞书bug及优化
|
983
984
985
986
987
988
|
(data?.list &&
data?.list.map((item) => {
item.upgradeFlag = item.upgradeFlag == 1 ? true : false;
return item;
})) ||
[];
|
225a00b6
梁保满
飞书问题解决
|
989
|
this.total = data.count;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
990
991
992
|
} else {
this.$message.error(info);
}
|
db11048f
阿宝
设备状态,学校管理
|
993
994
995
|
},
},
};
|
4c4f7640
梁保满
路由表,路由前端文件
|
996
997
|
</script>
|
db11048f
阿宝
设备状态,学校管理
|
998
999
1000
1001
1002
1003
1004
|
<style lang="scss" scoped>
.page-content {
padding: 20px 20px 0;
}
.tab-box {
margin-bottom: 12px;
}
|
255e2506
梁保满
飞书bug及优化
|
1005
1006
|
.sel {
width: 100%;
|
6d7bd862
梁保满
飞书bug
|
1007
|
}
|
db11048f
阿宝
设备状态,学校管理
|
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
|
.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
梁保满
路由表,路由前端文件
|
1056
|
</style>
|