Blame view

src/views/basic/setUp/teacher.vue 37.7 KB
4c4f7640   梁保满   路由表,路由前端文件
1
  <template>
23a6dc5f   阿宝   学校管理相关接口简单对接
2
3
4
5
6
    <div>
      <back-box>
        <template slot="title">
          <span>教师管理</span>
        </template>
b21d90ef   梁保满   长水登录
7
        <template slot="btns" v-if="!code">
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
8
          <el-tooltip effect="dark" content="导入教师名单" placement="bottom">
b0cd2598   梁保满   fix:测试问题
9
10
11
12
13
14
15
16
            <el-button
              type="primary"
              icon="el-icon-upload2"
              size="mini"
              plain
              circle
              @click="diaUp = true"
            ></el-button>
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
17
18
          </el-tooltip>
          <el-tooltip effect="dark" content="导出教师名单" placement="bottom">
b0cd2598   梁保满   fix:测试问题
19
20
21
22
23
24
25
26
            <el-button
              type="primary"
              icon="el-icon-download"
              size="mini"
              plain
              circle
              @click="exportTeacherExl"
            ></el-button>
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
27
          </el-tooltip>
23a6dc5f   阿宝   学校管理相关接口简单对接
28
          <el-tooltip effect="dark" content="添加教师" placement="bottom">
b0cd2598   梁保满   fix:测试问题
29
30
31
32
33
34
35
36
            <el-button
              type="primary"
              icon="el-icon-plus"
              size="mini"
              plain
              circle
              @click="addTeacherDia"
            ></el-button>
23a6dc5f   阿宝   学校管理相关接口简单对接
37
38
39
40
41
42
          </el-tooltip>
        </template>
      </back-box>
  
      <div class="answer-header">
        <div class="sel-box">
b0cd2598   梁保满   fix:测试问题
43
44
45
46
47
48
          <el-select
            class="sel"
            v-model="query.classType"
            @change="changeType"
            placeholder="选择类型"
          >
29319cfb   梁保满   设备。教师管理
49
50
51
            <el-option label="行政班" :value="0"></el-option>
            <el-option label="教学班" :value="1"></el-option>
          </el-select>
b0cd2598   梁保满   fix:测试问题
52
53
54
55
56
57
58
59
60
          <el-cascader
            size="small"
            class="sel sel2"
            clearable
            placeholder="选择范围"
            @change="_QueryData(1)"
            v-model="query.gradeClassSub"
            :options="gradeClassSubList"
            :props="{
53424e83   梁保满   教师管理筛选条件
61
62
              multiple: true,
              checkStrictly: true,
b0cd2598   梁保满   fix:测试问题
63
64
65
66
67
68
69
70
71
72
            }"
            collapse-tags
            :show-all-levels="false"
          ></el-cascader>
          <el-select
            class="sel"
            v-model="query.type"
            @change="_QueryData(4)"
            placeholder="选择类型"
          >
5cfb0264   梁保满   班级管理交互优化
73
            <el-option disabled label="请选择" :value="9"></el-option>
55eb13fd   梁保满   中天提出的交互优化
74
75
            <el-option label="已分配任课信息" :value="0"></el-option>
            <el-option label="未分配任课信息" :value="1"></el-option>
23a6dc5f   阿宝   学校管理相关接口简单对接
76
          </el-select>
b0cd2598   梁保满   fix:测试问题
77
78
79
80
81
82
83
84
85
86
87
88
89
          <el-input
            placeholder="请输入老师姓名"
            v-model="query.teacherName"
            class="input-with-select"
            maxlength="30"
            clearable
            @keyup.enter.native="_QueryData(2)"
          >
            <el-button
              slot="append"
              icon="el-icon-search"
              @click="_QueryData(2)"
            ></el-button>
23a6dc5f   阿宝   学校管理相关接口简单对接
90
          </el-input>
b0cd2598   梁保满   fix:测试问题
91
92
93
94
95
96
97
98
99
100
101
102
103
104
          <el-input
            type="number"
            oninput="if(value.length > 11) value = value.slice(0,11)"
            placeholder="请输入老师手机号"
            v-model="query.phone"
            clearable
            class="input-with-select"
            @keyup.enter.native="_QueryData(3)"
          >
            <el-button
              slot="append"
              icon="el-icon-search"
              @click="_QueryData(3)"
            ></el-button>
23a6dc5f   阿宝   学校管理相关接口简单对接
105
          </el-input>
a4074db8   梁保满   使用分析,集团管理元交互
106
          <!-- <el-button class="serach-box" round @click="_QueryData(4)"
53424e83   梁保满   教师管理筛选条件
107
            >筛选</el-button
a4074db8   梁保满   使用分析,集团管理元交互
108
          > -->
23a6dc5f   阿宝   学校管理相关接口简单对接
109
110
        </div>
      </div>
