Blame view

src/views/basic/setUp/teacher.vue 37.7 KB
4c4f7640   梁保满   路由表,路由前端文件
1
  <template>
23a6dc5f   阿宝   学校管理相关接口简单对接
2
3
4
5
6
    <div>
      <back-box>
        <template slot="title">
          <span>教师管理</span>
        </template>
b21d90ef   梁保满   长水登录
7
        <template slot="btns" v-if="!code">
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
8
          <el-tooltip effect="dark" content="导入教师名单" placement="bottom">
b0cd2598   梁保满   fix:测试问题
9
10
11
12
13
14
15
16
            <el-button
              type="primary"
              icon="el-icon-upload2"
              size="mini"
              plain
              circle
              @click="diaUp = true"
            ></el-button>
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
17
18
          </el-tooltip>
          <el-tooltip effect="dark" content="导出教师名单" placement="bottom">
b0cd2598   梁保满   fix:测试问题
19
20
21
22
23
24
25
26
            <el-button
              type="primary"
              icon="el-icon-download"
              size="mini"
              plain
              circle
              @click="exportTeacherExl"
            ></el-button>
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
27
          </el-tooltip>
23a6dc5f   阿宝   学校管理相关接口简单对接
28
          <el-tooltip effect="dark" content="添加教师" placement="bottom">
b0cd2598   梁保满   fix:测试问题
29
30
31
32
33
34
35
36
            <el-button
              type="primary"
              icon="el-icon-plus"
              size="mini"
              plain
              circle
              @click="addTeacherDia"
            ></el-button>
23a6dc5f   阿宝   学校管理相关接口简单对接
37
38
39
40
41
42
          </el-tooltip>
        </template>
      </back-box>
  
      <div class="answer-header">
        <div class="sel-box">
b0cd2598   梁保满   fix:测试问题
43
44
45
46
47
48
          <el-select
            class="sel"
            v-model="query.classType"
            @change="changeType"
            placeholder="选择类型"
          >
29319cfb   梁保满   设备。教师管理
49
50
51
            <el-option label="行政班" :value="0"></el-option>
            <el-option label="教学班" :value="1"></el-option>
          </el-select>
b0cd2598   梁保满   fix:测试问题
52
53
54
55
56
57
58
59
60
          <el-cascader
            size="small"
            class="sel sel2"
            clearable
            placeholder="选择范围"
            @change="_QueryData(1)"
            v-model="query.gradeClassSub"
            :options="gradeClassSubList"
            :props="{
53424e83   梁保满   教师管理筛选条件
61
62
              multiple: true,
              checkStrictly: true,
b0cd2598   梁保满   fix:测试问题
63
64
65
66
67
68
69
70
71
72
            }"
            collapse-tags
            :show-all-levels="false"
          ></el-cascader>
          <el-select
            class="sel"
            v-model="query.type"
            @change="_QueryData(4)"
            placeholder="选择类型"
          >
5cfb0264   梁保满   班级管理交互优化
73
            <el-option disabled label="请选择" :value="9"></el-option>
55eb13fd   梁保满   中天提出的交互优化
74
75
            <el-option label="已分配任课信息" :value="0"></el-option>
            <el-option label="未分配任课信息" :value="1"></el-option>
23a6dc5f   阿宝   学校管理相关接口简单对接
76
          </el-select>
b0cd2598   梁保满   fix:测试问题
77
78
79
80
81
82
83
84
85
86
87
88
89
          <el-input
            placeholder="请输入老师姓名"
            v-model="query.teacherName"
            class="input-with-select"
            maxlength="30"
            clearable
            @keyup.enter.native="_QueryData(2)"
          >
            <el-button
              slot="append"
              icon="el-icon-search"
              @click="_QueryData(2)"
            ></el-button>
23a6dc5f   阿宝   学校管理相关接口简单对接
90
          </el-input>
b0cd2598   梁保满   fix:测试问题
91
92
93
94
95
96
97
98
99
100
101
102
103
104
          <el-input
            type="number"
            oninput="if(value.length > 11) value = value.slice(0,11)"
            placeholder="请输入老师手机号"
            v-model="query.phone"
            clearable
            class="input-with-select"
            @keyup.enter.native="_QueryData(3)"
          >
            <el-button
              slot="append"
              icon="el-icon-search"
              @click="_QueryData(3)"
            ></el-button>
23a6dc5f   阿宝   学校管理相关接口简单对接
105
          </el-input>
a4074db8   梁保满   使用分析,集团管理元交互
106
          <!-- <el-button class="serach-box" round @click="_QueryData(4)"
53424e83   梁保满   教师管理筛选条件
107
            >筛选</el-button
a4074db8   梁保满   使用分析,集团管理元交互
108
          > -->
23a6dc5f   阿宝   学校管理相关接口简单对接
109
110
        </div>
      </div>
99713685   梁保满   学生调班,班级数据重新请求,使用过...
111
112
113
      <p class="total" v-if="teacherList.length">
        共筛选出{{ teacherList.length }}名教师。
      </p>
23a6dc5f   阿宝   学校管理相关接口简单对接
114
      <div class="page-content">
b0cd2598   梁保满   fix:测试问题
115
116
117
118
119
        <el-empty
          :image-size="100"
          v-if="!teacherList.length && loading == false"
          description="没有更多数据"
        ></el-empty>
23a6dc5f   阿宝   学校管理相关接口简单对接
120
121
        <div class="teacher-box" v-loading="loading" v-else>
          <div class="teacher-list">
29319cfb   梁保满   设备。教师管理
122
            <p class="h-title" v-loading="removeLoading">
b0cd2598   梁保满   fix:测试问题
123
124
125
126
127
128
129
              <el-checkbox
                v-show="showDel"
                v-model="AllTeacher"
                :indeterminate="indeterminate"
                @change="handleCheckAllChange"
                >{{ "" }}</el-checkbox
              >
29319cfb   梁保满   设备。教师管理
130
              <span class="txt">教师列表</span>
b0cd2598   梁保满   fix:测试问题
131
132
133
134
135
136
137
              <img
                v-show="showDel"
                class="clear"
                @click="remove"
                src="../../../assets/images/shuazi.svg"
                alt=""
              />
29319cfb   梁保满   设备。教师管理
138
            </p>
b0cd2598   梁保满   fix:测试问题
139
140
141
142
            <el-checkbox-group
              v-model="clearTeacher"
              @change="handleCheckedChange"
            >
29319cfb   梁保满   设备。教师管理
143
              <ul class="teacher-ul">
b0cd2598   梁保满   fix:测试问题
144
145
146
147
                <li
                  class="teacher-item"
                  v-for="item in teacherList"
                  :key="item.id"
b0cd2598   梁保满   fix:测试问题
148
149
150
151
                >
                  <el-checkbox v-show="showDel" :label="item.id">{{
                    ""
                  }}</el-checkbox>
0586b4d7   梁保满   接口地址列表处理
152
153
154
155
156
                  <p
                    class="name"
                    :class="showTId == item.id ? 'active' : ''"
                    @click="showTeacher(item)"
                  >
b0cd2598   梁保满   fix:测试问题
157
158
159
160
161
                    {{ item.realName
                    }}<template v-if="setClass(item)"
                      >({{ setClass(item) }})</template
                    >
                  </p>
29319cfb   梁保满   设备。教师管理
162
163
164
                </li>
              </ul>
            </el-checkbox-group>
23a6dc5f   阿宝   学校管理相关接口简单对接
165
166
          </div>
          <div class="teacher-detail">
