Blame view

src/views/index/mainIndex.vue 10 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
            <p class="p2">
e5ff81a1   阿宝   集团管理员接口
9
10
11
              管理{{ dataInfo.teacherCourseCount }}个任课教师,{{
                dataInfo.classManagerCount
              }}个班主任,{{ dataInfo.teacherGradeCount }}个备课组长账号信息。
bb4c8454   阿宝   添加,修改教师
12
            </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
            <p class="p2">
e5ff81a1   阿宝   集团管理员接口
20
21
22
              管理{{ dataInfo.gradeCount }}个年级,{{
                dataInfo.classCount
              }}个班级,{{ dataInfo.studentCount }}名学生信息。
bb4c8454   阿宝   添加,修改教师
23
            </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
            <p class="p2">
e5ff81a1   阿宝   集团管理员接口
31
32
              管理{{ dataInfo.stationCount }}个基站,{{
                dataInfo.keyboardCount
bb4c8454   阿宝   添加,修改教师
33
34
              }}套答题器设备。
            </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
            <img class="icon" src="../../assets/nav/card.png" alt="" />
e5ff81a1   阿宝   集团管理员接口
47
            <p class="p1">发卡记录</p>
ca39cc52   阿宝   飞书问题处理
48
            <p class="p2">查看发卡、换卡记录信息。</p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
49
          </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
              <p class="p1">学校管理</p>
e5ff81a1   阿宝   集团管理员接口
68
              <p class="p2">管理{{dataInfo.regionCount}}个区域,{{dataInfo.schoolCount}}个学校。</p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
69
            </div>
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
70
            <div class="text" v-else-if="item.path == '/setUpAccount'">
d4283687   梁保满   首页布局完成,页面顶部返回组件
71
              <p class="p1">账号管理</p>
e5ff81a1   阿宝   集团管理员接口
72
              <p class="p2">共{{dataInfo.regionManagerCount+dataInfo.schoolManagerCount}}个各层级管理员账号。</p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
73
            </div>
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
74
            <div class="text" v-else-if="item.path == '/device'">
d4283687   梁保满   首页布局完成,页面顶部返回组件
75
              <p class="p1">设备状态</p>
e5ff81a1   阿宝   集团管理员接口
76
              <p class="p2">管理{{dataInfo.stationCount}}个基站,{{dataInfo.keyboardCount}}套答题器设备。</p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
77
            </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>
e5ff81a1   阿宝   集团管理员接口
99
              <p class="p2">管理{{ dataInfo.paperCount }}套答题卡。</p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
100
            </div>
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
101
            <div class="text" v-else-if="item.path == '/portrait'">
d4283687   梁保满   首页布局完成,页面顶部返回组件
102
              <p class="p1">学生画像</p>
e5ff81a1   阿宝   集团管理员接口
103
              <!-- <p class="p2">共分析{{ dataInfo.imagesCount }}名学生成绩。</p> -->
45504a95   阿宝   即时测页面,以及小题修改答案
104
              <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
              <p class="p2">
e5ff81a1   阿宝   集团管理员接口
109
                对{{ dataInfo.classPeriodCount }}套随堂问答题记录分析。
bb4c8454   阿宝   添加,修改教师
110
              </p>
d4283687   梁保满   首页布局完成,页面顶部返回组件
111
            </div>
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
112
            <div class="text" v-else-if="item.path == '/test'">
d4283687   梁保满   首页布局完成,页面顶部返回组件
113
              <p class="p1">即时测报表</p>
e5ff81a1   阿宝   集团管理员接口
114
              <p class="p2">对{{ dataInfo.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: [],
e5ff81a1   阿宝   集团管理员接口
129
        dataInfo: {},
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();
e5ff81a1   阿宝   集团管理员接口
167
168
      }else if (this.type == "ROLE_JITUAN") {
        this.tenantIndex();
23a6dc5f   阿宝   学校管理相关接口简单对接
169
      }
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
170
    },