99713685   梁保满   学生调班,班级数据重新请求,使用过...
111
112
113
      <p class="total" v-if="teacherList.length">
        共筛选出{{ teacherList.length }}名教师。
      </p>
23a6dc5f   阿宝   学校管理相关接口简单对接
114
      <div class="page-content">
b0cd2598   梁保满   fix:测试问题
115
116
117
118
119
        <el-empty
          :image-size="100"
          v-if="!teacherList.length && loading == false"
          description="没有更多数据"
        ></el-empty>
23a6dc5f   阿宝   学校管理相关接口简单对接
120
121
        <div class="teacher-box" v-loading="loading" v-else>
          <div class="teacher-list">
29319cfb   梁保满   设备。教师管理
122
            <p class="h-title" v-loading="removeLoading">
b0cd2598   梁保满   fix:测试问题
123
124
125
126
127
128
129
              <el-checkbox
                v-show="showDel"
                v-model="AllTeacher"
                :indeterminate="indeterminate"
                @change="handleCheckAllChange"
                >{{ "" }}</el-checkbox
              >
29319cfb   梁保满   设备。教师管理
130
              <span class="txt">教师列表</span>
b0cd2598   梁保满   fix:测试问题
131
132
133
134
135
136
137
              <img
                v-show="showDel"
                class="clear"
                @click="remove"
                src="../../../assets/images/shuazi.svg"
                alt=""
              />
29319cfb   梁保满   设备。教师管理
138
            </p>
b0cd2598   梁保满   fix:测试问题
139
140
141
142
            <el-checkbox-group
              v-model="clearTeacher"
              @change="handleCheckedChange"
            >
29319cfb   梁保满   设备。教师管理
143
              <ul class="teacher-ul">
b0cd2598   梁保满   fix:测试问题
144
145
146
147
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);
696f2d42   梁保满   fix:报表导出问题
541
542
      await this._QueryDataGrade(1); //筛选用
      await this._QueryDataGrade(2); //配置角色用
4623f67f   梁保满   隋唐问以及教师学生设置
543
      // this._RoleList();