b21d90ef   梁保满   长水登录
167
            <div class="icon-box" v-if="!code">
0a4de034   阿宝   教师管理,学生管理班级设置
168
              <i class="icon el-icon-edit-outline" @click="editTeacher(1)"></i>
b0cd2598   梁保满   fix:测试问题
169
170
171
172
              <i
                class="icon el-icon-circle-plus-outline"
                @click="editTeacher(2)"
              ></i>
23a6dc5f   阿宝   学校管理相关接口简单对接
173
174
175
176
            </div>
            <div class="detail-top">
              <p class="p-item">手机号码:{{ teacherDetail.loginName }}</p>
              <p class="p-item">
560c12f2   阿宝   学校设置,软件下载
177
                状态:{{ teacherDetail.available == 1 ? "不可用" : "正常" }}
23a6dc5f   阿宝   学校管理相关接口简单对接
178
179
180
181
              </p>
              <p class="p-item">
                性别:{{
                  teacherDetail.sex == 1
b0cd2598   梁保满   fix:测试问题
182
183
                    ? "男"
                    : teacherDetail.sex == 2
23a6dc5f   阿宝   学校管理相关接口简单对接
184
185
186
187
188
                    ? "女"
                    : "未知"
                }}
              </p>
            </div>
b0cd2598   梁保满   fix:测试问题
189
190
191
192
            <div
              class="grade-box"
              v-if="teacherDetail.managerList && teacherDetail.managerList.length"
            >
23a6dc5f   阿宝   学校管理相关接口简单对接
193
194
              <p class="h-title">班主任</p>
              <ul class="grade-info">
b0cd2598   梁保满   fix:测试问题
195
196
197
198
199
200
201
202
203
204
                <li
                  class="grade-li"
                  v-for="item in teacherDetail.managerList"
                  :key="item.classId"
                >
                  <el-popconfirm
                    title="确定删除吗?"
                    @confirm="delTeacherManager(item, 1)"
                    v-if="!code"
                  >
bb4c8454   阿宝   添加,修改教师
205
206
                    <i class="el-icon-delete" slot="reference"></i>
                  </el-popconfirm>
23a6dc5f   阿宝   学校管理相关接口简单对接
207
                  <div class="grade-item">
ec6394d1   梁保满   v1.3.1。细节调整
208
                    <p class="grade-name">
0ca11cc2   梁保满   学段参数调整,发卡记录类型增加
209
                      {{ item.gradeName }}-{{ item.className }}
ec6394d1   梁保满   v1.3.1。细节调整
210
                    </p>
23a6dc5f   阿宝   学校管理相关接口简单对接
211
212
213
214
215
216
217
218
219
220
221
                    <div class="grade-class">
                      <p>
                        <i class="fa fa-address-book-o"></i>学生:{{
                          item.studentCount
                        }}个
                      </p>
                    </div>
                  </div>
                </li>
              </ul>
            </div>
b0cd2598   梁保满   fix:测试问题
222
223
224
225
226
227
228
            <div
              class="grade-box"
              v-if="
                teacherDetail.teacherCourseList &&
                teacherDetail.teacherCourseList.length
              "
            >
23a6dc5f   阿宝   学校管理相关接口简单对接
229
230
              <p class="h-title">任课老师</p>
              <ul class="grade-info">
b0cd2598   梁保满   fix:测试问题
231
232
233
234
235
236
237
238
239
240
                <li
                  class="grade-li"
                  v-for="item in teacherDetail.teacherCourseList"
                  :key="item.classId + item.subjectName"
                >
                  <el-popconfirm
                    title="确定删除吗?"
                    @confirm="delTeacherManager(item, 2)"
                    v-if="!code"
                  >
bb4c8454   阿宝   添加,修改教师
241
242
                    <i class="el-icon-delete" slot="reference"></i>
                  </el-popconfirm>
23a6dc5f   阿宝   学校管理相关接口简单对接
243
244
                  <div class="grade-item">
                    <p class="grade-name">
0ca11cc2   梁保满   学段参数调整,发卡记录类型增加
245
                      {{ item.gradeName }}-{{ item.className }}({{
ec6394d1   梁保满   v1.3.1。细节调整
246
247
                        item.subjectName
                      }})
23a6dc5f   阿宝   学校管理相关接口简单对接
248
249
250
251
252
253
254
255
256
257
258
259
                    </p>
                    <div class="grade-class">
                      <p>
                        <i class="fa fa-address-book-o"></i>学生:{{
                          item.studentCount
                        }}个
                      </p>
                    </div>
                  </div>
                </li>
              </ul>
            </div>
b0cd2598   梁保满   fix:测试问题
260
261
262
263
264
265
266
            <!-- <div
              class="grade-box"
              v-if="
                teacherDetail.teacherGradeList &&
                teacherDetail.teacherGradeList.length
              "
            >
23a6dc5f   阿宝   学校管理相关接口简单对接
267
              <p class="h-title">备课组长</p>
b0cd2598   梁保满   fix:测试问题
268
269
270
271
272
              <ul
                class="grade-info"
                v-for="item in teacherDetail.teacherGradeList"
                :key="item.grade"
              >
23a6dc5f   阿宝   学校管理相关接口简单对接
273
                <li class="grade-li">
b0cd2598   梁保满   fix:测试问题
274
275
276
277
278
                  <el-popconfirm
                    title="确定删除吗?"
                    @confirm="delTeacherManager(item, 3)"
                    v-if="!code"
                  >
bb4c8454   阿宝   添加,修改教师
279
280
                    <i class="el-icon-delete" slot="reference"></i>
                  </el-popconfirm>
23a6dc5f   阿宝   学校管理相关接口简单对接
281
282
                  <div class="grade-item">
                    <p class="grade-name">
53424e83   梁保满   教师管理筛选条件
283
                      {{ item.gradeName }}({{ item.subjectName }})
23a6dc5f   阿宝   学校管理相关接口简单对接
284
285
286
287
                    </p>
                  </div>
                </li>
              </ul>
b0cd2598   梁保满   fix:测试问题
288
            </div> -->
23a6dc5f   阿宝   学校管理相关接口简单对接
289
290
291
          </div>
        </div>
      </div>
b0cd2598   梁保满   fix:测试问题
292
293
294
295
296
297
298
299
300
301
302
303
      <el-dialog
        :close-on-click-modal="false"
        title="导入教师名单"
        :visible.sync="diaUp"
        width="600"
      >
        <upload
          id="downTeacher"
          :url="url"
          @upSuccess="upSuccess"
          fileName="教师名单"
        >
23a6dc5f   阿宝   学校管理相关接口简单对接
304
305
306
307
          <p class="down-txt" slot="down">
            通过Excel名单导入教师名单,点击
            <el-link type="danger" @click="downExcel">模板下载</el-link> 。
          </p>
6192eba8   梁保满   引用上传文件组件问题,备题组卷顶部
308
        </upload>
23a6dc5f   阿宝   学校管理相关接口简单对接
309
310
311
312
        <div class="dialog-footer" slot="footer">
          <el-button @click="diaUp = false">取 消</el-button>
        </div>
      </el-dialog>
b0cd2598   梁保满   fix:测试问题
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
      <el-dialog
        :close-on-click-modal="false"
        :title="
          isAdd ? '添加教师' : setTercherType == 1 ? '编辑教师信息' : '管理班级'
        "
        :visible.sync="diaTeacher"
        width="400"
        append-to-body
      >
        <el-form
          class="form-box"
          ref="formTeacher"
          :model="formTeacher"
          :rules="rulesTeacher"
          label=""
          width="160px"
        >
