feat: 优化岗位弹窗展示和添加投递权限限制

- 岗位描述和要求使用数字序号排序,左对齐展示
- 优化三个内容板块的间距和样式
- 添加岗位相关标签显示(专业相关/非专业相关/人才出海)
- 创建投递权限提示弹窗,非学员无法投递
- 更新岗位面试状态数据,修复重复的会展策划师记录
- 支持弹窗内容滚动,自适应高度

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
KQL
2025-09-08 06:13:48 +08:00
parent 12e3722c54
commit 7132a9f190
9 changed files with 951 additions and 95 deletions

View File

@@ -1,5 +1,5 @@
.job-info-modal-content {
max-height: 720px;
max-height: 80vh;
width: 844px;
position: relative;
display: flex;
@@ -13,8 +13,28 @@
background-repeat: no-repeat;
border-radius: 8px;
box-sizing: border-box;
overflow: auto;
overflow-y: auto;
overflow-x: hidden;
padding: 20px;
/* 自定义滚动条样式 */
&::-webkit-scrollbar {
width: 6px;
}
&::-webkit-scrollbar-track {
background: #f1f1f1;
border-radius: 3px;
}
&::-webkit-scrollbar-thumb {
background: #667eea;
border-radius: 3px;
&:hover {
background: #764ba2;
}
}
.job-info-modal-search {
width: 319px;
@@ -35,13 +55,13 @@
}
.job-info-modal-user-resumes-list {
width: 100%;
min-height: 555px;
min-height: 400px;
margin-top: 16px;
display: grid;
grid-template-columns: repeat(2, 1fr); /* 每行两列 */
gap: 20px; /* 网格间距 */
justify-items: start; /* 项目左对 */
overflow-y: auto;
justify-items: start; /* 项目左对 */
overflow-y: visible;
.list-item {
width: 390px;
@@ -130,18 +150,32 @@
.job-info-modal-content-position-info {
width: 100%;
height: 30px;
min-height: 30px;
display: flex;
align-items: center;
justify-content: flex-start;
position: relative;
flex-wrap: wrap;
gap: 10px;
.job-info-modal-content-position-info-position {
font-size: 20px;
font-weight: 600;
line-height: 30px;
color: #1d2129;
margin-right: 10px;
}
.job-category-tag {
display: inline-flex;
align-items: center;
padding: 4px 12px;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
font-size: 12px;
font-weight: 500;
border-radius: 12px;
white-space: nowrap;
box-shadow: 0 2px 4px rgba(102, 126, 234, 0.3);
}
.job-info-modal-content-position-info-num {
@@ -187,10 +221,25 @@
.job-info-modal-content-position-info-companyInfo {
width: 100%;
box-sizing: border-box;
padding: 16px;
border-radius: 8px;
background-color: #fff;
margin: 10px 0;
padding: 20px;
border-radius: 12px;
background: linear-gradient(135deg, #ffffff 0%, #f7f8fa 100%);
margin: 8px 0;
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
border: 1px solid rgba(102, 126, 234, 0.1);
position: relative;
overflow: visible;
min-height: auto;
&:before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 4px;
height: 100%;
background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
}
> p {
width: 100%;
@@ -199,28 +248,134 @@
.description-title,
.requirements-title,
.companyInfo-title {
font-size: 20px;
font-size: 16px;
font-weight: 600;
line-height: 30px;
color: #000;
margin-bottom: 10px;
line-height: 24px;
color: #1d2129;
margin-bottom: 16px;
padding-left: 12px;
position: relative;
&:before {
content: "";
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 3px;
height: 16px;
background: linear-gradient(180deg, #667eea 0%, #764ba2 100%);
border-radius: 2px;
}
}
.description-content,
.description-content {
font-size: 14px;
font-weight: 400;
line-height: 22px;
color: #4e5969;
text-align: left;
.description-item {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
text-align: left;
.description-number {
display: inline-block;
min-width: 24px;
font-size: 14px;
font-weight: 600;
color: #667eea;
margin-right: 8px;
text-align: left;
}
.description-text {
flex: 1;
font-size: 14px;
font-weight: 400;
line-height: 22px;
color: #4e5969;
text-align: left;
}
&:last-child {
margin-bottom: 0;
}
}
}
.companyInfo-content {
font-size: 16px;
font-size: 14px;
font-weight: 400;
line-height: 24px;
color: #4e5969;
.company-paragraph {
margin-bottom: 12px;
text-indent: 2em;
text-align: justify;
&:last-child {
margin-bottom: 0;
}
}
}
.requirements-content {
width: 100%;
text-align: left;
.requirements-item {
display: flex;
align-items: flex-start;
margin-bottom: 10px;
text-align: left;
font-size: 16px;
font-weight: 400;
line-height: 24px;
.requirement-number {
display: inline-block;
min-width: 24px;
font-size: 14px;
font-weight: 600;
color: #667eea;
margin-right: 8px;
text-align: left;
}
.requirement-text {
flex: 1;
font-size: 14px;
font-weight: 400;
line-height: 22px;
color: #4e5969;
text-align: left;
}
&:last-child {
margin-bottom: 0;
}
}
.requirement-line {
margin-bottom: 8px;
padding-left: 16px;
position: relative;
font-size: 14px;
line-height: 22px;
color: #4e5969;
text-align: left;
&:before {
content: "•";
position: absolute;
left: 0;
color: #667eea;
}
&:last-child {
margin-bottom: 0;
}
}
}
}