Blame view

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