Files
ks-app-employment-service/pages/resume-guide/resume-example.vue
2025-11-19 17:51:01 +08:00

514 lines
14 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<AppLayout backGorundColor="#FFFFFF">
<view class="resume-example-container">
<!-- 职业选择 -->
<view class="job-selector">
<view
class="job-option"
:class="{ active: selectedJob === job.value }"
v-for="job in jobTypes"
:key="job.value"
@click="selectJob(job.value)"
>
{{ job.label }}
</view>
</view>
<!-- 简历示例内容 -->
<view class="resume-content">
<view class="resume-header">
<view class="name">{{ resumeData.name }}</view>
<view class="contact-info">
<text v-if="resumeData.phone">{{ resumeData.phone }} | </text>
<text v-if="resumeData.email">{{ resumeData.email }} | </text>
<text v-if="resumeData.location">{{ resumeData.location }}</text>
</view>
</view>
<view class="resume-section" v-if="resumeData.education && resumeData.education.length > 0">
<view class="section-title">教育背景</view>
<view class="section-content">
<view class="education-item" v-for="(edu, index) in resumeData.education" :key="index">
<view class="edu-header">
<text class="school">{{ edu.school }}</text>
<text class="date">{{ edu.date }}</text>
</view>
<view class="degree">{{ edu.degree }} - {{ edu.major }}</view>
<view class="desc" v-if="edu.desc">{{ edu.desc }}</view>
</view>
</view>
</view>
<view class="resume-section" v-if="resumeData.skills && resumeData.skills.length > 0">
<view class="section-title">技能专长</view>
<view class="section-content">
<view class="skills-grid">
<view class="skill-tag" v-for="(skill, index) in resumeData.skills" :key="index">
{{ skill }}
</view>
</view>
</view>
</view>
<view class="resume-section" v-if="resumeData.experience && resumeData.experience.length > 0">
<view class="section-title">工作经历</view>
<view class="section-content">
<view class="experience-item" v-for="(exp, index) in resumeData.experience" :key="index">
<view class="exp-header">
<text class="company">{{ exp.company }}</text>
<text class="date">{{ exp.date }}</text>
</view>
<view class="position">{{ exp.position }}</view>
<view class="responsibilities">
<view class="resp-item" v-for="(resp, idx) in exp.responsibilities" :key="idx">
{{ resp }}
</view>
</view>
</view>
</view>
</view>
<view class="resume-section" v-if="resumeData.projects && resumeData.projects.length > 0">
<view class="section-title">项目经验</view>
<view class="section-content">
<view class="project-item" v-for="(project, index) in resumeData.projects" :key="index">
<view class="project-header">
<text class="project-name">{{ project.name }}</text>
<text class="date">{{ project.date }}</text>
</view>
<view class="project-role">{{ project.role }}</view>
<view class="project-desc">{{ project.desc }}</view>
<view class="achievements">
<view class="achievement-item" v-for="(ach, idx) in project.achievements" :key="idx">
{{ ach }}
</view>
</view>
</view>
</view>
</view>
</view>
</view>
</AppLayout>
</template>
<script setup>
import { ref, computed } from 'vue';
// 职业类型选项
const jobTypes = [
{ label: '软件工程师', value: 'software-engineer' },
{ label: '产品经理', value: 'product-manager' },
{ label: '市场营销', value: 'marketing' },
{ label: '财务会计', value: 'accountant' },
{ label: '人力资源', value: 'hr' }
];
// 当前选中的职业
const selectedJob = ref('software-engineer');
// 选择职业
const selectJob = (jobValue) => {
selectedJob.value = jobValue;
};
// 不同职业的简历数据
const resumeSamples = {
'software-engineer': {
name: '张伟',
phone: '138-0000-0000',
email: 'zhangwei@example.com',
location: '北京市',
education: [
{
school: '清华大学',
date: '2016.09 - 2020.06',
degree: '本科',
major: '计算机科学与技术',
desc: '主修课程:数据结构、算法设计、数据库原理、操作系统'
}
],
experience: [
{
company: '腾讯科技有限公司',
date: '2022.07 - 至今',
position: '高级前端工程师',
responsibilities: [
'负责公司核心产品的前端架构设计和开发',
'主导团队技术选型推动Vue3 + TypeScript技术栈落地',
'优化前端性能页面加载速度提升40%',
'指导初级工程师,提升团队整体技术水平'
]
},
{
company: '阿里巴巴集团',
date: '2020.07 - 2022.06',
position: '前端工程师',
responsibilities: [
'参与电商平台前端开发使用Vue.js框架',
'负责商品详情页和购物车模块开发',
'优化页面响应速度用户体验评分提升25%',
'编写技术文档,协助测试团队完成测试用例'
]
}
],
skills: [
'Vue.js', 'React', 'JavaScript', 'TypeScript', 'HTML5', 'CSS3',
'Node.js', 'Webpack', 'Git', '小程序开发', '响应式设计'
],
projects: [
{
name: '电商平台前端重构项目',
date: '2023.03 - 2023.09',
role: '前端技术负责人',
desc: '主导公司核心电商平台的前端重构工作,提升用户体验和系统性能',
achievements: [
'采用微前端架构,实现多团队协同开发',
'页面加载速度提升40%用户停留时长增加25%',
'代码可维护性大幅提升bug率降低30%'
]
}
]
},
'product-manager': {
name: '李娜',
phone: '139-0000-0000',
email: 'lina@example.com',
location: '上海市',
education: [
{
school: '复旦大学',
date: '2015.09 - 2019.06',
degree: '本科',
major: '工商管理',
desc: '主修课程:市场营销、消费者行为学、战略管理'
}
],
experience: [
{
company: '字节跳动',
date: '2021.05 - 至今',
position: '高级产品经理',
responsibilities: [
'负责短视频产品功能规划和迭代优化',
'分析用户行为数据,制定产品策略',
'协调设计、开发、运营团队推进项目落地',
'跟踪竞品动态,持续优化产品体验'
]
},
{
company: '美团',
date: '2019.07 - 2021.04',
position: '产品经理',
responsibilities: [
'负责外卖商家端产品功能设计',
'通过数据分析发现业务增长点',
'推动商户入驻流程优化提升转化率15%',
'组织跨部门会议,推进项目进度'
]
}
],
skills: [
'产品设计', '数据分析', '用户研究', 'Axure', 'SQL',
'项目管理', '沟通协调', '市场调研', '竞品分析'
],
projects: [
{
name: '智能推荐系统优化',
date: '2023.01 - 2023.06',
role: '项目经理',
desc: '优化平台内容推荐算法,提升用户粘性和内容消费时长',
achievements: [
'推荐准确率提升20%,用户满意度显著提高',
'日活跃用户增长12%内容消费时长增加18%',
'项目获公司年度创新奖'
]
}
]
},
'marketing': {
name: '王强',
phone: '136-0000-0000',
email: 'wangqiang@example.com',
location: '广州市',
education: [
{
school: '中山大学',
date: '2017.09 - 2021.06',
degree: '本科',
major: '市场营销',
desc: '主修课程:市场营销学、消费者心理学、品牌管理'
}
],
experience: [
{
company: '宝洁公司',
date: '2021.08 - 至今',
position: '品牌推广专员',
responsibilities: [
'负责洗护用品品牌线上线下推广活动策划',
'分析市场数据,制定营销策略',
'协调广告公司和媒体资源',
'跟踪活动效果,撰写分析报告'
]
}
],
skills: [
'品牌推广', '社交媒体营销', '数据分析', '活动策划',
'广告投放', 'SEO/SEM', '内容营销', '客户关系管理'
],
projects: [
{
name: '新品上市推广 campaign',
date: '2023.03 - 2023.05',
role: '推广负责人',
desc: '负责公司新款洗发水产品上市的全渠道推广活动',
achievements: [
'首月销售额突破500万元超出预期目标20%',
'社交媒体话题阅读量超1000万次',
'成功签约10位知名KOL进行产品推广'
]
}
]
},
'accountant': {
name: '陈丽',
phone: '137-0000-0000',
email: 'chenli@example.com',
location: '深圳市',
education: [
{
school: '厦门大学',
date: '2018.09 - 2022.06',
degree: '本科',
major: '会计学',
desc: '主修课程:财务会计、成本会计、税法、审计'
}
],
experience: [
{
company: '德勤会计师事务所',
date: '2022.07 - 至今',
position: '审计员',
responsibilities: [
'参与多家上市公司年度财务报表审计',
'编制审计工作底稿,整理审计证据',
'协助项目经理完成审计报告',
'与客户沟通解决审计过程中发现的问题'
]
}
],
skills: [
'财务报表分析', '税务筹划', '审计', 'Excel', 'SAP',
'财务软件', '成本核算', '风险控制', '财务制度设计'
],
projects: [
{
name: '制造业企业年度审计',
date: '2023.09 - 2024.01',
role: '审计小组成员',
desc: '参与大型制造企业的年度财务报表审计工作',
achievements: [
'发现并纠正财务处理错误3处涉及金额约200万元',
'优化审计流程提高工作效率15%',
'协助企业完善内控制度,获得客户高度评价'
]
}
]
},
'hr': {
name: '赵敏',
phone: '135-0000-0000',
email: 'zhaomin@example.com',
location: '杭州市',
education: [
{
school: '浙江大学',
date: '2019.09 - 2023.06',
degree: '本科',
major: '人力资源管理',
desc: '主修课程:人力资源管理、组织行为学、薪酬管理'
}
],
experience: [
{
company: '华为技术有限公司',
date: '2023.07 - 至今',
position: '人力资源专员',
responsibilities: [
'负责员工招聘、面试安排和入职培训',
'协助制定员工绩效考核方案',
'处理员工关系问题,维护良好工作氛围',
'管理员工档案和薪酬福利'
]
}
],
skills: [
'招聘面试', '员工培训', '绩效管理', '劳动关系',
'薪酬福利', 'HR系统', '沟通协调', '团队建设'
],
projects: [
{
name: '新员工培训体系优化',
date: '2024.01 - 2024.03',
role: '项目负责人',
desc: '优化公司新员工培训体系,提升培训效果',
achievements: [
'建立标准化培训流程培训满意度提升25%',
'开发在线学习平台节省培训成本30%',
'新员工试用期通过率提高至95%'
]
}
]
}
};
// 当前显示的简历数据
const resumeData = computed(() => {
return resumeSamples[selectedJob.value] || resumeSamples['software-engineer'];
});
</script>
<style lang="scss" scoped>
.resume-example-container {
padding: 32rpx;
background: #FFFFFF;
min-height: 100vh;
}
.job-selector {
display: flex;
flex-wrap: wrap;
gap: 16rpx;
margin-bottom: 32rpx;
.job-option {
padding: 16rpx 24rpx;
background: #F5F5F5;
border-radius: 6rpx;
font-size: 26rpx;
color: #666666;
cursor: pointer;
&.active {
background: #1A1A1A;
color: #FFFFFF;
}
}
}
.resume-content {
background: #FFFFFF;
border-radius: 8rpx;
padding: 32rpx;
border: 1rpx solid #F0F0F0;
}
.resume-header {
text-align: center;
margin-bottom: 32rpx;
padding-bottom: 24rpx;
border-bottom: 1rpx solid #F0F0F0;
.name {
font-size: 40rpx;
font-weight: 600;
color: #1A1A1A;
margin-bottom: 16rpx;
}
.contact-info {
font-size: 26rpx;
color: #666666;
line-height: 1.6;
}
}
.resume-section {
margin-bottom: 32rpx;
&:last-child {
margin-bottom: 0;
}
.section-title {
font-size: 32rpx;
font-weight: 600;
color: #1A1A1A;
margin-bottom: 20rpx;
padding-bottom: 12rpx;
border-bottom: 1rpx solid #F0F0F0;
}
.section-content {
padding-left: 0;
}
}
.education-item, .experience-item, .project-item {
margin-bottom: 24rpx;
&:last-child {
margin-bottom: 0;
}
}
.edu-header, .exp-header, .project-header {
display: flex;
justify-content: space-between;
margin-bottom: 8rpx;
.school, .company, .project-name {
font-size: 28rpx;
font-weight: 600;
color: #1A1A1A;
}
.date {
font-size: 24rpx;
color: #666666;
}
}
.degree, .position, .project-role {
font-size: 26rpx;
color: #1A1A1A;
margin-bottom: 8rpx;
font-weight: 500;
}
.desc, .project-desc {
font-size: 24rpx;
color: #666666;
line-height: 1.5;
}
.responsibilities, .achievements {
margin-top: 8rpx;
.resp-item, .achievement-item {
font-size: 24rpx;
color: #666666;
line-height: 1.6;
margin-bottom: 6rpx;
&:last-child {
margin-bottom: 0;
}
}
}
.skills-grid {
display: flex;
flex-wrap: wrap;
gap: 16rpx;
.skill-tag {
padding: 12rpx 20rpx;
background: #F5F5F5;
border-radius: 4rpx;
font-size: 22rpx;
color: #1A1A1A;
}
}
</style>