23a6dc5f   阿宝   学校管理相关接口简单对接
544
545
    },
    methods: {
8ad80958   梁保满   教师学生管理,设备状态
546
      async changeType() {
b0cd2598   梁保满   fix:测试问题
547
        this.query.gradeClassSub = [];
696f2d42   梁保满   fix:报表导出问题
548
        // this.query.type = 0;
b0cd2598   梁保满   fix:测试问题
549
550
        this.query.teacherName = "";
        this.query.phone = "";
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
551
        if (this.query.classType === 0) {
b0cd2598   梁保满   fix:测试问题
552
          this.teacherRoleList = [...this.RoleList];
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
553
        } else {
b0cd2598   梁保满   fix:测试问题
554
          this.teacherRoleList = this.RoleList.slice(1, 3);
4d5235d7   梁保满   学生,教师修改,顶部返回备题组卷记...
555
556
        }
  
8ad80958   梁保满   教师学生管理,设备状态
557
        this._QueryData(6);
696f2d42   梁保满   fix:报表导出问题
558
        await this._QueryDataGrade(1);
8ad80958   梁保满   教师学生管理,设备状态
559
      },
29319cfb   梁保满   设备。教师管理
560
561
562
563
      //选择删除
      handleCheckAllChange(val) {
        this.clearTeacher = val
          ? this.teacherList.map((item) => {
b0cd2598   梁保满   fix:测试问题
564
565
              return item.id;
            })
29319cfb   梁保满   设备。教师管理
566
567
568
569
570
571
572
573
574
          : [];
        this.indeterminate = false;
      },
      handleCheckedChange(value) {
        let checkedCount = value.length;
        this.checkAll = checkedCount === this.teacherList.length;
        this.indeterminate =
          checkedCount > 0 && checkedCount < this.teacherList.length;
      },
4623f67f   梁保满   隋唐问以及教师学生设置
575
      //清除教师绑定班级信息
29319cfb   梁保满   设备。教师管理
576
      async remove() {
8ad80958   梁保满   教师学生管理,设备状态
577
        if (!this.clearTeacher.length) {
b0cd2598   梁保满   fix:测试问题
578
579
          this.$message.warning("请选择要格式化的老师");
          return;
29319cfb   梁保满   设备。教师管理
580
        }
b0cd2598   梁保满   fix:测试问题
581
582
583
        this.removeLoading = true;
        let grades = [];
        this.query.gradeClassSub.map((item) => {
29319cfb   梁保满   设备。教师管理
584
585
586
587
588
          if (item.length == 1) {
            if (!grades.includes(item[0])) {
              grades.push(item[0]);
            }
          }
b0cd2598   梁保满   fix:测试问题
589
        });
8ad80958   梁保满   教师学生管理,设备状态
590
        const { data, status, info } = await this.$request.clearTeacherClasses({
29319cfb   梁保满   设备。教师管理
591
592
          ids: this.clearTeacher,
          type: this.query.classType,
b0cd2598   梁保满   fix:测试问题
593
          grades: grades,
29319cfb   梁保满   设备。教师管理
594
        });
b0cd2598   梁保满   fix:测试问题
595
        this.removeLoading = false;
29319cfb   梁保满   设备。教师管理
596
597
598
599
600
601
602
603
604
        if (status === 0) {
          this.$message.success(info);
          this._QueryData();
        } else {
          this.$message.error(info);
        }
      },
      //end
  
ec6394d1   梁保满   v1.3.1。细节调整
605
606
607
      gradeName(type) {
        return setGradeName(type);
      },
4623f67f   梁保满   隋唐问以及教师学生设置
608
      //导入成功
757a21e3   梁保满   上传成功提示成功数量
609
      upSuccess(res) {
757a21e3   梁保满   上传成功提示成功数量
610
611
612
613
614
        this.$message.closeAll();
        this.$message({
          showClose: true,
          message: `成功(${res.data.success})`,
          type: "success",
54857fa3   梁保满   下载模板跨域,集团管理员选择角色范...
615
          duration: 5000,
757a21e3   梁保满   上传成功提示成功数量
616
        });
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
617
        this.diaUp = false;
3b9f2ddb   梁保满   学生。教师筛选参数
618
        this._QueryData(5);
255e2506   梁保满   飞书bug及优化
619
      },
4623f67f   梁保满   隋唐问以及教师学生设置
620
      //添加教师角色
bb4c8454   阿宝   添加,修改教师
621
      addRoleList() {
bb4c8454   阿宝   添加,修改教师
622
623
624
625
626
627
        this.formTeacher.roleList.push({
          id: randomWord(true, 16, 20),
          roleId: "",
          classId: [],
        });
      },
4623f67f   梁保满   隋唐问以及教师学生设置
628
      //删除教师角色
bb4c8454   阿宝   添加,修改教师
629
      removeRoleList(index) {
bb4c8454   阿宝   添加,修改教师
630
631
        this.formTeacher.roleList.splice(index, 1);
      },
4623f67f   梁保满   隋唐问以及教师学生设置
632
      //添加教师弹窗
bb4c8454   阿宝   添加,修改教师
633
      addTeacherDia() {
bb4c8454   阿宝   添加,修改教师
634
635
636
637
638
        this.isAdd = true;
        this.formTeacher = {
          teacherName: "",
          loginName: "",
          sex: 1,
9309dc5d   梁保满   任课老师接口完成
639
          roleList: [],
bb4c8454   阿宝   添加,修改教师
640
641
642
        };
        this.diaTeacher = true;
      },
4623f67f   梁保满   隋唐问以及教师学生设置
643
      //教师角色数量
23a6dc5f   阿宝   学校管理相关接口简单对接
644
      setClass(obj) {
23a6dc5f   阿宝   学校管理相关接口简单对接
645
646
647
648
649
650
        return (
          obj.managerList?.length +
          obj.teacherCourseList?.length +
          obj.teacherGradeList?.length
        );
      },
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
651
652
653
654
655
656
657
658
659
      getClassName(id) {
        let name;
        this.classList.map((item) => {
          if (item.value == id) {
            name = item.label;
          }
        });
        return name;
      },
4623f67f   梁保满   隋唐问以及教师学生设置
660
      //教师详细数据
23a6dc5f   阿宝   学校管理相关接口简单对接
661
      showTeacher(obj) {
23a6dc5f   阿宝   学校管理相关接口简单对接
662
663
664
        this.showTId = obj.id;
        this.teacherDetail = { ...obj };
      },
0a4de034   阿宝   教师管理,学生管理班级设置
665
      editTeacher(type) {
a37317f4   阿宝   使用分析,发卡记录
666
        this.diaTeacher = true;
e5ff81a1   阿宝   集团管理员接口
667
        this.setTercherType = type;
bb4c8454   阿宝   添加,修改教师
668
669
670
671
672
673
674
675
676
        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   阿宝   添加,修改教师
677
      },
4623f67f   梁保满   隋唐问以及教师学生设置
678
      //添加教师
bb4c8454   阿宝   添加,修改教师
679
      addTeacher() {
ce278878   梁保满   2-2 bugfix
680
        if (this.setTercherType == 1) {
b0cd2598   梁保满   fix:测试问题
681
          delete this.rulesTeacher.roleList;
ce278878   梁保满   2-2 bugfix
682
683
684
        } else {
          this.rulesTeacher.roleList = [
            { required: true, message: "请选择角色信息", trigger: "blur" },
b0cd2598   梁保满   fix:测试问题
685
          ];
ce278878   梁保满   2-2 bugfix
686
        }
bb4c8454   阿宝   添加,修改教师
687
688
689
690
691
692
693
694
695
696
697
698
699
        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   梁保满   教师学生管理,设备状态
700
                type: this.query.classType,
bb4c8454   阿宝   添加,修改教师
701
702
703
                ...obj,
              });
            } else {
bb4c8454   阿宝   添加,修改教师
704
705
706
707
708
              res = await this.$request.updateTeacher({
                teacherId: this.formTeacher.id,
                teacherName: this.formTeacher.teacherName,
                loginName: this.formTeacher.loginName,
                sex: this.formTeacher.sex,
8ad80958   梁保满   教师学生管理,设备状态
709
                type: this.query.classType,
bb4c8454   阿宝   添加,修改教师
710
711
712
713
714
715
                ...obj,
              });
            }
            if (res.status === 0) {
              this.$message.success(res.info);
              this.diaTeacher = false;
ce278878   梁保满   2-2 bugfix
716
              this._QueryData(10);
bb4c8454   阿宝   添加,修改教师
717
718
719
720
            } else {
              this.$message.error(res.info);
            }
          } else {
b0cd2598   梁保满   fix:测试问题
721
            console.log(valid);
e5ff81a1   阿宝   集团管理员接口
722
            this.$message.warning("输入有误请检查!");
bb4c8454   阿宝   添加,修改教师
723
724
725
726
            return false;
          }
        });
      },