c1b532ad   梁保满   权限配置,路由基础设置
171
    methods: {
d4283687   梁保满   首页布局完成,页面顶部返回组件
172
      getImgs(path) {
bb4c8454   阿宝   添加,修改教师
173
        return require(`@/assets/nav${path}.png`);
d4283687   梁保满   首页布局完成,页面顶部返回组件
174
175
176
      },
      links(path) {
        this.$router.push({
b769660c   梁保满   备课组题细节调整,随堂问列表页面开发完成
177
          path: path,
d4283687   梁保满   首页布局完成,页面顶部返回组件
178
        });
c1b532ad   梁保满   权限配置,路由基础设置
179
      },
560c12f2   阿宝   学校设置,软件下载
180
181
182
      async teacherIndex() {
        const { data, status, info } = await this.$request.teacherIndex();
        if (status === 0) {
e5ff81a1   阿宝   集团管理员接口
183
          this.dataInfo = { ...data };
560c12f2   阿宝   学校设置,软件下载
184
185
186
187
        } else {
          this.$message.error(info);
        }
      },
23a6dc5f   阿宝   学校管理相关接口简单对接
188
189
190
      async schoolIndex() {
        const { data, status, info } = await this.$request.schoolIndex();
        if (status === 0) {
e5ff81a1   阿宝   集团管理员接口
191
192
193
194
195
196
197
198
199
          this.dataInfo = { ...data };
        } else {
          this.$message.error(info);
        }
      },
      async tenantIndex() {
        const { data, status, info } = await this.$request.tenantIndex();
        if (status === 0) {
          this.dataInfo = { ...data };
23a6dc5f   阿宝   学校管理相关接口简单对接
200
201
202
203
        } else {
          this.$message.error(info);
        }
      },
c1b532ad   梁保满   权限配置,路由基础设置
204
205
206
207
208
    },
  };
  </script>
  
  <style lang="scss">
d4283687   梁保满   首页布局完成,页面顶部返回组件
209
  .container {
c1b532ad   梁保满   权限配置,路由基础设置
210
    display: flex;
d4283687   梁保满   首页布局完成,页面顶部返回组件
211
212
213
214
215
216
217
218
219
220
221
222
223
224
    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   梁保满   权限配置,路由基础设置
225
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
226
227
228
229
        .icon {
          width: 110px;
          height: 110px;
          border-radius: 50%;
c1b532ad   梁保满   权限配置,路由基础设置
230
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
231
232
233
234
235
236
        .p1 {
          font-size: 18px;
          color: #333;
          line-height: 18px;
          margin-bottom: 12px;
          font-weight: 500;
c1b532ad   梁保满   权限配置,路由基础设置
237
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
238
239
240
        .p2 {
          font-size: 14px;
          color: #999;
c1b532ad   梁保满   权限配置,路由基础设置
241
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
242
243
244
245
246
247
248
249
250
      }
      .item1 {
        width: calc(50% - 10px);
        flex-shrink: 0;
        display: flex;
        justify-content: center;
        margin-right: 20px;
        margin-bottom: 20px;
        box-sizing: border-box;
23a6dc5f   阿宝   学校管理相关接口简单对接
251
        padding: 40px 20px 40px 80px;
d4283687   梁保满   首页布局完成,页面顶部返回组件
252
253
        &:nth-child(2) {
          margin-right: 0;
c1b532ad   梁保满   权限配置,路由基础设置
254
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
255
256
        .icon {
          margin-right: 20px;
c1b532ad   梁保满   权限配置,路由基础设置
257
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
258
259
260
261
262
        .text {
          display: flex;
          flex-direction: column;
          justify-content: center;
          padding-top: 10px;
c1b532ad   梁保满   权限配置,路由基础设置
263
        }
d4283687   梁保满   首页布局完成,页面顶部返回组件
264
265
266
267
268
269
270
271
272
273
274
275
        .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   梁保满   权限配置,路由基础设置
276
          }
d4283687   梁保满   首页布局完成,页面顶部返回组件
277
278
279
280
281
        }
        &.item-child2 {
          height: calc(50% - 8px);
          margin-right: 20px;
          flex-wrap: wrap;
23a6dc5f   阿宝   学校管理相关接口简单对接
282
          padding: 12px 0 12px 30px;
d4283687   梁保满   首页布局完成,页面顶部返回组件
283
284
285
          .icon {
            width: 60px;
            height: 60px;
c1b532ad   梁保满   权限配置,路由基础设置
286
          }
d4283687   梁保满   首页布局完成,页面顶部返回组件
287
288
289
290
          .p1 {
            flex: 1;
            line-height: 60px;
            margin-bottom: 0;
c1b532ad   梁保满   权限配置,路由基础设置
291
          }
d4283687   梁保满   首页布局完成,页面顶部返回组件
292
293
          .p2 {
            width: 100%;
c1b532ad   梁保满   权限配置,路由基础设置
294
          }
d4283687   梁保满   首页布局完成,页面顶部返回组件
295
296
          &:last-of-type {
            margin-right: 0;
c1b532ad   梁保满   权限配置,路由基础设置
297
298
299
          }
        }
      }
d4283687   梁保满   首页布局完成,页面顶部返回组件
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
343
344
345
346
347
348
349
350
351
352
      .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   梁保满   权限配置,路由基础设置
353
354
    }
  }
c1b532ad   梁保满   权限配置,路由基础设置
355
  </style>