e5ff81a1   阿宝   集团管理员接口
330
331
          <el-form-item v-show="!isAdd && setTercherType == 2" label="教师姓名:">
            <span>{{ formTeacher.teacherName }}</span>
0a4de034   阿宝   教师管理,学生管理班级设置
332
          </el-form-item>
b0cd2598   梁保满   fix:测试问题
333
334
335
336
337
          <el-form-item
            v-show="isAdd || (!isAdd && setTercherType == 1)"
            label="手机号码:"
            prop="loginName"
          >
dd5150c5   阿宝   数据同步
338
            <el-col :span="10">
b0cd2598   梁保满   fix:测试问题
339
340
341
342
343
              <el-input
                type="number"
                oninput="if(value.length > 11) value = value.slice(0,11)"
                v-model.trim="formTeacher.loginName"
              />
dd5150c5   阿宝   数据同步
344
345
            </el-col>
          </el-form-item>
b0cd2598   梁保满   fix:测试问题
346
347
348
349
350
          <el-form-item
            v-show="isAdd || (!isAdd && setTercherType == 1)"
            label="教师姓名:"
            prop="teacherName"
          >
dd5150c5   阿宝   数据同步
351
352
353
354
            <el-col :span="10">
              <el-input maxlength="30" v-model.trim="formTeacher.teacherName" />
            </el-col>
          </el-form-item>
b0cd2598   梁保满   fix:测试问题
355
356
357
358
359
          <el-form-item
            v-show="isAdd || (!isAdd && setTercherType == 1)"
            label="性别:"
            prop="sex"
          >
dd5150c5   阿宝   数据同步
360
361
362
363
364
            <el-radio-group v-model="formTeacher.sex">
              <el-radio :label="1">男</el-radio>
              <el-radio :label="2">女</el-radio>
            </el-radio-group>
          </el-form-item>
b0cd2598   梁保满   fix:测试问题
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
          <el-form-item
            v-show="isAdd || (!isAdd && setTercherType == 2)"
            label="教师角色:"
            prop="roleList"
          >
            <div
              class="role-list"
              v-for="(item, index) in formTeacher.roleList"
              :key="item.id"
            >
              <el-select
                class="sel-c"
                v-model="item.roleId"
                placeholder="选择角色"
                @change="item.classId = []"
              >
                <el-option
                  v-for="item in teacherRoleList"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
bb4c8454   阿宝   添加,修改教师
387
388
                </el-option>
              </el-select>
b0cd2598   梁保满   fix:测试问题
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
              <el-cascader
                size="small"
                v-if="item.roleId == 6"
                class="sel-t"
                collapse
                clearable
                placeholder="选择年级-班级"
                v-model="item.classId"
                :options="gradeClassList"
                :props="{ expandTrigger: 'hover' }"
              ></el-cascader>
              <el-cascader
                size="small"
                v-if="item.roleId == 7"
                class="sel-t teacher-cascader"
                collapse
                clearable
                placeholder="选择年级-科目-班级"
                v-model="item.classId"
                :options="gradeSubListClass"
                :props="{ expandTrigger: 'hover', multiple: true }"
                popperClass="cascader-clazz"
              ></el-cascader>
              <el-cascader
                size="small"
                v-if="item.roleId == 8"
                class="sel-t"
                collapse
                clearable
                placeholder="选择年级-科目"
                v-model="item.classId"
                :options="gradeList"
                :props="{ expandTrigger: 'hover' }"
              ></el-cascader>
bb4c8454   阿宝   添加,修改教师
423
424
425
426
427
              <i class="el-icon-close" @click="removeRoleList(index)"></i>
            </div>
            <p class="add-box">
              <el-button icon="el-icon-plus" @click="addRoleList">添加</el-button>
            </p>
dd5150c5   阿宝   数据同步
428
429
430
          </el-form-item>
        </el-form>
        <div class="dialog-footer" slot="footer">
0a4de034   阿宝   教师管理,学生管理班级设置
431
          <el-button type="primary" @click="addTeacher">确 定</el-button>
dd5150c5   阿宝   数据同步
432
433
434
          <el-button @click="diaTeacher = false">取 消</el-button>
        </div>
      </el-dialog>
23a6dc5f   阿宝   学校管理相关接口简单对接
435
    </div>
4c4f7640   梁保满   路由表,路由前端文件
436
437
438
  </template>
  
  <script>
ec6394d1   梁保满   v1.3.1。细节调整
439
440
441
442
443
444
  import {
    downloadFile,
    formatGradeClass,
    randomWord,
    setGradeName,
  } from "@/utils";