4623f67f   梁保满   隋唐问以及教师学生设置
727
      //转换保存教师数据格式
bb4c8454   阿宝   添加,修改教师
728
      setTeacharForm() {
bb4c8454   阿宝   添加,修改教师
729
730
731
732
733
734
735
736
737
738
739
740
        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   阿宝   集团管理员接口
741
742
743
                className:
                  this.classList.find((items) => items.value == item.classId[1])
                    ?.label || "",
bb4c8454   阿宝   添加,修改教师
744
745
              });
            } else if (item.roleId == 7) {
55eb13fd   梁保满   中天提出的交互优化
746
747
748
749
750
751
752
753
              item.classId.map((clazz) => {
                teacherCourseList.push({
                  classId: clazz[2],
                  className:
                    this.classList.find((items) => items.value == clazz[2])
                      ?.label || "",
                  subjectName: clazz[1],
                });
bb4c8454   阿宝   添加,修改教师
754
755
756
757
              });
            } else {
              gradeGroupList.push({
                grade: item.classId[0],
e5ff81a1   阿宝   集团管理员接口
758
759
760
                gradeName:
                  this.gradeList.find((items) => items.id == item.classId[0])
                    ?.label || "",
bb4c8454   阿宝   添加,修改教师
761
762
763
764
765
766
767
768
769
770
771
772
773
                subjectName: item.classId[1],
              });
            }
          });
          return {
            managerList,
            teacherCourseList,
            gradeGroupList,
          };
        } else {
          return false;
        }
      },
4623f67f   梁保满   隋唐问以及教师学生设置
774
      //教师角色数据转换为form格式数据
bb4c8454   阿宝   添加,修改教师
775
      toTeacherForm() {
bb4c8454   阿宝   添加,修改教师
776
777
        this.formTeacher.roleList = [];
        this.formTeacher.managerList?.map((item) => {
bb4c8454   阿宝   添加,修改教师
778
779
780
781
782
783
          this.formTeacher.roleList.push({
            id: randomWord(true, 16, 20),
            roleId: 6,
            classId: [
              this.classList.find(
                (items) =>
47a01cb6   梁保满   v1.3测试问题
784
785
                  items.value == item.classId ||
                  items.label.includes(item.className)
8ad80958   梁保满   教师学生管理,设备状态
786
              )?.grade,
bb4c8454   阿宝   添加,修改教师
787
788
789
790
              item.classId,
            ],
          });
        });
55eb13fd   梁保满   中天提出的交互优化
791
        let teacherClassId = [];
bb4c8454   阿宝   添加,修改教师
792
        this.formTeacher.teacherCourseList?.map((item) => {
55eb13fd   梁保满   中天提出的交互优化
793
794
795
796
797
798
799
800
801
802
803
          teacherClassId.push([
            item.grade,
            item.subjectName,
            this.classList.find(
              (items) =>
                items.value == item.classId ||
                items.label.includes(item.className)
            ).value,
          ]);
        });
        if (teacherClassId.length) {
bb4c8454   阿宝   添加,修改教师
804
805
806
          this.formTeacher.roleList.push({
            id: randomWord(true, 16, 20),
            roleId: 7,
55eb13fd   梁保满   中天提出的交互优化
807
            classId: [...teacherClassId],
bb4c8454   阿宝   添加,修改教师
808
          });
55eb13fd   梁保满   中天提出的交互优化
809
        }
bb4c8454   阿宝   添加,修改教师
810
811
812
813
814
815
816
817
818
819
820
        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   梁保满   隋唐问以及教师学生设置
821
      //删除教师角色
b21d90ef   梁保满   长水登录
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
      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   梁保满   隋唐问以及教师学生设置
847
          type: this.query.classType,
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
848
          ...query,
b21d90ef   梁保满   长水登录
849
850
        });
        if (status === 0) {
ce278878   梁保满   2-2 bugfix
851
          this._QueryData(10);
bb4c8454   阿宝   添加,修改教师
852
853
854
855
        } else {
          this.$message.error(info);
        }
      },
