4c4f7640
梁保满
路由表,路由前端文件
|
1
|
<template>
|
db11048f
阿宝
设备状态,学校管理
|
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
<div>
<back-box>
<template slot="title">
<span>学校设置</span>
</template>
<template slot="btns">
<el-tooltip effect="dark" content="导入学校名单" placement="bottom">
<el-button
type="primary"
icon="el-icon-upload2"
size="mini"
plain
circle
@click="diaUp = true"
></el-button>
</el-tooltip>
</template>
</back-box>
<div class="page-content">
<div class="content-box">
|
560c12f2
阿宝
学校设置,软件下载
|
22
|
<i class="el-icon-edit" @click="diaSchool = true"></i>
|
db11048f
阿宝
设备状态,学校管理
|
23
24
25
|
<ul class="school-info">
<li class="school-item">
<span class="s1">学校名称:</span>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
26
|
<span class="s2">{{ school.schoolName || "--" }}</span>
|
db11048f
阿宝
设备状态,学校管理
|
27
28
29
|
</li>
<li class="school-item">
<span class="s1">授课端管理密码:</span>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
30
|
<span class="s2">{{ school.managePwd || "--" }}</span>
|
db11048f
阿宝
设备状态,学校管理
|
31
32
33
|
</li>
<li class="school-item">
<span class="s1">联系人:</span>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
34
|
<span class="s2">{{ school.contactPerson || "--" }}</span>
|
db11048f
阿宝
设备状态,学校管理
|
35
36
37
|
</li>
<li class="school-item">
<span class="s1">手机号码:</span>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
38
|
<span class="s2">{{ school.contactPhone || "--" }}</span>
|
db11048f
阿宝
设备状态,学校管理
|
39
40
41
|
</li>
<li class="school-item">
<span class="s1">学段:</span>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
42
43
44
|
<span class="s2">{{
school.sections | getSections(school.sections)
}}</span>
|
db11048f
阿宝
设备状态,学校管理
|
45
46
47
|
</li>
<li class="school-item">
<span class="s1">所属集团:</span>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
48
|
<span class="s2">{{ school.tenantName || "--" }}</span>
|
db11048f
阿宝
设备状态,学校管理
|
49
50
51
52
53
|
</li>
</ul>
<div class="grade-box">
<p class="h-title">年级管理</p>
<ul class="grade-info">
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
54
55
56
57
58
59
60
|
<li
class="grade-item"
v-for="item in tableData"
:key="item.grade"
@click="setGrade(item)"
>
<p class="grade-name">{{ item.gradeName }}</p>
|
db11048f
阿宝
设备状态,学校管理
|
61
|
<div class="grade-class">
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
62
63
64
65
66
67
68
69
70
71
|
<p>
<i class="fa fa-building"></i>班级:{{
item.classList.length
}}个
</p>
<p>
<i class="fa fa-book"></i>科目:{{
item.subjectNames.length
}}个
</p>
|
db11048f
阿宝
设备状态,学校管理
|
72
73
74
|
</div>
</li>
</ul>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
75
76
77
78
79
|
<el-empty
:image-size="100"
v-if="!tableData.length && loading == false"
description="没有更多数据"
></el-empty>
|
db11048f
阿宝
设备状态,学校管理
|
80
81
82
83
84
85
|
</div>
</div>
</div>
<el-dialog title="导入学校名单" :visible.sync="diaUp" width="400">
<up-load id="downDevice" :url="url" fileName="学校名单">
<p class="down-txt" slot="down">
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
86
|
通过Excel名单导入学校名单,点击
|
db11048f
阿宝
设备状态,学校管理
|
87
88
89
90
91
92
93
|
<el-link type="danger" @click="downExcel">模板下载</el-link> 。
</p>
</up-load>
<div class="dialog-footer" slot="footer">
<el-button @click="diaUp = false">取 消</el-button>
</div>
</el-dialog>
|
dd5150c5
阿宝
数据同步
|
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
<el-dialog title="修改年级信息" :visible.sync="diaGrade" width="400">
<el-form
class="form-box"
:model="formGrade"
:rules="rulesGrade"
label-width="160px"
>
<el-form-item label="科目:" prop="subjectNames">
<el-checkbox-group v-model="formGrade.subjectNames">
<el-checkbox
v-for="item in subjectList"
:label="item"
:key="item"
>{{ item }}</el-checkbox
>
</el-checkbox-group>
<el-col :span="8">
<el-input placeholder="添加科目" v-model.trim="subjectName" maxlength="30">
<i slot="suffix" class="el-input__icon el-icon-plus" @click="addSubjectName"></i>
</el-input>
</el-col>
</el-form-item>
<el-form-item label="班级:">
<span v-for="(item, index) in formGrade.classList" :key="item.id">{{
`${item.className}${
index == formGrade.classList.length - 1 ? "" : "、"
}`
}}</span>
</el-form-item>
</el-form>
<div class="dialog-footer" slot="footer">
<el-button @click="editGrade">确 定</el-button>
<el-button @click="diaGrade = false">取 消</el-button>
</div>
</el-dialog>
|
560c12f2
阿宝
学校设置,软件下载
|
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
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
|
<el-dialog title="修改学校信息" :visible.sync="diaSchool" width="400">
<el-form
class="form-box"
:model="formSchool"
:rules="rulesSchool"
label-width="160px"
>
<el-form-item label="学段:" prop="sections">
<el-checkbox-group v-model="formSchool.sections">
<el-checkbox
v-for="item in sectionsList"
:label="item.id"
:key="item.id"
>{{ item.name }}</el-checkbox
>
</el-checkbox-group>
</el-form-item>
<el-form-item label="授课端管理密码:" prop="managePwd">
<el-col :span="10">
<el-input
maxlength="30"
v-model="formSchool.managePwd"
placeholder="请输入授课端管理密码"
></el-input>
</el-col>
</el-form-item>
<el-form-item label="联系人:" prop="contactPerson"
><el-col :span="10"
><el-input
maxlength="30"
v-model="formSchool.contactPerson"
placeholder="请输入联系人"
></el-input></el-col
></el-form-item>
<el-form-item label="手机号码:" prop="contactPhone"
><el-col :span="10"
><el-input
maxlength="11"
v-model="formSchool.contactPhone"
placeholder="请输入联系人手机号码"
></el-input></el-col
></el-form-item>
</el-form>
<div class="dialog-footer" slot="footer">
<el-button @click="editSchool">确 定</el-button>
<el-button @click="diaSchool = false">取 消</el-button>
</div>
</el-dialog>
|
db11048f
阿宝
设备状态,学校管理
|
177
|
</div>
|
4c4f7640
梁保满
路由表,路由前端文件
|
178
179
180
|
</template>
<script>
|
db11048f
阿宝
设备状态,学校管理
|
181
|
import { downloadFile } from "@/utils";
|
4c4f7640
梁保满
路由表,路由前端文件
|
182
|
export default {
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
|
filters: {
getSections(val) {
let arr = val.split(",");
let sections = arr.map((item) => {
let txt;
switch (item) {
case "0":
txt = "未知";
break;
case "1":
txt = "小学";
break;
case "2":
txt = "初中";
break;
case "3":
txt = "高中";
break;
case "4":
txt = "大学";
break;
case "7":
txt = "未知";
break;
default:
txt = "未知";
}
return txt;
});
return sections.join(",");
},
},
|
db11048f
阿宝
设备状态,学校管理
|
215
216
|
data() {
return {
|
560c12f2
阿宝
学校设置,软件下载
|
217
|
loading: false,
|
db11048f
阿宝
设备状态,学校管理
|
218
219
|
url: "xxx",
diaUp: false,
|
560c12f2
阿宝
学校设置,软件下载
|
220
|
diaSchool: false,
|
dd5150c5
阿宝
数据同步
|
221
|
diaGrade: false,
|
db11048f
阿宝
设备状态,学校管理
|
222
|
school: {
|
dd5150c5
阿宝
数据同步
|
223
224
225
226
227
228
|
schoolName: "",
managePwd: "",
contactPerson: "",
contactPhone: "",
sections: "",
tenantName: "",
|
db11048f
阿宝
设备状态,学校管理
|
229
|
},
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
230
|
tableData: [],
|
560c12f2
阿宝
学校设置,软件下载
|
231
232
233
234
235
236
237
238
239
240
241
242
|
formSchool: {
sections: "",
managePwd: "",
contactPerson: "",
contactPhone: "",
},
rulesSchool: {
sections: [{ required: true, message: "请选择学段", trigger: "blur" }],
managePwd: [
{ required: true, message: "请填写管理密码", trigger: "blur" },
],
},
|
dd5150c5
阿宝
数据同步
|
243
244
245
246
247
248
249
250
251
252
253
|
formGrade: {
gradeName: "",
subjectNames: [],
classList: [],
},
rulesGrade: {
subjectNames: [
{ required: true, message: "请选择科目", trigger: "blur" },
],
},
subjectName:"",
|
560c12f2
阿宝
学校设置,软件下载
|
254
255
256
257
258
259
260
|
sectionsList: [
{ id: "1", name: "小学" },
{ id: "2", name: "初中" },
{ id: "3", name: "高中" },
{ id: "4", name: "大学" },
{ id: "7", name: "高补" },
],
|
dd5150c5
阿宝
数据同步
|
261
|
subjectList: [],
|
db11048f
阿宝
设备状态,学校管理
|
262
263
|
};
},
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
264
265
266
|
created() {
this._QueryDataSchool();
this._QueryDataGrade();
|
dd5150c5
阿宝
数据同步
|
267
|
this._QuerySubject();
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
268
|
},
|
db11048f
阿宝
设备状态,学校管理
|
269
|
methods: {
|
dd5150c5
阿宝
数据同步
|
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
|
setGrade(obj) {
this.formGrade.subjectNames = obj.subjectNames;
this.formGrade.classList = obj.classList;
this.formGrade.gradeName = obj.gradeName;
this.diaGrade = true;
},
addSubjectName(){
if(!this.subjectName){
this.$message.warning("请填写科目名称")
return
}
this.subjectList.push(this.subjectName)
this.formGrade.subjectNames.push(this.subjectName)
this.subjectName = ""
},
|
560c12f2
阿宝
学校设置,软件下载
|
285
286
287
288
289
290
291
292
293
294
295
296
297
|
async editSchool() {
if (!this.formSchool.sections.length) {
this.$message.error("请选择学段!");
return;
}
if (!this.formSchool.managePwd) {
this.$message.error("请填写密码!");
return;
}
if (this.loading) {
return;
}
this.loading = true;
|
dd5150c5
阿宝
数据同步
|
298
299
300
301
302
|
let form = { ...this.formSchool };
form.sections = this.formSchool.sections.join(",");
const { data, status, info } = await this.$request.updateSchool({
...form,
});
|
560c12f2
阿宝
学校设置,软件下载
|
303
304
305
306
307
308
309
310
311
|
this.loading = false;
if (status === 0) {
this.$message.success("修改成功~");
this.diaSchool = false;
this._QueryDataSchool();
} else {
this.$message.error(info);
}
},
|
dd5150c5
阿宝
数据同步
|
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
|
async editGrade() {
if (!this.formGrade.subjectNames.length) {
this.$message.error("请选择科目!");
return;
}
if (this.loading) {
return;
}
this.loading = true;
const { data, status, info } = await this.$request.updateGrade({
gradeName: this.formGrade.gradeName,
subjectNames: this.formGrade.subjectNames,
});
this.loading = false;
if (status === 0) {
this.$message.success("修改成功~");
this.diaGrade = false;
this._QueryDataGrade();
} else {
this.$message.error(info);
}
},
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
334
335
336
337
338
339
340
|
async _QueryDataSchool() {
this.loading = true;
const { data, status, info } = await this.$request.schoolDetail();
this.loading = false;
console.log(status);
if (status === 0) {
this.school = { ...data };
|
560c12f2
阿宝
学校设置,软件下载
|
341
342
343
344
|
for (let key in this.formSchool) {
this.formSchool[key] = data[key] || "";
}
this.formSchool.sections = this.formSchool.sections.split(",");
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
|
} else {
this.$message.error(info);
}
},
async _QueryDataGrade() {
this.loading = true;
const { data, status, info } = await this.$request.gradeList();
this.loading = false;
console.log(status);
if (status === 0) {
this.tableData = data.list || [];
} else {
this.$message.error(info);
}
},
|
dd5150c5
阿宝
数据同步
|
360
361
362
363
364
365
366
367
368
|
async _QuerySubject() {
const { data, status, info } = await this.$request.subjectList();
console.log(status);
if (status === 0) {
this.subjectList = [...data.subjectNames] || [];
} else {
this.$message.error(info);
}
},
|
db11048f
阿宝
设备状态,学校管理
|
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
|
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);
}
},
},
};
|
4c4f7640
梁保满
路由表,路由前端文件
|
384
385
|
</script>
|
db11048f
阿宝
设备状态,学校管理
|
386
387
388
389
390
391
392
393
394
395
396
|
<style lang="scss" scoped>
.page-content {
padding: 20px;
.content-box {
background: #f8f8f8;
border-radius: 16px;
position: relative;
.el-icon-edit {
position: absolute;
top: 12px;
right: 12px;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
397
398
|
padding: 5px;
font-size: 18px;
|
db11048f
阿宝
设备状态,学校管理
|
399
|
cursor: pointer;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
400
401
|
&:hover {
color: #36f;
|
db11048f
阿宝
设备状态,学校管理
|
402
403
404
405
406
407
408
|
}
}
}
.school-info {
display: flex;
flex-wrap: wrap;
padding: 16px 0;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
409
|
border-bottom: 0.5px solid #f2f2f2;
|
db11048f
阿宝
设备状态,学校管理
|
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
|
.school-item {
width: 50%;
line-height: 48px;
padding-left: 100px;
display: flex;
box-sizing: border-box;
.s1 {
width: 160px;
font-size: 15px;
color: #888;
}
.s2 {
flex: 1;
}
}
}
.grade-box {
padding: 20px;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
428
|
.grade-info {
|
db11048f
阿宝
设备状态,学校管理
|
429
|
display: flex;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
430
431
432
433
434
435
|
flex-wrap: wrap;
padding: 20px;
.grade-item {
width: 300px;
margin-right: 50px;
margin-bottom: 40px;
|
db11048f
阿宝
设备状态,学校管理
|
436
|
box-sizing: border-box;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
437
438
|
padding: 12px 16px;
border-radius: 10px;
|
db11048f
阿宝
设备状态,学校管理
|
439
|
box-shadow: 1px 1px 3px #888;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
440
|
cursor: pointer;
|
560c12f2
阿宝
学校设置,软件下载
|
441
442
443
|
transition: all 0.5s;
&:hover {
transform: translate(-2px, -5px);
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
444
445
|
box-shadow: 5px 5px 10px #888;
}
|
db11048f
阿宝
设备状态,学校管理
|
446
|
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
447
448
|
.grade-name {
font-size: 16px;
|
db11048f
阿宝
设备状态,学校管理
|
449
450
|
font-weight: bold;
line-height: 18px;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
451
|
padding-bottom: 12px;
|
db11048f
阿宝
设备状态,学校管理
|
452
|
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
453
|
.grade-class {
|
db11048f
阿宝
设备状态,学校管理
|
454
455
|
display: flex;
justify-content: space-between;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
456
457
458
459
460
461
|
font-size: 15px;
padding-right: 20px;
.fa {
font-size: 18px;
margin-right: 5px;
color: #a4a4a4;
|
db11048f
阿宝
设备状态,学校管理
|
462
|
}
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
463
464
|
.fa-book {
font-size: 20px;
|
db11048f
阿宝
设备状态,学校管理
|
465
466
467
468
469
|
}
}
}
}
}
|
560c12f2
阿宝
学校设置,软件下载
|
470
471
472
|
.form-box {
margin: 0 20px;
}
|
dd5150c5
阿宝
数据同步
|
473
474
475
476
477
478
|
.el-icon-plus{
cursor: pointer;
&:hover{
color:#667ffd
}
}
|
4c4f7640
梁保满
路由表,路由前端文件
|
479
|
</style>
|