4c4f7640   梁保满   路由表,路由前端文件
445
  export default {
23a6dc5f   阿宝   学校管理相关接口简单对接
446
447
    data() {
      return {
b21d90ef   梁保满   长水登录
448
        code: "",
dd5150c5   阿宝   数据同步
449
        loading: false,
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
450
        url: "/api_html/school/manager/importTeacher",
23a6dc5f   阿宝   学校管理相关接口简单对接
451
        diaUp: false,
bb4c8454   阿宝   添加,修改教师
452
453
        diaTeacher: false,
        isAdd: false,
0a4de034   阿宝   教师管理,学生管理班级设置
454
        setTercherType: 1,
23a6dc5f   阿宝   学校管理相关接口简单对接
455
        query: {
29319cfb   梁保满   设备。教师管理
456
          classType: 0,
53424e83   梁保满   教师管理筛选条件
457
458
          gradeClassSub: [],
          type: 0,
23a6dc5f   阿宝   学校管理相关接口简单对接
459
460
461
          teacherName: "",
          phone: "",
        },
23a6dc5f   阿宝   学校管理相关接口简单对接
462
        gradeList: [],
bb4c8454   阿宝   添加,修改教师
463
        classList: [],
53424e83   梁保满   教师管理筛选条件
464
        gradeClassSubList: [],
8ad80958   梁保满   教师学生管理,设备状态
465
        gradeClassList: [],
55eb13fd   梁保满   中天提出的交互优化
466
        gradeSubListClass: [],
dd5150c5   阿宝   数据同步
467
        teacherList: [],
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
468
469
470
471
472
473
474
475
476
477
        RoleList: [
          //角色
          {
            value: 6,
            label: "班主任",
          },
          {
            value: 7,
            label: "任课老师",
          },
b0cd2598   梁保满   fix:测试问题
478
479
480
481
          // {
          //   value: 8,
          //   label: "备课组长",
          // },
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
482
        ],
0a4de034   阿宝   教师管理,学生管理班级设置
483
484
        teacherRoleList: [
          //角色
bb4c8454   阿宝   添加,修改教师
485
486
487
488
489
490
491
492
          {
            value: 6,
            label: "班主任",
          },
          {
            value: 7,
            label: "任课老师",
          },
b0cd2598   梁保满   fix:测试问题
493
494
495
496
          // {
          //   value: 8,
          //   label: "备课组长",
          // },
bb4c8454   阿宝   添加,修改教师
497
        ],
23a6dc5f   阿宝   学校管理相关接口简单对接
498
499
500
501
502
503
504
505
506
507
        teacherDetail: {
          teacherName: "",
          loginName: "",
          sex: "",
          available: "",
          managerList: [],
          teacherCourseList: [],
          teacherGradeList: [],
        },
        showTId: "", //显示详情 教师ID
bb4c8454   阿宝   添加,修改教师
508
509
510
511
512
513
514
515
516
        roleList: [],
        formTeacher: {
          teacherName: "",
          loginName: "",
          sex: 1,
          roleList: [],
        },
        rulesTeacher: {
          teacherName: [
b0cd2598   梁保满   fix:测试问题
517
            { required: true, message: "请输入教师姓名", trigger: "blur" },
bb4c8454   阿宝   添加,修改教师
518
519
          ],
          loginName: [
b0cd2598   梁保满   fix:测试问题
520
            { required: true, message: "请输入联系电话", trigger: "blur" },
bb4c8454   阿宝   添加,修改教师
521
522
523
524
525
          ],
          sex: [{ required: true, message: "请选择性别", trigger: "blur" }],
          roleList: [
            { required: true, message: "请选择角色信息", trigger: "blur" },
          ],
dd5150c5   阿宝   数据同步
526
        },
29319cfb   梁保满   设备。教师管理
527
528
529
530
  
        AllTeacher: false,
        indeterminate: false,
        clearTeacher: [],
b0cd2598   梁保满   fix:测试问题
531
        removeLoading: false,
23a6dc5f   阿宝   学校管理相关接口简单对接
532
533
      };
    },
29319cfb   梁保满   设备。教师管理
534
535
    computed: {
      showDel: function () {
b0cd2598   梁保满   fix:测试问题
536
537
538
539
        return !this.query.gradeClassSub.some((item) => {
          return item.length > 1;
        });
      },
29319cfb   梁保满   设备。教师管理
540
    },
23a6dc5f   阿宝   学校管理相关接口简单对接
541
    async created() {
7812e986   梁保满   班主任查看报表添加额外信息
542
      this.code = this.$store.getters.csCode;
b8827a72   梁保满   测试bug
543
      this._QueryData(4);
696f2d42   梁保满   fix:报表导出问题
544
545
      await this._QueryDataGrade(1); //筛选用
      await this._QueryDataGrade(2); //配置角色用
4623f67f   梁保满   隋唐问以及教师学生设置
546
      // this._RoleList();
23a6dc5f   阿宝   学校管理相关接口简单对接
547
548
    },
    methods: {
8ad80958   梁保满   教师学生管理,设备状态
549
      async changeType() {
b0cd2598   梁保满   fix:测试问题
550
        this.query.gradeClassSub = [];
696f2d42   梁保满   fix:报表导出问题
551
        // this.query.type = 0;
b0cd2598   梁保满   fix:测试问题
552
553
        this.query.teacherName = "";
        this.query.phone = "";
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
554
555
556
557
558
        // if (this.query.classType === 0) {
        //   this.teacherRoleList = [...this.RoleList];
        // } else {
        //   this.teacherRoleList = this.RoleList.slice(1, 3);
        // }
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
559
  
8ad80958   梁保满   教师学生管理,设备状态
560
        this._QueryData(6);
696f2d42   梁保满   fix:报表导出问题
561
        await this._QueryDataGrade(1);
8ad80958   梁保满   教师学生管理,设备状态
562
      },
29319cfb   梁保满   设备。教师管理
563
564
565
566
      //选择删除
      handleCheckAllChange(val) {
        this.clearTeacher = val
          ? this.teacherList.map((item) => {
b0cd2598   梁保满   fix:测试问题
567
568
              return item.id;
            })
29319cfb   梁保满   设备。教师管理
569
570
571
572
573
574
575
576
577
          : [];
        this.indeterminate = false;
      },
      handleCheckedChange(value) {
        let checkedCount = value.length;
        this.checkAll = checkedCount === this.teacherList.length;
        this.indeterminate =
          checkedCount > 0 && checkedCount < this.teacherList.length;
      },
4623f67f   梁保满   隋唐问以及教师学生设置
578
      //清除教师绑定班级信息
29319cfb   梁保满   设备。教师管理
579
      async remove() {
8ad80958   梁保满   教师学生管理,设备状态
580
        if (!this.clearTeacher.length) {
b0cd2598   梁保满   fix:测试问题
581
582
          this.$message.warning("请选择要格式化的老师");
          return;
29319cfb   梁保满   设备。教师管理
583
        }
b0cd2598   梁保满   fix:测试问题
584
585
586
        this.removeLoading = true;
        let grades = [];
        this.query.gradeClassSub.map((item) => {
29319cfb   梁保满   设备。教师管理
587
588
589
590
591
          if (item.length == 1) {
            if (!grades.includes(item[0])) {
              grades.push(item[0]);
            }
          }
b0cd2598   梁保满   fix:测试问题
592
        });
8ad80958   梁保满   教师学生管理,设备状态
593
        const { data, status, info } = await this.$request.clearTeacherClasses({
29319cfb   梁保满   设备。教师管理
594
595
          ids: this.clearTeacher,
          type: this.query.classType,
b0cd2598   梁保满   fix:测试问题
596
          grades: grades,
29319cfb   梁保满   设备。教师管理
597
        });
b0cd2598   梁保满   fix:测试问题
598
        this.removeLoading = false;
29319cfb   梁保满   设备。教师管理
599
600
601
602
603
604
605
606
607
        if (status === 0) {
          this.$message.success(info);
          this._QueryData();
        } else {
          this.$message.error(info);
        }
      },
      //end
  
ec6394d1   梁保满   v1.3.1。细节调整
608
609
610
      gradeName(type) {
        return setGradeName(type);
      },
4623f67f   梁保满   隋唐问以及教师学生设置
611
      //导入成功
757a21e3   梁保满   上传成功提示成功数量
612
      upSuccess(res) {
757a21e3   梁保满   上传成功提示成功数量
613
614
615
616
617
        this.$message.closeAll();
        this.$message({
          showClose: true,
          message: `成功(${res.data.success})`,
          type: "success",
54857fa3   梁保满   下载模板跨域,集团管理员选择角色范...
618
          duration: 5000,
757a21e3   梁保满   上传成功提示成功数量
619
        });
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
620
        this.diaUp = false;
3b9f2ddb   梁保满   学生。教师筛选参数
621
        this._QueryData(5);
255e2506   梁保满   飞书bug及优化
622
      },
4623f67f   梁保满   隋唐问以及教师学生设置
623
      //添加教师角色
bb4c8454   阿宝   添加,修改教师
624
      addRoleList() {
bb4c8454   阿宝   添加,修改教师
625
626
627
628
629
630
        this.formTeacher.roleList.push({
          id: randomWord(true, 16, 20),
          roleId: "",
          classId: [],
        });
      },
4623f67f   梁保满   隋唐问以及教师学生设置
631
      //删除教师角色
bb4c8454   阿宝   添加,修改教师
632
      removeRoleList(index) {
bb4c8454   阿宝   添加,修改教师
633
634
        this.formTeacher.roleList.splice(index, 1);
      },
4623f67f   梁保满   隋唐问以及教师学生设置
635
      //添加教师弹窗
bb4c8454   阿宝   添加,修改教师
636
      addTeacherDia() {
bb4c8454   阿宝   添加,修改教师
637
638
639
640
641
        this.isAdd = true;
        this.formTeacher = {
          teacherName: "",
          loginName: "",
          sex: 1,
9309dc5d   梁保满   任课老师接口完成
642
          roleList: [],
bb4c8454   阿宝   添加,修改教师
643
644
645
        };
        this.diaTeacher = true;
      },
4623f67f   梁保满   隋唐问以及教师学生设置
646
      //教师角色数量
23a6dc5f   阿宝   学校管理相关接口简单对接
647
      setClass(obj) {
23a6dc5f   阿宝   学校管理相关接口简单对接
648
649
650
651
652
653
        return (
          obj.managerList?.length +
          obj.teacherCourseList?.length +
          obj.teacherGradeList?.length
        );
      },
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
654
655
656
657
658
659
660
661
662
      getClassName(id) {
        let name;
        this.classList.map((item) => {
          if (item.value == id) {
            name = item.label;
          }
        });
        return name;
      },
4623f67f   梁保满   隋唐问以及教师学生设置
663
      //教师详细数据
23a6dc5f   阿宝   学校管理相关接口简单对接
664
      showTeacher(obj) {
23a6dc5f   阿宝   学校管理相关接口简单对接
665
666
667
        this.showTId = obj.id;
        this.teacherDetail = { ...obj };
      },
0a4de034   阿宝   教师管理,学生管理班级设置
668
      editTeacher(type) {
a37317f4   阿宝   使用分析,发卡记录
669
        this.diaTeacher = true;
e5ff81a1   阿宝   集团管理员接口
670
        this.setTercherType = type;
bb4c8454   阿宝   添加,修改教师
671
672
673
674
675
676
677
678
679
        this.isAdd = false;
        for (let key in this.teacherDetail) {
          if (key == "realName") {
            this.formTeacher.teacherName = this.teacherDetail.realName;
          } else {
            this.formTeacher[key] = this.teacherDetail[key];
          }
        }
        this.toTeacherForm();
bb4c8454   阿宝   添加,修改教师
680
      },
4623f67f   梁保满   隋唐问以及教师学生设置
681
      //添加教师
bb4c8454   阿宝   添加,修改教师
682
      addTeacher() {
ce278878   梁保满   2-2 bugfix
683
        if (this.setTercherType == 1) {
b0cd2598   梁保满   fix:测试问题
684
          delete this.rulesTeacher.roleList;
ce278878   梁保满   2-2 bugfix
685
686
687
        } else {
          this.rulesTeacher.roleList = [
            { required: true, message: "请选择角色信息", trigger: "blur" },
b0cd2598   梁保满   fix:测试问题
688
          ];
ce278878   梁保满   2-2 bugfix
689
        }
bb4c8454   阿宝   添加,修改教师
690
691
692
693
694
695
696
697
698
699
700
701
702
        this.$refs.formTeacher.validate(async (valid) => {
          if (valid) {
            let obj = this.setTeacharForm();
            if (!obj) {
              this.$message.error("教师角色数据有误请检查!");
              return;
            }
            let res;
            if (this.isAdd) {
              res = await this.$request.addTeacher({
                teacherName: this.formTeacher.teacherName,
                loginName: this.formTeacher.loginName,
                sex: this.formTeacher.sex,
8ad80958   梁保满   教师学生管理,设备状态
703
                type: this.query.classType,
bb4c8454   阿宝   添加,修改教师
704
705
706
                ...obj,
              });
            } else {
bb4c8454   阿宝   添加,修改教师
707
708
709
710
711
              res = await this.$request.updateTeacher({
                teacherId: this.formTeacher.id,
                teacherName: this.formTeacher.teacherName,
                loginName: this.formTeacher.loginName,
                sex: this.formTeacher.sex,
8ad80958   梁保满   教师学生管理,设备状态
712
                type: this.query.classType,
bb4c8454   阿宝   添加,修改教师
713
714
715
716
717
718
                ...obj,
              });
            }
            if (res.status === 0) {
              this.$message.success(res.info);
              this.diaTeacher = false;
ce278878   梁保满   2-2 bugfix
719
              this._QueryData(10);
bb4c8454   阿宝   添加,修改教师
720
721
722
723
            } else {
              this.$message.error(res.info);
            }
          } else {
b0cd2598   梁保满   fix:测试问题
724
            console.log(valid);
e5ff81a1   阿宝   集团管理员接口
725
            this.$message.warning("输入有误请检查!");
bb4c8454   阿宝   添加,修改教师
726
727
728
729
            return false;
          }
        });
      },
4623f67f   梁保满   隋唐问以及教师学生设置
730
      //转换保存教师数据格式
bb4c8454   阿宝   添加,修改教师
731
      setTeacharForm() {
bb4c8454   阿宝   添加,修改教师
732
733
734
735
736
737
738
739
740
741
742
743
        let ERR_OK = true;
        this.formTeacher.roleList.map((item) => {
          if (item.classId.length == 0) {
            ERR_OK = false;
          }
        });
        if (ERR_OK) {
          let [managerList, teacherCourseList, gradeGroupList] = [[], [], []];
          this.formTeacher.roleList.map((item) => {
            if (item.roleId == 6) {
              managerList.push({
                classId: item.classId[1],
e5ff81a1   阿宝   集团管理员接口
744
745
746
                className:
                  this.classList.find((items) => items.value == item.classId[1])
                    ?.label || "",
bb4c8454   阿宝   添加,修改教师
747
748
              });
            } else if (item.roleId == 7) {
55eb13fd   梁保满   中天提出的交互优化
749
750
751
752
753
754
755
756
              item.classId.map((clazz) => {
                teacherCourseList.push({
                  classId: clazz[2],
                  className:
                    this.classList.find((items) => items.value == clazz[2])
                      ?.label || "",
                  subjectName: clazz[1],
                });
bb4c8454   阿宝   添加,修改教师
757
              });
bb4c8454   阿宝   添加,修改教师
758
            }
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
759
760
761
762
763
764
765
766
767
            // else {
            //   gradeGroupList.push({
            //     grade: item.classId[0],
            //     gradeName:
            //       this.gradeList.find((items) => items.id == item.classId[0])
            //         ?.label || "",
            //     subjectName: item.classId[1],
            //   });
            // }
bb4c8454   阿宝   添加,修改教师
768
769
770
771
772
773
774
775
776
777
          });
          return {
            managerList,
            teacherCourseList,
            gradeGroupList,
          };
        } else {
          return false;
        }
      },
4623f67f   梁保满   隋唐问以及教师学生设置
778
      //教师角色数据转换为form格式数据
bb4c8454   阿宝   添加,修改教师
779
      toTeacherForm() {
bb4c8454   阿宝   添加,修改教师
780
781
        this.formTeacher.roleList = [];
        this.formTeacher.managerList?.map((item) => {
bb4c8454   阿宝   添加,修改教师
782
783
784
785
786
787
          this.formTeacher.roleList.push({
            id: randomWord(true, 16, 20),
            roleId: 6,
            classId: [
              this.classList.find(
                (items) =>
47a01cb6   梁保满   v1.3测试问题
788
789
                  items.value == item.classId ||
                  items.label.includes(item.className)
8ad80958   梁保满   教师学生管理,设备状态
790
              )?.grade,
bb4c8454   阿宝   添加,修改教师
791
792
793
794
              item.classId,
            ],
          });
        });
55eb13fd   梁保满   中天提出的交互优化
795
        let teacherClassId = [];
bb4c8454   阿宝   添加,修改教师
796
        this.formTeacher.teacherCourseList?.map((item) => {
55eb13fd   梁保满   中天提出的交互优化
797
798
799
800
801
802
803
804
805
806
807
          teacherClassId.push([
            item.grade,
            item.subjectName,
            this.classList.find(
              (items) =>
                items.value == item.classId ||
                items.label.includes(item.className)
            ).value,
          ]);
        });
        if (teacherClassId.length) {
bb4c8454   阿宝   添加,修改教师
808
809
810
          this.formTeacher.roleList.push({
            id: randomWord(true, 16, 20),
            roleId: 7,
55eb13fd   梁保满   中天提出的交互优化
811
            classId: [...teacherClassId],
bb4c8454   阿宝   添加,修改教师
812
          });
55eb13fd   梁保满   中天提出的交互优化
813
        }
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
814
815
816
817
818
819
820
821
822
823
        // this.formTeacher.gradeGroupList?.map((item) => {
        //   this.formTeacher.roleList.push({
        //     id: randomWord(true, 16, 20),
        //     roleId: 8,
        //     classId: [
        //       this.gradeList.find((items) => items.id == item.classId[0]).id,
        //       item.subjectName,
        //     ],
        //   });
        // });
bb4c8454   阿宝   添加,修改教师
824
      },
4623f67f   梁保满   隋唐问以及教师学生设置
825
      //删除教师角色
b21d90ef   梁保满   长水登录
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
      async delTeacherManager(obj, type) {
        let query;
        switch (type) {
          case 1:
            query = {
              classId: obj.classId,
            };
            break;
          case 2:
            query = {
              classId: obj.classId,
              subjectName: obj.subjectName,
            };
            break;
          case 3:
            query = {
              classId: obj.classId,
              grade: obj.grade,
              subjectName: obj.subjectName,
            };
            break;
        }
        //角色
        const { data, status, info } = await this.$request.delTeacherManager({
          teacherId: obj.teacherId,
4623f67f   梁保满   隋唐问以及教师学生设置
851
          type: this.query.classType,
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
852
          ...query,
b21d90ef   梁保满   长水登录
853
854
        });
        if (status === 0) {
ce278878   梁保满   2-2 bugfix
855
          this._QueryData(10);
bb4c8454   阿宝   添加,修改教师
856
857
858
859
        } else {
          this.$message.error(info);
        }
      },
4623f67f   梁保满   隋唐问以及教师学生设置
860
861
862
863
864
865
866
867
868
      //角色列表
      // async _RoleList() {
      //   const { data, status, info } = await this.$request.roleList();
      //   if (status === 0) {
      //     this.roleList = data.list || [];
      //   } else {
      //     this.$message.error(info);
      //   }
      // },
53424e83   梁保满   教师管理筛选条件
869
      setQuery(type) {
23a6dc5f   阿宝   学校管理相关接口简单对接
870
        let query = {};
b8827a72   梁保满   测试bug
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
        if (type == 1) {
          query.grades = [];
          query.classIds = [];
          query.subjectNames = [];
          this.query.gradeClassSub?.map((item) => {
            if (item.length == 1) {
              if (!query.grades.includes(item[0])) {
                query.grades.push(item[0]);
              }
            } else if (item.length == 2) {
              if (!query.classIds.includes(item[1])) {
                query.classIds.push(item[1]);
              }
              query.grades.includes(item[0]) && query.grades.remove(item[0]);
            } else if (item.length == 3) {
              if (!query.subjectNames.includes(item[2])) {
                query.subjectNames.push(item[2]);
              }
              query.grades.includes(item[0]) && query.grades.remove(item[0]);
              query.classIds.includes(item[0]) && query.classIds.remove(item[0]);
            }
          });
  
          delete query.gradeClassSub;
          query.grades.length ? "" : delete query.grades;
          query.classIds.length ? "" : delete query.classIds;
          query.subjectNames.length ? "" : delete query.subjectNames;
          this.query.teacherName = "";
          this.query.phone = "";
3b9f2ddb   梁保满   学生。教师筛选参数
900
          this.query.type = 0;
5cfb0264   梁保满   班级管理交互优化
901
        } else if (type == 2) {
3b9f2ddb   梁保满   学生。教师筛选参数
902
          this.query.type = 9;
23a6dc5f   阿宝   学校管理相关接口简单对接
903
          this.query.phone = "";
53424e83   梁保满   教师管理筛选条件
904
          this.query.gradeClassSub = [];
3b9f2ddb   梁保满   学生。教师筛选参数
905
906
          query.teacherName = this.query.teacherName;
          query.type = this.query.type;
23a6dc5f   阿宝   学校管理相关接口简单对接
907
        } else if (type == 3) {
3b9f2ddb   梁保满   学生。教师筛选参数
908
          this.query.type = 9;
23a6dc5f   阿宝   学校管理相关接口简单对接
909
          this.query.teacherName = "";
53424e83   梁保满   教师管理筛选条件
910
          this.query.gradeClassSub = [];
3b9f2ddb   梁保满   学生。教师筛选参数
911
912
          query.phone = this.query.phone;
          query.type = this.query.type;
b8827a72   梁保满   测试bug
913
        } else if (type == 4) {
b8827a72   梁保满   测试bug
914
915
916
917
          this.query.teacherName = "";
          this.query.phone = "";
          this.query.gradeClassSub = [];
          query.type = this.query.type;
ec6394d1   梁保满   v1.3.1。细节调整
918
        } else {
53424e83   梁保满   教师管理筛选条件
919
          query = { ...this.query };
d059a9d1   梁保满   接口调整
920
          query.grades = [];
53424e83   梁保满   教师管理筛选条件
921
922
923
924
          query.classIds = [];
          query.subjectNames = [];
          this.query.gradeClassSub?.map((item) => {
            if (item.length == 1) {
d059a9d1   梁保满   接口调整
925
926
              if (!query.grades.includes(item[0])) {
                query.grades.push(item[0]);
53424e83   梁保满   教师管理筛选条件
927
928
929
930
931
              }
            } else if (item.length == 2) {
              if (!query.classIds.includes(item[1])) {
                query.classIds.push(item[1]);
              }
b8827a72   梁保满   测试bug
932
              query.grades.includes(item[0]) && query.grades.remove(item[0]);
53424e83   梁保满   教师管理筛选条件
933
934
935
936
            } else if (item.length == 3) {
              if (!query.subjectNames.includes(item[2])) {
                query.subjectNames.push(item[2]);
              }
b8827a72   梁保满   测试bug
937
              query.grades.includes(item[0]) && query.grades.remove(item[0]);
53424e83   梁保满   教师管理筛选条件
938
939
940
941
942
              query.classIds.includes(item[0]) && query.classIds.remove(item[0]);
            }
          });
  
          delete query.gradeClassSub;
d059a9d1   梁保满   接口调整
943
          query.grades.length ? "" : delete query.grades;
53424e83   梁保满   教师管理筛选条件
944
945
946
947
          query.classIds.length ? "" : delete query.classIds;
          query.subjectNames.length ? "" : delete query.subjectNames;
          query.teacherName.length ? "" : delete query.teacherName;
          query.phone.length ? "" : delete query.phone;
ec6394d1   梁保满   v1.3.1。细节调整
948
        }
b0cd2598   梁保满   fix:测试问题
949
        query.classType = this.query.classType;
53424e83   梁保满   教师管理筛选条件
950
951
952
953
        return query;
      },
      async _QueryData(type) {
        if (this.loading) return;
5cfb0264   梁保满   班级管理交互优化
954
955
956
957
958
959
960
961
962
963
964
        if (type == 2) {
          if (this.query.teacherName == "") {
            this.$message.warning("请输入老师姓名");
            return;
          }
        } else if (type == 3) {
          if (this.query.phone == "") {
            this.$message.warning("请输入老师手机");
            return;
          }
        }
23a6dc5f   阿宝   学校管理相关接口简单对接
965
        this.loading = true;
b8827a72   梁保满   测试bug
966
        let query = this.setQuery(type);
0a4de034   阿宝   教师管理,学生管理班级设置
967
        this.teacherList = [];
b0cd2598   梁保满   fix:测试问题
968
        this.clearTeacher = [];
23a6dc5f   阿宝   学校管理相关接口简单对接
969
970
971
972
973
974
975
        const { data, status, info } = await this.$request.teacherList({
          ...query,
        });
        this.loading = false;
        console.log(status);
        if (status === 0) {
          this.teacherList = data.list || [];
bb4c8454   阿宝   添加,修改教师
976
977
978
979
980
981
982
983
984
985
          if (type == 10) {
            let detailArr =
              data.list.filter((item) => item.id == this.formTeacher.id) || [];
            this.teacherDetail = (detailArr.length && detailArr[0]) || {
              ...data.list[0],
            };
          } else {
            this.teacherDetail = { ...this.teacherList[0] };
          }
          this.showTId = this.teacherDetail.id;
23a6dc5f   阿宝   学校管理相关接口简单对接
986
987
988
989
        } else {
          this.$message.error(info);
        }
      },
696f2d42   梁保满   fix:报表导出问题
990
991
992
993
      async _QueryDataGrade(type) {
        let query = {};
        if (type == 1) {
          query.type = this.query.classType;
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
994
995
        } else if (type == 3) {
          query.type = 0;
696f2d42   梁保满   fix:报表导出问题
996
        }
bb4c8454   阿宝   添加,修改教师
997
        //年级数据
8ad80958   梁保满   教师学生管理,设备状态
998
        const { data, status, info } = await this.$request.gradeList({
696f2d42   梁保满   fix:报表导出问题
999
          ...query,
8ad80958   梁保满   教师学生管理,设备状态
1000
        });
23a6dc5f   阿宝   学校管理相关接口简单对接
1001
        if (status === 0) {
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
1002
1003
1004
1005
1006
1007
          if (type == 1) {
            this.gradeClassSubList = [];
            if (this.query.classType == 0) {
              this.gradeClassList = [];
            }
          }
23a6dc5f   阿宝   学校管理相关接口简单对接
1008
1009
          this.gradeList =
            data.list?.map((item) => {
53424e83   梁保满   教师管理筛选条件
1010
1011
1012
1013
1014
1015
              let subList = item.subjectNames?.map((items) => {
                return {
                  value: items,
                  label: items,
                };
              });
696f2d42   梁保满   fix:报表导出问题
1016
              if (type == 2) {
696f2d42   梁保满   fix:报表导出问题
1017
1018
                //学校-科目-班级
                this.gradeSubListClass.push({
b0cd2598   梁保满   fix:测试问题
1019
1020
1021
                  value: item.grade,
                  label: item.gradeName,
                  id: item.grade,
696f2d42   梁保满   fix:报表导出问题
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
                  children: item.subjectNames.map((items) => {
                    let child = [];
                    item.classList.map((clazz) => {
                      if (clazz.subjectName) {
                        if (items == clazz.subjectName) {
                          child.push({
                            value: clazz.id,
                            label: clazz.className,
                          });
                        }
                      } else {
                        child.push({
                          value: clazz.id,
                          label: clazz.className,
                        });
                      }
                    });
b0cd2598   梁保满   fix:测试问题
1039
                    return {
696f2d42   梁保满   fix:报表导出问题
1040
1041
1042
                      value: items,
                      label: items,
                      children: child,
b0cd2598   梁保满   fix:测试问题
1043
1044
1045
                    };
                  }),
                });
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
1046
              } else if (type == 1) {
696f2d42   梁保满   fix:报表导出问题
1047
                if (this.query.classType == 0) {
a736cb8b   梁保满   fix:教师管理班级权限问题,删除...
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
                  // 学校-年级
                  this.gradeClassList.push({
                    value: item.grade,
                    label: item.gradeName,
                    id: item.grade,
                    children: item.classList.map((clazz) => {
                      return {
                        value: clazz.id,
                        label: clazz.className,
                        id: clazz.id,
                      };
                    }),
                  });
696f2d42   梁保满   fix:报表导出问题
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
                  //学校-年级-科目
                  this.gradeClassSubList.push({
                    value: item.grade,
                    label: item.gradeName,
                    id: item.grade,
                    children: item.classList.map((clazz) => {
                      return {
                        value: clazz.id,
                        label: clazz.className,
                        id: clazz.id,
                        children: [...subList],
                      };
                    }),
                  });
                } else {
                  //学校-年级-科目
                  this.gradeClassSubList.push({
                    value: item.grade,
                    label: item.gradeName,
                    id: item.grade,
                    children: item.classList.map((clazz) => {
                      return {
                        value: clazz.id,
                        label: clazz.className,
                        id: clazz.id,
                        children: [
                          {
                            value: clazz.subjectName,
                            label: clazz.subjectName,
                          },
                        ],
                      };
                    }),
                  });
                }
b0cd2598   梁保满   fix:测试问题
1096
1097
              }
  
8ad80958   梁保满   教师学生管理,设备状态
1098
1099
1100
1101
1102
1103
1104
              let classList = item.classList.map((clazz) => {
                return {
                  value: clazz.id,
                  label: `${clazz.className}(${item.gradeName})`,
                  grade: item.grade,
                  gradeName: item.gradeName,
                };
b0cd2598   梁保满   fix:测试问题
1105
1106
              });
              this.classList = this.classList.concat(classList);
53424e83   梁保满   教师管理筛选条件
1107
              return {
d059a9d1   梁保满   接口调整
1108
                value: item.grade,
53424e83   梁保满   教师管理筛选条件
1109
1110
1111
                label: item.gradeName,
                id: item.grade,
                children: [...subList],
23a6dc5f   阿宝   学校管理相关接口简单对接
1112
1113
              };
            }) || [];
23a6dc5f   阿宝   学校管理相关接口简单对接
1114
1115
1116
1117
        } else {
          this.$message.error(info);
        }
      },
23a6dc5f   阿宝   学校管理相关接口简单对接
1118
      async downExcel() {
a3fcda80   梁保满   教师模版下载调整
1119
        let data = await this.$request.teacherTemplate();
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1120
1121
1122
1123
1124
        if (data && !data.code) {
          let blob = new Blob([data], {
            type: "application/vnd.ms-excel;charset=utf-8",
          });
          downloadFile(`教师名单模版.xlsx`, blob);
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
1125
        } else {
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1126
          this.$message.error(data.info);
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
1127
1128
1129
1130
1131
1132
1133
        }
      },
      async exportTeacherExl() {
        this.loadingDown = true;
        let data = await this.$request.exportTeacher();
        this.loadingDown = false;
        if (data) {
23a6dc5f   阿宝   学校管理相关接口简单对接
1134
1135
1136
          let blob = new Blob([data], {
            type: "application/vnd.ms-excel;charset=utf-8",
          });
236b1f0e   梁保满   周末-飞书bug
1137
          downloadFile(`教师名单.xlsx`, blob);
23a6dc5f   阿宝   学校管理相关接口简单对接
1138
        } else {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
1139
          this.$message.error("下载失败");
23a6dc5f   阿宝   学校管理相关接口简单对接
1140
1141
1142
1143
1144
        }
      },
    },
  };
  </script>