4623f67f   梁保满   隋唐问以及教师学生设置
856
857
858
859
860
861
862
863
864
      //角色列表
      // async _RoleList() {
      //   const { data, status, info } = await this.$request.roleList();
      //   if (status === 0) {
      //     this.roleList = data.list || [];
      //   } else {
      //     this.$message.error(info);
      //   }
      // },
53424e83   梁保满   教师管理筛选条件
865
      setQuery(type) {
23a6dc5f   阿宝   学校管理相关接口简单对接
866
        let query = {};
b8827a72   梁保满   测试bug
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
895
        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   梁保满   学生。教师筛选参数
896
          this.query.type = 0;
5cfb0264   梁保满   班级管理交互优化
897
        } else if (type == 2) {
3b9f2ddb   梁保满   学生。教师筛选参数
898
          this.query.type = 9;
23a6dc5f   阿宝   学校管理相关接口简单对接
899
          this.query.phone = "";
53424e83   梁保满   教师管理筛选条件
900
          this.query.gradeClassSub = [];
3b9f2ddb   梁保满   学生。教师筛选参数
901
902
          query.teacherName = this.query.teacherName;
          query.type = this.query.type;
23a6dc5f   阿宝   学校管理相关接口简单对接
903
        } else if (type == 3) {
3b9f2ddb   梁保满   学生。教师筛选参数
904
          this.query.type = 9;
23a6dc5f   阿宝   学校管理相关接口简单对接
905
          this.query.teacherName = "";
53424e83   梁保满   教师管理筛选条件
906
          this.query.gradeClassSub = [];
3b9f2ddb   梁保满   学生。教师筛选参数
907
908
          query.phone = this.query.phone;
          query.type = this.query.type;
b8827a72   梁保满   测试bug
909
        } else if (type == 4) {
b8827a72   梁保满   测试bug
910
911
912
913
          this.query.teacherName = "";
          this.query.phone = "";
          this.query.gradeClassSub = [];
          query.type = this.query.type;
ec6394d1   梁保满   v1.3.1。细节调整
914
        } else {
53424e83   梁保满   教师管理筛选条件
915
          query = { ...this.query };
d059a9d1   梁保满   接口调整
916
          query.grades = [];
53424e83   梁保满   教师管理筛选条件
917
918
919
920
          query.classIds = [];
          query.subjectNames = [];
          this.query.gradeClassSub?.map((item) => {
            if (item.length == 1) {
d059a9d1   梁保满   接口调整
921
922
              if (!query.grades.includes(item[0])) {
                query.grades.push(item[0]);
53424e83   梁保满   教师管理筛选条件
923
924
925
926
927
              }
            } else if (item.length == 2) {
              if (!query.classIds.includes(item[1])) {
                query.classIds.push(item[1]);
              }
b8827a72   梁保满   测试bug
928
              query.grades.includes(item[0]) && query.grades.remove(item[0]);
53424e83   梁保满   教师管理筛选条件
929
930
931
932
            } else if (item.length == 3) {
              if (!query.subjectNames.includes(item[2])) {
                query.subjectNames.push(item[2]);
              }
b8827a72   梁保满   测试bug
933
              query.grades.includes(item[0]) && query.grades.remove(item[0]);
53424e83   梁保满   教师管理筛选条件
934
935
936
937
938
              query.classIds.includes(item[0]) && query.classIds.remove(item[0]);
            }
          });
  
          delete query.gradeClassSub;
d059a9d1   梁保满   接口调整
939
          query.grades.length ? "" : delete query.grades;
53424e83   梁保满   教师管理筛选条件
940
941
942
943
          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。细节调整
944
        }
b0cd2598   梁保满   fix:测试问题
945
        query.classType = this.query.classType;
