resumeDetail.vue 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005
  1. <template>
  2. <view class="resume-detail" :style="{ paddingTop: (12 + statusBarHeight + 88 - 60) + 'px' }">
  3. <!-- 固定顶部导航栏 -->
  4. <view class="fixed-nav" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
  5. <view class="navbar">
  6. <view class="navbar-content">
  7. <view class="navbar-left" @click="goBack">
  8. <u-icon name="arrow-leftward" size="38" color="#333"></u-icon>
  9. </view>
  10. <view class="navbar-title">简历详情</view>
  11. <view class="navbar-right"></view>
  12. </view>
  13. </view>
  14. </view>
  15. <!-- 用户信息区域 -->
  16. <view class="user-profile">
  17. <view class="profile-header">
  18. <view class="name-section">
  19. <view class="user-name">{{resumeData.name || '李世明'}}</view>
  20. <view class="status-tag">热门搜索</view>
  21. </view>
  22. <view class="avatar-container">
  23. <image :src="resumeData.avatar || '../../static/logo.png'" class="user-avatar" mode="aspectFill"></image>
  24. <view class="notification-badge"></view>
  25. </view>
  26. </view>
  27. <view class="current-job">
  28. <image src="../../static/images/aixin.svg" class="job-icon" mode="aspectFit"></image>
  29. <text class="job-text">{{resumeData.currentJob || '世迪贸易-亚马逊运营'}}</text>
  30. </view>
  31. <view class="availability">
  32. <text class="status-text">{{resumeData.status || '离职&随时到岗位'}}</text>
  33. </view>
  34. <view class="summary-info">
  35. <view class="summary-item">
  36. <text class="summary-text">{{resumeData.experience || '4年'}}</text>
  37. </view>
  38. <view class="summary-item">
  39. <text class="summary-text">{{resumeData.education || '本科'}}</text>
  40. </view>
  41. <view class="summary-item">
  42. <text class="summary-text">{{resumeData.age || '25岁'}}</text>
  43. </view>
  44. </view>
  45. </view>
  46. <!-- 内容区域 -->
  47. <view class="content-section">
  48. <!-- 个人优势 -->
  49. <view class="section-item">
  50. <view class="advantage-content">
  51. {{resumeData.advantage || '这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优。(最多展示三行)'}}
  52. </view>
  53. </view>
  54. <!-- 附件简历 -->
  55. <view class="attachment-section">
  56. <view class="attachment-btn">
  57. <image src="../../static/images/fujian.svg" class="attachment-icon" mode="aspectFit"></image>
  58. <text class="attachment-text">已上传附件简历</text>
  59. </view>
  60. </view>
  61. <!-- 求职期望 -->
  62. <view class="expectation-card">
  63. <view class="card-header">
  64. <text class="header-title">求职期望</text>
  65. </view>
  66. <view class="job-expectation">
  67. <text class="expectation-text">亚马逊店铺运营, 深圳</text>
  68. <text class="salary-range">24-36K</text>
  69. </view>
  70. </view>
  71. <view class="jobRemarks-box-c-title flex align-center">
  72. <image src="/static/images/index/ins.png" class="title-icon"></image>
  73. <text>工作经历</text>
  74. </view>
  75. <!-- 工作经历 -->
  76. <view class="work-experience-section">
  77. <view class="section-header">
  78. <view class="section-title">
  79. <text class="required-mark">*</text>
  80. <text class="required-title">工作经历</text>
  81. <view class="section-desc">请填写专属跨境行业的工作经验</view>
  82. </view>
  83. <view class="edit-icon">
  84. <image src="../../static/images/index/Combined-Shape.svg" style="width: 48rpx;height: 48rpx;" mode=""></image>
  85. </view>
  86. </view>
  87. <view class="experience-list">
  88. <view class="experience-item">
  89. <view class="company-logo">
  90. <image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
  91. </view>
  92. <view class="experience-content">
  93. <view class="job-info-row">
  94. <view class="job-title">资深亚马逊运营</view>
  95. <view class="job-department">运营部</view>
  96. </view>
  97. <view class="company-period-row">
  98. <view class="company-name">深圳市世迪贸易科技有限公司</view>
  99. <view class="work-period">2019.02-至今</view>
  100. </view>
  101. <view class="job-description">
  102. 负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售...
  103. </view>
  104. <view class="skill-tags">
  105. <view class="tag">精品铺货</view>
  106. <view class="tag">独立站</view>
  107. <view class="tag">3C数码</view>
  108. <view class="tag">品类运营</view>
  109. </view>
  110. </view>
  111. </view>
  112. <view class="experience-item">
  113. <view class="company-logo">
  114. <image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
  115. </view>
  116. <view class="experience-content">
  117. <view class="job-info-row">
  118. <view class="job-title">高级ebay运营</view>
  119. <view class="job-department">运营部</view>
  120. </view>
  121. <view class="company-period-row">
  122. <view class="company-name">深圳市世迪贸易科技有限公司</view>
  123. <view class="work-period">2018.01-2019.01</view>
  124. </view>
  125. <view class="job-description">
  126. 负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售....
  127. </view>
  128. <view class="skill-tags">
  129. <view class="tag">精品铺货</view>
  130. <view class="tag">独立站</view>
  131. <view class="tag">3C数码</view>
  132. <view class="tag">品类运营</view>
  133. </view>
  134. </view>
  135. </view>
  136. <view class="experience-item">
  137. <view class="company-logo">
  138. <image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
  139. </view>
  140. <view class="experience-content">
  141. <view class="job-info-row">
  142. <view class="job-title">高级产品开发经理</view>
  143. <view class="job-department">产品开发部</view>
  144. </view>
  145. <view class="company-period-row">
  146. <view class="company-name">深圳虾皮科技有限公司</view>
  147. <view class="work-period">2023.04 -至今</view>
  148. </view>
  149. <view class="job-description">
  150. 这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容...
  151. </view>
  152. <view class="skill-tags">
  153. <view class="tag">技能标签</view>
  154. <view class="tag">技能标签</view>
  155. <view class="tag">技能标签</view>
  156. <view class="tag">技能标签</view>
  157. <view class="tag">技能标签</view>
  158. <view class="tag">技能标签</view>
  159. </view>
  160. </view>
  161. </view>
  162. </view>
  163. </view>
  164. <!-- 教育经历 -->
  165. <view class="education-section">
  166. <view class="section-header">
  167. <view class="section-title">
  168. <text>教育经历</text>
  169. </view>
  170. <view class="edit-icon">
  171. <image src="../../static/images/index/Combined-Shape.svg" style="width: 48rpx;height: 48rpx;" mode=""></image>
  172. </view>
  173. </view>
  174. <view class="education-list">
  175. <view class="education-item">
  176. <view class="school-logo">
  177. <image src="../../static/images/index/wuhan.svg" class="logo-img" mode="aspectFit"></image>
  178. </view>
  179. <view class="education-content">
  180. <view class="school-name">武汉工程大学</view>
  181. <view class="degree-info">硕士 • 高分子化学与物理 • 2014-2017</view>
  182. <view class="education-description">
  183. 这是简历填写的内容这是简历填写的内容内容这是简历填写的内是简历填写的内容这是简历填写的内容...
  184. </view>
  185. </view>
  186. </view>
  187. <view class="education-item">
  188. <view class="school-logo">
  189. <image src="../../static/images/index/wuhan.svg" class="logo-img" mode="aspectFit"></image>
  190. </view>
  191. <view class="education-content">
  192. <view class="school-name">武汉工程大学</view>
  193. <view class="degree-info">硕士 • 高分子化学与物理 • 2014-2017</view>
  194. <view class="education-description">
  195. 这是简历填写的内容这是简历填写的内容这是简的内容这是的内容这是简历填写的内容这是简历填写的内容...
  196. </view>
  197. </view>
  198. </view>
  199. </view>
  200. </view>
  201. <!-- 资格证书 -->
  202. <view class="certificates-section">
  203. <view class="section-header">
  204. <view class="section-title">
  205. <text>资格证书</text>
  206. </view>
  207. </view>
  208. <view class="certificates-grid">
  209. <view class="certificate-tag" v-for="cert in resumeData.certificates || defaultCertificates" :key="cert">{{cert}}</view>
  210. </view>
  211. </view>
  212. <!-- 专业技能 -->
  213. <view class="skills-section">
  214. <view class="section-header">
  215. <view class="section-title">
  216. <text>专业技能</text>
  217. </view>
  218. </view>
  219. <view class="skills-content">
  220. {{resumeData.skills || '熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练'}}
  221. </view>
  222. </view>
  223. </view>
  224. <!-- 底部操作按钮 -->
  225. <view class="bottom-actions">
  226. <view class="action-btn contact-btn" @click="contactCandidate">
  227. <text>立即联系</text>
  228. </view>
  229. </view>
  230. </view>
  231. </template>
  232. <script>
  233. export default {
  234. data() {
  235. return {
  236. statusBarHeight: 0, // 状态栏高度
  237. resumeId: '',
  238. resumeData: {},
  239. defaultExpectations: [
  240. {
  241. title: '亚马逊运营总监',
  242. salary: '30-40K',
  243. type: '不限',
  244. location: '深圳'
  245. },
  246. {
  247. title: 'TikTok运营总监',
  248. salary: '30-40K',
  249. type: '精品铺货',
  250. location: '深圳'
  251. }
  252. ],
  253. defaultWorkExperience: [
  254. {
  255. position: '资深亚马逊运营',
  256. department: '运营部',
  257. company: '深圳市世迪贸易科技有限公司',
  258. period: '2019.02-至今',
  259. description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售...',
  260. skills: ['精品铺货', '独立站', '3C数码', '品类运营']
  261. }
  262. ],
  263. defaultEducation: [
  264. {
  265. school: '武汉工程大学',
  266. degree: '硕士',
  267. major: '高分子化学与物理',
  268. period: '2014-2017',
  269. description: '这是简历填写的内容这是简历填写的内容内容这是简历填写的内是简历填写的内容这是简历填写的内容...'
  270. }
  271. ],
  272. defaultSkills: ['Design & Creative', 'Wireframing UX', 'Figma', 'UI Design', 'Prototype', 'Adobe XD', 'UX Design', 'Front End'],
  273. defaultCertificates: ['大学英语六级', '计算机职业资格', '初级会计师', '中级会计师', '高级会计师', '注册会计师']
  274. }
  275. },
  276. onLoad(options) {
  277. // 获取状态栏高度
  278. let systemInfo = uni.getSystemInfoSync();
  279. this.statusBarHeight = systemInfo.statusBarHeight || 0;
  280. if (options.resumeId) {
  281. this.resumeId = options.resumeId;
  282. this.loadResumeData();
  283. }
  284. },
  285. methods: {
  286. goBack() {
  287. uni.navigateBack();
  288. },
  289. loadResumeData() {
  290. // 这里应该根据 resumeId 加载简历数据
  291. // 暂时使用默认数据
  292. console.log('加载简历数据:', this.resumeId);
  293. },
  294. contactCandidate() {
  295. uni.showToast({
  296. title: '功能开发中',
  297. icon: 'none'
  298. });
  299. }
  300. }
  301. }
  302. </script>
  303. <style lang="scss" scoped>
  304. .resume-detail {
  305. min-height: 100vh;
  306. padding-bottom: 120rpx;
  307. // padding-top 已改为动态计算,在模板中通过 :style 设置
  308. }
  309. .fixed-nav {
  310. position: fixed;
  311. top: 0;
  312. left: 0;
  313. right: 0;
  314. z-index: 9999;
  315. background-color: #ffffff;
  316. // padding: 0 4rpx;
  317. // padding-top 已改为动态计算,在模板中通过 :style 设置
  318. }
  319. // 顶部导航栏
  320. .navbar {
  321. background: #fff;
  322. height: 88rpx;
  323. padding: 0 8rpx;
  324. // padding: 80rpx 0 40rpx 0; // 已移除,因为现在是固定导航栏
  325. .navbar-content {
  326. display: flex;
  327. align-items: center;
  328. justify-content: space-between;
  329. padding: 0 30rpx;
  330. height: 60rpx;
  331. .navbar-left {
  332. width: 60rpx;
  333. height: 60rpx;
  334. display: flex;
  335. align-items: center;
  336. justify-content: center;
  337. }
  338. .navbar-title {
  339. color: rgba(23, 23, 37, 1);
  340. font-family: DM Sans;
  341. font-size: 38rpx;
  342. font-weight: 700;
  343. line-height: 52rpx;
  344. letter-spacing: 0%;
  345. text-align: center;
  346. }
  347. .navbar-right {
  348. width: 60rpx;
  349. height: 60rpx;
  350. }
  351. }
  352. }
  353. // 用户信息区域
  354. .user-profile {
  355. background: #fff;
  356. padding: 30rpx;
  357. // margin: 0 32rpx;
  358. .profile-header {
  359. display: flex;
  360. justify-content: space-between;
  361. align-items: flex-start;
  362. margin-bottom: 20rpx;
  363. .name-section {
  364. flex: 1;
  365. display: flex;
  366. align-items: center;
  367. justify-content: flex-start;
  368. gap: 12rpx;
  369. .user-name {
  370. color: rgba(58, 57, 67, 1);
  371. font-family: DM Sans;
  372. font-size: 48rpx;
  373. font-weight: 700;
  374. line-height: 60rpx;
  375. letter-spacing: 0px;
  376. text-align: left;
  377. margin-right: 12rpx;
  378. }
  379. .status-tag {
  380. background: rgba(252, 233, 220, 1);
  381. color: rgba(1, 107, 246, 1);
  382. font-family: DM Sans;
  383. font-size: 18rpx;
  384. padding: 4rpx 8rpx;
  385. border-radius: 8rpx;
  386. display: inline-block;
  387. }
  388. }
  389. .avatar-container {
  390. position: relative;
  391. .user-avatar {
  392. width: 72rpx;
  393. height: 72rpx;
  394. border-radius: 50%;
  395. }
  396. .notification-badge {
  397. position: absolute;
  398. top: 0;
  399. right: 0;
  400. width: 20rpx;
  401. height: 20rpx;
  402. background: #FF3B30;
  403. border-radius: 50%;
  404. border: 2rpx solid #fff;
  405. }
  406. }
  407. }
  408. .current-job {
  409. display: flex;
  410. align-items: center;
  411. gap: 8rpx;
  412. margin-bottom: 12rpx;
  413. .job-icon {
  414. width: 36rpx;
  415. height: 36rpx;
  416. }
  417. .job-text {
  418. color: rgba(156, 164, 171, 1);
  419. font-family: DM Sans;
  420. font-size: 24rpx;
  421. font-weight: 400;
  422. line-height: 40rpx;
  423. letter-spacing: 0.5%;
  424. text-align: left;
  425. }
  426. }
  427. .availability {
  428. display: flex;
  429. align-items: center;
  430. gap: 8rpx;
  431. margin-bottom: 12rpx;
  432. .status-text {
  433. color: rgba(156, 164, 171, 1);
  434. font-family: DM Sans;
  435. font-size: 24rpx;
  436. font-weight: 400;
  437. line-height: 32rpx;
  438. letter-spacing: 0%;
  439. text-align: left;
  440. }
  441. }
  442. .summary-info {
  443. display: flex;
  444. gap: 12rpx;
  445. margin-right: 12rpx;
  446. .summary-item {
  447. .summary-text {
  448. color: rgba(153, 153, 153, 1);
  449. font-family: DM Sans;
  450. font-size: 20rpx;
  451. font-weight: 400;
  452. line-height: 20rpx;
  453. letter-spacing: -0.5px;
  454. text-align: left;
  455. padding: 12rpx;
  456. border-radius: 8rpx;
  457. background: rgba(198, 198, 198, 0.1);
  458. }
  459. }
  460. }
  461. }
  462. // 内容区域
  463. .content-section {
  464. padding: 0 30rpx 30rpx 30rpx;
  465. .section-item {
  466. background: #fff;
  467. border-radius: 12rpx;
  468. padding: 30rpx 0;
  469. margin-bottom: 20rpx;
  470. box-sizing: border-box;
  471. .advantage-content {
  472. color: rgba(97, 110, 124, 1);
  473. font-family: DM Sans;
  474. font-size: 26rpx;
  475. font-weight: 400;
  476. line-height: 32rpx;
  477. letter-spacing: 0px;
  478. text-align: left;
  479. }
  480. }
  481. .attachment-section {
  482. margin-bottom: 20rpx;
  483. .attachment-btn {
  484. background: rgba(246, 246, 246, 1);
  485. border-radius: 8rpx;
  486. padding: 20rpx;
  487. display: flex;
  488. align-items: center;
  489. gap: 12rpx;
  490. .attachment-icon {
  491. width: 32rpx;
  492. height: 32rpx;
  493. }
  494. .attachment-text {
  495. color: rgba(1, 107, 246, 1);
  496. font-family: DM Sans;
  497. font-size: 24rpx;
  498. font-weight: 400;
  499. line-height: 32rpx;
  500. letter-spacing: 0px;
  501. text-align: left;
  502. }
  503. }
  504. }
  505. // 求职期望卡片样式
  506. .expectation-card {
  507. background: #ffffff;
  508. border-radius: 12rpx;
  509. padding: 30rpx 0;
  510. margin-bottom: 20rpx;
  511. box-sizing: border-box;
  512. .card-header {
  513. margin-bottom: 20rpx;
  514. .header-title {
  515. color: rgba(34, 37, 42, 1);
  516. font-family: DM Sans;
  517. font-size: 32rpx;
  518. font-weight: 400;
  519. line-height: 48rpx;
  520. letter-spacing: 0px;
  521. text-align: left;
  522. }
  523. }
  524. .job-expectation {
  525. display: flex;
  526. justify-content: space-between;
  527. align-items: center;
  528. .expectation-text {
  529. color: rgba(153, 153, 153, 1);
  530. font-family: DM Sans;
  531. font-size: 24rpx;
  532. font-weight: 500;
  533. line-height: 48rpx;
  534. letter-spacing: 0.5%;
  535. text-align: left;
  536. }
  537. .salary-range {
  538. color: rgba(1, 107, 246, 1);
  539. font-family: DM Sans;
  540. font-size: 32rpx;
  541. font-weight: 700;
  542. line-height: 40rpx;
  543. letter-spacing: 0.5%;
  544. text-align: right;
  545. }
  546. }
  547. }
  548. // 工作经历部分样式
  549. .work-experience-section {
  550. background: #fff;
  551. border-radius: 12px;
  552. padding: 30rpx;
  553. margin-bottom: 20rpx;
  554. box-sizing: border-box;
  555. border: 1px solid rgba(1, 107, 246, 1);
  556. .section-header {
  557. display: flex;
  558. align-items: center;
  559. justify-content: space-between;
  560. margin-bottom: 30rpx;
  561. .section-title {
  562. display: flex;
  563. align-items: center;
  564. .required-mark {
  565. color: #FF3B30;
  566. font-size: 18px;
  567. font-weight: 600;
  568. margin-right: 8rpx;
  569. }
  570. .required-title {
  571. font-family: DM Sans;
  572. font-size: 28rpx;
  573. font-weight: 700;
  574. line-height: 52rpx;
  575. letter-spacing: 0%;
  576. text-align: left;
  577. margin-right: 12rpx;
  578. }
  579. text {
  580. color: rgba(23, 23, 37, 1);
  581. font-family: Inter;
  582. font-size: 20px;
  583. font-weight: 600;
  584. line-height: 24px;
  585. }
  586. }
  587. .section-desc {
  588. color: rgba(1, 107, 246, 1);
  589. font-family: DM Sans;
  590. font-size: 20rpx;
  591. font-weight: 400;
  592. line-height: 44rpx;
  593. letter-spacing: 0%;
  594. text-align: left;
  595. }
  596. }
  597. .experience-list {
  598. .experience-item {
  599. display: flex;
  600. padding: 24rpx 0;
  601. border-bottom: 1rpx solid #F0F0F0;
  602. &:last-child {
  603. border-bottom: none;
  604. }
  605. .company-logo {
  606. width: 90rpx;
  607. height: 90rpx;
  608. margin-right: 24rpx;
  609. flex-shrink: 0;
  610. border-radius: 8px;
  611. background: rgba(246, 246, 246, 1);
  612. .logo-img {
  613. width: 100%;
  614. height: 100%;
  615. border-radius: 8rpx;
  616. }
  617. }
  618. .experience-content {
  619. flex: 1;
  620. .job-info-row {
  621. display: flex;
  622. align-items: center;
  623. margin-bottom: 4rpx;
  624. }
  625. .job-title {
  626. color: rgba(23, 23, 37, 1);
  627. font-family: DM Sans;
  628. font-size: 28rpx;
  629. font-weight: 400;
  630. line-height: 44rpx;
  631. letter-spacing: 0%;
  632. text-align: left;
  633. margin-right: 12rpx;
  634. }
  635. .job-department {
  636. color: rgba(120, 130, 138, 1);
  637. font-family: DM Sans;
  638. font-size: 20rpx;
  639. font-weight: 400;
  640. line-height: 44rpx;
  641. letter-spacing: 0%;
  642. text-align: left;
  643. }
  644. .company-period-row {
  645. display: flex;
  646. align-items: center;
  647. justify-content: flex-start;
  648. margin-bottom: 12rpx;
  649. gap: 12rpx;
  650. padding: 12rpx 0;
  651. }
  652. .company-name {
  653. color: rgba(120, 130, 138, 1);
  654. font-family: DM Sans;
  655. font-size: 20rpx;
  656. font-weight: 400;
  657. line-height: 10px;
  658. letter-spacing: 0.5%;
  659. text-align: left;
  660. }
  661. .work-period {
  662. color: rgba(120, 130, 138, 1);
  663. font-family: DM Sans;
  664. font-size: 20rpx;
  665. font-weight: 400;
  666. line-height: 10px;
  667. letter-spacing: 0.5%;
  668. text-align: left;
  669. }
  670. .job-description {
  671. color: rgba(120, 130, 138, 1);
  672. font-family: DM Sans;
  673. font-size: 16rpx;
  674. font-weight: 400;
  675. line-height: 24rpx;
  676. letter-spacing: 0%;
  677. text-align: left;
  678. }
  679. .skill-tags {
  680. display: flex;
  681. flex-wrap: wrap;
  682. gap: 8rpx;
  683. margin-top: 12rpx;
  684. .tag {
  685. background: rgba(153, 153, 153, 0.1);
  686. border-radius: 12rpx;
  687. padding: 6rpx;
  688. color: rgba(102, 102, 102, 1);
  689. font-family: DM Sans;
  690. font-size: 16rpx;
  691. font-weight: 400;
  692. letter-spacing: 0%;
  693. text-align: left;
  694. }
  695. }
  696. }
  697. }
  698. }
  699. }
  700. // 教育经历部分样式
  701. .education-section {
  702. background: #fff;
  703. border-radius: 12px;
  704. padding: 30rpx;
  705. margin-bottom: 20rpx;
  706. box-sizing: border-box;
  707. border: 1px solid rgba(227, 231, 236, 1);
  708. .section-header {
  709. display: flex;
  710. align-items: center;
  711. justify-content: space-between;
  712. margin-bottom: 30rpx;
  713. .section-title {
  714. text {
  715. color: rgba(23, 23, 37, 1);
  716. font-family: Inter;
  717. font-size: 20px;
  718. font-weight: 600;
  719. line-height: 24px;
  720. }
  721. }
  722. }
  723. .education-list {
  724. .education-item {
  725. display: flex;
  726. padding: 24rpx 0;
  727. border-bottom: 1rpx solid #F0F0F0;
  728. &:last-child {
  729. border-bottom: none;
  730. }
  731. .school-logo {
  732. width: 90rpx;
  733. height: 90rpx;
  734. margin-right: 24rpx;
  735. flex-shrink: 0;
  736. border-radius: 8px;
  737. background: rgba(246, 246, 246, 1);
  738. .logo-img {
  739. width: 100%;
  740. height: 100%;
  741. border-radius: 8rpx;
  742. }
  743. }
  744. .education-content {
  745. flex: 1;
  746. .school-name {
  747. color: rgba(23, 23, 37, 1);
  748. font-family: DM Sans;
  749. font-size: 18px;
  750. font-weight: 400;
  751. line-height: 22px;
  752. letter-spacing: 0%;
  753. text-align: left;
  754. }
  755. .degree-info {
  756. color: rgba(120, 130, 138, 1);
  757. font-family: DM Sans;
  758. font-size: 20rpx;
  759. font-weight: 500;
  760. line-height: 24px;
  761. letter-spacing: 0%;
  762. text-align: left;
  763. padding: 12rpx 0;
  764. }
  765. .education-description {
  766. color: rgba(120, 130, 138, 1);
  767. font-family: DM Sans;
  768. font-size: 20rpx;
  769. font-weight: 400;
  770. line-height: 16px;
  771. letter-spacing: 0%;
  772. text-align: left;
  773. }
  774. }
  775. }
  776. }
  777. }
  778. // 资格证书部分样式
  779. .certificates-section {
  780. background: #fff;
  781. border-radius: 12px;
  782. padding: 30rpx 0;
  783. margin-bottom: 20rpx;
  784. box-sizing: border-box;
  785. .section-header {
  786. margin-bottom: 30rpx;
  787. .section-title {
  788. text {
  789. color: rgba(34, 37, 42, 1);
  790. font-family: DM Sans;
  791. font-size: 32rpx;
  792. font-weight: 400;
  793. line-height: 48rpx;
  794. letter-spacing: 0px;
  795. text-align: left;
  796. }
  797. }
  798. }
  799. .certificates-grid {
  800. display: flex;
  801. flex-wrap: wrap;
  802. gap: 12rpx;
  803. .certificate-tag {
  804. padding: 8rpx 16rpx;
  805. color: rgba(1, 107, 246, 1);
  806. font-family: DM Sans;
  807. font-size: 16rpx;
  808. font-weight: 400;
  809. line-height: 20rpx;
  810. letter-spacing: -0.5px;
  811. text-align: left;
  812. border-radius: 8rpx;
  813. background: rgba(252, 233, 220, 1);
  814. }
  815. }
  816. }
  817. // 专业技能部分样式
  818. .skills-section {
  819. background: #fff;
  820. border-radius: 12px;
  821. padding: 30rpx 0;
  822. margin-bottom: 20rpx;
  823. box-sizing: border-box;
  824. .section-header {
  825. margin-bottom: 30rpx;
  826. .section-title {
  827. text {
  828. color: rgba(34, 37, 42, 1);
  829. font-family: DM Sans;
  830. font-size: 32rpx;
  831. font-weight: 400;
  832. line-height: 48rpx;
  833. letter-spacing: 0px;
  834. text-align: left;
  835. }
  836. }
  837. }
  838. .skills-content {
  839. color: rgba(97, 110, 124, 1);
  840. font-family: DM Sans;
  841. font-size: 24rpx;
  842. font-weight: 400;
  843. line-height: 32rpx;
  844. letter-spacing: 0px;
  845. text-align: left;
  846. }
  847. }
  848. // 工作经历标题样式
  849. .jobRemarks-box-c-title {
  850. color: rgba(1, 107, 246, 1);
  851. font-size: 32rpx;
  852. padding: 8px 12px;
  853. border-radius: 36px;
  854. font-weight: 500;
  855. background: rgba(246, 246, 246, 1);
  856. display: flex;
  857. align-items: center;
  858. margin-bottom: 20rpx;
  859. .title-icon {
  860. width: 32rpx;
  861. height: 32rpx;
  862. margin-right: 12rpx;
  863. }
  864. text {
  865. color: rgba(1, 107, 246, 1);
  866. font-family: DM Sans;
  867. font-size: 32rpx;
  868. font-weight: 500;
  869. line-height: 48rpx;
  870. letter-spacing: 0px;
  871. text-align: left;
  872. }
  873. }
  874. }
  875. // 底部操作按钮
  876. .bottom-actions {
  877. position: fixed;
  878. bottom: 0;
  879. left: 0;
  880. right: 0;
  881. background: #fff;
  882. padding: 30rpx;
  883. box-shadow: 0 -2rpx 10rpx rgba(0,0,0,0.1);
  884. .action-btn {
  885. width: 100%;
  886. height: 88rpx;
  887. border-radius: 44rpx;
  888. display: flex;
  889. align-items: center;
  890. justify-content: center;
  891. font-size: 32rpx;
  892. font-weight: 500;
  893. }
  894. .contact-btn {
  895. background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
  896. color: #fff;
  897. }
  898. }
  899. </style>