4c4f7640   梁保满   路由表,路由前端文件
1145
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1146
1147
1148
  <style lang="scss" scoped>
  .page-content {
    padding: 0 20px 20px;
4c4f7640   梁保满   路由表,路由前端文件
1149
  }
29319cfb   梁保满   设备。教师管理
1150
  
99713685   梁保满   学生调班,班级数据重新请求,使用过...
1151
1152
1153
1154
1155
  .total {
    padding: 0 20px 10px;
    font-size: 14px;
    color: #666;
  }
29319cfb   梁保满   设备。教师管理
1156
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1157
1158
1159
1160
1161
1162
  .teacher-box {
    display: flex;
    background: #f8f8f8;
    border-radius: 10px;
    overflow: hidden;
    min-height: 400px;
29319cfb   梁保满   设备。教师管理
1163
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1164
    .teacher-ul {
b21d90ef   梁保满   长水登录
1165
      max-height: 60vh;
29319cfb   梁保满   设备。教师管理
1166
1167
      overflow-y: auto;
  
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1168
1169
1170
      &::-webkit-scrollbar {
        width: 6px;
      }
29319cfb   梁保满   设备。教师管理
1171
  
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1172
1173
1174
1175
      &::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background-color: #ccc;
      }
23a6dc5f   阿宝   学校管理相关接口简单对接
1176
    }
