为综合素质板块的综合模块完善姓名、学号、学院、专业、班级,以方便搜索

This commit is contained in:
2026-01-12 17:07:32 +08:00
parent a40bcccf20
commit 6c56be7c41
7 changed files with 541 additions and 70 deletions

View File

@@ -1,11 +1,26 @@
<template> <template>
<div v-loading.fullscreen.lock="loading" class="app-container"> <div v-loading.fullscreen.lock="loading" class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px"> <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
<!-- 选择院系 --> <el-form-item label="学院" prop="deptId">
<el-form-item label="选择查询" prop="deptId"> <el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
<el-cascader ref="cas" v-model="class_cas" style="width: 500px;" :options="cascaderData" <el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
:props="{ checkStrictly: true }" clearable filterable @change="handleChange" </el-select>
/> </el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="stuName">
<el-input v-model="queryParams.stuName" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学号" prop="stuNo">
<el-input v-model="queryParams.stuNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<!-- 选择学年 --> <!-- 选择学年 -->
<el-form-item label="选择学年" prop="stuYearId"> <el-form-item label="选择学年" prop="stuYearId">
@@ -87,6 +102,10 @@ import * as echarts from 'echarts'
import { scoreDistribution } from '@/api/stuCQS/statistics' import { scoreDistribution } from '@/api/stuCQS/statistics'
import { treeStudent } from '@/api/stuCQS/basedata/student' import { treeStudent } from '@/api/stuCQS/basedata/student'
import { listAllYear as listYear } from '@/api/stuCQS/basedata/year' import { listAllYear as listYear } from '@/api/stuCQS/basedata/year'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
@@ -143,6 +162,11 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
stuYearId: 1, stuYearId: 1,
deptId: null,
majorId: null,
classId: null,
stuName: null,
stuNo: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -152,17 +176,62 @@ export default {
stu_year_list: [], stu_year_list: [],
// 当前分数分布情况 // 当前分数分布情况
currentSD: [], currentSD: [],
isDisabled: false isDisabled: false,
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
created() { created() {
//this.getList(); //this.getList();
this.getCascaderData() this.getCascaderData()
this.getStuYear() this.getStuYear()
this.listDept()
this.listGrade()
//this.getScoreDistribution() //this.getScoreDistribution()
}, },
methods: { methods: {
async listGrade() {
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
exportChange(value) { exportChange(value) {
this.exportForm = { this.exportForm = {
...this.exportForm, ...this.exportForm,
@@ -281,11 +350,11 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
let cas = this.$refs.cas this.queryParams.deptId = null
cas.inputValue = ''
this.class_cas = []
this.queryParams.classId = null
this.queryParams.majorId = null this.queryParams.majorId = null
this.queryParams.classId = null
this.majorList = []
this.classList = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },

View File

@@ -3,10 +3,20 @@
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true"
label-width="100px" label-width="100px"
> >
<el-form-item label="班级" prop="deptId"> <el-form-item label="学院" prop="deptId">
<el-cascader ref="cas" v-model="class_cas" style="width: 500px;" :options="cascaderData" <el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
:props="{ checkStrictly: false }" clearable filterable @change="handleChange" <el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
/> </el-select>
</el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="学年" prop="stuYearId"> <el-form-item label="学年" prop="stuYearId">
<el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable <el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable
@@ -154,6 +164,10 @@ import { isEmpty } from '@/api/helpFunc'
import { listAllYear as listYear } from '@/api/stuCQS/basedata/year' import { listAllYear as listYear } from '@/api/stuCQS/basedata/year'
import store from '@/store' import store from '@/store'
import { listEnableYear } from '@/api/stuCQS/basedata/year' import { listEnableYear } from '@/api/stuCQS/basedata/year'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
@@ -203,6 +217,11 @@ export default {
stuId: null, stuId: null,
stuYearId: null, stuYearId: null,
ceScore: null, ceScore: null,
deptId: null,
majorId: null,
classId: null,
name: null,
stuNo: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -211,13 +230,20 @@ export default {
}, },
cascaderData: null, cascaderData: null,
selectYearList: [] selectYearList: [],
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
created() { created() {
//this.getList(); //this.getList();
this.listEnableYear() this.listEnableYear()
this.listAllStuYear() this.listAllStuYear()
this.listDept()
this.listGrade()
this.getCascaderData() this.getCascaderData()
let temp = store.getters.roles let temp = store.getters.roles
@@ -229,6 +255,45 @@ export default {
}, },
methods: { methods: {
async listGrade() {
this.gradeList = []
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
async listEnableYear() { async listEnableYear() {
let res = await listEnableYear() let res = await listEnableYear()
if (res.code == 200) { if (res.code == 200) {
@@ -248,12 +313,12 @@ export default {
}) })
}, },
// 级联选择的项 // 级联选择的项
handleChange(value) { /*handleChange(value) {
this.queryParams = { this.queryParams = {
...this.queryParams, ...this.queryParams,
classId: value[2], classId: value[2],
} }
}, },*/
// 下载申请信息模板 // 下载申请信息模板
downloadMode() { downloadMode() {
@@ -401,12 +466,13 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
let cas = this.$refs.cas this.queryParams.deptId = null
cas.inputValue = '' this.queryParams.majorId = null
this.class_cas = [] this.queryParams.classId = null
this.queryParams.classId = null this.majorList = []
this.resetForm('queryForm') this.classList = []
this.handleQuery() this.resetForm('queryForm')
this.handleQuery()
}, },
// 多选框选中数据 // 多选框选中数据
handleSelectionChange(selection) { handleSelectionChange(selection) {

View File

@@ -1,10 +1,20 @@
<template> <template>
<div v-loading.fullscreen.lock="loading" class="app-container"> <div v-loading.fullscreen.lock="loading" class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="100px"> <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="100px">
<el-form-item label="班级" prop="deptId"> <el-form-item label="学院" prop="deptId">
<el-cascader ref="cas" v-model="class_cas" style="width: 500px;" :options="cascaderData" <el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
:props="{ checkStrictly: false }" clearable filterable @change="handleChange" <el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
/> </el-select>
</el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="学年" prop="stuYearId"> <el-form-item label="学年" prop="stuYearId">
<el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery"> <el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery">
@@ -186,6 +196,10 @@ import { listAllStuYear } from '@/api/stuCQS/info-fill/score'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
import { workbook2blob, openDownloadDialog } from '@/api/helpFunc' import { workbook2blob, openDownloadDialog } from '@/api/helpFunc'
import { listEnableYear } from '@/api/stuCQS/basedata/year' import { listEnableYear } from '@/api/stuCQS/basedata/year'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
@@ -235,6 +249,11 @@ export default {
material: null, material: null,
description: null, description: null,
auditStatus: null, auditStatus: null,
deptId: null,
majorId: null,
classId: null,
name: null,
stuNo: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -265,7 +284,12 @@ export default {
//附件 //附件
material_list: [], material_list: [],
selectYearList: [] selectYearList: [],
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
watch: { watch: {
@@ -280,14 +304,53 @@ export default {
created() { created() {
//this.getList(); //this.getList();
this.listEnableYear() this.listEnableYear()
this.getStuTree()
this.getStuYear() this.getStuYear()
this.listDept()
this.listGrade()
this.getStuTree()
this.listClassTwoChild() this.listClassTwoChild()
this.listAllStuYear() this.listAllStuYear()
this.getCascaderData() this.getCascaderData()
}, },
methods: { methods: {
async listGrade() {
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
async listEnableYear() { async listEnableYear() {
let res = await listEnableYear() let res = await listEnableYear()
@@ -309,12 +372,12 @@ export default {
}) })
}, },
// 级联选择的项 // 级联选择的项
handleChange(value) { /*handleChange(value) {
this.queryParams = { this.queryParams = {
...this.queryParams, ...this.queryParams,
classId: value[2], classId: value[2],
} }
}, },*/
// 下载申请信息模板 // 下载申请信息模板
downloadMode() { downloadMode() {
@@ -507,10 +570,11 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
let cas = this.$refs.cas this.queryParams.deptId = null
cas.inputValue = '' this.queryParams.majorId = null
this.class_cas = []
this.queryParams.classId = null this.queryParams.classId = null
this.majorList = []
this.classList = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },

View File

@@ -3,10 +3,20 @@
<el-form v-show="showSearch" ref="queryForm" class="lookForm" :model="queryParams" size="small" :inline="true" <el-form v-show="showSearch" ref="queryForm" class="lookForm" :model="queryParams" size="small" :inline="true"
label-width="68px" label-width="68px"
> >
<el-form-item label="班级" prop="deptId"> <el-form-item label="学院" prop="deptId">
<el-cascader ref="cas" v-model="class_cas" style="width: 500px;" :options="cascaderData" <el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
:props="{ checkStrictly: false }" clearable filterable @change="handleChange" <el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
/> </el-select>
</el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="学年" prop="stuYearId"> <el-form-item label="学年" prop="stuYearId">
<el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery"> <el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery">
@@ -140,7 +150,10 @@ import { listIamChild } from '@/api/stuCQS/basedata/cphRules'
import { isEmpty, fullLoading } from '@/api/helpFunc' import { isEmpty, fullLoading } from '@/api/helpFunc'
import store from '@/store' import store from '@/store'
import { listOwnClass, listOwnStuByClass } from '@/api/stuCQS/info-fill/stu_eva_task' import { listOwnClass, listOwnStuByClass } from '@/api/stuCQS/info-fill/stu_eva_task'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
@@ -176,7 +189,12 @@ export default {
material: null, material: null,
description: null, description: null,
auditStatus: null, auditStatus: null,
stuYearId: null stuYearId: null,
deptId: null,
majorId: null,
classId: null,
name: null,
stuNo: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -234,7 +252,11 @@ export default {
lookCheckForm: {}, lookCheckForm: {},
auditList: [], auditList: [],
recordList: [], recordList: [],
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
watch: { watch: {
@@ -248,8 +270,11 @@ export default {
}, },
created() { created() {
//this.getList(); //this.getList();
this.getStuTree()
this.getStuYear() this.getStuYear()
this.listDept()
this.listGrade()
this.loading = false
this.getStuTree()
this.listIamChild() this.listIamChild()
this.getCascaderData() this.getCascaderData()
let temp = store.getters.roles let temp = store.getters.roles
@@ -391,12 +416,12 @@ export default {
}) })
}, },
// 级联选择的项 // 级联选择的项
handleChange(value) { /*handleChange(value) {
this.queryParams = { this.queryParams = {
...this.queryParams, ...this.queryParams,
classId: value[2], classId: value[2],
} }
}, },*/
async changeClass(val) { async changeClass(val) {
let class_id = val[val.length - 1] let class_id = val[val.length - 1]
let res = await getStuByClass(class_id) let res = await getStuByClass(class_id)
@@ -430,6 +455,15 @@ export default {
return res return res
}, },
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async listGrade() {
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listIamChild() { async listIamChild() {
let res = await listIamChild() let res = await listIamChild()
this.child_list = [...res.data] this.child_list = [...res.data]
@@ -487,10 +521,11 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
let cas = this.$refs.cas this.queryParams.deptId = null
cas.inputValue = '' this.queryParams.majorId = null
this.class_cas = []
this.queryParams.classId = null this.queryParams.classId = null
this.majorList = []
this.classList = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },
@@ -558,7 +593,35 @@ export default {
this.download('system/iam/export', { this.download('system/iam/export', {
...this.queryParams ...this.queryParams
}, `iam_${new Date().getTime()}.xlsx`) }, `iam_${new Date().getTime()}.xlsx`)
} },
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
} }
} }
</script> </script>

View File

@@ -1,6 +1,24 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px"> <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
<el-form-item label="学院" prop="deptId">
<el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
<el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
</el-select>
</el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item>
<el-form-item label="姓名" prop="name">
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学号" prop="stuNo"> <el-form-item label="学号" prop="stuNo">
<el-input v-model="queryParams.stuNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.stuNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
@@ -100,6 +118,10 @@
<script> <script>
import { listIdeologyscore, getIdeologyscore, delIdeologyscore, addIdeologyscore, updateIdeologyscore, doInit } from '@/api/comprehensive/ideologyscore/ideologyscore' import { listIdeologyscore, getIdeologyscore, delIdeologyscore, addIdeologyscore, updateIdeologyscore, doInit } from '@/api/comprehensive/ideologyscore/ideologyscore'
import { isEmpty, fullLoading } from '@/api/helpFunc' import { isEmpty, fullLoading } from '@/api/helpFunc'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
name: 'Ideologyscore', name: 'Ideologyscore',
@@ -132,6 +154,10 @@ export default {
stuYearId: null, stuYearId: null,
description: null, description: null,
status: null, status: null,
deptId: null,
majorId: null,
classId: null,
name: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -140,13 +166,58 @@ export default {
delFlag: [ delFlag: [
{ required: true, message: '删除标记不能为空', trigger: 'blur' } { required: true, message: '删除标记不能为空', trigger: 'blur' }
], ],
} },
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
created() { created() {
this.getList() this.getList()
this.listDept()
this.listGrade()
}, },
methods: { methods: {
async listGrade() {
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
async doInit() { async doInit() {
let loading = fullLoading(this) let loading = fullLoading(this)
let res = await doInit() let res = await doInit()
@@ -195,6 +266,11 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.queryParams.deptId = null
this.queryParams.majorId = null
this.queryParams.classId = null
this.majorList = []
this.classList = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },

View File

@@ -1,13 +1,26 @@
<template> <template>
<div v-loading.fullscreen.lock="loading" class="app-container"> <div v-loading.fullscreen.lock="loading" class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px"> <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
<el-form-item label="学院" prop="deptId">
<el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
<el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
</el-select>
</el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item>
<el-form-item label="学号" prop="stuNo"> <el-form-item label="学号" prop="stuNo">
<el-input v-model="queryParams.stuNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" /> <el-input v-model="queryParams.stuNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" />
</el-form-item> </el-form-item>
<el-form-item label="班级" prop="deptId"> <el-form-item label="姓名" prop="xsxm">
<el-cascader ref="cas" v-model="queryParams.classId" style="width: 500px;" :options="cascaderData" <el-input v-model="queryParams.xsxm" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
:props="{ checkStrictly: false }" clearable filterable @change="handleChange"
/>
</el-form-item> </el-form-item>
<el-form-item label="学年" prop="stuYearId"> <el-form-item label="学年" prop="stuYearId">
<el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery"> <el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery">
@@ -176,6 +189,11 @@ import { treeStudent } from '@/api/stuCQS/basedata/student'
import * as XLSX from 'xlsx' import * as XLSX from 'xlsx'
import { isEmpty, isNumber } from '@/api/helpFunc' import { isEmpty, isNumber } from '@/api/helpFunc'
import { listAllYear as listYear } from '@/api/stuCQS/basedata/year' import { listAllYear as listYear } from '@/api/stuCQS/basedata/year'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
name: 'Rankings', name: 'Rankings',
data() { data() {
@@ -230,7 +248,10 @@ export default {
nopass: null, nopass: null,
status: null, status: null,
createDate: null, createDate: null,
updateDate: null updateDate: null,
deptId: null,
majorId: null,
classId: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -246,24 +267,69 @@ export default {
currentPage: 1, currentPage: 1,
pagesize: 10, pagesize: 10,
total: 0, total: 0,
} },
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
created() { created() {
this.listAllStuYear() this.listAllStuYear()
this.getList() this.getList()
this.listDept()
this.listGrade()
this.getCascaderData() this.getCascaderData()
this.listAllStuYear() this.listAllStuYear()
}, },
methods: { methods: {
async listGrade() {
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
// 级联选择的项 // 级联选择的项
handleChange(value) { /*handleChange(value) {
this.queryParams = { this.queryParams = {
...this.queryParams, ...this.queryParams,
classId: value[2], classId: value[2],
} }
}, },*/
//列出所有学年 //列出所有学年
async listAllStuYear() { async listAllStuYear() {
let res = await listYear() let res = await listYear()
@@ -440,8 +506,11 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.class_cas = [] this.queryParams.deptId = null
this.queryParams.majorId = null
this.queryParams.classId = null this.queryParams.classId = null
this.majorList = []
this.classList = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },

View File

@@ -1,10 +1,20 @@
<template> <template>
<div v-loading.fullscreen.lock="fullLoading" class="app-container"> <div v-loading.fullscreen.lock="fullLoading" class="app-container">
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="100px"> <el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="100px">
<el-form-item label="班级" prop="deptId"> <el-form-item label="学院" prop="deptId">
<el-cascader ref="cas" v-model="class_cas" style="width: 500px;" :options="cascaderData" <el-select v-model="queryParams.deptId" placeholder="请选择学院" filterable clearable @change="changeDept">
:props="{ checkStrictly: false }" clearable filterable @change="handleChange" <el-option v-for="(v, i) in deptList" :key="i" :label="v.label" :value="v.value" />
/> </el-select>
</el-form-item>
<el-form-item label="专业" prop="majorId">
<el-select v-model="queryParams.majorId" placeholder="请先选择学院再选择专业" filterable clearable @change="changeMajor">
<el-option v-for="(v, i) in majorList" :key="i" :label="v.majorName" :value="v.majorId" />
</el-select>
</el-form-item>
<el-form-item label="班级" prop="classId">
<el-select v-model="queryParams.classId" placeholder="请先选择专业再选择班级" filterable clearable>
<el-option v-for="(v, i) in classList" :key="i" :label="v.className" :value="v.classId" />
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="学年" prop="stuYearId"> <el-form-item label="学年" prop="stuYearId">
<el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery"> <el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery">
@@ -188,6 +198,10 @@ import { isEmpty,fullLoading } from '@/api/helpFunc'
import { listAllYear as listYear } from '@/api/stuCQS/basedata/year' import { listAllYear as listYear } from '@/api/stuCQS/basedata/year'
import { listEnableYear } from '@/api/stuCQS/basedata/year' import { listEnableYear } from '@/api/stuCQS/basedata/year'
import { getDeptName } from '@/api/system/dept'
import { listMajors } from '@/api/stuCQS/basedata/majors'
import { listClass } from '@/api/stuCQS/basedata/class'
import { listGrade } from '@/api/stuCQS/basedata/grade'
export default { export default {
name: 'SportTest', name: 'SportTest',
@@ -252,6 +266,11 @@ export default {
stuId: null, stuId: null,
testScore: null, testScore: null,
stuYearId: null, stuYearId: null,
deptId: null,
majorId: null,
classId: null,
name: null,
stuNo: null
}, },
// 表单参数 // 表单参数
form: {}, form: {},
@@ -259,7 +278,12 @@ export default {
rules: { rules: {
}, },
selectYearList: [] selectYearList: [],
deptList: [],//学院列表
majorList: [],//专业列表
classList: [],//班级列表
gradeList: [],//年级列表
} }
}, },
created() { created() {
@@ -267,10 +291,50 @@ export default {
//this.getList(); //this.getList();
this.listAllStuYear() this.listAllStuYear()
this.listDept()
this.listGrade()
this.getCascaderData() this.getCascaderData()
}, },
methods: { methods: {
async listGrade() {
let res = await listGrade()
this.gradeList = [...res.rows]
},
async listDept() {
let res = await getDeptName()
this.deptList = [...res.data]
},
async changeMajor() {
if(this.queryParams.majorId) {
let sdata = {
pageNum: 1,
pageSize: 100,
majorId: this.queryParams.majorId
}
let res = await listClass(sdata)
this.classList = [...res.rows]
} else {
this.queryParams.classId = null
this.classList = []
}
},
async changeDept() {
if(this.queryParams.deptId) {
let sdata = {
collegeId: this.queryParams.deptId,
pageNum: 1,
pageSize: 100
}
let res = await listMajors(sdata)
this.majorList = [...res.rows]
} else {
this.queryParams.majorId = null
this.majorList = []
}
},
async listEnableYear() { async listEnableYear() {
let res = await listEnableYear() let res = await listEnableYear()
if (res.code == 200) { if (res.code == 200) {
@@ -349,13 +413,12 @@ export default {
}) })
}, },
// 级联选择的项 // 级联选择的项
handleChange(value) { /*handleChange(value) {
this.queryParams = { this.queryParams = {
...this.queryParams, ...this.queryParams,
classId: value[2], classId: value[2],
} }
}, },*/
// 下载申请信息模板 // 下载申请信息模板
downloadMode() { downloadMode() {
// 第一个sheet工作簿如果需要创建多个对应let多个sheetXdata即可 // 第一个sheet工作簿如果需要创建多个对应let多个sheetXdata即可
@@ -498,10 +561,11 @@ export default {
}, },
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
let cas = this.$refs.cas this.queryParams.deptId = null
cas.inputValue = '' this.queryParams.majorId = null
this.class_cas = []
this.queryParams.classId = null this.queryParams.classId = null
this.majorList = []
this.classList = []
this.resetForm('queryForm') this.resetForm('queryForm')
this.handleQuery() this.handleQuery()
}, },