candidate-dashboard.html 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918
  1. <!DOCTYPE html>
  2. <html lang="zh-CN">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>应聘者中心 - 智能招聘系统</title>
  7. <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/6.4.0/css/all.min.css" rel="stylesheet">
  8. <link href="https://cdn.bootcdn.net/ajax/libs/animate.css/4.1.1/animate.min.css" rel="stylesheet">
  9. <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.4.3/echarts.min.js"></script>
  10. <link href="common.css" rel="stylesheet">
  11. <link href="candidate.css" rel="stylesheet">
  12. </head>
  13. <body>
  14. <!-- 主界面 - 应聘者 -->
  15. <div class="container" id="candidateContainer">
  16. <!-- 左侧导航 -->
  17. <div class="sidebar">
  18. <div class="logo">
  19. <i class="fas fa-user-tie"></i>
  20. <span>应聘者中心</span>
  21. </div>
  22. <div class="nav-menu">
  23. <div class="nav-item active" id="navCandidateJobs">
  24. <i class="fas fa-briefcase"></i>
  25. <span>工作机会</span>
  26. </div>
  27. <div class="nav-item" id="navCandidateResume">
  28. <i class="fas fa-file-alt"></i>
  29. <span>简历分析</span>
  30. </div>
  31. <div class="nav-item" id="navCandidateInterview">
  32. <i class="fas fa-video"></i>
  33. <span>视频面试</span>
  34. </div>
  35. <div class="nav-item" id="navCandidateRecords">
  36. <i class="fas fa-history"></i>
  37. <span>面试记录</span>
  38. </div>
  39. <div class="nav-item" id="navCandidateProfile">
  40. <i class="fas fa-user"></i>
  41. <span>个人中心</span>
  42. </div>
  43. <div class="nav-item" id="navCandidateSettings">
  44. <i class="fas fa-cog"></i>
  45. <span>系统设置</span>
  46. </div>
  47. </div>
  48. </div>
  49. <!-- 主内容区 -->
  50. <div class="main-content">
  51. <!-- 顶部信息栏 -->
  52. <div class="header">
  53. <div class="search-bar">
  54. <input type="text" class="search-input" placeholder="搜索工作职位、公司..." id="candidateSearchInput">
  55. <button class="search-btn" id="candidateSearchBtn">
  56. <i class="fas fa-search"></i>
  57. </button>
  58. <span class="search-advanced" id="candidateAdvancedSearch">高级筛选</span>
  59. </div>
  60. <div class="search-filters" id="candidateSearchFilters">
  61. <div class="filter-row">
  62. <div class="filter-group">
  63. <label for="jobTypeFilter">职位类型</label>
  64. <select id="jobTypeFilter" class="filter-select">
  65. <option value="">全部</option>
  66. <option value="fulltime">全职</option>
  67. <option value="parttime">兼职</option>
  68. <option value="intern">实习</option>
  69. </select>
  70. </div>
  71. <div class="filter-group">
  72. <label for="jobLocationFilter">工作地点</label>
  73. <select id="jobLocationFilter" class="filter-select">
  74. <option value="">全部</option>
  75. <option value="beijing">北京</option>
  76. <option value="shanghai">上海</option>
  77. <option value="guangzhou">广州</option>
  78. <option value="shenzhen">深圳</option>
  79. </select>
  80. </div>
  81. </div>
  82. <div class="filter-row">
  83. <div class="filter-group">
  84. <label for="jobSalaryFilter">薪资范围</label>
  85. <select id="jobSalaryFilter" class="filter-select">
  86. <option value="">全部</option>
  87. <option value="10k">10k以下</option>
  88. <option value="10-20k">10-20k</option>
  89. <option value="20-30k">20-30k</option>
  90. <option value="30k+">30k以上</option>
  91. </select>
  92. </div>
  93. <div class="filter-group">
  94. <label for="jobExperienceFilter">经验要求</label>
  95. <select id="jobExperienceFilter" class="filter-select">
  96. <option value="">全部</option>
  97. <option value="1">1年以下</option>
  98. <option value="1-3">1-3年</option>
  99. <option value="3-5">3-5年</option>
  100. <option value="5+">5年以上</option>
  101. </select>
  102. </div>
  103. </div>
  104. <div class="filter-actions">
  105. <button class="btn" id="resetFilters">重置</button>
  106. <button class="btn btn-primary" id="applyFilters">应用筛选</button>
  107. </div>
  108. </div>
  109. <div class="user-info">
  110. <div class="user-dropdown">
  111. <div class="avatar" id="userAvatar">张</div>
  112. <div class="dropdown-menu" id="userDropdown">
  113. <div class="dropdown-item" id="dropdownProfile">
  114. <i class="fas fa-user"></i> 个人中心
  115. </div>
  116. <div class="dropdown-item" id="dropdownSettings">
  117. <i class="fas fa-cog"></i> 系统设置
  118. </div>
  119. <div class="dropdown-divider"></div>
  120. <div class="dropdown-item" id="dropdownLogout">
  121. <i class="fas fa-sign-out-alt"></i> 退出登录
  122. </div>
  123. </div>
  124. </div>
  125. <div>
  126. <div style="font-weight: 500;">张伟</div>
  127. <div style="font-size: 12px; color: #64748b;">应聘者</div>
  128. </div>
  129. </div>
  130. </div>
  131. <!-- 工作机会页面 -->
  132. <div class="content-area" id="candidateJobsPage">
  133. <div class="content-title">
  134. <i class="fas fa-briefcase"></i>
  135. <span>推荐工作机会</span>
  136. </div>
  137. <!-- 搜索历史 -->
  138. <div class="search-history">
  139. <div class="history-title">搜索历史</div>
  140. <div class="history-tags" id="searchHistoryTags">
  141. <span class="history-tag">前端开发</span>
  142. <span class="history-tag">北京</span>
  143. <span class="history-tag">20k以上</span>
  144. <span class="history-tag">互联网</span>
  145. </div>
  146. </div>
  147. <!-- 热门搜索 -->
  148. <div class="hot-search">
  149. <div class="history-title">热门搜索</div>
  150. <div id="hotSearchList">
  151. <div class="hot-item">
  152. <div class="hot-rank">1</div>
  153. <div class="hot-content">Java开发工程师</div>
  154. <div class="hot-count">1.2万次</div>
  155. </div>
  156. <div class="hot-item">
  157. <div class="hot-rank">2</div>
  158. <div class="hot-content">产品经理</div>
  159. <div class="hot-count">9800次</div>
  160. </div>
  161. <div class="hot-item">
  162. <div class="hot-rank">3</div>
  163. <div class="hot-content">UI设计师</div>
  164. <div class="hot-count">8500次</div>
  165. </div>
  166. <div class="hot-item">
  167. <div class="hot-rank">4</div>
  168. <div class="hot-content">数据分析师</div>
  169. <div class="hot-count">7200次</div>
  170. </div>
  171. </div>
  172. </div>
  173. <div class="card-grid" id="jobGrid">
  174. <!-- 工作卡片将通过JS动态生成 -->
  175. </div>
  176. </div>
  177. <!-- 简历分析页面 -->
  178. <div class="content-area" id="candidateResumePage" style="display: none;">
  179. <div class="content-title">
  180. <i class="fas fa-file-alt"></i>
  181. <span>我的简历</span>
  182. </div>
  183. <div class="resume-form">
  184. <div class="form-section">
  185. <div class="form-section-title">
  186. <i class="fas fa-user"></i>
  187. <span>基本信息</span>
  188. </div>
  189. <div class="form-row">
  190. <div class="form-col">
  191. <label for="resumeName">姓名</label>
  192. <input type="text" id="resumeName" class="form-control" placeholder="请输入您的姓名" value="张伟">
  193. </div>
  194. <div class="form-col">
  195. <label for="resumeGender">性别</label>
  196. <select id="resumeGender" class="form-control">
  197. <option value="male" selected>男</option>
  198. <option value="female">女</option>
  199. <option value="other">其他</option>
  200. </select>
  201. </div>
  202. </div>
  203. <div class="form-row">
  204. <div class="form-col">
  205. <label for="resumeBirth">出生日期</label>
  206. <input type="date" id="resumeBirth" class="form-control" value="1990-05-15">
  207. </div>
  208. <div class="form-col">
  209. <label for="resumePhone">联系电话</label>
  210. <input type="tel" id="resumePhone" class="form-control" placeholder="请输入联系电话" value="13800138000">
  211. </div>
  212. </div>
  213. <div class="form-row">
  214. <div class="form-col">
  215. <label for="resumeEmail">电子邮箱</label>
  216. <input type="email" id="resumeEmail" class="form-control" placeholder="请输入电子邮箱" value="zhangwei@example.com">
  217. </div>
  218. <div class="form-col">
  219. <label for="resumeLocation">居住地</label>
  220. <input type="text" id="resumeLocation" class="form-control" placeholder="请输入居住城市" value="北京">
  221. </div>
  222. </div>
  223. </div>
  224. <div class="form-section">
  225. <div class="form-section-title">
  226. <i class="fas fa-graduation-cap"></i>
  227. <span>教育背景</span>
  228. </div>
  229. <div class="form-row">
  230. <div class="form-col">
  231. <label for="resumeSchool">学校名称</label>
  232. <input type="text" id="resumeSchool" class="form-control" placeholder="请输入学校名称" value="北京大学">
  233. </div>
  234. <div class="form-col">
  235. <label for="resumeDegree">学历</label>
  236. <select id="resumeDegree" class="form-control">
  237. <option value="bachelor" selected>本科</option>
  238. <option value="master">硕士</option>
  239. <option value="phd">博士</option>
  240. <option value="college">大专</option>
  241. </select>
  242. </div>
  243. </div>
  244. <div class="form-row">
  245. <div class="form-col">
  246. <label for="resumeMajor">专业</label>
  247. <input type="text" id="resumeMajor" class="form-control" placeholder="请输入所学专业" value="计算机科学与技术">
  248. </div>
  249. <div class="form-col">
  250. <label for="resumeGraduation">毕业时间</label>
  251. <input type="date" id="resumeGraduation" class="form-control" value="2012-06-30">
  252. </div>
  253. </div>
  254. </div>
  255. <div class="form-section">
  256. <div class="form-section-title">
  257. <i class="fas fa-briefcase"></i>
  258. <span>工作经历</span>
  259. </div>
  260. <div id="workExperienceContainer">
  261. <!-- 工作经历将通过JS动态添加 -->
  262. </div>
  263. <button class="btn" id="addWorkExperience" style="margin-top: 10px;">
  264. <i class="fas fa-plus"></i> 添加工作经历
  265. </button>
  266. </div>
  267. <div class="form-section">
  268. <div class="form-section-title">
  269. <i class="fas fa-project-diagram"></i>
  270. <span>项目经验</span>
  271. </div>
  272. <div id="projectExperienceContainer">
  273. <!-- 项目经验将通过JS动态添加 -->
  274. </div>
  275. <button class="btn" id="addProjectExperience" style="margin-top: 10px;">
  276. <i class="fas fa-plus"></i> 添加项目经验
  277. </button>
  278. </div>
  279. <div class="form-section">
  280. <div class="form-section-title">
  281. <i class="fas fa-star"></i>
  282. <span>技能专长</span>
  283. </div>
  284. <div class="form-group">
  285. <label for="resumeSkills">技能 (用逗号分隔)</label>
  286. <input type="text" id="resumeSkills" class="form-control" placeholder="例如: JavaScript, Python, 项目管理" value="JavaScript, HTML5, CSS3, Vue.js, React, Node.js, 项目管理">
  287. </div>
  288. </div>
  289. <div class="form-section">
  290. <div class="form-section-title">
  291. <i class="fas fa-certificate"></i>
  292. <span>证书资质</span>
  293. </div>
  294. <div id="certificateContainer">
  295. <!-- 证书将通过JS动态添加 -->
  296. </div>
  297. <button class="btn" id="addCertificate" style="margin-top: 10px;">
  298. <i class="fas fa-plus"></i> 添加证书
  299. </button>
  300. </div>
  301. <div class="form-actions">
  302. <button class="btn" id="cancelResume">
  303. 取消
  304. </button>
  305. <button class="btn btn-primary" id="saveResume">
  306. <i class="fas fa-save"></i> 保存简历
  307. </button>
  308. <button class="btn btn-primary" id="analyzeResume">
  309. <i class="fas fa-chart-bar"></i> 分析匹配度
  310. </button>
  311. </div>
  312. </div>
  313. <!-- 职业匹配结果 -->
  314. <div class="match-result" id="matchResult" style="display: none;">
  315. <div class="match-title">
  316. <i class="fas fa-chart-pie"></i>
  317. <span>职业匹配分析</span>
  318. </div>
  319. <div id="matchList">
  320. <!-- 匹配结果将通过JS动态生成 -->
  321. </div>
  322. <div class="chart-container" id="matchChart"></div>
  323. </div>
  324. </div>
  325. <!-- 视频面试页面 -->
  326. <div class="content-area" id="candidateInterviewPage" style="display: none;">
  327. <div class="content-title">
  328. <i class="fas fa-video"></i>
  329. <span>视频面试</span>
  330. </div>
  331. <div class="calendar-container">
  332. <div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px;">
  333. <h3>2023年11月</h3>
  334. <div>
  335. <button class="btn" id="prevMonth">
  336. <i class="fas fa-chevron-left"></i>
  337. </button>
  338. <button class="btn" id="nextMonth">
  339. <i class="fas fa-chevron-right"></i>
  340. </button>
  341. </div>
  342. </div>
  343. <table class="calendar">
  344. <thead>
  345. <tr>
  346. <th>日</th>
  347. <th>一</th>
  348. <th>二</th>
  349. <th>三</th>
  350. <th>四</th>
  351. <th>五</th>
  352. <th>六</th>
  353. </tr>
  354. </thead>
  355. <tbody id="calendarBody">
  356. <!-- 日历内容将通过JS动态生成 -->
  357. </tbody>
  358. </table>
  359. </div>
  360. <div style="margin-top: 30px;">
  361. <h3 style="margin-bottom: 16px;">面试安排</h3>
  362. <div class="card">
  363. <div class="card-header">
  364. <div class="card-avatar">X</div>
  365. <div>
  366. <div class="card-title">前端开发工程师面试</div>
  367. <div class="card-subtitle">XX科技公司 · 2023-11-15 14:00</div>
  368. </div>
  369. </div>
  370. <div class="card-tags">
  371. <span class="card-tag">视频面试</span>
  372. <span class="card-tag">技术面试</span>
  373. </div>
  374. <div class="card-footer">
  375. <span>面试官: 李经理</span>
  376. <button class="card-btn">进入面试</button>
  377. </div>
  378. </div>
  379. </div>
  380. </div>
  381. <!-- 面试记录页面 -->
  382. <div class="content-area" id="candidateRecordsPage" style="display: none;">
  383. <div class="content-title">
  384. <i class="fas fa-history"></i>
  385. <span>面试记录</span>
  386. </div>
  387. <div class="card-grid">
  388. <div class="card">
  389. <div class="card-header">
  390. <div class="card-avatar">X</div>
  391. <div>
  392. <div class="card-title">前端开发工程师</div>
  393. <div class="card-subtitle">XX科技公司 · 2023-10-20</div>
  394. </div>
  395. </div>
  396. <div class="card-tags">
  397. <span class="card-tag">技术面试</span>
  398. <span class="card-tag">通过</span>
  399. </div>
  400. <div class="card-footer">
  401. <span>面试官: 王总监</span>
  402. <button class="card-btn">查看反馈</button>
  403. </div>
  404. </div>
  405. <div class="card">
  406. <div class="card-header">
  407. <div class="card-avatar">Y</div>
  408. <div>
  409. <div class="card-title">高级前端开发</div>
  410. <div class="card-subtitle">YY互联网公司 · 2023-09-15</div>
  411. </div>
  412. </div>
  413. <div class="card-tags">
  414. <span class="card-tag">技术面试</span>
  415. <span class="card-tag">未通过</span>
  416. </div>
  417. <div class="card-footer">
  418. <span>面试官: 张经理</span>
  419. <button class="card-btn">查看反馈</button>
  420. </div>
  421. </div>
  422. </div>
  423. </div>
  424. <!-- 个人中心页面 -->
  425. <div class="content-area" id="candidateProfilePage" style="display: none;">
  426. <div class="content-title">
  427. <i class="fas fa-user"></i>
  428. <span>个人中心</span>
  429. </div>
  430. <div class="profile-container">
  431. <div class="profile-sidebar">
  432. <div class="profile-menu">
  433. <div class="profile-menu-item active" data-section="basicInfo">基本信息</div>
  434. <div class="profile-menu-item" data-section="education">教育背景</div>
  435. <div class="profile-menu-item" data-section="experience">工作经历</div>
  436. <div class="profile-menu-item" data-section="security">账户安全</div>
  437. </div>
  438. </div>
  439. <div class="profile-content">
  440. <!-- 基本信息 -->
  441. <div class="profile-section active" id="basicInfoSection">
  442. <div class="profile-header">
  443. <div class="profile-avatar">张</div>
  444. <div class="profile-info">
  445. <h2>张伟</h2>
  446. <p>前端开发工程师 | 5年经验</p>
  447. <button class="btn" style="margin-top: 10px;">
  448. <i class="fas fa-camera"></i> 更换头像
  449. </button>
  450. </div>
  451. </div>
  452. <div class="profile-form">
  453. <div class="form-group">
  454. <label for="profileName">姓名</label>
  455. <input type="text" id="profileName" class="form-control" value="张伟">
  456. </div>
  457. <div class="form-row">
  458. <div class="form-col">
  459. <label for="profileGender">性别</label>
  460. <select id="profileGender" class="form-control">
  461. <option value="male" selected>男</option>
  462. <option value="female">女</option>
  463. <option value="other">其他</option>
  464. </select>
  465. </div>
  466. <div class="form-col">
  467. <label for="profileBirth">出生日期</label>
  468. <input type="date" id="profileBirth" class="form-control" value="1990-05-15">
  469. </div>
  470. </div>
  471. <div class="form-group">
  472. <label for="profilePhone">联系电话</label>
  473. <input type="tel" id="profilePhone" class="form-control" value="13800138000">
  474. </div>
  475. <div class="form-group">
  476. <label for="profileEmail">电子邮箱</label>
  477. <input type="email" id="profileEmail" class="form-control" value="zhangwei@example.com">
  478. </div>
  479. <div class="form-group">
  480. <label for="profileLocation">居住地</label>
  481. <input type="text" id="profileLocation" class="form-control" value="北京市朝阳区">
  482. </div>
  483. <div class="form-group">
  484. <label for="profileBio">个人简介</label>
  485. <textarea id="profileBio" class="form-control" rows="4">5年前端开发经验,精通Vue.js和React框架,有丰富的项目管理和团队协作经验。</textarea>
  486. </div>
  487. <div class="form-actions">
  488. <button class="btn">取消</button>
  489. <button class="btn btn-primary">保存更改</button>
  490. </div>
  491. </div>
  492. </div>
  493. <!-- 教育背景 -->
  494. <div class="profile-section" id="educationSection">
  495. <h2 style="margin-bottom: 20px;">教育背景</h2>
  496. <div class="form-section">
  497. <div class="form-row">
  498. <div class="form-col">
  499. <label for="eduSchool">学校名称</label>
  500. <input type="text" id="eduSchool" class="form-control" value="北京大学">
  501. </div>
  502. <div class="form-col">
  503. <label for="eduDegree">学历</label>
  504. <select id="eduDegree" class="form-control">
  505. <option value="bachelor" selected>本科</option>
  506. <option value="master">硕士</option>
  507. <option value="phd">博士</option>
  508. </select>
  509. </div>
  510. </div>
  511. <div class="form-row">
  512. <div class="form-col">
  513. <label for="eduMajor">专业</label>
  514. <input type="text" id="eduMajor" class="form-control" value="计算机科学与技术">
  515. </div>
  516. <div class="form-col">
  517. <label for="eduGraduation">毕业时间</label>
  518. <input type="date" id="eduGraduation" class="form-control" value="2012-06-30">
  519. </div>
  520. </div>
  521. <div class="form-actions">
  522. <button class="btn">取消</button>
  523. <button class="btn btn-primary">保存更改</button>
  524. </div>
  525. </div>
  526. </div>
  527. <!-- 工作经历 -->
  528. <div class="profile-section" id="experienceSection">
  529. <h2 style="margin-bottom: 20px;">工作经历</h2>
  530. <div class="form-section">
  531. <div class="form-row">
  532. <div class="form-col">
  533. <label for="expCompany">公司名称</label>
  534. <input type="text" id="expCompany" class="form-control" value="AA科技有限公司">
  535. </div>
  536. <div class="form-col">
  537. <label for="expPosition">职位</label>
  538. <input type="text" id="expPosition" class="form-control" value="高级前端开发工程师">
  539. </div>
  540. </div>
  541. <div class="form-row">
  542. <div class="form-col">
  543. <label for="expStart">开始时间</label>
  544. <input type="date" id="expStart" class="form-control" value="2018-03-01">
  545. </div>
  546. <div class="form-col">
  547. <label for="expEnd">结束时间</label>
  548. <input type="date" id="expEnd" class="form-control" value="2023-05-31">
  549. </div>
  550. </div>
  551. <div class="form-group">
  552. <label for="expDescription">工作描述</label>
  553. <textarea id="expDescription" class="form-control" rows="4">负责公司核心产品的前端架构设计和开发,带领3人前端团队,使用Vue.js和React技术栈。</textarea>
  554. </div>
  555. <button class="btn" style="margin-top: 10px;">
  556. <i class="fas fa-plus"></i> 添加工作经历
  557. </button>
  558. <div class="form-actions">
  559. <button class="btn">取消</button>
  560. <button class="btn btn-primary">保存更改</button>
  561. </div>
  562. </div>
  563. </div>
  564. <!-- 账户安全 -->
  565. <div class="profile-section" id="securitySection">
  566. <h2 style="margin-bottom: 20px;">账户安全</h2>
  567. <div class="form-section">
  568. <div class="form-group">
  569. <label for="currentPassword">当前密码</label>
  570. <input type="password" id="currentPassword" class="form-control" placeholder="请输入当前密码">
  571. </div>
  572. <div class="form-group">
  573. <label for="newPassword">新密码</label>
  574. <input type="password" id="newPassword" class="form-control" placeholder="请输入新密码">
  575. </div>
  576. <div class="form-group">
  577. <label for="confirmPassword">确认新密码</label>
  578. <input type="password" id="confirmPassword" class="form-control" placeholder="请再次输入新密码">
  579. </div>
  580. <div class="form-actions">
  581. <button class="btn">取消</button>
  582. <button class="btn btn-primary">更改密码</button>
  583. </div>
  584. </div>
  585. <div class="form-section" style="margin-top: 30px;">
  586. <div class="form-section-title">
  587. <i class="fas fa-shield-alt"></i>
  588. <span>安全设置</span>
  589. </div>
  590. <div class="settings-item">
  591. <div class="settings-item-info">
  592. <h3>双重验证</h3>
  593. <p>为您的账户增加额外的安全层</p>
  594. </div>
  595. <div class="settings-item-action">
  596. <label class="switch">
  597. <input type="checkbox">
  598. <span class="slider"></span>
  599. </label>
  600. </div>
  601. </div>
  602. <div class="settings-item">
  603. <div class="settings-item-info">
  604. <h3>登录提醒</h3>
  605. <p>当账户在新设备登录时发送通知</p>
  606. </div>
  607. <div class="settings-item-action">
  608. <label class="switch">
  609. <input type="checkbox" checked>
  610. <span class="slider"></span>
  611. </label>
  612. </div>
  613. </div>
  614. </div>
  615. </div>
  616. </div>
  617. </div>
  618. </div>
  619. <!-- 系统设置页面 -->
  620. <div class="content-area" id="candidateSettingsPage" style="display: none;">
  621. <div class="content-title">
  622. <i class="fas fa-cog"></i>
  623. <span>系统设置</span>
  624. </div>
  625. <div class="settings-container">
  626. <div class="settings-sidebar">
  627. <div class="settings-menu">
  628. <div class="settings-menu-item active" data-section="notificationSettings">通知设置</div>
  629. <div class="settings-menu-item" data-section="privacySettings">隐私设置</div>
  630. <div class="settings-menu-item" data-section="appearanceSettings">外观设置</div>
  631. </div>
  632. </div>
  633. <div class="settings-content">
  634. <!-- 通知设置 -->
  635. <div class="settings-section active" id="notificationSettings">
  636. <h2 style="margin-bottom: 20px;">通知设置</h2>
  637. <div class="settings-item">
  638. <div class="settings-item-info">
  639. <h3>职位推荐</h3>
  640. <p>接收系统推荐的匹配职位通知</p>
  641. </div>
  642. <div class="settings-item-action">
  643. <label class="switch">
  644. <input type="checkbox" checked>
  645. <span class="slider"></span>
  646. </label>
  647. </div>
  648. </div>
  649. <div class="settings-item">
  650. <div class="settings-item-info">
  651. <h3>面试邀请</h3>
  652. <p>接收企业发送的面试邀请通知</p>
  653. </div>
  654. <div class="settings-item-action">
  655. <label class="switch">
  656. <input type="checkbox" checked>
  657. <span class="slider"></span>
  658. </label>
  659. </div>
  660. </div>
  661. <div class="settings-item">
  662. <div class="settings-item-info">
  663. <h3>系统消息</h3>
  664. <p>接收系统更新和维护通知</p>
  665. </div>
  666. <div class="settings-item-action">
  667. <label class="switch">
  668. <input type="checkbox" checked>
  669. <span class="slider"></span>
  670. </label>
  671. </div>
  672. </div>
  673. <div class="settings-item">
  674. <div class="settings-item-info">
  675. <h3>营销信息</h3>
  676. <p>接收合作伙伴的优惠和活动信息</p>
  677. </div>
  678. <div class="settings-item-action">
  679. <label class="switch">
  680. <input type="checkbox">
  681. <span class="slider"></span>
  682. </label>
  683. </div>
  684. </div>
  685. <div class="form-group" style="margin-top: 30px;">
  686. <label for="notificationEmail">通知邮箱</label>
  687. <input type="email" id="notificationEmail" class="form-control" value="zhangwei@example.com">
  688. </div>
  689. <div class="form-actions">
  690. <button class="btn">取消</button>
  691. <button class="btn btn-primary">保存设置</button>
  692. </div>
  693. </div>
  694. <!-- 隐私设置 -->
  695. <div class="settings-section" id="privacySettings">
  696. <h2 style="margin-bottom: 20px;">隐私设置</h2>
  697. <div class="settings-item">
  698. <div class="settings-item-info">
  699. <h3>公开简历</h3>
  700. <p>允许企业搜索和查看您的简历</p>
  701. </div>
  702. <div class="settings-item-action">
  703. <label class="switch">
  704. <input type="checkbox" checked>
  705. <span class="slider"></span>
  706. </label>
  707. </div>
  708. </div>
  709. <div class="settings-item">
  710. <div class="settings-item-info">
  711. <h3>联系方式可见</h3>
  712. <p>允许企业查看您的联系方式</p>
  713. </div>
  714. <div class="settings-item-action">
  715. <label class="switch">
  716. <input type="checkbox">
  717. <span class="slider"></span>
  718. </label>
  719. </div>
  720. </div>
  721. <div class="settings-item">
  722. <div class="settings-item-info">
  723. <h3>个性化推荐</h3>
  724. <p>根据您的浏览记录推荐职位</p>
  725. </div>
  726. <div class="settings-item-action">
  727. <label class="switch">
  728. <input type="checkbox" checked>
  729. <span class="slider"></span>
  730. </label>
  731. </div>
  732. </div>
  733. <div class="form-group" style="margin-top: 30px;">
  734. <label for="privacyLevel">隐私级别</label>
  735. <select id="privacyLevel" class="form-control">
  736. <option value="high">高 - 仅对申请的企业可见</option>
  737. <option value="medium" selected>中 - 对所有认证企业可见</option>
  738. <option value="low">低 - 对所有用户可见</option>
  739. </select>
  740. </div>
  741. <div class="form-actions">
  742. <button class="btn">取消</button>
  743. <button class="btn btn-primary">保存设置</button>
  744. </div>
  745. </div>
  746. <!-- 外观设置 -->
  747. <div class="settings-section" id="appearanceSettings">
  748. <h2 style="margin-bottom: 20px;">外观设置</h2>
  749. <div class="form-group">
  750. <label for="themeSelect">主题颜色</label>
  751. <select id="themeSelect" class="form-control">
  752. <option value="light" selected>浅色主题</option>
  753. <option value="dark">深色主题</option>
  754. <option value="system">跟随系统</option>
  755. </select>
  756. </div>
  757. <div class="form-group">
  758. <label for="fontSize">字体大小</label>
  759. <select id="fontSize" class="form-control">
  760. <option value="small">小</option>
  761. <option value="medium" selected>中</option>
  762. <option value="large">大</option>
  763. </select>
  764. </div>
  765. <div class="settings-item">
  766. <div class="settings-item-info">
  767. <h3>动画效果</h3>
  768. <p>启用界面过渡动画</p>
  769. </div>
  770. <div class="settings-item-action">
  771. <label class="switch">
  772. <input type="checkbox" checked>
  773. <span class="slider"></span>
  774. </label>
  775. </div>
  776. </div>
  777. <div class="form-actions">
  778. <button class="btn">取消</button>
  779. <button class="btn btn-primary">保存设置</button>
  780. </div>
  781. </div>
  782. </div>
  783. </div>
  784. </div>
  785. </div>
  786. </div>
  787. <!-- 模态框样式 -->
  788. <div class="modal-overlay" id="jobModal">
  789. <div class="modal-content">
  790. <div class="modal-title">
  791. <i class="fas fa-briefcase"></i>
  792. <span>发布新职位</span>
  793. </div>
  794. <div class="form-group">
  795. <label for="jobTitle">职位名称</label>
  796. <input type="text" id="jobTitle" class="form-control" placeholder="例如: 高级产品经理">
  797. </div>
  798. <div class="form-group">
  799. <label for="jobType">职位类型</label>
  800. <select id="jobType" class="form-control">
  801. <option value="fulltime">全职</option>
  802. <option value="parttime">兼职</option>
  803. <option value="intern">实习</option>
  804. </select>
  805. </div>
  806. <div class="form-group">
  807. <label for="jobDepartment">所属部门</label>
  808. <input type="text" id="jobDepartment" class="form-control" placeholder="例如: 产品部">
  809. </div>
  810. <div class="form-group">
  811. <label for="jobLocation">工作地点</label>
  812. <input type="text" id="jobLocation" class="form-control" placeholder="例如: 北京">
  813. </div>
  814. <div class="form-group">
  815. <label for="jobSalary">薪资范围</label>
  816. <input type="text" id="jobSalary" class="form-control" placeholder="例如: 15k-30k">
  817. </div>
  818. <div class="form-group">
  819. <label for="jobDescription">职位描述</label>
  820. <textarea id="jobDescription" class="form-control" rows="5" placeholder="请输入职位描述和工作内容"></textarea>
  821. </div>
  822. <div class="form-group">
  823. <label for="jobRequirements">任职要求</label>
  824. <textarea id="jobRequirements" class="form-control" rows="5" placeholder="请输入任职要求和技能要求"></textarea>
  825. </div>
  826. <div class="modal-buttons">
  827. <button class="modal-btn modal-btn-cancel" id="cancelJob">
  828. 取消
  829. </button>
  830. <button class="modal-btn modal-btn-confirm" id="confirmJob">
  831. 发布职位
  832. </button>
  833. </div>
  834. </div>
  835. </div>
  836. <script src="common.js"></script>
  837. <script src="candidate.js"></script>
  838. </body>
  839. </html>