辅导员查看学生填写的完整信息

This commit is contained in:
MDSMO
2025-08-28 15:16:19 +08:00
parent 8543ce1ce9
commit 3027834baf
2 changed files with 233 additions and 2 deletions

View File

@@ -76,6 +76,40 @@ export function updateExperience(data) {
export function delExperience(eduId) { export function delExperience(eduId) {
return request({ return request({
url: '/comprehensive/experience/' + eduId, url: '/comprehensive/experience/' + eduId,
method: 'post' method: 'delete'
}) })
} }
// 辅导员查看学生教育经历
export function getOwnExpFdy(stuNo){
return request({
url:`/comprehensive/experience/getOwnExpFdy/${stuNo}`,
method:"get"
});
}
// 辅导员添加学生教育经历
export function addOwnExpFdy(data){
return request({
url:'/comprehensive/experience/addOwnExpFdy',
method:"post",
data
});
}
// 辅导员编辑学生教育经历
export function editOwnExpFdy(data){
return request({
url:'/comprehensive/experience/editOwnExpFdy',
method: 'POST',
data
});
}
// 辅导员删除学生教育经历
export function deleteOwnExpFdy(id){
return request({
url:`/comprehensive/experience/deleteOwnExpFdy/${id}`,
method:"post"
});
}

View File

@@ -47,6 +47,11 @@
<dict-tag :options="dict.type.srs_stu_reg_status" :value="scope.row.regStatus" /> <dict-tag :options="dict.type.srs_stu_reg_status" :value="scope.row.regStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="viewStudentDetail(scope.row)">查看详情</el-button>
</template>
</el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
@@ -66,6 +71,143 @@
</el-table> </el-table>
</el-dialog> </el-dialog>
<!-- 学生详情弹窗 -->
<el-dialog title="学生详情" :visible.sync="studentDetailVisible" width="80%" :close-on-click-modal="false">
<el-tabs v-model="activeTab">
<el-tab-pane label="基本信息" name="basic">
<el-form size="mini" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="学院">
<el-input v-model="studentDetail.deptName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="专业">
<el-input v-model="studentDetail.majorName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="班级">
<el-input v-model="studentDetail.className" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="学号">
<el-input v-model="studentDetail.stuNo" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="姓名">
<el-input v-model="studentDetail.stuName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="性别">
<el-input v-model="studentDetail.xb" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="考生号">
<el-input v-model="studentDetail.ksh" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号">
<el-input v-model="studentDetail.idCard" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="手机号">
<el-input v-model="studentDetail.phone" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="年级">
<el-input v-model="studentDetail.gradeName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="辅导员">
<el-input v-model="studentDetail.teacherName" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="注册状态">
<el-input v-model="studentDetail.regStatus" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane label="详细信息" name="detail">
<el-form size="mini" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="出生日期">
<el-input v-model="studentDetail.birthday" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="民族">
<el-input v-model="studentDetail.mz" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="政治面貌">
<el-input v-model="studentDetail.zzmm" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="血型">
<el-input v-model="studentDetail.xx" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="籍贯">
<el-input v-model="studentDetail.jg" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="户口性质">
<el-input v-model="studentDetail.hkxz" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="户口所在地">
<el-input v-model="studentDetail.hkszd" readonly></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="银行卡号">
<el-input v-model="studentDetail.yhkh" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="银行地址">
<el-input v-model="studentDetail.yhdz" readonly></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
<el-tab-pane label="家庭成员" name="family">
<FamilyMemberKnrd :stuNo="studentDetail.ksh || studentDetail.xh || studentDetail.stuNo" v-if="studentDetail.ksh || studentDetail.xh || studentDetail.stuNo" />
</el-tab-pane>
<el-tab-pane label="教育经历" name="education">
<EduExpKnrd :stuNo="studentDetail.ksh || studentDetail.xh || studentDetail.stuNo" v-if="studentDetail.ksh || studentDetail.xh || studentDetail.stuNo" />
</el-tab-pane>
</el-tabs>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@@ -73,12 +215,22 @@ import { listFdy } from "@/api/stureg/stu";
import { listStuTodo } from "@/api/stureg/stu_todo"; import { listStuTodo } from "@/api/stureg/stu_todo";
import { getStuInfo } from "@/api/stuCQS/basedata/stuInfoView";
import { getExtraInfo } from "@/api/stuCQS/basedata/extraInfo";
import { workbook2blob, openDownloadDialog, dbfToJson, isEmpty, fullLoading } from "@/api/helpFunc"; import { workbook2blob, openDownloadDialog, dbfToJson, isEmpty, fullLoading } from "@/api/helpFunc";
import FamilyMemberKnrd from "@/views/basedata/private/components/FamilyMemberKnrd.vue";
import EduExpKnrd from "@/views/basedata/private/components/EduExpKnrd.vue";
export default { export default {
name: "reg-stu-fdy", name: "reg-stu-fdy",
dicts: ['srs_stu_reg_status', 'srs_remain_status'], dicts: ['srs_stu_reg_status', 'srs_remain_status'],
components: {
FamilyMemberKnrd,
EduExpKnrd
},
data() { data() {
return { return {
stu_list: [], stu_list: [],
@@ -91,7 +243,12 @@ export default {
loading: false, loading: false,
taskV: false, taskV: false,
task_list: [] task_list: [],
// 学生详情相关
studentDetailVisible: false,
activeTab: 'basic',
studentDetail: {}
} }
}, },
created() { created() {
@@ -126,6 +283,46 @@ export default {
this.resetForm("queryForm"); this.resetForm("queryForm");
this.handleQuery(); this.handleQuery();
}, },
/** 查看学生详情 */
async viewStudentDetail(row) {
let loading = fullLoading(this);
try {
// 使用考生号或学号获取基本信息
let stuNo = row.ksh || row.xh || row.stuNo;
if (!stuNo) {
this.$message.error('无法获取学生学号信息');
loading.close();
return;
}
// 获取基本信息
let basicRes = await getStuInfo(stuNo);
loading.close();
if (basicRes.code == 200) {
// 合并基本信息和当前行数据
this.studentDetail = {
...row,
...basicRes.data,
// 映射字段名称
stuName: row.xsxm || basicRes.data.stuName,
ksh: row.ksh || basicRes.data.ksh,
xb: row.xb || basicRes.data.xb
};
this.activeTab = 'basic';
this.studentDetailVisible = true;
} else {
this.$message.error('获取学生详情失败: ' + (basicRes.msg || '未知错误'));
}
} catch (error) {
loading.close();
console.error('获取学生详情出错:', error);
this.$message.error('获取学生详情失败');
}
},
} }
} }