Blame view

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