“rs/bzrkh测试修复0826第二版”

This commit is contained in:
weizhong committed 2025-08-26 22:59:13 +08:00
1 parent 742adbf553
commit 1c878d994a
2 files changed
+161 -25

No files matched your search

+160 -24
View File
@@ -403,36 +403,47 @@
</el-dialog>
<!-- 简历记录对话框 -->
<el-dialog title="简历记录" v-model="applicationOpen" width="900px" append-to-body>
<el-dialog title="简历记录" v-model="applicationOpen" width="1200px" append-to-body>
<div v-if="currentJob">
<div class="job-info-header">
<el-descriptions :column="3" border size="small">
<el-descriptions-item label="职位名称">{{ currentJob.title }}</el-descriptions-item>
<el-descriptions-item label="部门">{{ getDepartmentLabel(currentJob.department) }}</el-descriptions-item>
<el-descriptions-item label="申请人数">{{ currentJob.applicantCount }}</el-descriptions-item>
</el-descriptions>
<div class="job-info-compact">
<div class="info-item">
<span class="info-label">职位名称:</span>
<span class="info-value">{{ currentJob.title }}</span>
</div>
<div class="info-divider">|</div>
<div class="info-item">
<span class="info-label">部门:</span>
<span class="info-value">{{ getDepartmentLabel(currentJob.department) }}</span>
</div>
<div class="info-divider">|</div>
<div class="info-item">
<span class="info-label">申请人数:</span>
<span class="info-value highlight">{{ currentJob.applicantCount }}</span>
</div>
</div>
</div>
<div class="application-table mt-4">
<el-table v-loading="applicationLoading" :data="applicationList" border>
<el-table-column label="应聘者" align="center" prop="applicantName" />
<el-table-column label="申请状态" align="center" prop="status" width="120">
<div class="application-table mt-4">
<el-table v-loading="applicationLoading" :data="applicationList" border size="small" class="compact-table" :row-style="{ height: '32px' }" :cell-style="{ padding: '2px 0' }">
<el-table-column label="应聘者" align="center" prop="applicantName" width="110" />
<el-table-column label="申请状态" align="center" prop="status" width="110">
<template #default="scope">
<el-tag :type="getStatusType(scope.row.status)">
<el-tag :type="getStatusType(scope.row.status)" size="small">
{{ getStatusLabel(scope.row.status) }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="联系电话" align="center" prop="contactPhone" />
<el-table-column label="联系邮箱" align="center" prop="contactEmail" />
<el-table-column label="自我介绍" align="center" prop="selfDescription" :show-overflow-tooltip="true" />
<el-table-column label="HR备注" align="center" prop="hrNotes" :show-overflow-tooltip="true" />
<el-table-column label="申请时间" align="center" prop="applyTime" width="180">
<el-table-column label="联系电话" align="center" prop="contactPhone" width="130" />
<el-table-column label="联系邮箱" align="center" prop="contactEmail" width="200" :show-overflow-tooltip="true" />
<el-table-column label="自我介绍" align="center" prop="selfDescription" width="180" :show-overflow-tooltip="true" />
<el-table-column label="申请时间" align="center" prop="applyTime" width="170">
<template #default="scope">
<span>{{ parseTime(scope.row.applyTime) }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="300">
<el-table-column label="HR备注" align="center" prop="hrNotes" width="150" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="130" fixed="right">
<template #default="scope">
<div class="action-buttons">
<el-tooltip content="查看详情" placement="top">
@@ -442,8 +453,8 @@
<el-button link type="primary" icon="Download" size="small" @click="downloadResume(scope.row.resumePath)"></el-button>
</el-tooltip>
<!-- 状态选择器 -->
<div class="status-selector" v-hasPermi="['rs:application:edit']">
<!-- 状态选择器已隐藏 -->
<!-- <div class="status-selector" v-hasPermi="['rs:application:edit']">
<el-select
:model-value="scope.row.status"
@change="(newStatus: string) => handleStatusChange(scope.row, newStatus)"
@@ -452,7 +463,7 @@
>
<el-option v-for="option in applicationStatusOptions" :key="option.value" :label="option.label" :value="option.value" />
</el-select>
</div>
</div> -->
</div>
</template>
</el-table-column>
@@ -465,6 +476,9 @@
v-model:page="applicationQueryParams.pageNum"
v-model:limit="applicationQueryParams.pageSize"
@pagination="getApplicationList"
:page-sizes="[5, 10, 15, 20]"
layout="sizes, prev, pager, next, jumper"
:small="true"
/>
</div>
</div>
@@ -1839,11 +1853,24 @@ onMounted(() => {
.pagination-container {
display: flex;
justify-content: flex-end;
padding: 16px 20px 0 0 !important;
padding: 8px 20px 0 0 !important;
background-color: #fff;
margin-top: 0px !important;
}
.pagination-container :deep(.el-pagination) {
font-size: 12px;
}
.pagination-container :deep(.el-pagination .btn-prev),
.pagination-container :deep(.el-pagination .btn-next),
.pagination-container :deep(.el-pagination .el-pager li) {
min-width: 28px;
height: 28px;
line-height: 28px;
font-size: 12px;
}
/* 搜索按钮容器样式 */
.search-btn-container {
display: flex;
@@ -1857,11 +1884,76 @@ onMounted(() => {
/* 申请记录样式 */
.job-info-header {
margin-bottom: 16px;
margin-bottom: 8px;
}
/* 紧凑型职位信息样式 */
.job-info-compact {
display: flex;
align-items: center;
padding: 6px 10px;
background: #f8f9fa;
border: 1px solid #e1e8ed;
border-radius: 4px;
gap: 8px;
flex-wrap: wrap;
min-height: 36px;
}
.info-item {
display: flex;
align-items: center;
gap: 3px;
height: 24px;
}
.info-label {
font-size: 13px;
color: #606266;
font-weight: 500;
line-height: 1.3;
}
.info-value {
font-size: 13px;
color: #303133;
font-weight: 600;
line-height: 1.3;
}
.info-value.highlight {
color: #409eff;
font-size: 14px;
font-weight: 700;
line-height: 1.3;
}
.info-divider {
color: #dcdfe6;
font-size: 13px;
margin: 0 4px;
line-height: 1.3;
}
.application-table {
margin-top: 16px;
margin-top: 8px;
}
.application-table .el-table {
width: 100%;
}
.application-table .el-table__body-wrapper {
overflow-x: hidden;
}
/* 弹窗内容区域优化 */
.el-dialog__body {
padding: 15px 20px 0 20px !important;
}
.el-dialog__footer {
padding: 10px 20px 15px 20px !important;
}
.mt-4 {
@@ -1872,12 +1964,15 @@ onMounted(() => {
.action-buttons {
display: flex;
align-items: center;
gap: 8px;
gap: 2px;
flex-wrap: wrap;
justify-content: center;
.el-button {
margin: 0;
padding: 2px 6px;
font-size: 11px;
min-height: 20px;
}
.status-selector {
@@ -1897,4 +1992,45 @@ onMounted(() => {
}
}
}
/* 紧凑表格样式 */
.compact-table {
font-size: 13px;
:deep(.el-table__header) {
th {
padding: 4px 0;
font-size: 13px;
height: 32px;
}
}
:deep(.el-table__body) {
td {
padding: 4px 0;
font-size: 13px;
}
}
:deep(.cell) {
padding: 0 4px;
line-height: 1.3;
word-break: keep-all;
white-space: nowrap;
}
/* 固定列样式优化 */
:deep(.el-table__fixed-right) {
box-shadow: -2px 0 6px rgba(0, 0, 0, 0.1);
}
:deep(.el-table__fixed-right-patch) {
background-color: #f5f7fa;
}
/* 确保固定列正常显示 */
:deep(.el-table__fixed-right .el-table__fixed-body-wrapper) {
background-color: #fff;
}
}
</style>