This commit is contained in:
guochunsi
2026-01-23 18:00:43 +08:00
parent f7445e1baf
commit 5dd173d8d3
8 changed files with 508 additions and 204 deletions

View File

@@ -1,20 +1,3 @@
<!--
- Copyright (c) 2018-2025, cyweb All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- Neither the name of the pig4cloud.com developer nor the names of its
- contributors may be used to endorse or promote products derived from
- this software without specific prior written permission.
-
-->
<template>
<div class="layout-padding">
<div class="layout-padding-auto layout-padding-view">
@@ -60,7 +43,7 @@
<el-table-column type="index" label="序号" width="60" align="center" />
<el-table-column prop="deptCode" label="学院" align="center" show-overflow-tooltip />
<el-table-column prop="classCode" label="班级" align="center" width="80" show-overflow-tooltip />
<el-table-column label="姓名/学号" align="center" width="150" show-overflow-tooltip>
<el-table-column label="姓名/学号" align="center" min-width="150" show-overflow-tooltip>
<template #default="scope">
<TeacherNameNo :name="scope.row.name" :no="scope.row.stuNo" />
</template>
@@ -81,12 +64,12 @@
<el-table-column prop="isDormApply" label="住宿申请" align="center" width="100">
<template #default="scope">
<el-tag v-if="scope.row.isDormApply == '1'" type="success">通过</el-tag>
<el-tag v-else-if="scope.row.isDormApply == '0'" type="info">未通过</el-tag>
<el-tag v-else-if="scope.row.isDormApply == '0'" type="danger">未通过</el-tag>
</template>
</el-table-column>
<el-table-column prop="isRoom" label="是否住宿" align="center" width="100">
<template #default="scope">
<span>{{ scope.row.isRoom === '1' ? '是' : scope.row.isRoom === '0' ? '否' : '' }}</span>
<span>{{ getStatusConfig(yes_no_type, scope.row.isRoom)?.label }}</span>
</template>
</el-table-column>
<el-table-column prop="roomNo" label="宿舍号" align="center" width="80" show-overflow-tooltip />
@@ -100,10 +83,10 @@
<el-table-column label="操作" width="100" align="center" fixed="right">
<template #default="scope">
<el-button
v-if="permissions.recruit_newstucheckin_edit"
v-auth="'recruit_newstucheckin_edit'"
type="primary"
link
icon="CircleCheck"
icon="EditPen"
@click="handleCheckIn(scope.row)"
>
报到
@@ -132,13 +115,18 @@ import { useUserInfo } from '/@/stores/userInfo'
import { BasicTableProps, useTable } from '/@/hooks/table'
import { useMessage } from '/@/hooks/message'
import { fetchList } from '/@/api/recruit/newstucheckin'
import { getTypeValue } from '/@/api/admin/dict'
import { getDictsByTypes } from '/@/api/admin/dict'
import { useDict } from '/@/hooks/dict'
import request from '/@/utils/request'
import { getStatusConfig } from '/@/config/global'
const StuCheckIn = defineAsyncComponent(() => import('./stu-check-in.vue'))
const TeacherNameNo = defineAsyncComponent(() => import('/@/components/TeacherNameNo/index.vue'))
const GenderTag = defineAsyncComponent(() => import('/@/components/GenderTag/index.vue'))
// 是否住宿字典
const { yes_no_type } = useDict('yes_no_type')
// 使用 Pinia store
const userInfoStore = useUserInfo()
const { userInfos } = storeToRefs(userInfoStore)
@@ -155,6 +143,9 @@ const permissions = computed(() => {
// 消息提示 hooks
const message = useMessage()
// 文化程度字典数据
const eduList = ref<any[]>([])
// 表格引用
const tableRef = ref()
const stuCheckInRef = ref()
@@ -258,8 +249,9 @@ const handleExportOut = async () => {
// 查询报到状态字典
const getCheckInStatusData = async () => {
try {
const data = await getTypeValue('check_in_status')
checkInStatusData.value = data.data || []
const data = await getDictsByTypes(['check_in_status','finance_student_source'])
checkInStatusData.value = data.data.check_in_status || []
eduList.value = data.data.finance_student_source || []
} catch (error) {
// 获取报到状态字典失败
}