c1b532ad
梁保满
权限配置,路由基础设置
|
1
|
<template>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
2
|
<div class="container">
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
3
|
<ul class="nav-list" v-if="type == 'ROLE_XUEXIAO'">
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
4
|
<li class="nav-item item1" @click="links('/setUpAccount')">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
5
6
7
|
<img class="icon" src="../../assets/nav/setUpAccount.png" alt="" />
<div class="text">
<p class="p1">账号管理</p>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
8
|
<p class="p2">管理{{schoolInfo.teacherCourseCount}}个任课教师,{{schoolInfo.classManagerCount}}个班主任,{{schoolInfo.teacherGradeCount}}个备课组长账号信息。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
9
10
|
</div>
</li>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
11
|
<li class="nav-item item1" @click="links('/setUpSchool')">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
12
13
14
|
<img class="icon" src="../../assets/nav/setUpSchool.png" alt="" />
<div class="text">
<p class="p1">学校管理</p>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
15
|
<p class="p2">管理{{schoolInfo.gradeCount}}个年级,{{schoolInfo.classCount}}个班级,{{schoolInfo.studentCount}}名学生信息。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
16
17
|
</div>
</li>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
18
|
<li class="nav-item item2" @click="links('/device')">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
19
20
21
|
<img class="icon" src="../../assets/nav/device.png" alt="" />
<div class="text">
<p class="p1">设备状态</p>
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
22
|
<p class="p2">管理{{schoolInfo.stationCount}}个基站,{{schoolInfo.keyboardCount}}套答题器设备。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
23
24
25
|
</div>
</li>
<li class="item3">
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
26
|
<div class="nav-item item1 item-child1" @click="links('/analysis')">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
27
28
29
30
31
32
|
<img class="icon" src="../../assets/nav/analysis.png" alt="" />
<div class="text">
<p class="p1">使用分析</p>
<p class="p2">按班级、科目等维度分析设备使用频率。</p>
</div>
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
33
|
<div class="nav-item item1 item-child2" @click="links('/card')">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
34
35
36
37
|
<img class="icon" src="../../assets/nav/card.png" alt="" />
<p class="p1">发卡补卡</p>
<p class="p2">为学生办理发卡、补卡业务。</p>
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
38
|
<div class="nav-item item1 item-child2" @click="links('/down')">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
39
40
41
42
43
44
|
<img class="icon" src="../../assets/nav/down.png" alt="" />
<p class="p1">软件下载</p>
<p class="p2">设置参数,下载授课端软件。</p>
</div>
</li>
</ul>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
45
46
|
<ul class="nav-list" v-if="type == 'ROLE_JITUAN'">
<template v-for="item in navList">
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
47
|
<li v-if="!item.path.includes('dataSync')" :key="item.path" class="nav-item item4" @click="links(item.path)">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
48
|
<img class="icon" :src="getImgs(item.path)" alt="" />
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
49
|
<div class="text" v-if="item.path == '/setUpConglomerate'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
50
51
52
|
<p class="p1">学校管理</p>
<p class="p2">管理3个区域,14个学校。</p>
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
53
|
<div class="text" v-else-if="item.path == '/setUpAccount'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
54
55
56
|
<p class="p1">账号管理</p>
<p class="p2">共35个各层级管理员账号。</p>
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
57
|
<div class="text" v-else-if="item.path == '/device'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
58
59
60
|
<p class="p1">设备状态</p>
<p class="p2">管理14个基站,396套答题器设备。</p>
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
61
|
<div class="text" v-else-if="item.path == '/analysis'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
62
63
64
65
|
<p class="p1">使用分析</p>
<p class="p2">按软件功能、题型统计使用频率。</p>
</div>
</li>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
66
|
</template>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
67
|
</ul>
|
ee6e7628
梁保满
备题组卷借口数据对接调整
|
68
69
70
|
<ul class="nav-list" v-if="type == 'ROLE_JIAOSHI' || type == 'ROLE_BANZHUREN' ">
<template v-for="(item) in navList">
<li v-if="!item.path.includes('dataSync')" :key="item.path" class="nav-item item4" @click="links(item.path)">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
71
|
<img class="icon" :src="getImgs(item.path)" alt="" />
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
72
|
<div class="text" v-if="item.path == '/examinationPaper'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
73
|
<p class="p1">备题组卷</p>
|
560c12f2
阿宝
学校设置,软件下载
|
74
|
<p class="p2">管理{{schoolInfo.paperCount}}套答题卡。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
75
|
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
76
|
<div class="text" v-else-if="item.path == '/portrait'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
77
|
<p class="p1">学生画像</p>
|
560c12f2
阿宝
学校设置,软件下载
|
78
|
<p class="p2">共分析{{schoolInfo.imagesCount}}名学生成绩。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
79
|
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
80
|
<div class="text" v-else-if="item.path == '/ask'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
81
|
<p class="p1">随堂问报表</p>
|
560c12f2
阿宝
学校设置,软件下载
|
82
|
<p class="p2">对{{schoolInfo.classPeriodCount}}套随堂问答题记录分析。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
83
|
</div>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
84
|
<div class="text" v-else-if="item.path == '/test'">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
85
|
<p class="p1">即时测报表</p>
|
560c12f2
阿宝
学校设置,软件下载
|
86
|
<p class="p2">对{{schoolInfo.examCount}}套即时测答题记录分析。</p>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
87
88
|
</div>
</li>
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
89
|
</template>
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
90
91
|
</ul>
</div>
|
c1b532ad
梁保满
权限配置,路由基础设置
|
92
93
94
|
</template>
<script>
|
c1b532ad
梁保满
权限配置,路由基础设置
|
95
96
|
export default {
name: "mainIndex",
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
97
98
|
data() {
return {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
99
100
|
type: "",
navList: [],
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
101
|
schoolInfo:{}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
102
|
};
|
c1b532ad
梁保满
权限配置,路由基础设置
|
103
|
},
|
bb778c90
阿宝
设备状态
|
104
105
106
107
108
|
watch:{
"$store.getters.routers":function(val){
window.location.reload()
}
},
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
109
110
111
112
113
114
115
116
|
created() {
this.type = this.$store.getters.info.permissions[0].role
this.navList = this.$store.getters.addRouters.map(item=>{
return {
name:item.name,
path:item.children[0].path,
}
})
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
117
118
|
if(this.type == "ROLE_XUEXIAO"){
this.schoolIndex()
|
560c12f2
阿宝
学校设置,软件下载
|
119
120
|
}else if(this.type == "ROLE_JIAOSHI" || this.type == "ROLE_BANZHUREN"){
this.teacherIndex()
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
121
|
}
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
122
|
},
|
c1b532ad
梁保满
权限配置,路由基础设置
|
123
|
methods: {
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
124
|
getImgs(path) {
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
125
|
return require(`@/assets/nav${path}.png`)
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
126
127
128
|
},
links(path) {
this.$router.push({
|
b769660c
梁保满
备课组题细节调整,随堂问列表页面开发完成
|
129
|
path: path,
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
130
|
});
|
c1b532ad
梁保满
权限配置,路由基础设置
|
131
|
},
|
560c12f2
阿宝
学校设置,软件下载
|
132
133
134
135
136
137
138
139
|
async teacherIndex() {
const { data, status, info } = await this.$request.teacherIndex();
if (status === 0) {
this.schoolInfo = { ...data };
} else {
this.$message.error(info);
}
},
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
140
141
142
143
144
145
146
147
|
async schoolIndex() {
const { data, status, info } = await this.$request.schoolIndex();
if (status === 0) {
this.schoolInfo = { ...data };
} else {
this.$message.error(info);
}
},
|
c1b532ad
梁保满
权限配置,路由基础设置
|
148
149
150
151
152
|
},
};
</script>
<style lang="scss">
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
153
|
.container {
|
c1b532ad
梁保满
权限配置,路由基础设置
|
154
|
display: flex;
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
justify-content: center;
align-items: center;
padding: 100px 90px 0 50px;
.nav-list {
width: 100%;
display: flex;
flex-wrap: wrap;
.nav-item {
background: #f8f8f8;
border-radius: 20px;
box-shadow: 3px 3px 3px #aaaaaa59;
cursor: pointer;
&:hover {
background-color: #ededed;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
169
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
170
171
172
173
|
.icon {
width: 110px;
height: 110px;
border-radius: 50%;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
174
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
175
176
177
178
179
180
|
.p1 {
font-size: 18px;
color: #333;
line-height: 18px;
margin-bottom: 12px;
font-weight: 500;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
181
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
182
183
184
|
.p2 {
font-size: 14px;
color: #999;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
185
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
186
187
188
189
190
191
192
193
194
|
}
.item1 {
width: calc(50% - 10px);
flex-shrink: 0;
display: flex;
justify-content: center;
margin-right: 20px;
margin-bottom: 20px;
box-sizing: border-box;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
195
|
padding: 40px 20px 40px 80px;
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
196
197
|
&:nth-child(2) {
margin-right: 0;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
198
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
199
200
|
.icon {
margin-right: 20px;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
201
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
202
203
204
205
206
|
.text {
display: flex;
flex-direction: column;
justify-content: center;
padding-top: 10px;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
207
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
208
209
210
211
212
213
214
215
216
217
218
219
|
.p2 {
line-height: 24px;
}
&.item-child1 {
width: 100%;
height: calc(50% - 8px);
margin-bottom: 16px;
padding: 0 20px;
align-items: center;
.icon {
width: 80px;
height: 80px;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
220
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
221
222
223
224
225
|
}
&.item-child2 {
height: calc(50% - 8px);
margin-right: 20px;
flex-wrap: wrap;
|
23a6dc5f
阿宝
学校管理相关接口简单对接
|
226
|
padding: 12px 0 12px 30px;
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
227
228
229
|
.icon {
width: 60px;
height: 60px;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
230
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
231
232
233
234
|
.p1 {
flex: 1;
line-height: 60px;
margin-bottom: 0;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
235
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
236
237
|
.p2 {
width: 100%;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
238
|
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
239
240
|
&:last-of-type {
margin-right: 0;
|
c1b532ad
梁保满
权限配置,路由基础设置
|
241
242
243
|
}
}
}
|
d4283687
梁保满
首页布局完成,页面顶部返回组件
|
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
|
.item2 {
width: calc(50% - 10px);
height: 240px;
flex-shrink: 0;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
margin-right: 20px;
box-sizing: border-box;
padding: 30px 0;
text-align: center;
&:last-of-type {
margin-right: 0;
}
.icon {
margin-bottom: 20px;
}
.p2 {
line-height: 16px;
}
}
.item3 {
width: calc(50% - 10px);
height: 240px;
display: flex;
flex-wrap: wrap;
}
.item4 {
width: calc(50% - 10px);
flex-shrink: 0;
display: flex;
justify-content: flex-start;
margin-right: 20px;
margin-bottom: 20px;
box-sizing: border-box;
padding: 40px 80px;
&:nth-child(2n) {
margin-right: 0;
}
.icon {
margin-right: 20px;
}
.text {
display: flex;
flex-direction: column;
justify-content: center;
padding-top: 10px;
}
.p2 {
line-height: 24px;
}
}
|
c1b532ad
梁保满
权限配置,路由基础设置
|
297
298
|
}
}
|
c1b532ad
梁保满
权限配置,路由基础设置
|
299
|
</style>
|