29319cfb   梁保满   设备。教师管理
1177
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1178
1179
    .teacher-list {
      width: 240px;
4c4f7640   梁保满   路由表,路由前端文件
1180
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1181
1182
1183
1184
      .h-title {
        height: 40px;
        line-height: 40px;
        background: #eee;
29319cfb   梁保满   设备。教师管理
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
        display: flex;
        justify-content: space-between;
        align-items: center;
  
        .txt {
          flex: 1;
        }
  
        .clear {
          width: 18px;
          margin-right: 10px;
          cursor: pointer;
b0cd2598   梁保满   fix:测试问题
1197
          transition: all 0.3s;
29319cfb   梁保满   设备。教师管理
1198
1199
1200
1201
1202
  
          &:hover {
            transform: scale(1.1);
          }
        }
23a6dc5f   阿宝   学校管理相关接口简单对接
1203
      }
29319cfb   梁保满   设备。教师管理
1204
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1205
1206
1207
1208
      .teacher-item {
        font-size: 16px;
        color: #7f7f7f;
        line-height: 36px;
23a6dc5f   阿宝   学校管理相关接口简单对接
1209
        padding-left: 12px;
29319cfb   梁保满   设备。教师管理
1210
1211
        display: flex;
  
0586b4d7   梁保满   接口地址列表处理
1212
1213
1214
1215
1216
1217
1218
1219
1220
        .name {
          cursor: pointer;
          &:hover {
            color: #667ffd;
          }
          &.active {
            color: #667ffd;
            background: #eee;
          }
23a6dc5f   阿宝   学校管理相关接口简单对接
1221
1222
1223
        }
      }
    }
