Blame view

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