Compare commits

...

6 Commits

Author SHA1 Message Date
zhy
1c985b0269 新生分配宿舍 2025-09-07 22:56:54 +08:00
zhy
81692cb83a 同步班级代码到新生信息 2025-09-07 22:10:50 +08:00
e19ebcb9ba 修改新生信息查询的页面 2025-09-06 19:42:18 +08:00
85c9f49679 提交前端博爱错 2025-09-03 15:25:39 +08:00
MDSMO
6bda0684a2 Merge remote-tracking branch 'origin/main' 2025-08-29 19:53:36 +08:00
MDSMO
1573c9f4e1 综合素质评价 2025-08-29 19:51:59 +08:00
11 changed files with 369 additions and 7 deletions

View File

@@ -0,0 +1,64 @@
import request from '@/utils/request'
// 查询辅导员综合评价完成状态列表
export function getTeacherEvaluationStatus(query) {
return request({
url: '/comprehensive/teacherEvaluationStatus/list',
method: 'get',
params: query
})
}
// 导出辅导员综合评价完成状态
export function exportTeacherEvaluationStatus(query) {
return request({
url: '/comprehensive/teacherEvaluationStatus/export',
method: 'get',
params: query,
responseType: 'blob'
})
}
// 查询辅导员待办事项数量
export function getTeacherTodoCount(query) {
return request({
url: '/comprehensive/teacherEvaluationStatus/todoCount',
method: 'get',
params: query
})
}
// 查询综合评价成绩导入状态
export function getScoreImportStatus(query) {
return request({
url: '/comprehensive/teacherEvaluationStatus/scoreImportStatus',
method: 'get',
params: query
})
}
// 获取辅导员详细信息
export function getTeacherDetail(teacherId) {
return request({
url: '/comprehensive/teacherEvaluationStatus/' + teacherId,
method: 'get'
})
}
// 批量更新辅导员评价状态
export function batchUpdateStatus(data) {
return request({
url: '/comprehensive/teacherEvaluationStatus/batchUpdate',
method: 'post',
data: data
})
}
// 获取学院列表
export function getDeptNameList(query) {
return request({
url: '/comprehensive/teacherEvaluationStatus/deptList',
method: 'get',
params: query
})
}

16
src/api/stureg/temp.js Normal file
View File

@@ -0,0 +1,16 @@
import request from '@/utils/request';
export function syncClassCode() {
return request({
url: "/system/reg/syncClassCode",
method: "post"
});
}
export function listXsxxTemp(params) {
return request({
url: "/system/reg/listXsxxTemp",
method: "GET",
params
});
}

View File

@@ -35,7 +35,7 @@
scope.row.roomNo + "(" + scope.row.gender + ")" }}
</template>
</el-table-column>
<el-table-column label="分配班级" align="center" prop="className" />
<!-- <el-table-column label="分配班级" align="center" prop="className" /> -->
<el-table-column label="宿舍床位数量" align="center" prop="bedNum" />
<el-table-column label="分配到的床位数量" align="center" prop="bedCount" />
<el-table-column label="是否开放给新生宿舍确认" align="center">

View File

