wuzhen update

This commit is contained in:
wuzhen committed 2025-08-13 20:27:26 +08:00
1 parent 3fd877d57e
commit d4d3dd26fc
2 files changed
+54 -11

No files matched your search

+25
View File
@@ -841,6 +841,31 @@ export interface InternshipInfoVO {
*/
companyAddress?: string;
/**
* 实习津贴
*/
internshipAllowance?: number;
/**
* 单位联系人
*/
contactPersonName?: string;
/**
* 联系人电话
*/
contactPersonPhone?: string;
/**
* 协议状态
*/
agreementStatus?: string;
/**
* 备注信息
*/
remark?: string;
/**
* 创建时间
*/
@@ -93,7 +93,7 @@
<div class="statistics-card internshiping">
<div class="statistics-content">
<div class="statistics-number">{{ statisticsData.internshipCount || 0 }}</div>
<div class="statistics-label">实习中</div>
<div class="statistics-label">已实习</div>
</div>
<div class="statistics-icon">
<el-icon><Loading /></el-icon>
@@ -103,9 +103,9 @@
<el-col :span="6">
<div class="statistics-card completed">
<div class="statistics-content">
<div class="statistics-number">{{ statisticsData.internshipCount || 0 }}</div>
<div class="statistics-label">已完成</div>
<div class="statistics-rate">实习率:{{ statisticsData.internshipRate || '0.00%' }}</div>
<div class="statistics-number">{{ statisticsData.internshipRate || '0.00%' }}</div>
<div class="statistics-label">实习率</div>
<div class="statistics-description">已实习学生占比</div>
</div>
<div class="statistics-icon">
<el-icon><CircleCheck /></el-icon>
@@ -194,17 +194,17 @@
<!-- 学生实习详情对话框 -->
<el-dialog title="学生实习详情" v-model="dialog.visible" width="800px" append-to-body>
<el-dialog title="学生实习详情" v-model="dialog.visible" width="900px" append-to-body>
<div v-if="studentDetail" class="student-detail">
<el-descriptions title="基本信息" :column="2" border>
<el-descriptions-item label="学号">{{ studentDetail.studentNo }}</el-descriptions-item>
<el-descriptions-item label="姓名">{{ studentDetail.studentName }}</el-descriptions-item>
<el-descriptions-item label="性别">{{ studentDetail.gender }}</el-descriptions-item>
<el-descriptions-item label="手机号">{{ studentDetail.mobile }}</el-descriptions-item>
<el-descriptions-item label="手机号">{{ studentDetail.phone }}</el-descriptions-item>
<el-descriptions-item label="学院">{{ studentDetail.collegeName }}</el-descriptions-item>
<el-descriptions-item label="专业">{{ studentDetail.majorName }}</el-descriptions-item>
<el-descriptions-item label="班级">{{ studentDetail.className }}</el-descriptions-item>
<el-descriptions-item label="班主任">{{ studentDetail.classMasterName }}</el-descriptions-item>
<el-descriptions-item label="班主任">{{ studentDetail.classTeacherName }}</el-descriptions-item>
</el-descriptions>
<el-descriptions title="实习信息" :column="2" border class="mt-4">
@@ -212,17 +212,29 @@
<span v-if="studentDetail.internshipStatus === 'null' || !studentDetail.internshipStatus" class="status-tag not-started">未实习</span>
<dict-tag v-else :options="internship_status" :value="studentDetail.internshipStatus" />
</el-descriptions-item>
<el-descriptions-item label="实习公司">{{ studentDetail.internshipCompany || '-' }}</el-descriptions-item>
<el-descriptions-item label="实习公司">{{ studentDetail.companyName || '-' }}</el-descriptions-item>
<el-descriptions-item label="实习岗位">{{ studentDetail.internshipPosition || '-' }}</el-descriptions-item>
<el-descriptions-item label="实习地点">{{ studentDetail.internshipLocation || '-' }}</el-descriptions-item>
<el-descriptions-item label="实习地点">{{ studentDetail.companyAddress || '-' }}</el-descriptions-item>
<el-descriptions-item label="实习开始时间">
<span v-if="studentDetail.internshipStartTime">{{ parseTime(studentDetail.internshipStartTime, '{y}-{m}-{d}') }}</span>
<span v-if="studentDetail.internshipStartDate">{{ parseTime(studentDetail.internshipStartDate, '{y}-{m}-{d}') }}</span>
<span v-else>-</span>
</el-descriptions-item>
<el-descriptions-item label="实习结束时间">
<span v-if="studentDetail.internshipEndTime">{{ parseTime(studentDetail.internshipEndTime, '{y}-{m}-{d}') }}</span>
<span v-if="studentDetail.internshipEndDate">{{ parseTime(studentDetail.internshipEndDate, '{y}-{m}-{d}') }}</span>
<span v-else>-</span>
</el-descriptions-item>
<el-descriptions-item label="单位联系人">{{ studentDetail.contactPersonName || '-' }}</el-descriptions-item>
<el-descriptions-item label="联系人电话">{{ studentDetail.contactPersonPhone || '-' }}</el-descriptions-item>
<el-descriptions-item label="实习津贴">
<span v-if="studentDetail.internshipAllowance && studentDetail.internshipAllowance > 0">{{ studentDetail.internshipAllowance }}元/月</span>
<span v-else>-</span>
</el-descriptions-item>
<el-descriptions-item label="协议状态">
<el-tag v-if="studentDetail.agreementStatus === '1'" type="success">已签署</el-tag>
<el-tag v-else-if="studentDetail.agreementStatus === '2'" type="warning">未签署</el-tag>
<span v-else>-</span>
</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">{{ studentDetail.remark || '-' }}</el-descriptions-item>
</el-descriptions>
</div>
<template #footer>
@@ -498,6 +510,12 @@ const cancel = () => {
opacity: 0.8;
margin-top: 2px;
}
.statistics-description {
font-size: 12px;
opacity: 0.8;
margin-top: 2px;
}
}
.statistics-icon {