4c4f7640   梁保满   路由表,路由前端文件
1224
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1225
1226
1227
    .teacher-detail {
      flex: 1;
      position: relative;
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1228
      padding-left: 10px;
29319cfb   梁保满   设备。教师管理
1229
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1230
1231
1232
1233
      .icon-box {
        position: absolute;
        top: 12px;
        right: 20px;
29319cfb   梁保满   设备。教师管理
1234
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1235
1236
1237
1238
1239
        .icon {
          font-size: 24px;
          color: #7f7f7f;
          cursor: pointer;
        }
29319cfb   梁保满   设备。教师管理
1240
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1241
1242
1243
1244
        .el-icon-circle-plus-outline {
          margin-left: 10px;
        }
      }
29319cfb   梁保满   设备。教师管理
1245
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1246
1247
1248
1249
1250
1251
1252
      .detail-top {
        padding: 12px 20px;
        box-sizing: border-box;
        display: flex;
        flex-wrap: wrap;
        font-size: 14px;
        color: #7f7f7f;
29319cfb   梁保满   设备。教师管理
1253
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1254
1255
1256
1257
1258
        .p-item {
          width: 40%;
          line-height: 28px;
        }
      }
29319cfb   梁保满   设备。教师管理
1259
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1260
1261
1262
1263
1264
      .grade-box {
        .grade-info {
          display: flex;
          flex-wrap: wrap;
          padding: 20px 20px 0;
29319cfb   梁保满   设备。教师管理
1265
  
b0cd2598   梁保满   fix:测试问题
1266
          & > li {
23a6dc5f   阿宝   学校管理相关接口简单对接
1267
1268
1269
            margin-right: 20px;
            margin-bottom: 20px;
            position: relative;
29319cfb   梁保满   设备。教师管理
1270
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1271
1272
1273
1274
1275
1276
1277
            .el-icon-delete {
              position: absolute;
              top: 8px;
              right: 8px;
              padding: 2px;
              cursor: pointer;
              display: none;
29319cfb   梁保满   设备。教师管理
1278
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1279
1280
1281
1282
              &:hover {
                color: #667ffd;
              }
            }
29319cfb   梁保满   设备。教师管理
1283
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
            &:hover {
              .el-icon-delete {
                display: block;
              }
            }
          }
  
          .grade-item {
            width: 200px;
            box-sizing: border-box;
            padding: 12px 16px;
            border-radius: 10px;
            box-shadow: 1px 1px 3px #888;
          }
29319cfb   梁保满   设备。教师管理
1298
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1299
1300
1301
1302
1303
1304
          .grade-name {
            font-size: 16px;
            font-weight: bold;
            line-height: 18px;
            padding-bottom: 12px;
          }
29319cfb   梁保满   设备。教师管理
1305
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1306
1307
1308
1309
1310
          .grade-class {
            display: flex;
            justify-content: space-between;
            font-size: 15px;
            padding-right: 20px;
29319cfb   梁保满   设备。教师管理
1311
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1312
1313
1314
1315
1316
            .fa {
              font-size: 18px;
              margin-right: 5px;
              color: #a4a4a4;
            }
29319cfb   梁保满   设备。教师管理
1317
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1318
1319
1320
1321
1322
1323
1324
1325
            .fa-book {
              font-size: 20px;
            }
          }
        }
      }
    }
  }
