init
This commit is contained in:
@@ -21,6 +21,7 @@ export default {
|
||||
getselectBySchIdAndGradeId:BaseUrl + "/api/schclass/selectBySchIdAndGradeId",//通过学校ID、年级ID获取班级下拉
|
||||
getselectBySchsystemId:BaseUrl + "/api/grade/selectBySchsystemId",//通过学制ID获取年级下拉
|
||||
getTeacherTree:BaseUrl + "/api/tree/getTeacherTree",//获取教师选人树
|
||||
getClassHistoryTree:BaseUrl + "/api/tree/getClassHistoryTree",//获取历年班级树
|
||||
|
||||
//学制选择
|
||||
getschsystemlist: BaseUrl + "/api/schsystem/list",//获取学校绑定学制列表
|
||||
@@ -105,6 +106,10 @@ export default {
|
||||
getsearchTransferOut: BaseUrl + "/api/teacher/searchTransferOut",//教师转出教师列表
|
||||
teacherdownloadTemplate: BaseUrl + "/api/teacher/downloadTemplate",//下载教师模版
|
||||
teacherImport: BaseUrl + "/api/teacher/Import",//教师导入
|
||||
addGroup: BaseUrl + "/api/usergroup/addGroup",//同步添加子组
|
||||
editGroup: BaseUrl + "/api/usergroup/editGroup",//同步编辑子组
|
||||
deleteGroup: BaseUrl + "/api/usergroup/deleteGroup",//同步删除子组
|
||||
moveGroup: BaseUrl + "/api/usergroup/moveGroup",//同步移动子组
|
||||
|
||||
// 教师任教
|
||||
getteachssearch: BaseUrl + "/api/teachs/search",//获取任教列表
|
||||
@@ -150,6 +155,12 @@ export default {
|
||||
getbaseSchAbnormalSearch: BaseUrl + "/api/student/baseSchAbnormalSearch",//获取K12学生异动列表
|
||||
gethigherSchAbnormalSearch: BaseUrl + "/api/student/higherSchAbnormalSearch",//获取高校学生异动列表
|
||||
|
||||
//历史查询
|
||||
getClass: BaseUrl + "/api/history/getClass",//获取班级信息
|
||||
getHistoryClassTeach: BaseUrl + "/api/history/getHistoryClassTeach",//获取历史任教信息
|
||||
getHistoryClassStudent: BaseUrl + "/api/history/getHistoryClassStudent",//获取历史班级信息
|
||||
getHistoryClassTeachByStuId: BaseUrl + "/api/history/getHistoryClassTeachByStuId",//通过学生id获取历史任教信息
|
||||
|
||||
//日志管理
|
||||
getlogsearch: BaseUrl + "/api/log/search",//获取日志列表
|
||||
|
||||
|
||||
+172
-178
@@ -2,22 +2,17 @@
|
||||
<div class="class-history-wrap">
|
||||
<!-- 左侧树形区域:固定高度纵向滚动、单选、默认首班级选中 -->
|
||||
<div class="left-tree-box">
|
||||
<Tree
|
||||
:data="treeData"
|
||||
ref="tree"
|
||||
single
|
||||
:selected.sync="selectedTreeNode"
|
||||
@on-select="treeNodeChange"
|
||||
></Tree>
|
||||
<my-tree :treeData="treeData" :selectId="selectnodeid" @on-tree-click="treeLink"></my-tree>
|
||||
</div>
|
||||
|
||||
<!-- 右侧主内容区域 -->
|
||||
<div class="right-main">
|
||||
<!-- 顶部基础信息栏 -->
|
||||
<div class="top-info-bar">
|
||||
<span class="info-item">学级:{{ currentGrade }}</span>
|
||||
<span class="info-item">班级:{{ currentClassName }}</span>
|
||||
<span class="info-item">入学时间:{{ enrollDate }}</span>
|
||||
<span v-if="ClassMap.schType==2" class="info-item">专业:{{ ClassMap.majorsName }}</span>
|
||||
<span class="info-item"><b>学级:</b>{{ ClassMap.gradeName }}</span>
|
||||
<span class="info-item"><b>班级:</b>{{ ClassMap.name }}</span>
|
||||
<span class="info-item"><b>入学时间:</b>{{ ClassMap.createDate }}</span>
|
||||
</div>
|
||||
|
||||
<!-- 标签页切换:历史任教 / 历史学生 -->
|
||||
@@ -25,143 +20,76 @@
|
||||
<TabPane label="历史任教" name="teach"></TabPane>
|
||||
<TabPane label="历史学生" name="student"></TabPane>
|
||||
</Tabs>
|
||||
|
||||
<!-- 筛选头部行 -->
|
||||
<div class="filter-bar">
|
||||
<span>日期:{{ dateRange }} 年级:{{ currentGradeShort }}</span>
|
||||
<span v-if="activeTab === 'student'" style="margin-left:20px">学生数:{{ studentTotal }}</span>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- 滚动内容容器:高度自适应溢出滚动 -->
|
||||
<div class="scroll-content-box">
|
||||
<!-- 历史任教布局 -->
|
||||
<div v-if="activeTab === 'teach'" class="teach-wrap">
|
||||
<div class="item-card" v-for="(item,idx) in teachList" :key="idx">
|
||||
<div class="card-title">{{ item.subject }}</div>
|
||||
<div class="card-value">{{ item.teacher }}</div>
|
||||
<div v-if="activeTab === 'teach'" v-for="(item,index) in HistoryClassTeachList" :key="index">
|
||||
<!-- 筛选头部行 -->
|
||||
<div class="filter-bar">
|
||||
<span>日期:{{ item.yearDate }}</span>
|
||||
<span v-if="ClassMap.schType==2" style="margin-left:20px">学年:{{ item.gradeName }}</span>
|
||||
<span v-else style="margin-left:20px">年级:{{ item.gradeName }}</span>
|
||||
</div>
|
||||
<!-- 历史任教布局 -->
|
||||
<div class="teach-wrap">
|
||||
<div class="item-card" v-for="(itt,idx) in item.teach" :key="idx">
|
||||
<div class="card-title">{{ itt.subName }}</div>
|
||||
<div class="card-value">{{ itt.teacherName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 历史学生布局 -->
|
||||
<div v-if="activeTab === 'student'" class="student-wrap">
|
||||
<div class="item-card student-card" style="cursor: pointer;" v-for="(item,idx) in studentList" :key="idx" @click="tolink(item)">
|
||||
{{ item.name }}<span v-if="item.idCard">({{ item.idCard }})</span>
|
||||
<div v-if="activeTab === 'student'" v-for="(item,index) in HistoryClassStudentList" :key="index">
|
||||
<!-- 筛选头部行 -->
|
||||
<div class="filter-bar">
|
||||
<span>日期:{{ item.yearDate }}</span>
|
||||
<span v-if="ClassMap.schType==2" style="margin-left:20px">学年:{{ item.gradeName }}</span>
|
||||
<span v-else style="margin-left:20px">年级:{{ item.gradeName }}</span>
|
||||
<span style="margin-left:20px">学生数:{{ item.student.length }}</span>
|
||||
</div>
|
||||
<!-- 历史学生布局 -->
|
||||
<div class="student-wrap">
|
||||
<div class="item-card student-card" style="cursor: pointer;" v-for="(itt,idx) in item.student" :key="idx" @click="tolink(item)">
|
||||
{{ itt.StuName }}
|
||||
<!-- <span v-if="itt.teacherName">({{ itt.teacherName }})</span> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 底部分页固定区域(预留分页逻辑) -->
|
||||
<div class="page-bottom-bar">
|
||||
<span>共 {{ activeTab === 'teach' ? teachList.length : studentTotal }} 条</span>
|
||||
<Page
|
||||
v-if="needPage"
|
||||
:current.sync="pageNum"
|
||||
:page-size="pageSize"
|
||||
:total="activeTab === 'teach' ? teachList.length : studentTotal"
|
||||
:page-size-opts="[20,40,60]"
|
||||
show-sizer
|
||||
@on-change="pageChange"
|
||||
@on-page-size-change="sizeChange"
|
||||
></Page>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import myTree from "../components/my_tree";
|
||||
export default {
|
||||
name: 'ClassHistoryPage',
|
||||
components: { myTree },
|
||||
data() {
|
||||
return {
|
||||
// 树形配置
|
||||
treeData: [
|
||||
{
|
||||
title: '上海市进才中学北校',
|
||||
expand: true,
|
||||
children: [
|
||||
{
|
||||
title: '2025级(预备)',
|
||||
expand: true,
|
||||
children: [
|
||||
{ title: '1班' },{ title: '2班' },{ title: '3班' },{ title: '4班' },{ title: '5班' },
|
||||
{ title: '6班' },{ title: '7班' },{ title: '8班' },{ title: '9班' },{ title: '10班' },
|
||||
{ title: '11班' },{ title: '12班' },{ title: '13班' },{ title: '14班' },{ title: '15班' },
|
||||
{ title: '16班' },{ title: '17班' },{ title: '18班' },{ title: '19班' },{ title: '20班' },
|
||||
{ title: '21班' },{ title: '22班' },{ title: '23班' },
|
||||
]
|
||||
},
|
||||
{ title: '2024级(初一)', expand: true, children: [] },
|
||||
{ title: '2023级(初二)', expand: true, children: [] },
|
||||
]
|
||||
}
|
||||
],
|
||||
selectedTreeNode: null,
|
||||
currentClassName: '1班',
|
||||
currentGrade: '2025级',
|
||||
currentGradeShort: '预备',
|
||||
enrollDate: '2025-07-11',
|
||||
dateRange: '2025-07-11 - 2026-07-15',
|
||||
treeData: [],
|
||||
ClassMap:{
|
||||
gradeName:'',
|
||||
name:'',
|
||||
createDate:'',
|
||||
graduate:'',
|
||||
majorsName:'',
|
||||
schType:'',
|
||||
},
|
||||
selectnodeid:'',
|
||||
schsystemId:'',
|
||||
gradeId:'',
|
||||
classId:'',
|
||||
|
||||
// 标签页
|
||||
activeTab: 'teach',
|
||||
|
||||
// 任教数据
|
||||
teachList: [
|
||||
{ subject: '班主任', teacher: '伍芳芳' },
|
||||
{ subject: '语文', teacher: '卫红' },
|
||||
{ subject: '数学', teacher: '伍芳芳' },
|
||||
{ subject: '英语', teacher: '俞莉玉' },
|
||||
{ subject: '体育', teacher: '郑浩淼' },
|
||||
{ subject: '美术', teacher: '蔡婷婷' },
|
||||
{ subject: '科学', teacher: '游宝玲' },
|
||||
{ subject: '劳技', teacher: '牛乐' },
|
||||
{ subject: '地理', teacher: '沈晓燕' },
|
||||
{ subject: '音乐', teacher: '李海昆' },
|
||||
{ subject: '心理', teacher: '展望' },
|
||||
{ subject: '道德与法治', teacher: '郭雨佳' },
|
||||
{ subject: '班主任', teacher: '伍芳芳' },
|
||||
{ subject: '劳动', teacher: '牛乐' },
|
||||
{ subject: '信息科技', teacher: '张颖' },
|
||||
{ subject: '副班主任', teacher: '展望' },
|
||||
{ subject: '校本(劳动教育)', teacher: '牛乐' },
|
||||
{ subject: '体育与健康', teacher: '郑浩淼' },
|
||||
{ subject: '二外', teacher: '季思飞' },
|
||||
{ subject: '校本(心理+二外)', teacher: '数字化中心09' },
|
||||
],
|
||||
HistoryClassTeachList:[],
|
||||
|
||||
// 学生数据
|
||||
studentTotal: 48,
|
||||
studentList: [
|
||||
{ name: '金俊辰', idCard: '' },
|
||||
{ name: '周泽恒', idCard: '310115201404031836' },
|
||||
{ name: '杨城宁', idCard: '310115201406110407' },
|
||||
{ name: '李琪琪', idCard: '310115201403072281' },
|
||||
{ name: '浦森隽', idCard: '310115201311290011' },
|
||||
{ name: '沈奕欣', idCard: '310115201402286384' },
|
||||
{ name: '李赛乐', idCard: '31011520131110037X' },
|
||||
{ name: '林欣宜', idCard: '310109201403261560' },
|
||||
{ name: '胡艺涵', idCard: '310115201403251167' },
|
||||
{ name: '周维哲', idCard: '310115201311182221' },
|
||||
{ name: '曹维德', idCard: '310115201311182213' },
|
||||
{ name: '陈茂萌', idCard: '310115201406020516' },
|
||||
{ name: '施锐朗', idCard: '31011520140412491X' },
|
||||
{ name: '袁唯格', idCard: '310115201401270022' },
|
||||
{ name: '徐睿辰', idCard: '310115201406284490' },
|
||||
{ name: '姚欣蕊', idCard: '310115201402161848' },
|
||||
{ name: '王立仁', idCard: '310115201312030377' },
|
||||
{ name: '朱思媛', idCard: '310115201407220026' },
|
||||
{ name: '李文心', idCard: '310115201312165167' },
|
||||
{ name: '刘烁恒', idCard: '310115201407273873' },
|
||||
{ name: '严潇宇', idCard: '310115201312120372' },
|
||||
{ name: '唐羿', idCard: '310107201401013958' },
|
||||
{ name: '于楚涵', idCard: '230110201408063729' },
|
||||
{ name: '肖梦晞', idCard: '340102201401081524' },
|
||||
{ name: '郑聿铭', idCard: '310114201401071633' },
|
||||
{ name: '宗柠', idCard: '310115201310094481' },
|
||||
{ name: '张子煜', idCard: '310115201401292619' },
|
||||
{ name: '刘孜宸', idCard: '430602201312280205' },
|
||||
{ name: '潘思羽', idCard: '310115201312310280' },
|
||||
],
|
||||
HistoryClassStudentList: [],
|
||||
|
||||
// 分页配置
|
||||
needPage: false,
|
||||
@@ -170,66 +98,132 @@
|
||||
total: 0
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
// 切换标签页重新初始化拖拽
|
||||
activeTab(val) {
|
||||
if (val === 'teach') {
|
||||
this.getHistoryClassTeach();
|
||||
}else{
|
||||
this.getHistoryClassStudent();
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
// 页面初始化:自动选中最后一级第一个班级(2025级(预备) -> 1班)
|
||||
this.initDefaultSelectTree()
|
||||
this.loadClassDetail()
|
||||
this.getClassTree()
|
||||
},
|
||||
methods: {
|
||||
// 默认选中叶子第一个班级
|
||||
initDefaultSelectTree() {
|
||||
const schoolNode = this.treeData[0]
|
||||
const targetGrade = schoolNode.children.find(g => g.title === '2025级(预备)')
|
||||
if (targetGrade && targetGrade.children.length) {
|
||||
this.selectedTreeNode = targetGrade.children[0]
|
||||
this.currentClassName = this.selectedTreeNode.title
|
||||
this.currentGrade = '2025级'
|
||||
this.currentGradeShort = '预备'
|
||||
}
|
||||
//获取班级树
|
||||
getClassTree:function(){
|
||||
const _this = this;
|
||||
var item={};
|
||||
_this.$api.get(APIConfig.BschClassSystem.getClassHistoryTree, item, resp => {
|
||||
if(resp.code==0)
|
||||
{
|
||||
this.treeData=resp.data;
|
||||
if(resp.data.children.length>0){
|
||||
// 起始节点为 data
|
||||
const pathArr = _this.getFirstPath(resp.data);
|
||||
_this.schsystemId=pathArr[pathArr.length-1].schsystemId;
|
||||
_this.gradeId=pathArr[pathArr.length-1].gradeId+'';
|
||||
_this.classId=pathArr[pathArr.length-1].classId+'';
|
||||
_this.selectnodeid=pathArr[pathArr.length-1].id;
|
||||
_this.getClass();
|
||||
_this.getHistoryClassTeach();
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
// 树节点点击切换
|
||||
treeNodeChange(node) {
|
||||
// 只响应叶子班级节点,过滤年级、学校父节点
|
||||
if (!node.children || node.children.length === 0) {
|
||||
this.currentClassName = node.title
|
||||
this.pageNum = 1
|
||||
this.loadClassDetail()
|
||||
}
|
||||
},
|
||||
|
||||
// 加载班级对应任教/学生数据
|
||||
loadClassDetail() {
|
||||
console.log('当前选中班级:', this.currentGrade + this.currentClassName)
|
||||
// 此处可替换后端接口请求
|
||||
/*
|
||||
this.$axios.get('/api/class/history', {
|
||||
params: {
|
||||
grade: this.currentGrade,
|
||||
className: this.currentClassName,
|
||||
tabType: this.activeTab
|
||||
//获取最后一级的map
|
||||
getFirstPath(rootNode) {
|
||||
const path = [];
|
||||
let cur = rootNode;
|
||||
while (cur) {
|
||||
// 存入当前层级关键信息
|
||||
path.push({
|
||||
id: cur.id,
|
||||
name: cur.name,
|
||||
type: cur.type,
|
||||
schsystemId:cur.schsystemId,
|
||||
gradeId:cur.gradeId,
|
||||
classId:cur.classId,
|
||||
});
|
||||
// 有子节点就取第一个,没有就终止
|
||||
if (cur.children && cur.children.length > 0) {
|
||||
cur = cur.children[0];
|
||||
} else {
|
||||
cur = null;
|
||||
}
|
||||
}).then(res => {
|
||||
this.teachList = res.data.teachList
|
||||
this.studentList = res.data.studentList
|
||||
this.studentTotal = res.data.studentTotal
|
||||
this.total = this.activeTab === 'teach' ? this.teachList.length : this.studentTotal
|
||||
})
|
||||
*/
|
||||
}
|
||||
return path;
|
||||
},
|
||||
// 树形选中切换
|
||||
treeLink(treeNode) {
|
||||
this.schsystemId=treeNode.schsystemId;
|
||||
this.gradeId=treeNode.gradeId?treeNode.gradeId+'':'';
|
||||
this.classId=treeNode.classId?treeNode.classId+'':'';
|
||||
this.selectnodeid=treeNode.id;
|
||||
this.pageNum = 1;
|
||||
this.getClass();
|
||||
if (this.activeTab === 'teach') {
|
||||
this.getHistoryClassTeach();
|
||||
}else{
|
||||
this.getHistoryClassStudent();
|
||||
}
|
||||
},
|
||||
//获取班级信息
|
||||
getClass:function(){
|
||||
const _this = this;
|
||||
var item={
|
||||
gradeId:_this.gradeId,
|
||||
classId:_this.classId
|
||||
};
|
||||
_this.$api.get(APIConfig.BschClassSystem.getClass, item, resp => {
|
||||
if(resp.code==0)
|
||||
{
|
||||
this.ClassMap={
|
||||
gradeName:resp.data.gradeName,
|
||||
name:resp.data.name,
|
||||
createDate:resp.data.createDate,
|
||||
graduate:resp.data.graduate,
|
||||
majorsName:resp.data.majorsName,
|
||||
schType:resp.data.schType
|
||||
};
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取历史任教信息
|
||||
getHistoryClassTeach:function(){
|
||||
const _this = this;
|
||||
var item={
|
||||
gradeId:_this.gradeId,
|
||||
classId:_this.classId
|
||||
};
|
||||
_this.$api.get(APIConfig.BschClassSystem.getHistoryClassTeach, item, resp => {
|
||||
if(resp.code==0)
|
||||
{
|
||||
this.HistoryClassTeachList=resp.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
//获取历史学生信息
|
||||
getHistoryClassStudent:function(){
|
||||
const _this = this;
|
||||
var item={
|
||||
gradeId:_this.gradeId,
|
||||
classId:_this.classId
|
||||
};
|
||||
_this.$api.get(APIConfig.BschClassSystem.getHistoryClassStudent, item, resp => {
|
||||
if(resp.code==0)
|
||||
{
|
||||
this.HistoryClassStudentList=resp.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
//跳转详情
|
||||
tolink(item){
|
||||
this.$router.push({path:'/historySearchDetail'});
|
||||
this.$router.push({path:'/historySearchDetail?stuId='+item.stuId+'&studentName='+item.studentName+'&className='+item.className});
|
||||
},
|
||||
// 分页切换
|
||||
pageChange(p) {
|
||||
this.pageNum = p
|
||||
this.loadClassDetail()
|
||||
},
|
||||
sizeChange(size) {
|
||||
this.pageSize = size
|
||||
this.pageNum = 1
|
||||
this.loadClassDetail()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -262,9 +256,9 @@
|
||||
|
||||
/* 顶部班级信息行 */
|
||||
.top-info-bar {
|
||||
font-size: 20px;
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
padding: 8px 0 12px;
|
||||
padding: 0px 0 12px;
|
||||
}
|
||||
.info-item {
|
||||
margin-right: 30px;
|
||||
@@ -282,7 +276,7 @@
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow-y: auto;
|
||||
padding: 10px 0;
|
||||
/* padding: 10px 0; */
|
||||
}
|
||||
|
||||
/* 任教方块流式布局 */
|
||||
|
||||
@@ -4,70 +4,62 @@
|
||||
<div class="top-header-bar">
|
||||
<div class="left-info">
|
||||
<span class="label">当前学生:</span>
|
||||
<span class="text">{{ studentName }}</span>
|
||||
<span class="text">{{ $route.query.studentName }}</span>
|
||||
<span class="label" style="margin-left: 24px;">当前班级:</span>
|
||||
<span class="text">{{ className }}</span>
|
||||
<span class="text">{{ $route.query.className }}</span>
|
||||
</div>
|
||||
<Button type="primary" @click="goBack">返回上一级</Button>
|
||||
</div>
|
||||
|
||||
<!-- 时间段+学校班级栏 -->
|
||||
<div class="time-school-bar">
|
||||
<span>日期:{{ dateRange }}</span>
|
||||
<span style="margin-left: 20px;">{{ schoolName }} {{ className }}</span>
|
||||
</div>
|
||||
|
||||
<!-- 科目教师卡片流式容器,超出纵向滚动 -->
|
||||
<div class="card-scroll-wrap">
|
||||
<div class="card-container">
|
||||
<div class="subject-card" v-for="(item, index) in subjectList" :key="index">
|
||||
<div class="card-title">{{ item.subject }}</div>
|
||||
<div class="card-teacher">{{ item.teacher }}</div>
|
||||
|
||||
<div v-for="(item,index) in HistoryClassTeachByStuIdList" :key="index">
|
||||
<!-- 时间段+学校班级栏 -->
|
||||
<div class="time-school-bar">
|
||||
<span>日期:{{ item.yearDate }}</span>
|
||||
<span style="margin-left: 20px;">{{ item.schoolName }} {{ item.className }}</span>
|
||||
</div>
|
||||
|
||||
<!-- 科目教师卡片流式容器,超出纵向滚动 -->
|
||||
<div class="card-scroll-wrap">
|
||||
<div class="card-container">
|
||||
<div class="subject-card" v-for="(itt, index) in item.teach" :key="index">
|
||||
<div class="card-title">{{ itt.subName }}</div>
|
||||
<div class="card-teacher">{{ itt.teacherName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'StudentTeachDetail',
|
||||
data() {
|
||||
return {
|
||||
// 头部信息
|
||||
studentName: '朱思媛',
|
||||
className: '预备1班',
|
||||
schoolName: '上海市进才中学北校',
|
||||
dateRange: '2025-07-11~2026-07-15',
|
||||
|
||||
// 科目+教师数据源(完全匹配截图)
|
||||
subjectList: [
|
||||
{ subject: '班主任', teacher: '伍芳芳' },
|
||||
{ subject: '副班主任', teacher: '未设置' },
|
||||
{ subject: '语文', teacher: '卫红' },
|
||||
{ subject: '数学', teacher: '伍芳芳' },
|
||||
{ subject: '英语', teacher: '俞莉玉' },
|
||||
{ subject: '体育', teacher: '郑浩淼' },
|
||||
{ subject: '美术', teacher: '蔡婷婷' },
|
||||
{ subject: '科学', teacher: '游宝玲' },
|
||||
{ subject: '劳技', teacher: '牛乐' },
|
||||
{ subject: '地理', teacher: '沈晓燕' },
|
||||
{ subject: '音乐', teacher: '李海昆' },
|
||||
|
||||
{ subject: '心理', teacher: '展望' },
|
||||
{ subject: '道德与法治', teacher: '郭雨佳' },
|
||||
{ subject: '班主任', teacher: '伍芳芳' },
|
||||
{ subject: '劳动', teacher: '牛乐' },
|
||||
{ subject: '信息科技', teacher: '张颖' },
|
||||
{ subject: '副班主任', teacher: '展望' },
|
||||
{ subject: '校本(劳动教育)', teacher: '牛乐' },
|
||||
{ subject: '体育与健康', teacher: '郑浩淼' },
|
||||
{ subject: '二外', teacher: '季思飞' },
|
||||
{ subject: '校本(心理+二外)', teacher: '数字化中心09' }
|
||||
]
|
||||
HistoryClassTeachByStuIdList: []
|
||||
}
|
||||
},
|
||||
created(){
|
||||
if(this.$route.query.stuId){
|
||||
this.getHistoryClassTeachByStuId();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//通过学生Id获取历史任教信息
|
||||
getHistoryClassTeachByStuId:function(){
|
||||
const _this = this;
|
||||
var item={
|
||||
stuId:_this.$route.query.stuId
|
||||
};
|
||||
_this.$api.get(APIConfig.BschClassSystem.getHistoryClassTeachByStuId, item, resp => {
|
||||
if(resp.code==0)
|
||||
{
|
||||
this.HistoryClassTeachByStuIdList=resp.data;
|
||||
}
|
||||
});
|
||||
},
|
||||
// 返回上一页
|
||||
goBack() {
|
||||
this.$router.go(-1)
|
||||
|
||||
@@ -231,7 +231,7 @@
|
||||
</div>
|
||||
<div style="margin-top:10px">
|
||||
<span>移动至:</span>
|
||||
<Tree :data="treeData" ref="moveGroupTreeRef"></Tree>
|
||||
<my-tree :treeData="treeData" @on-tree-click="movetreeLink"></my-tree>
|
||||
</div>
|
||||
<div slot="footer" align="right">
|
||||
<Button @click="moveGroupModal = false" style="margin-right:10px">取消</Button>
|
||||
@@ -339,6 +339,8 @@ export default {
|
||||
selectnodetitle: '',
|
||||
selectnodetype:7,
|
||||
searchKeyword: '',
|
||||
selectparentId:0,
|
||||
moveselectnodeid:0,
|
||||
selectedRows: [],
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
@@ -499,6 +501,7 @@ export default {
|
||||
_this.selectnodeid=resp.data.id;
|
||||
_this.selectnodetitle=resp.data.name;
|
||||
_this.selectnodetype=resp.data.type;
|
||||
_this.selectparentId=resp.data.parentId;
|
||||
_this.loadData();
|
||||
}
|
||||
});
|
||||
@@ -508,6 +511,8 @@ export default {
|
||||
this.selectnodeid=treeNode.id;
|
||||
this.selectnodetitle=treeNode.name;
|
||||
this.selectnodetype=treeNode.type;
|
||||
this.editGroupFormData.sort=treeNode.sort;
|
||||
this.selectparentId=treeNode.parentId;
|
||||
this.pageNum = 1
|
||||
this.loadData()
|
||||
},
|
||||
@@ -814,8 +819,21 @@ export default {
|
||||
submitAddGroup() {
|
||||
this.$refs.addGroupForm.validate(valid => {
|
||||
if (!valid) return;
|
||||
this.$Message.success('新增分组成功');
|
||||
this.addGroupModal = false;
|
||||
let item={
|
||||
name:this.addGroupFormData.groupName,
|
||||
parentId:this.selectnodeid,
|
||||
sort:this.addGroupFormData.sort
|
||||
};
|
||||
const url = APIConfig.BschClassSystem.addGroup;
|
||||
this.$api.post(url,JSON.stringify(item), resp => {
|
||||
if (resp.code == 0) {
|
||||
this.$Message.success('新增分组成功');
|
||||
this.addGroupModal = false;
|
||||
this.getTeaTree();
|
||||
} else if (resp.code == 4) {
|
||||
this.$Message.info(resp.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
@@ -823,15 +841,27 @@ export default {
|
||||
if (!this.selectnodeid) return this.$Message.warning('请先选择分组')
|
||||
this.editGroupIndex = this.selectnodeid;
|
||||
this.editGroupFormData.groupName = this.selectnodetitle;
|
||||
this.editGroupFormData.sort = '';
|
||||
this.editGroupModal = true;
|
||||
},
|
||||
submitEditGroup() {
|
||||
this.$refs.editGroupForm.validate(valid => {
|
||||
if (!valid) return;
|
||||
this.selectedTreeNode.title = this.editGroupFormData.groupName;
|
||||
this.editGroupModal = false;
|
||||
this.$Message.success('修改分组成功')
|
||||
let item={
|
||||
name:this.editGroupFormData.groupName,
|
||||
id:this.selectnodeid,
|
||||
parentId:this.selectparentId,
|
||||
sort:this.editGroupFormData.sort
|
||||
};
|
||||
const url = APIConfig.BschClassSystem.editGroup;
|
||||
this.$api.post(url,JSON.stringify(item), resp => {
|
||||
if (resp.code == 0) {
|
||||
this.$Message.success('修改分组成功');
|
||||
this.editGroupModal = false;
|
||||
this.getTeaTree();
|
||||
} else if (resp.code == 4) {
|
||||
this.$Message.info(resp.msg);
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
|
||||
@@ -840,18 +870,37 @@ export default {
|
||||
this.moveGroupTargetName = this.selectnodetitle;
|
||||
this.moveGroupModal = true;
|
||||
},
|
||||
// 移动组树形选中切换
|
||||
movetreeLink(treeNode) {
|
||||
this.moveselectnodeid=treeNode.id;
|
||||
},
|
||||
confirmMoveGroup() {
|
||||
this.moveGroupModal = false;
|
||||
this.$Message.success('移动分组成功');
|
||||
let item={
|
||||
moveId:this.selectnodeid,
|
||||
pid:this.moveselectnodeid
|
||||
};
|
||||
var url=APIConfig.BschClassSystem.moveGroup;
|
||||
this.$api.post(url,JSON.stringify(item),(resp)=>{
|
||||
this.moveGroupModal = false;
|
||||
this.$Message.success('移动分组成功!');
|
||||
this.getTeaTree();
|
||||
});
|
||||
},
|
||||
|
||||
delCurrentGroup() {
|
||||
if (!this.selectnodeid) return this.$Message.warning('请先选择分组');
|
||||
this.$Modal.confirm({
|
||||
title: '提示',
|
||||
content: `确定删除分组【${this.selectedTreeNode.title}】?`,
|
||||
content: `确定删除分组【${this.selectnodetitle}】?`,
|
||||
onOk: () => {
|
||||
this.$Message.success('删除分组成功');
|
||||
let item={
|
||||
id:this.selectnodeid
|
||||
};
|
||||
var url=APIConfig.BschClassSystem.deleteGroup;
|
||||
this.$api.post(url,item,(resp)=>{
|
||||
this.$Message.success('删除分组成功!');
|
||||
this.getTeaTree();
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user