Blame view

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