53424e83   梁保满   教师管理筛选条件
946
947
948
949
        return query;
      },
      async _QueryData(type) {
        if (this.loading) return;
5cfb0264   梁保满   班级管理交互优化
950
951
952
953
954
955
956
957
958
959
960
        if (type == 2) {
          if (this.query.teacherName == "") {
            this.$message.warning("请输入老师姓名");
            return;
          }
        } else if (type == 3) {
          if (this.query.phone == "") {
            this.$message.warning("请输入老师手机");
            return;
          }
        }
23a6dc5f   阿宝   学校管理相关接口简单对接
961
        this.loading = true;
b8827a72   梁保满   测试bug
962
        let query = this.setQuery(type);
0a4de034   阿宝   教师管理,学生管理班级设置
963
        this.teacherList = [];
b0cd2598   梁保满   fix:测试问题
964
        this.clearTeacher = [];
23a6dc5f   阿宝   学校管理相关接口简单对接
965
966
967
968
969
970
971
        const { data, status, info } = await this.$request.teacherList({
          ...query,
        });
        this.loading = false;
        console.log(status);
        if (status === 0) {
          this.teacherList = data.list || [];
bb4c8454   阿宝   添加,修改教师
972
973
974
975
976
977
978
979
980
981
          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   阿宝   学校管理相关接口简单对接
982
983
984
985
        } else {
          this.$message.error(info);
        }
      },
696f2d42   梁保满   fix:报表导出问题
986
987
988
989
990
      async _QueryDataGrade(type) {
        let query = {};
        if (type == 1) {
          query.type = this.query.classType;
        }
bb4c8454   阿宝   添加,修改教师
991
        //年级数据
8ad80958   梁保满   教师学生管理,设备状态
992
        const { data, status, info } = await this.$request.gradeList({
696f2d42   梁保满   fix:报表导出问题
993
          ...query,
8ad80958   梁保满   教师学生管理,设备状态
994
        });
23a6dc5f   阿宝   学校管理相关接口简单对接
995
        if (status === 0) {
b0cd2598   梁保满   fix:测试问题
996
997
998
999
          this.classList = [];
          this.gradeClassList = [];
          this.gradeClassSubList = [];
          this.gradeSubListClass = [];
23a6dc5f   阿宝   学校管理相关接口简单对接
1000
1001
          this.gradeList =
            data.list?.map((item) => {
53424e83   梁保满   教师管理筛选条件
1002
1003
1004
1005
1006
1007
              let subList = item.subjectNames?.map((items) => {
                return {
                  value: items,
                  label: items,
                };
              });
696f2d42   梁保满   fix:报表导出问题
1008
1009
1010
              if (type == 2) {
                // 学校-年级
                this.gradeClassList.push({
b0cd2598   梁保满   fix:测试问题
1011
1012
1013
1014
1015
1016
1017
1018
                  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:测试问题
1019
1020
1021
                    };
                  }),
                });
696f2d42   梁保满   fix:报表导出问题
1022
  
b0cd2598   梁保满   fix:测试问题
1023
                let subjectNames = item.classList.map((clazz) => {
55eb13fd   梁保满   中天提出的交互优化
1024
                  return {
b0cd2598   梁保满   fix:测试问题
1025
1026
1027
1028
                    value: clazz.subjectName,
                    label: clazz.subjectName,
                    children: [
                      {
55eb13fd   梁保满   中天提出的交互优化
1029
1030
                        value: clazz.id,
                        label: clazz.className,
b0cd2598   梁保满   fix:测试问题
1031
1032
                      },
                    ],
55eb13fd   梁保满   中天提出的交互优化
1033
                  };
b0cd2598   梁保满   fix:测试问题
1034
1035
                });
  
696f2d42   梁保满   fix:报表导出问题
1036
1037
                //学校-科目-班级
                this.gradeSubListClass.push({
b0cd2598   梁保满   fix:测试问题
1038
1039
1040
                  value: item.grade,
                  label: item.gradeName,
                  id: item.grade,
696f2d42   梁保满   fix:报表导出问题
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
                  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:测试问题
1058
                    return {
696f2d42   梁保满   fix:报表导出问题
1059
1060
1061
                      value: items,
                      label: items,
                      children: child,
b0cd2598   梁保满   fix:测试问题
1062
1063
1064
                    };
                  }),
                });
696f2d42   梁保满   fix:报表导出问题
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
              } else {
                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],
                      };
                    }),
                  });
                } 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:测试问题
1102
1103
              }
  
8ad80958   梁保满   教师学生管理,设备状态
1104
1105
1106
1107
1108
1109
1110
              let classList = item.classList.map((clazz) => {
                return {
                  value: clazz.id,
                  label: `${clazz.className}(${item.gradeName})`,
                  grade: item.grade,
                  gradeName: item.gradeName,
                };
b0cd2598   梁保满   fix:测试问题
1111
1112
              });
              this.classList = this.classList.concat(classList);