29319cfb   梁保满   设备。教师管理
1326
  
bb4c8454   阿宝   添加,修改教师
1327
1328
1329
  .add-box {
    margin-top: 10px;
  }
29319cfb   梁保满   设备。教师管理
1330
  
bb4c8454   阿宝   添加,修改教师
1331
1332
1333
1334
  .sel-c {
    width: 120px;
    margin-right: 12px;
  }
29319cfb   梁保满   设备。教师管理
1335
  
bb4c8454   阿宝   添加,修改教师
1336
1337
  .role-list {
    margin-bottom: 10px;
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
1338
    position: relative;
29319cfb   梁保满   设备。教师管理
1339
  
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
1340
1341
1342
1343
1344
1345
1346
    .sel-p {
      position: absolute;
      left: 146px;
      top: 0;
      font-size: 13px;
      color: #606266;
    }
29319cfb   梁保满   设备。教师管理
1347
  
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
1348
1349
1350
1351
1352
    .sel-t {
      :deep(.el-input__inner) {
        background: transparent;
      }
    }
29319cfb   梁保满   设备。教师管理
1353
  
bb4c8454   阿宝   添加,修改教师
1354
1355
1356
1357
1358
1359
1360
1361
    .el-icon-close {
      padding: 5px;
      cursor: pointer;
      margin-left: 16px;
      background: #ccc;
      border-radius: 50%;
    }
  }
4c4f7640   梁保满   路由表,路由前端文件
1362
  </style>