@@ -248,7 +248,6 @@ export default {
console.log("procInsId",procInsId)
getDisciplinaryApplicationByProcInsId(procInsId).then((response) => {
this.form = response.data
console.log("数据",this.form)
this.form.penaltyType = this.form.penaltyType.toString()
this.getStuInfo(this.form.stuNo)
})

View File

@@ -274,7 +274,6 @@ export default {
getRtStuDropOutSchool(dropOutSchoolId) {
getRtStuDropOutSchool(dropOutSchoolId).then((response) => {
this.form = response.data
this.form.penaltyType = this.form.penaltyType.toString()
})
},
// 类别

View File

@@ -285,7 +285,6 @@ export default {
getRtStuQuitSchool(quitSchoolId) {
getRtStuQuitSchool(quitSchoolId).then((response) => {
this.form = response.data
this.form.penaltyType = this.form.penaltyType.toString()
})
},
reentryYearMethodFormat(row, column) {

View File

@@ -262,7 +262,6 @@ export default {
getRtStuReentrySchool(reentryId) {
getRtStuReentrySchool(reentryId).then((response) => {
this.form = response.data
this.form.penaltyType = this.form.penaltyType.toString()
})
},
getRtStuReentrySchoolByProcInsId(procInsId) {

View File

@@ -182,7 +182,7 @@ import { listAllStuYear } from "@/api/stuCQS/info-fill/score";
import * as XLSX from 'xlsx';
import { workbook2blob, openDownloadDialog, file2Xce } from "@/api/helpFunc";
import { treeStudent, listEnableStu } from "@/api/stuCQS/basedata/student";
import { isEmpty } from "@/api/helpFunc";
import { isEmpty,fullLoading } from "@/api/helpFunc";
import { listAllYear as listYear } from "@/api/stuCQS/basedata/year";
import { listEnableYear } from "@/api/stuCQS/basedata/year";
@@ -399,7 +399,9 @@ export default {
});
let jsonStr = JSON.stringify(sdata);
let loading = fullLoading(this);
let res = await importExcel(jsonStr);
loading.close();
this.loading = false;
this.$message(res.msg);
this.getList();

View File

@@ -0,0 +1,183 @@
<template>
<div class="app-container" v-loading.fullscreen.lock="fullLoading">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="120px">
<el-form-item label="学院" prop="deptId">
<el-select v-model="queryParams.deptId" placeholder="请选择学院" clearable @keyup.enter.native="handleQuery">
<el-option v-for="(dept, index) in deptList" :key="index" :label="dept.label" :value="dept.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="辅导员姓名" prop="teacherName">
<el-input v-model="queryParams.teacherName" placeholder="请输入辅导员姓名" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="工号" prop="employeeId">
<el-input v-model="queryParams.employeeId" placeholder="请输入工号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="学年" prop="stuYearId">
<el-select v-model="queryParams.stuYearId" placeholder="请选择学年" clearable @keyup.enter.native="handleQuery">
<el-option v-for="year in yearList" :key="year.id" :label="year.stuYearName" :value="year.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport">导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="teacherStatusList">
<el-table-column label="学院" align="center" prop="deptName" width="150" />
<el-table-column label="辅导员姓名" align="center" prop="teacherName" width="120" />
<el-table-column label="工号" align="center" prop="employeeId" width="120" />
<el-table-column label="学年" align="center" prop="stuYearName" width="120" />
<el-table-column label="是否完成综合测评" align="center" prop="isCompleted" width="150">
<template slot-scope="scope">
<el-tag :type="scope.row.isCompleted ? 'success' : 'danger'">
{{ scope.row.isCompleted ? '已完成' : '未完成' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="待办事项数量" align="center" prop="todoCount" width="120" />
<el-table-column label="成绩导入状态" align="center" prop="scoreImported" width="120">
<template slot-scope="scope">
<el-tag :type="scope.row.scoreImported ? 'success' : 'warning'">
{{ scope.row.scoreImported ? '已导入' : '未导入' }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remarks" />
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
</template>
<script>
import { getTeacherEvaluationStatus, exportTeacherEvaluationStatus, getDeptNameList } from "@/api/stuCQS/teacher-evaluation-status";
import { listAllYear } from "@/api/stuCQS/basedata/year";
import { fullLoading } from "@/api/helpFunc";
export default {
name: "TeacherEvaluationStatus",
data() {
return {
fullLoading: false,
// 遮罩层
loading: true,
// 显示搜索条件
showSearch: true,
// 总条数
total: 0,
// 辅导员评价状态表格数据
teacherStatusList: [],
// 学院列表
deptList: [],
// 学年列表
yearList: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 50,
deptId: null,
teacherName: null,
employeeId: null,
stuYearId: null
}
};
},
created() {
this.getList();
this.getDeptList();
this.getYearList();
},
methods: {
/** 查询辅导员评价状态列表 */
async getList() {
this.loading = true;
try {
const response = await getTeacherEvaluationStatus(this.queryParams);
this.teacherStatusList = response.rows;
this.total = response.total;
} catch (error) {
this.$modal.msgError("查询失败");
} finally {
this.loading = false;
}
},
/** 获取学院列表 */
async getDeptList() {
try {
const response = await getDeptNameList({});
console.log("学院数据响应:", response);
this.deptList = response.data;
} catch (error) {
console.error("获取学院列表失败", error);
}
},
/** 获取学年列表 */
async getYearList() {
try {
const response = await listAllYear();
if (response.code === 200) {
this.yearList = response.data;
}
} catch (error) {
console.error("获取学年列表失败", error);
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 导出按钮操作 */
async handleExport() {
try {
const loading = fullLoading(this);
await exportTeacherEvaluationStatus(this.queryParams);
this.$modal.msgSuccess("导出成功");
} catch (error) {
this.$modal.msgError("导出失败");
} finally {
this.fullLoading = false;
}
}
}
};
</script>
<style scoped>
.app-container {
padding: 20px;
color: #333;
}
.el-table {
color: #333;
}
.el-form-item label {
color: #333;
}
.el-input input {
color: #333;
}
.el-select .el-input input {
color: #333;
}
</style>

View File

@@ -121,7 +121,8 @@
<template slot-scope="scope">
<div>{{scope.row.isSleep=='1'?'是':'否'}}</div>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="兴趣特长" align="center" prop="hobby" width="180" />
<el-table-column label="退役复学" align="center" prop="isRetired" width="180" />
<el-table-column label="建档立卡户" align="center" prop="isFiling" width="180" />
<el-table-column label="是否残疾" align="center" prop="isDisability" width="180" />

View File

@@ -0,0 +1,100 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="140px">
<el-form-item label="临时学号" prop="临时学号报到后给新的">
<el-input v-model="queryParams.临时学号报到后给新的" placeholder="请输入临时学号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="教务系统班级编号" prop="教务系统班级编号">
<el-input v-model="queryParams.教务系统班级编号" placeholder="请输入教务系统班级编号" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
<el-button type="success" icon="el-icon-sort" size="mini" @click="syncClassCode">同步班级代码到新生信息</el-button>
</el-form-item>
</el-form>
<el-table :data="tableData" border style="width: 100%"
:header-cell-style="{ background: '#f5f7fa', fontWeight: 'bold' }">
<el-table-column prop="临时学号报到后给新的" label="临时学号(报到后给新的)" width="180"></el-table-column>
<el-table-column prop="姓名" label="姓名" width="120"></el-table-column>
<el-table-column prop="性别" label="性别" width="80"></el-table-column>
<el-table-column prop="出生日期字符串" label="出生日期" width="140"></el-table-column>
<el-table-column prop="民族代码" label="民族代码" width="120"></el-table-column>
<el-table-column prop="民族名称" label="民族名称" width="120"></el-table-column>
<el-table-column prop="政治面貌代码" label="政治面貌代码" width="140"></el-table-column>
<el-table-column prop="政治面貌名称" label="政治面貌名称" width="140"></el-table-column>
<el-table-column prop="教务系统所属院系" label="所属院系" width="160"></el-table-column>
<el-table-column prop="教务系统年度专业代码" label="年度专业代码" width="160"></el-table-column>
<el-table-column prop="教务系统专业名称" label="专业名称" width="160"></el-table-column>
<el-table-column prop="教务系统班级编号" label="班级编号" width="140"></el-table-column>
<el-table-column prop="班级名称" label="班级名称" width="180"></el-table-column>
<el-table-column prop="班级简称" label="班级简称" width="100"></el-table-column>
<el-table-column prop="是否报到核验" label="是否报到核验" width="140"></el-table-column>
<el-table-column prop="报到核验时间" label="报到核验时间" width="160"></el-table-column>
<el-table-column prop="学号" label="学号" width="140"></el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getList" />
</div>
</template>
<script>
import { listXsxxTemp, syncClassCode } from "@/api/stureg/temp";
import { fullLoading } from "@/api/helpFunc/index";
export default {
name: "Temp",
data() {
return {
total: 0,
tableData: [],
queryParams: {
pageNum: 1,
pageSize: 10,
},
};
},
created() {
this.getList();
},
mounted() { },
methods: {
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
async getList() {
let loading = fullLoading(this);
let res = await listXsxxTemp(this.queryParams);
loading.close();
if (res.code == 200) {
this.tableData = [...res.rows];
this.total = res.total;
}
},
async syncClassCode() {
let loading = fullLoading(this);
let res = await syncClassCode();
loading.close();
if (res.code == 200) {
this.$message.success("同步成功");
} else {
this.$message.error(res.msg);
}
}
},
};
</script>