53424e83   梁保满   教师管理筛选条件
1113
              return {
d059a9d1   梁保满   接口调整
1114
                value: item.grade,
53424e83   梁保满   教师管理筛选条件
1115
1116
1117
                label: item.gradeName,
                id: item.grade,
                children: [...subList],
23a6dc5f   阿宝   学校管理相关接口简单对接
1118
1119
              };
            }) || [];
23a6dc5f   阿宝   学校管理相关接口简单对接
1120
1121
1122
1123
        } else {
          this.$message.error(info);
        }
      },
23a6dc5f   阿宝   学校管理相关接口简单对接
1124
      async downExcel() {
a3fcda80   梁保满   教师模版下载调整
1125
        let data = await this.$request.teacherTemplate();
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1126
1127
1128
1129
1130
        if (data && !data.code) {
          let blob = new Blob([data], {
            type: "application/vnd.ms-excel;charset=utf-8",
          });
          downloadFile(`教师名单模版.xlsx`, blob);
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
1131
        } else {
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1132
          this.$message.error(data.info);
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
1133
1134
1135
1136
1137
1138
1139
        }
      },
      async exportTeacherExl() {
        this.loadingDown = true;
        let data = await this.$request.exportTeacher();
        this.loadingDown = false;
        if (data) {
23a6dc5f   阿宝   学校管理相关接口简单对接
1140
1141
1142
          let blob = new Blob([data], {
            type: "application/vnd.ms-excel;charset=utf-8",
          });
236b1f0e   梁保满   周末-飞书bug
1143
          downloadFile(`教师名单.xlsx`, blob);
23a6dc5f   阿宝   学校管理相关接口简单对接
1144
        } else {
e371f2dc   梁保满   软件下载,学校,班级老师等报表导入...
1145
          this.$message.error("下载失败");
23a6dc5f   阿宝   学校管理相关接口简单对接
1146
1147
1148
1149
1150
        }
      },
    },
  };
  </script>
4c4f7640   梁保满   路由表,路由前端文件
1151
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1152
1153
1154
  <style lang="scss" scoped>
  .page-content {
    padding: 0 20px 20px;
4c4f7640   梁保满   路由表,路由前端文件
1155
  }
29319cfb   梁保满   设备。教师管理
1156
  
99713685   梁保满   学生调班,班级数据重新请求,使用过...
1157
1158
1159
1160
1161
  .total {
    padding: 0 20px 10px;
    font-size: 14px;
    color: #666;
  }
29319cfb   梁保满   设备。教师管理
1162
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1163
1164
1165
1166
1167
1168
  .teacher-box {
    display: flex;
    background: #f8f8f8;
    border-radius: 10px;
    overflow: hidden;
    min-height: 400px;
29319cfb   梁保满   设备。教师管理
1169
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1170
    .teacher-ul {
b21d90ef   梁保满   长水登录
1171
      max-height: 60vh;
29319cfb   梁保满   设备。教师管理
1172
1173
      overflow-y: auto;
  
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1174
1175
1176
      &::-webkit-scrollbar {
        width: 6px;
      }
29319cfb   梁保满   设备。教师管理
1177
  
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1178
1179
1180
1181
      &::-webkit-scrollbar-thumb {
        border-radius: 10px;
        background-color: #ccc;
      }
23a6dc5f   阿宝   学校管理相关接口简单对接
1182
    }
29319cfb   梁保满   设备。教师管理
1183
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1184
1185
    .teacher-list {
      width: 240px;
4c4f7640   梁保满   路由表,路由前端文件
1186
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1187
1188
1189
1190
      .h-title {
        height: 40px;
        line-height: 40px;
        background: #eee;
29319cfb   梁保满   设备。教师管理
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
        display: flex;
        justify-content: space-between;
        align-items: center;
  
        .txt {
          flex: 1;
        }
  
        .clear {
          width: 18px;
          margin-right: 10px;
          cursor: pointer;
b0cd2598   梁保满   fix:测试问题
1203
          transition: all 0.3s;
29319cfb   梁保满   设备。教师管理
1204
1205
1206
1207
1208
  
          &:hover {
            transform: scale(1.1);
          }
        }
23a6dc5f   阿宝   学校管理相关接口简单对接
1209
      }
29319cfb   梁保满   设备。教师管理
1210
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1211
1212
1213
1214
1215
1216
      .teacher-item {
        font-size: 16px;
        color: #7f7f7f;
        line-height: 36px;
        cursor: pointer;
        padding-left: 12px;
29319cfb   梁保满   设备。教师管理
1217
1218
        display: flex;
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1219
1220
1221
        &:hover {
          background: #eee;
        }
29319cfb   梁保满   设备。教师管理
1222
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1223
1224
        &.active {
          color: #667ffd;
ca39cc52   阿宝   飞书问题处理
1225
          background: #eee;
23a6dc5f   阿宝   学校管理相关接口简单对接
1226
1227
1228
        }
      }
    }
4c4f7640   梁保满   路由表,路由前端文件
1229
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1230
1231
1232
    .teacher-detail {
      flex: 1;
      position: relative;
f20c48c9   梁保满   集团管理员添加发卡记录,并添加报表导出
1233
      padding-left: 10px;
29319cfb   梁保满   设备。教师管理
1234
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1235
1236
1237
1238
      .icon-box {
        position: absolute;
        top: 12px;
        right: 20px;
29319cfb   梁保满   设备。教师管理
1239
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1240
1241
1242
1243
1244
        .icon {
          font-size: 24px;
          color: #7f7f7f;
          cursor: pointer;
        }
29319cfb   梁保满   设备。教师管理
1245
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1246
1247
1248
1249
        .el-icon-circle-plus-outline {
          margin-left: 10px;
        }
      }
29319cfb   梁保满   设备。教师管理
1250
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1251
1252
1253
1254
1255
1256
1257
      .detail-top {
        padding: 12px 20px;
        box-sizing: border-box;
        display: flex;
        flex-wrap: wrap;
        font-size: 14px;
        color: #7f7f7f;
29319cfb   梁保满   设备。教师管理
1258
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1259
1260
1261
1262
1263
        .p-item {
          width: 40%;
          line-height: 28px;
        }
      }
29319cfb   梁保满   设备。教师管理
1264
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1265
1266
1267
1268
1269
      .grade-box {
        .grade-info {
          display: flex;
          flex-wrap: wrap;
          padding: 20px 20px 0;
29319cfb   梁保满   设备。教师管理
1270
  
b0cd2598   梁保满   fix:测试问题
1271
          & > li {
23a6dc5f   阿宝   学校管理相关接口简单对接
1272
1273
1274
            margin-right: 20px;
            margin-bottom: 20px;
            position: relative;
29319cfb   梁保满   设备。教师管理
1275
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1276
1277
1278
1279
1280
1281
1282
            .el-icon-delete {
              position: absolute;
              top: 8px;
              right: 8px;
              padding: 2px;
              cursor: pointer;
              display: none;
29319cfb   梁保满   设备。教师管理
1283
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1284
1285
1286
1287
              &:hover {
                color: #667ffd;
              }
            }
29319cfb   梁保满   设备。教师管理
1288
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
            &: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   梁保满   设备。教师管理
1303
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1304
1305
1306
1307
1308
1309
          .grade-name {
            font-size: 16px;
            font-weight: bold;
            line-height: 18px;
            padding-bottom: 12px;
          }
29319cfb   梁保满   设备。教师管理
1310
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1311
1312
1313
1314
1315
          .grade-class {
            display: flex;
            justify-content: space-between;
            font-size: 15px;
            padding-right: 20px;
29319cfb   梁保满   设备。教师管理
1316
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1317
1318
1319
1320
1321
            .fa {
              font-size: 18px;
              margin-right: 5px;
              color: #a4a4a4;
            }
29319cfb   梁保满   设备。教师管理
1322
  
23a6dc5f   阿宝   学校管理相关接口简单对接
1323
1324
1325
1326
1327
1328
1329
1330
            .fa-book {
              font-size: 20px;
            }
          }
        }
      }
    }
  }
29319cfb   梁保满   设备。教师管理
1331
  
bb4c8454   阿宝   添加,修改教师
1332
1333
1334
  .add-box {
    margin-top: 10px;
  }
29319cfb   梁保满   设备。教师管理
1335
  
bb4c8454   阿宝   添加,修改教师
1336
1337
1338
1339
  .sel-c {
    width: 120px;
    margin-right: 12px;
  }
29319cfb   梁保满   设备。教师管理
1340
  
bb4c8454   阿宝   添加,修改教师
1341
1342
  .role-list {
    margin-bottom: 10px;
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
1343
    position: relative;
29319cfb   梁保满   设备。教师管理
1344
  
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
1345
1346
1347
1348
1349
1350
1351
    .sel-p {
      position: absolute;
      left: 146px;
      top: 0;
      font-size: 13px;
      color: #606266;
    }
29319cfb   梁保满   设备。教师管理
1352
  
dba7b13a   梁保满   添加账号模式,修改教师角色显示问题
1353
1354
1355
1356
1357
    .sel-t {
      :deep(.el-input__inner) {
        background: transparent;
      }
    }
29319cfb   梁保满   设备。教师管理
1358
  
bb4c8454   阿宝   添加,修改教师
1359
1360
1361
1362
1363
1364
1365
1366
    .el-icon-close {
      padding: 5px;
      cursor: pointer;
      margin-left: 16px;
      background: #ccc;
      border-radius: 50%;
    }
  }
4c4f7640   梁保满   路由表,路由前端文件
1367
  </style>