diff --git a/src/api/agent.ts b/src/api/agent.ts index f6ad4eb..b2f4aa6 100644 --- a/src/api/agent.ts +++ b/src/api/agent.ts @@ -71,8 +71,8 @@ export interface AgentJobMatchDetail { /** 推荐岗位项 */ export interface AgentRecommendJob { - /** 岗位 ID */ - id: number + /** 岗位 ID(字符串,避免大整数精度丢失) */ + id: string | number /** 岗位名称 */ title: string /** 薪资描述 */ @@ -103,6 +103,10 @@ export interface AgentRecommendJob { matchScore: number /** 匹配度详情 */ matchDetail: AgentJobMatchDetail + /** 学历要求 0=不限 1=大专 2=本科 3=硕士 4=博士 */ + education?: number + /** 招聘分类 0=社招 1=校招 2=实习 3=其他 */ + recruitCategory?: number } /** 求职助手岗位推荐返回数据 */ @@ -302,3 +306,22 @@ export function optimizeAgentResume(params: OptimizeResumeParams) { }, }).then(res => res.data) } + +// ==================== 岗位匹配度评分(Python 后端) ==================== + +/** 匹配度评分请求参数 */ +export interface MatchScoreParams { + /** 定制简历 ID(字符串,避免大整数精度丢失) */ + customizeResumeId: string + /** 岗位 ID(字符串,避免大整数精度丢失) */ + jobId: string +} + +/** + * 岗位匹配度评分 + * POST /job-agent/match-score + * @returns data 为匹配度分数(0-100) + */ +export function fetchMatchScore(params: MatchScoreParams) { + return aiService.post }>('/job-agent/match-score', params).then(res => res.data) +} diff --git a/src/api/jobs.ts b/src/api/jobs.ts index 04af6d0..80d4e4d 100644 --- a/src/api/jobs.ts +++ b/src/api/jobs.ts @@ -483,6 +483,9 @@ export function fetchSkillGap(jobId: string) { /** 定制简历接口返回的简历数据 */ export interface CustomizeResumeData { /** 简历基本信息 */ + id?: string + resumeId?: string + resumeName?: string resume: { avatarUrl?: string name?: string diff --git a/src/assets/images/agent-setting/2-1.png b/src/assets/images/agent-setting/2-1.png index ec7c263..77fb029 100644 Binary files a/src/assets/images/agent-setting/2-1.png and b/src/assets/images/agent-setting/2-1.png differ diff --git a/src/assets/images/agent-setting/3-1.png b/src/assets/images/agent-setting/3-1.png index 6243b29..019d22e 100644 Binary files a/src/assets/images/agent-setting/3-1.png and b/src/assets/images/agent-setting/3-1.png differ diff --git a/src/assets/images/agent-setting/4-1.png b/src/assets/images/agent-setting/4-1.png index 3f79bd0..e6f59fa 100644 Binary files a/src/assets/images/agent-setting/4-1.png and b/src/assets/images/agent-setting/4-1.png differ diff --git a/src/assets/images/nova-logo-2.png b/src/assets/images/nova-logo-2.png new file mode 100644 index 0000000..8e53f38 Binary files /dev/null and b/src/assets/images/nova-logo-2.png differ diff --git a/src/assets/styles/auto.scss b/src/assets/styles/auto.scss index 4805d55..77599d3 100644 --- a/src/assets/styles/auto.scss +++ b/src/assets/styles/auto.scss @@ -361,7 +361,9 @@ body:not(#_) { .aliite-e{ align-items: flex-end; } - +.aliite-st{ + align-items: stretch; +} //英文字母或数字一行溢出超出,打断 .word-bra{ word-break: break-all; diff --git a/src/assets/styles/components/agent-apply-progress.scss b/src/assets/styles/components/agent-apply-progress.scss index eac8870..c126146 100644 --- a/src/assets/styles/components/agent-apply-progress.scss +++ b/src/assets/styles/components/agent-apply-progress.scss @@ -1,317 +1,235 @@ @use '../variables' as *; -// 申请进度消息组件 +// 投递进度卡片组件(新版4步骤) .agent-apply-progress { - background: $bg-middle; - border-radius: 0.12rem; - padding: 0.2rem; + font-size: 0.14rem; + background: $bg-white; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + padding: 0.16rem 0.2rem; - // 顶部标题栏 - &__header { + // 已完成状态 + &--completed { + opacity: 0.9; + } + + // 顶部区域:岗位信息 + 步骤条 + &__top { display: flex; - align-items: center; justify-content: space-between; - margin-bottom: 0.16rem; - } - - &__title { - font-size: 0.15rem; - font-weight: 600; - color: $text-dark; - - // 可点击状态(暂停/恢复) - &--clickable { - cursor: pointer; - color: $accent; - - &:hover { - opacity: 0.8; - } - } - } - - &__cancel { - font-size: 0.13rem; - color: $text-middle; - cursor: pointer; - - &:hover { - color: $text-dark; - } - } - - // 岗位信息卡片 - &__job-card { - display: flex; - align-items: center; - gap: 0.12rem; - background: $bg-white; - border-radius: 0.1rem; - padding: 0.14rem 0.16rem; - margin-bottom: 0.2rem; - } - - &__job-icon { - width: 0.36rem; - height: 0.36rem; - border-radius: 0.08rem; - background: $bg-main; - display: flex; - align-items: center; - justify-content: center; - flex-shrink: 0; - color: $text-middle; - - svg { - width: 0.2rem; - height: 0.2rem; - } - } - - &__job-info { - min-width: 0; - } - - &__job-company { - font-size: 0.14rem; - font-weight: 600; - color: $text-dark; - line-height: 1.4; - } - - &__job-title { - font-size: 0.12rem; - color: $text-middle; - line-height: 1.4; - } - - // 步骤列表 - &__steps { - display: flex; - flex-direction: column; - gap: 0.14rem; - } - - &__step { - display: flex; align-items: flex-start; - gap: 0.1rem; flex-wrap: wrap; } - // 勾选框 - &__step-check { - width: 0.18rem; - height: 0.18rem; - border: 1.5px solid $text-light; - border-radius: 0.03rem; + // 岗位信息 + &__job-info { display: flex; align-items: center; - justify-content: center; - flex-shrink: 0; - margin-top: 0.01rem; - - svg { - width: 0.12rem; - height: 0.12rem; - } - - // 已完成态 - &--done { - border-color: $text-dark; - background: $text-dark; - color: $bg-white; - } + gap: 0.28rem; } - &__step-label { - font-size: 0.14rem; + &__job-title { + font-size: 0.18rem; + font-weight: 520; color: $text-dark; - line-height: 0.2rem; + line-height: 0.27rem; } - // 步骤展开内容 - &__step-content { - width: 100%; - margin-top: 0.08rem; - padding-left: 0.28rem; - } - - // 第2步:简历确认区域 - &__resume-confirm { - display: flex; - align-items: center; - justify-content: space-between; - background: $bg-white; - border-radius: 0.08rem; - padding: 0.1rem 0.14rem; - } - - &__resume-file { + &__company { display: flex; align-items: center; gap: 0.08rem; } - &__file-icon { - width: 0.18rem; - height: 0.18rem; - color: $text-dark; - } + &__company-logo { + width: 0.24rem; + height: 0.24rem; + border-radius: 0.04rem; + object-fit: cover; - &__resume-name { - font-size: 0.13rem; - color: $text-dark; - } + &--placeholder { + background: $bg-main; + display: flex; + align-items: center; + justify-content: center; + color: $text-middle; - &__confirm-btn { - height: 0.28rem; - padding: 0 0.16rem; - background: $btn-dark; - color: $bg-white; - border: none; - border-radius: 0.14rem; - font-size: 0.12rem; - cursor: pointer; - transition: all 0.2s; - - &:hover { - background: $btn-dark-hover; - } - - &:disabled { - background: $text-light; - cursor: not-allowed; + svg { + width: 0.14rem; + height: 0.14rem; + } } } - // 第3步:投递操作区域 - &__apply-area { - background: $bg-white; - border-radius: 0.08rem; - padding: 0.14rem 0.16rem; + &__company-name { + font-size: 0.18rem; + font-weight: 330; + color: $text-dark; + line-height: 0.27rem; } - &__apply-desc { - font-size: 0.12rem; - color: $text-middle; - line-height: 1.8; - margin: 0; - } - - &__apply-actions { + // 步骤条 + &__steps { display: flex; align-items: center; - justify-content: flex-end; - gap: 0.1rem; - margin-top: 0.14rem; + gap: 0.12rem; } - &__skip-btn { - font-size: 0.12rem; - color: $text-middle; - cursor: pointer; - text-decoration: underline; + // 步骤项 + &__step-item { + display: flex; + align-items: center; + gap: 0.08rem; + } - &:hover { + // 步骤图标 + &__step-icon { + width: 0.40rem; + height: 0.40rem; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + + svg { + width: 0.20rem; + height: 0.20rem; + } + + // 已完成 + &--done { + background: $accent; + color: #fff; + } + + // 进行中 + &--active { + background: #EDF9FA; + color: $accent; + } + + // 待处理 + &--pending { + background: $bg-main; + color: $text-middle; + } + } + + // 步骤文字区域 + &__step-text { + display: flex; + flex-direction: column; + gap: 0.04rem; + } + + // 步骤名称 + &__step-name { + font-size: 0.14rem; + font-weight: 520; + line-height: 0.19rem; + + &--done { color: $text-dark; } - &--disabled { - color: $text-light; - cursor: not-allowed; - pointer-events: none; + &--active { + color: $text-dark; + } + + &--pending { + color: $text-middle; } } - &__applied-btn { - height: 0.28rem; - padding: 0 0.14rem; - background: $btn-dark; - color: $bg-white; - border: none; - border-radius: 0.14rem; + // 步骤状态文字 + &__step-status { font-size: 0.12rem; - cursor: pointer; - transition: all 0.2s; + font-weight: 330; + line-height: 0.16rem; - &:hover { - background: $btn-dark-hover; + &--done { + color: #9FD051; } - &:disabled { - background: $text-light; - cursor: not-allowed; + &--active { + color: #F59E0B; + } + + &--pending { + color: $text-middle; } } - &__goto-btn { - height: 0.28rem; - padding: 0 0.14rem; - background: $btn-dark; - color: $bg-white; - border: none; - border-radius: 0.14rem; - font-size: 0.12rem; - cursor: pointer; - transition: all 0.2s; - - &:hover { - background: $btn-dark-hover; - } - - &:disabled { - background: $text-light; - cursor: not-allowed; - } - } -} - -// 右侧面板:简历生成进度 -.agent-resume-generating { - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - height: 100%; - padding: 0.4rem; - - // 进度条容器 - &__progress-bar { - width: 100%; - max-width: 3rem; - height: 0.04rem; - background: $border-color; - border-radius: 0.02rem; - overflow: hidden; - margin-bottom: 0.2rem; + // 步骤连接线 + &__step-line { + width: 0.40rem; + height: 0.02rem; + background: #E5E7EB; + flex-shrink: 0; } - &__progress-fill { - height: 100%; - background: $text-dark; - border-radius: 0.02rem; - transition: width 0.3s ease; - } - - &__title { - font-size: 0.18rem; - font-weight: 700; - color: $text-dark; - margin-bottom: 0.1rem; + // 底部区域:提示 + 按钮 + &__bottom { + display: flex; + justify-content: space-between; + align-items: flex-end; + margin-top: 0.16rem; } + // 提示文字 &__hint { + font-size: 0.14rem; + font-weight: 450; + color: $text-middle; + line-height: 0.19rem; + + // 警告色(橙色) + &--warning { + color: #F59E0B; + } + + // 强调色(品牌色) + &--accent { + color: $accent; + } + } + + // 操作按钮区 + &__actions { display: flex; align-items: center; - gap: 0.06rem; - font-size: 0.12rem; - color: $text-middle; + gap: 0.16rem; } - &__hint-icon { - width: 0.14rem; - height: 0.14rem; - color: $accent; + // 按钮基础样式 + &__btn { + height: 0.27rem; + padding: 0.04rem 0.12rem; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 380; + line-height: 0.19rem; + text-align: center; + cursor: pointer; + border: none; + transition: opacity 0.2s; + + &:hover { + opacity: 0.85; + } + + // 边框按钮 + &--outline { + background: transparent; + border: 1px solid $accent; + color: $accent; + } + + // 实心按钮 + &--primary { + background: $accent; + color: #FFFFFF; + } } } diff --git a/src/assets/styles/components/agent-chat-job-list.scss b/src/assets/styles/components/agent-chat-job-list.scss index 698686a..28be504 100644 --- a/src/assets/styles/components/agent-chat-job-list.scss +++ b/src/assets/styles/components/agent-chat-job-list.scss @@ -2,25 +2,50 @@ // ==================== Agent推荐岗位列表组件样式 ==================== .agent-chat-job-list { - background: $bg-middle; + background: $bg-white; + border: 1px solid #F0F0F0; + box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04); border-radius: 0.12rem; padding: 0.24rem; font-size: 0.14rem; // 标题 &__header { - font-size: 0.18rem; - font-weight: 700; + font-size: 0.22rem; + font-weight: 520; color: $text-dark; - margin-bottom: 0.06rem; + margin-bottom: 0.04rem; + line-height: 0.29rem; } // 推荐说明文字 &__summary { - font-size: 0.13rem; + font-size: 0.14rem; + font-weight: 330; color: $text-middle; - margin-bottom: 0.18rem; - line-height: 1.5; + margin-bottom: 0.16rem; + line-height: 0.19rem; + } + + // 可滚动岗位列表区域(默认显示约3.5个岗位高度) + &__scroll { + max-height: 3.64rem; + overflow-y: auto; + scrollbar-width: thin; + scrollbar-color: $border-color transparent; + + &::-webkit-scrollbar { + width: 4px; + } + + &::-webkit-scrollbar-thumb { + background: $border-color; + border-radius: 2px; + } + + &::-webkit-scrollbar-track { + background: transparent; + } } // 单个岗位项 @@ -28,31 +53,38 @@ display: flex; align-items: center; justify-content: space-between; - background: $bg-white; - border-radius: 0.1rem; + flex-wrap: wrap; padding: 0.16rem 0.2rem; - margin-bottom: 0.1rem; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + margin-bottom: 0.08rem; + cursor: pointer; + transition: border-color 0.2s ease; - &:last-of-type { + &:last-child { margin-bottom: 0; } + + &:hover { + border-color: $accent; + } } - // 左侧信息区域(可点击) - &__info { + // 左侧区域(匹配度 + 岗位信息) + &__left { display: flex; align-items: center; - gap: 0.14rem; + flex-wrap: wrap; + gap: 0.16rem; flex: 1; min-width: 0; - cursor: pointer; } // 匹配度环形容器 &__score { + width: 0.62rem; + height: 0.62rem; position: relative; - width: 0.48rem; - height: 0.48rem; flex-shrink: 0; } @@ -68,98 +100,148 @@ top: 50%; left: 50%; transform: translate(-50%, -50%); - font-size: 0.11rem; - font-weight: 700; - color: $text-dark; + font-size: 0.14rem; + font-weight: 630; + color: #9FD051; + line-height: 0.22rem; } - // 岗位详情 + // 岗位详情区域 &__detail { min-width: 0; flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; + gap: 0.24rem; } - // 岗位标题行(岗位名 + 公司名) + // 岗位标题行(岗位名 + 公司) &__title-row { display: flex; align-items: center; - gap: 0.08rem; - margin-bottom: 0.04rem; + flex-wrap: wrap; + gap: 0.32rem; } // 岗位名称 &__title { - font-size: 0.15rem; - font-weight: 600; + font-size: 0.18rem; + font-weight: 520; color: $text-dark; - line-height: 1.4; + line-height: 0.27rem; } - // 公司名前的圆点 - &__company-dot { - font-size: 0.08rem; - color: $text-light; + // 公司信息容器 + &__company { + display: flex; + align-items: center; + flex-wrap: wrap; + gap: 0.08rem; + } + + // 公司 Logo + &__company-logo { + width: 0.24rem; + height: 0.24rem; + border-radius: 0.04rem; + object-fit: cover; } // 公司名称 - &__company { - font-size: 0.13rem; - color: $text-middle; + &__company-name { + font-size: 0.18rem; + font-weight: 330; + color: $text-dark; + line-height: 0.27rem; white-space: nowrap; } // 标签行 &__tags { display: flex; - gap: 0.06rem; + align-items: center; flex-wrap: wrap; + gap: 0.12rem; } // 单个标签 &__tag { - font-size: 0.11rem; + font-size: 0.14rem; + font-weight: 330; color: $text-middle; - background: $bg-main; - padding: 0.02rem 0.08rem; - border-radius: 0.03rem; + line-height: 0.19rem; + display: flex; + align-items: center; + gap: 0.02rem; + + svg { + width: 0.16rem; + height: 0.16rem; + color: $text-middle; + } + + // 招聘分类标签(校招等) + &--category { + padding: 0.02rem 0.04rem; + background: #EDF9FA; + border-radius: 0.04rem; + font-size: 0.12rem; + color: $accent; + } } // 右侧操作按钮区域 &__actions { display: flex; align-items: center; - gap: 0.14rem; + flex-wrap: wrap; + gap: 0.08rem; flex-shrink: 0; margin-left: 0.16rem; } // 不再推荐按钮 &__dismiss-btn { - font-size: 0.12rem; - color: $text-light; + height: 0.35rem; + padding: 0 0.12rem; + background: transparent; + border: none; + font-size: 0.14rem; + font-weight: 520; + color: $accent; cursor: pointer; white-space: nowrap; - transition: color 0.2s ease; + transition: opacity 0.2s ease; + border-radius: 0.08rem; &:hover { - color: $text-middle; + opacity: 0.7; } } // 加入投递按钮 &__add-btn { - height: 0.32rem; - padding: 0 0.16rem; + display: flex; + align-items: center; + gap: 0.04rem; + height: 0.35rem; + padding: 0 0.12rem; background: $accent; color: $bg-white; border: none; - border-radius: 0.16rem; - font-size: 0.12rem; - font-weight: 500; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 520; cursor: pointer; white-space: nowrap; transition: all 0.2s ease; - line-height: 0.32rem; + + svg { + width: 0.16rem; + height: 0.16rem; + flex-shrink: 0; + } &:hover { opacity: 0.85; @@ -172,37 +254,55 @@ // 已加入状态 &--added { - background: $bg-main; - color: $text-middle; - border: 1px solid $border-color; + background: transparent; + color: $accent; + border: 1px solid $accent; } } + // 空状态 + &__empty { + text-align: center; + color: $text-light; + padding: 0.4rem 0; + font-size: 0.14rem; + } + // 底部按钮区域 &__footer { display: flex; justify-content: center; - gap: 0.16rem; - margin-top: 0.2rem; + gap: 0.32rem; + margin-top: 0.24rem; + flex-wrap: wrap; } // 换一批按钮 &__refresh-btn { - height: 0.4rem; - padding: 0 0.4rem; + display: flex; + align-items: center; + justify-content: center; + gap: 0.04rem; + height: 0.43rem; + padding: 0 0.16rem; + min-width: 2.8rem; background: $bg-white; - color: $text-dark; - border: 1px solid $border-color; - border-radius: 0.2rem; + color: $accent; + border: 1px solid $accent; + border-radius: 0.22rem; font-size: 0.14rem; - font-weight: 500; + font-weight: 520; cursor: pointer; transition: all 0.2s ease; - line-height: 0.4rem; + + svg { + width: 0.16rem; + height: 0.16rem; + flex-shrink: 0; + } &:hover { - border-color: $accent; - color: $accent; + background: #EDF9FA; } &:disabled { @@ -213,17 +313,27 @@ // 全部添加按钮 &__add-all-btn { - height: 0.4rem; - padding: 0 0.4rem; + display: flex; + align-items: center; + justify-content: center; + gap: 0.04rem; + height: 0.43rem; + padding: 0 0.16rem; + min-width: 2.8rem; background: $accent; color: $bg-white; border: none; - border-radius: 0.2rem; + border-radius: 0.22rem; font-size: 0.14rem; - font-weight: 500; + font-weight: 520; cursor: pointer; transition: all 0.2s ease; - line-height: 0.4rem; + + svg { + width: 0.16rem; + height: 0.16rem; + flex-shrink: 0; + } &:hover { opacity: 0.85; diff --git a/src/assets/styles/components/agent-job-preview-panel.scss b/src/assets/styles/components/agent-job-preview-panel.scss index 9f71349..6cefa8b 100644 --- a/src/assets/styles/components/agent-job-preview-panel.scss +++ b/src/assets/styles/components/agent-job-preview-panel.scss @@ -1,187 +1,113 @@ @use '../variables' as *; -/* Agent岗位预览面板样式 */ -.agent-job-preview-panel { +/* Agent岗位预览抽屉 — 从浏览器右侧弹出 */ + +/* 遮罩层 */ +.agent-job-drawer-mask { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: var(--app-height, 100vh); + background: rgba(0, 0, 0, 0.3); + z-index: 2000; + display: flex; + justify-content: flex-end; +} + +/* 抽屉主体 */ +.agent-job-drawer { + width: 6.4rem; + height: var(--app-height, 100vh); + background: $bg-white; display: flex; flex-direction: column; - height: 100%; - background: $bg-white; - border-radius: 0.2rem; - overflow: hidden; + font-size: 0.14rem; + box-shadow: -4px 0 20px rgba(0, 0, 0, 0.08); /* 顶部标题栏 */ &__header { display: flex; align-items: center; justify-content: space-between; - padding: 0.16rem 0.2rem; - border-bottom: 1px solid $border-color; + padding: 0.2rem 0.24rem; + height: 0.64rem; + box-sizing: border-box; } - /* 返回按钮 */ - &__back { + &__header-left { display: flex; align-items: center; - gap: 0.06rem; + gap: 0.16rem; + } + + /* 关闭按钮 */ + &__close { + width: 0.24rem; + height: 0.24rem; cursor: pointer; - font-size: 0.15rem; - font-weight: 500; - color: $text-dark; + display: flex; + align-items: center; + justify-content: center; } - &__back-icon { - width: 0.16rem; - height: 0.16rem; - } - - /* 添加按钮 */ - &__add-btn { - padding: 0.06rem 0.16rem; - background: $btn-dark; - color: $bg-white; - border: none; - border-radius: 0.06rem; - font-size: 0.13rem; - cursor: pointer; - transition: background 0.2s; - - &:hover { - background: $btn-dark-hover; - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } - } - - /* 移出按钮 */ - &__remove-btn { - padding: 0.06rem 0.16rem; - background: $bg-white; + &__close-icon { + width: 0.24rem; + height: 0.24rem; color: $text-middle; - border: 1px solid $border-color; - border-radius: 0.06rem; - font-size: 0.13rem; - cursor: pointer; - transition: background 0.2s, color 0.2s; + } - &:hover { - background: $bg-main; - color: $danger; - } - - &:disabled { - opacity: 0.6; - cursor: not-allowed; - } + /* 标题文字 */ + &__title { + font-size: 0.18rem; + font-weight: 520; + color: $text-dark; + line-height: 0.24rem; } /* 内容区域(可滚动) */ &__body { flex: 1; overflow-y: auto; - padding: 0.2rem; + padding: 0.24rem; } - /* 岗位卡片 */ - &__card { - background: $bg-main; - border-radius: 0.12rem; - padding: 0.2rem; - margin-bottom: 0.16rem; - } - - &__card-top { + /* 岗位标题区域 */ + &__job-header { display: flex; justify-content: space-between; align-items: flex-start; + gap: 0.24rem; + margin-bottom: 0.24rem; } - &__card-left { + &__job-info { flex: 1; min-width: 0; } - /* 公司行 */ - &__company-row { - display: flex; - align-items: center; - gap: 0.08rem; - margin-bottom: 0.08rem; - } - - &__company-icon { - width: 0.28rem; - height: 0.28rem; - border-radius: 0.06rem; - overflow: hidden; - display: flex; - align-items: center; - justify-content: center; - background: $bg-middle; - flex-shrink: 0; - - img { - width: 100%; - height: 100%; - object-fit: cover; - } - - svg { - width: 0.18rem; - height: 0.18rem; - color: $text-middle; - } - } - - &__company-name { - font-size: 0.14rem; - font-weight: 500; - color: $text-dark; - } - - &__time { - font-size: 0.12rem; - color: $text-light; - margin-left: 0.06rem; - } - /* 岗位标题 */ &__job-title { - font-size: 0.17rem; - font-weight: 600; + font-size: 0.24rem; + font-weight: 520; color: $text-dark; - margin: 0.06rem 0 0.1rem; + line-height: 0.32rem; + margin: 0 0 0.08rem; } /* 元信息 */ &__meta { - display: flex; - align-items: center; - gap: 0.16rem; - flex-wrap: wrap; - } - - &__meta-item { - display: flex; - align-items: center; - gap: 0.04rem; font-size: 0.12rem; color: $text-middle; - } - - &__meta-icon { - width: 0.14rem; - height: 0.14rem; - flex-shrink: 0; + line-height: 0.16rem; + font-weight: 330; } /* 匹配度环 */ &__match { position: relative; - width: 0.6rem; - height: 0.6rem; + width: 0.62rem; + height: 0.62rem; flex-shrink: 0; } @@ -195,28 +121,141 @@ top: 50%; left: 50%; transform: translate(-50%, -50%); - font-size: 0.13rem; - font-weight: 600; - color: $text-dark; + font-size: 0.14rem; + font-weight: 630; + color: #9FD051; } /* 内容段落 */ &__section { - margin-bottom: 0.2rem; + margin-bottom: 0.24rem; } &__section-title { - font-size: 0.14rem; + font-size: 0.18rem; font-weight: 600; color: $text-dark; - margin-bottom: 0.1rem; + line-height: 0.24rem; + margin-bottom: 0.16rem; + + /* 加分项标题样式 */ + &--bonus { + font-size: 0.14rem; + font-weight: 330; + color: $text-dark; + line-height: 0.19rem; + } } &__section-content { - font-size: 0.13rem; + font-size: 0.14rem; color: $text-middle; - line-height: 1.8; + line-height: 0.19rem; + font-weight: 330; white-space: pre-wrap; word-break: break-word; } + + /* 技能标签 */ + &__tags { + display: flex; + flex-wrap: wrap; + gap: 0.08rem; + margin-bottom: 0.12rem; + } + + &__tag { + display: flex; + justify-content: center; + align-items: center; + padding: 0.04rem 0.06rem; + background: $bg-main; + border-radius: 0.04rem; + font-size: 0.12rem; + color: $text-middle; + line-height: 0.18rem; + font-weight: 330; + } + + /* 公司概况 */ + &__company { + display: flex; + flex-direction: column; + gap: 0.12rem; + } + + &__company-row { + display: flex; + align-items: flex-start; + gap: 0.12rem; + } + + &__company-logo { + width: 0.48rem; + height: 0.48rem; + border-radius: 0.08rem; + overflow: hidden; + flex-shrink: 0; + background: #EDF9FA; + display: flex; + align-items: center; + justify-content: center; + + img { + width: 100%; + height: 100%; + object-fit: cover; + } + + svg { + width: 0.32rem; + height: 0.32rem; + } + } + + &__company-info { + display: flex; + flex-direction: column; + gap: 0.06rem; + } + + &__company-name { + font-size: 0.18rem; + font-weight: 520; + color: $text-dark; + line-height: 0.24rem; + } + + &__company-detail { + font-size: 0.14rem; + font-weight: 400; + color: $text-middle; + line-height: 0.19rem; + } + + &__company-desc { + font-size: 0.14rem; + font-weight: 330; + color: $text-middle; + line-height: 0.24rem; + } +} + +/* 抽屉动画 */ +.agent-job-drawer-enter-active, +.agent-job-drawer-leave-active { + transition: opacity 0.3s ease; + + .agent-job-drawer { + transition: transform 0.3s ease; + } +} + +.agent-job-drawer-enter-from, +.agent-job-drawer-leave-to { + opacity: 0; + + .agent-job-drawer { + transform: translateX(100%); + } } diff --git a/src/assets/styles/components/agent-setting-panel.scss b/src/assets/styles/components/agent-setting-panel.scss index 272a323..914bd75 100644 --- a/src/assets/styles/components/agent-setting-panel.scss +++ b/src/assets/styles/components/agent-setting-panel.scss @@ -1,185 +1,394 @@ @use '../variables' as *; -// ==================== Agent设置面板样式(精简版) ==================== +// ==================== Agent设置面板样式(重新设计) ==================== .agent-setting-panel { - height: 100%; - background: $bg-middle; - border-radius: 0.12rem; + position: relative; + width: 3.60rem; + height: var(--app-height, 100vh); + background: #FFFFFF; font-size: 0.14rem; overflow-y: auto; - - // 隐藏滚动条 scrollbar-width: none; -ms-overflow-style: none; &::-webkit-scrollbar { display: none; } - // 内容区域 - &__body { - padding: 0.28rem 0.24rem; + // 头部标题区 + &__header { + padding: 0.24rem 0.24rem 0; } - // 每个设置区块 + &__title { + font-size: 0.20rem; + font-weight: 630; + line-height: 0.27rem; + color: #1A1A1A; + } + + &__subtitle { + margin-top: 0.04rem; + font-size: 0.14rem; + font-weight: 330; + line-height: 0.19rem; + color: #6B7280; + } + + // 分隔线 + &__divider { + width: 3.12rem; + height: 1px; + margin: 0.24rem auto; + background: #F0F0F0; + } + + // 通用区块 &__section { - margin-bottom: 0.28rem; - - &:last-child { - margin-bottom: 0; - } + padding: 0 0.24rem; + margin-bottom: 0.08rem; } - // 区块头部(标题 + 编辑按钮) + // 区块头部 &__section-header { display: flex; align-items: center; - gap: 0.1rem; - margin-bottom: 0.12rem; + justify-content: space-between; + margin-bottom: 0.08rem; } // 区块标题 &__section-title { font-size: 0.16rem; - font-weight: 700; - color: $text-dark; + font-weight: 520; + line-height: 0.21rem; + color: #1A1A1A; } // 编辑按钮 &__edit-btn { - font-size: 0.13rem; + display: flex; + align-items: center; + gap: 0.04rem; + font-size: 0.14rem; + font-weight: 450; color: $accent; cursor: pointer; - white-space: nowrap; + + svg { + width: 0.14rem; + height: 0.14rem; + } &:hover { opacity: 0.7; } } - // 个人资料信息 - &__profile-info { - padding-left: 0.02rem; - } - - &__profile-name { - font-size: 0.18rem; - font-weight: 600; - color: $text-dark; - margin-bottom: 0.04rem; - } - - &__profile-sub { - font-size: 0.13rem; + // 个人信息文字 + &__info-text { + font-size: 0.14rem; + font-weight: 330; + line-height: 0.19rem; color: $text-middle; } - // 求职目标标签 - &__goal-tags { - display: flex; - flex-wrap: wrap; - gap: 0.08rem; + // 求职偏好内容 + &__goal-content { + font-size: 0.14rem; + font-weight: 330; + line-height: 0.24rem; + color: $text-middle; + + p { + margin: 0; + } } - &__goal-tag { - padding: 0.06rem 0.14rem; - border: 1px solid $accent; - border-radius: 0.16rem; - font-size: 0.13rem; - color: $accent; - background: transparent; - } - - // 空状态文字 + // 空状态 &__empty-text { - font-size: 0.13rem; + font-size: 0.14rem; color: $text-light; } - // 简历选择下拉 - &__resume-select { - width: 100%; - margin-top: 0.06rem; - - .el-input__wrapper { - border-radius: 0.08rem; - } - } - - // 投递偏好项 - &__pref-item { + // 简历下拉 + &__resume-dropdown { display: flex; - align-items: flex-start; + align-items: center; justify-content: space-between; - padding: 0.12rem 0; + padding: 0.08rem 0.12rem; + margin-top: 0.08rem; + background: #F3F4F6; + border-radius: 0.08rem; + cursor: pointer; + } - & + & { - border-top: none; + &__resume-name { + font-size: 0.14rem; + font-weight: 450; + color: $text-middle; + } + + &__resume-arrow { + width: 0.14rem; + height: 0.14rem; + transition: transform 0.2s; + + &--open { + transform: rotate(180deg); } } - &__pref-left { - display: flex; - align-items: flex-start; - gap: 0.1rem; - flex: 1; - min-width: 0; + &__resume-options { + margin-top: 0.04rem; + background: #FFFFFF; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.06); + overflow: hidden; } - // 勾选图标 - &__pref-check { - width: 0.2rem; - height: 0.2rem; - flex-shrink: 0; - color: $text-light; - margin-top: 0.02rem; + &__resume-option { + padding: 0.08rem 0.12rem; + font-size: 0.14rem; + color: $text-dark; + cursor: pointer; - svg { - width: 100%; - height: 100%; + &:hover { + background: #F6FCFC; } &--active { - color: $text-dark; + color: $accent; + background: #F6FCFC; } } - // 偏好文字 - &__pref-text { + // 开关项 + &__switch-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.16rem 0; + } + + &__switch-text { display: flex; flex-direction: column; - gap: 0.03rem; + gap: 0.04rem; } - &__pref-label { + &__switch-label { font-size: 0.14rem; - font-weight: 500; - color: $text-dark; + font-weight: 450; + line-height: 0.19rem; + color: #1A1A1A; } - &__pref-desc { + &__switch-desc { font-size: 0.12rem; - color: $text-light; - line-height: 1.4; + font-weight: 330; + line-height: 0.16rem; + color: $text-middle; } - // 浏览器按钮 + // 自定义开关 + &__toggle { + position: relative; + width: 0.42rem; + height: 0.24rem; + background: #F3F4F6; + border-radius: 0.12rem; + cursor: pointer; + transition: background 0.2s; + flex-shrink: 0; + + &--on { + background: $accent; + + .agent-setting-panel__toggle-dot { + left: 0.20rem; + } + } + } + + &__toggle-dot { + position: absolute; + width: 0.18rem; + height: 0.18rem; + left: 0.04rem; + top: 0.03rem; + background: #FFFFFF; + border-radius: 50%; + transition: left 0.2s; + } + + // 浏览器插件按钮 &__browser-btns { display: flex; - gap: 0.1rem; - margin-top: 0.08rem; + gap: 0.16rem; + margin-top: 0.12rem; } &__browser-btn { - padding: 0.08rem 0.2rem; - background: $bg-white; - border: 1px solid $border-color; - border-radius: 0.2rem; - font-size: 0.13rem; - color: $text-dark; + box-sizing: border-box; + display: flex; + align-items: center; + gap: 0.04rem; + padding: 0.12rem 0.16rem; + background: #FFFFFF; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 450; + color: $text-middle; cursor: pointer; - transition: all 0.2s ease; + transition: border-color 0.2s; + + svg { + width: 0.16rem; + height: 0.16rem; + } &:hover { border-color: $accent; - color: $accent; + } + + &--active { + border-color: $accent; + } + } + + + // ==================== 编辑弹窗 ==================== + &__edit-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.3); + z-index: 2000; + display: flex; + align-items: flex-start; + justify-content: flex-end; + padding-top: 1.20rem; + padding-right: 0.30rem; + } + + &__edit-dialog { + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 0.24rem 0.32rem; + gap: 0.24rem; + width: 4.80rem; + background: linear-gradient(180deg, #EDF9FA 0%, #FFFFFF 20.63%); + border: 1px solid #F0F0F0; + box-shadow: 0 0 0.16rem rgba(0, 0, 0, 0.05); + border-radius: 0.12rem; + font-size: 0.14rem; + } + + &__edit-dialog-header { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + } + + &__edit-dialog-title { + font-size: 0.18rem; + font-weight: 520; + line-height: 0.24rem; + color: #1A1A1A; + } + + &__edit-dialog-close { + width: 0.24rem; + height: 0.24rem; + cursor: pointer; + + &:hover { + opacity: 0.6; + } + } + + &__edit-dialog-body { + width: 100%; + display: flex; + flex-direction: column; + gap: 0.16rem; + } + + &__edit-row { + display: flex; + gap: 0.08rem; + } + + &__edit-field { + display: flex; + flex-direction: column; + gap: 0.08rem; + flex: 1; + + &--full { + width: 100%; + } + } + + &__edit-label { + font-size: 0.14rem; + font-weight: 330; + line-height: 0.19rem; + color: $text-middle; + } + + &__edit-input { + box-sizing: border-box; + width: 100%; + padding: 0.08rem 0.16rem; + background: #FFFFFF; + border: 1px solid #AEE6EA; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 330; + line-height: 0.19rem; + color: #1A1A1A; + outline: none; + transition: border-color 0.2s; + + &:focus { + border-color: $accent; + } + + &::placeholder { + color: $text-light; + } + } + + &__edit-city { + width: 100%; + } + + &__edit-dialog-save { + width: 100%; + padding: 0.12rem 0.16rem; + background: $accent; + border: none; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 450; + line-height: 0.19rem; + color: #FFFFFF; + cursor: pointer; + transition: opacity 0.2s; + + &:hover { + opacity: 0.85; + } + + &:disabled { + opacity: 0.5; + cursor: not-allowed; } } } diff --git a/src/assets/styles/components/agent-task-list-dropdown.scss b/src/assets/styles/components/agent-task-list-dropdown.scss new file mode 100644 index 0000000..db2ec02 --- /dev/null +++ b/src/assets/styles/components/agent-task-list-dropdown.scss @@ -0,0 +1,220 @@ +@use '../variables' as *; + +/* 投递任务抽屉 — 从浏览器右侧弹出 */ + +/* 遮罩层 */ +.agent-task-drawer-mask { + position: fixed; + top: 0; + left: 0; + width: 100vw; + height: var(--app-height, 100vh); + background: rgba(0, 0, 0, 0.3); + z-index: 2000; + display: flex; + justify-content: flex-end; +} + +/* 抽屉主体 */ +.agent-task-drawer { + width: 6.4rem; + height: var(--app-height, 100vh); + background: $bg-white; + display: flex; + flex-direction: column; + font-size: 0.14rem; + box-shadow: -4px 0 20px rgba(0, 0, 0, 0.08); + + /* 顶部标题栏 */ + &__header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.2rem 0.24rem; + height: 0.64rem; + box-sizing: border-box; + } + + &__header-left { + display: flex; + align-items: center; + gap: 0.16rem; + } + + /* 关闭按钮 */ + &__close { + width: 0.24rem; + height: 0.24rem; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + } + + &__close-icon { + width: 0.24rem; + height: 0.24rem; + color: $text-middle; + } + + /* 标题文字 */ + &__title { + font-size: 0.18rem; + font-weight: 520; + color: $text-dark; + line-height: 0.24rem; + } + + /* Tab 切换按钮区域 */ + &__tabs { + display: flex; + align-items: flex-start; + gap: 0.16rem; + padding: 0 0.24rem 0.2rem; + } + + &__tab { + display: flex; + align-items: center; + padding: 0.08rem 0.12rem; + gap: 0.04rem; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 450; + line-height: 0.19rem; + cursor: pointer; + border: 1px solid #F0F0F0; + background: $bg-white; + color: $text-middle; + transition: all 0.2s; + + &--active { + background: $accent; + color: $bg-white; + border-color: $accent; + } + } + + /* 列表内容区域 */ + &__body { + flex: 1; + overflow-y: auto; + padding: 0 0.24rem 0.2rem; + display: flex; + flex-direction: column; + gap: 0.16rem; + } + + /* 空状态 */ + &__empty { + text-align: center; + color: $text-light; + font-size: 0.14rem; + padding: 0.4rem 0; + } + + /* 岗位卡片 */ + &__card { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0.16rem 0.2rem; + background: $bg-white; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + box-sizing: border-box; + } + + &__card-info { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + gap: 0.12rem; + } + + /* 岗位标题 */ + &__card-title { + font-size: 0.18rem; + font-weight: 520; + color: $text-dark; + line-height: 0.27rem; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + + /* 公司信息行 */ + &__card-company { + display: flex; + align-items: center; + gap: 0.08rem; + font-size: 0.18rem; + font-weight: 330; + color: $text-dark; + line-height: 0.27rem; + } + + &__card-logo { + width: 0.24rem; + height: 0.24rem; + border-radius: 0.04rem; + object-fit: cover; + flex-shrink: 0; + } + + &__card-logo-placeholder { + width: 0.24rem; + height: 0.24rem; + color: $text-light; + flex-shrink: 0; + } + + /* 移出任务按钮 */ + &__remove-btn { + display: flex; + align-items: center; + padding: 0.08rem 0.12rem; + gap: 0.04rem; + border: 1px solid $accent; + border-radius: 0.08rem; + background: $bg-white; + font-size: 0.14rem; + font-weight: 450; + color: $accent; + line-height: 0.19rem; + cursor: pointer; + white-space: nowrap; + transition: all 0.2s; + flex-shrink: 0; + + &:hover { + background: $accent; + color: $bg-white; + } + + &:disabled { + opacity: 0.5; + cursor: not-allowed; + } + } +} + +/* 抽屉动画 */ +.agent-task-drawer-enter-active, +.agent-task-drawer-leave-active { + transition: opacity 0.3s ease; + + .agent-task-drawer { + transition: transform 0.3s ease; + } +} + +.agent-task-drawer-enter-from, +.agent-task-drawer-leave-to { + opacity: 0; + + .agent-task-drawer { + transform: translateX(100%); + } +} diff --git a/src/assets/styles/components/ai-chat.scss b/src/assets/styles/components/ai-chat.scss index 0e8a06e..faa874d 100644 --- a/src/assets/styles/components/ai-chat.scss +++ b/src/assets/styles/components/ai-chat.scss @@ -42,7 +42,7 @@ &__name { font-size: 0.15rem; - font-weight: 520; + font-weight: 620; line-height: 0.22rem; color: $text-dark; } @@ -99,7 +99,7 @@ &__welcome-title { font-size: 0.14rem; - font-weight: 520; + font-weight: 620; line-height: 0.16rem; color: $text-dark; } @@ -299,7 +299,7 @@ &__topics-title { font-size: 0.14rem; - font-weight: 520; + font-weight: 620; line-height: 0.19rem; color: #52CAD1; } diff --git a/src/assets/styles/components/job-goal-dialog.scss b/src/assets/styles/components/job-goal-dialog.scss index 1350d46..86b8f4e 100644 --- a/src/assets/styles/components/job-goal-dialog.scss +++ b/src/assets/styles/components/job-goal-dialog.scss @@ -1,145 +1,125 @@ @use '../variables' as *; +// ==================== 求职偏好弹窗样式(重新设计) ==================== + +// 遮罩层 — 右上角定位 +.job-goal-dialog__overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.3); + z-index: 2000; + display: flex; + align-items: flex-start; + justify-content: flex-end; + padding-top: 1.20rem; + padding-right: 0.30rem; +} + .job-goal-dialog { - .el-dialog__header { - display: none; - } - - .el-dialog__body { - padding: 0; - } + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: flex-start; + padding: 0.24rem 0.32rem; + gap: 0.24rem; + width: 4.80rem; + background: linear-gradient(180deg, #EDF9FA 0%, #FFFFFF 20.63%); + border: 1px solid #F0F0F0; + box-shadow: 0 0 0.16rem rgba(0, 0, 0, 0.05); + border-radius: 0.12rem; + font-size: 0.14rem; + // 头部 &__header { display: flex; align-items: center; - gap: 0.12rem; - padding: 0.2rem 0.24rem 0.16rem; - } - - &__close-btn { - background: none; - border: none; - cursor: pointer; - color: $text-dark; - font-size: 0.16rem; - display: flex; - align-items: center; - justify-content: center; - padding: 0.04rem; - border-radius: 0.04rem; - transition: background 0.2s; - - &:hover { - background: $bg-main; - } + justify-content: space-between; + width: 100%; } &__title { - font-size: 0.16rem; - font-weight: 700; - color: $text-dark; + font-size: 0.18rem; + font-weight: 520; + line-height: 0.24rem; + color: #1A1A1A; } + &__close-btn { + width: 0.24rem; + height: 0.24rem; + cursor: pointer; + + &:hover { + opacity: 0.6; + } + } + + // 表单区块 &__section { - padding: 0.12rem 0.24rem; + width: 100%; + display: flex; + flex-direction: column; + gap: 0.08rem; } &__label { font-size: 0.14rem; - font-weight: 600; - color: $text-dark; - margin-bottom: 0.12rem; - } - - &__tags { - display: flex; - flex-wrap: wrap; - gap: 0.08rem; - margin-bottom: 0.1rem; - } - - &__tag { - display: inline-flex; - align-items: center; - gap: 0.06rem; - background: $bg-main; - border: 1px solid $border-color; - border-radius: 0.16rem; - padding: 0.05rem 0.12rem; - font-size: 0.13rem; - color: $text-dark; - } - - &__tag-close { - cursor: pointer; - font-size: 0.12rem; - color: $text-light; - transition: color 0.2s; - - &:hover { - color: $danger; - } - } - - &__select { - width: 100%; - - .el-select__wrapper { - background: $bg-main; - border-radius: 0.08rem; - box-shadow: none; - border: 1px solid $border-color; - } + font-weight: 330; + line-height: 0.19rem; + color: $text-middle; } + // 招聘类型按钮组 &__type-group { display: flex; - gap: 0.12rem; + gap: 0.10rem; } &__type-btn { - flex: 1; - padding: 0.1rem 0; - border: 1px solid $border-color; - border-radius: 0.2rem; - background: $bg-white; - color: $text-dark; - font-size: 0.13rem; + display: flex; + align-items: center; + justify-content: center; + padding: 0.08rem 0.16rem; + width: 0.96rem; + height: 0.35rem; + background: #F3F4F6; + border: none; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 330; + color: #1A1A1A; cursor: pointer; transition: all 0.2s; &:hover { - border-color: $text-light; + opacity: 0.8; } &--active { - background: $btn-dark; - border-color: $btn-dark; - color: $bg-white; - font-weight: 500; + background: $accent; + color: #FFFFFF; } } - &__footer { - padding: 0.3rem 0.24rem 0.24rem; - display: flex; - justify-content: center; - } - + // 保存按钮 &__save-btn { width: 100%; - padding: 0.12rem 0; + padding: 0.12rem 0.16rem; background: $accent; - color: $bg-white; border: none; - border-radius: 0.24rem; - font-size: 0.16rem; - font-weight: 600; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 450; + line-height: 0.19rem; + color: #FFFFFF; cursor: pointer; - transition: background 0.2s; + transition: opacity 0.2s; &:hover { - background: $accent-hover; + opacity: 0.85; } } } diff --git a/src/assets/styles/components/job-resume-custom-dialog.scss b/src/assets/styles/components/job-resume-custom-dialog.scss index fcbe174..8fe142a 100644 --- a/src/assets/styles/components/job-resume-custom-dialog.scss +++ b/src/assets/styles/components/job-resume-custom-dialog.scss @@ -524,7 +524,7 @@ &__gap-item-title { font-size: 0.14rem; - font-weight: 520; + font-weight: 620; color: $text-dark; line-height: 0.19rem; margin-bottom: 0.04rem; diff --git a/src/assets/styles/components/member-dialog.scss b/src/assets/styles/components/member-dialog.scss index 01ed778..737674d 100644 --- a/src/assets/styles/components/member-dialog.scss +++ b/src/assets/styles/components/member-dialog.scss @@ -58,7 +58,7 @@ } &__title { - font-weight: 520; + font-weight: 620; font-size: 0.18rem; line-height: 0.24rem; color: $text-dark; @@ -196,7 +196,7 @@ font-size: 0.1rem; padding: 0.02rem 0.08rem; border-radius: 0.08rem; - font-weight: 520; + font-weight: 620; } &__plan-name { @@ -360,7 +360,7 @@ } &__payment-text { - font-weight: 520; + font-weight: 620; font-size: 0.12rem; line-height: 0.18rem; diff --git a/src/assets/styles/components/mentor-aside-panel.scss b/src/assets/styles/components/mentor-aside-panel.scss index efc915c..b45b8d4 100644 --- a/src/assets/styles/components/mentor-aside-panel.scss +++ b/src/assets/styles/components/mentor-aside-panel.scss @@ -69,7 +69,7 @@ } &__stat-num { - font-weight: 520; + font-weight: 620; font-size: 0.24rem; line-height: 0.32rem; background: linear-gradient(128.17deg, #52CAD1 0%, #82D79B 100%); @@ -107,7 +107,7 @@ } &__section-text { - font-weight: 520; + font-weight: 620; font-size: 0.16rem; line-height: 0.21rem; background: linear-gradient(128.17deg, #52CAD1 0%, #82D79B 100%); @@ -159,7 +159,7 @@ } &__reason-title { - font-weight: 520; + font-weight: 620; font-size: 0.14rem; line-height: 0.19rem; color: $text-dark; @@ -195,7 +195,7 @@ } &__direction-name { - font-weight: 520; + font-weight: 620; font-size: 0.14rem; line-height: 0.19rem; color: $text-dark; @@ -234,7 +234,7 @@ background: linear-gradient(128.17deg, #52CAD1 0%, #82D79B 100%); border-radius: 0.12rem; border: none; - font-weight: 520; + font-weight: 620; font-size: 0.14rem; line-height: 0.19rem; color: $bg-white; @@ -383,7 +383,7 @@ } &__title { - font-weight: 520; + font-weight: 620; font-size: 0.18rem; line-height: 0.24rem; color: #1A1A1A; diff --git a/src/assets/styles/components/settings-dialog.scss b/src/assets/styles/components/settings-dialog.scss index 61f1aaa..5a83ce5 100644 --- a/src/assets/styles/components/settings-dialog.scss +++ b/src/assets/styles/components/settings-dialog.scss @@ -218,7 +218,7 @@ &__mcard-title { font-size: 0.18rem; - font-weight: 520; + font-weight: 620; color: #FFFFFF; line-height: 0.24rem; @@ -242,7 +242,7 @@ &__mcard-remain-days { font-size: 0.18rem; - font-weight: 520; + font-weight: 620; color: #FFFFFF; line-height: 0.24rem; } @@ -328,7 +328,7 @@ &__feedback-label { font-size: 0.14rem; - font-weight: 520; + font-weight: 620; color: #1A1A1A; line-height: 0.19rem; } diff --git a/src/assets/styles/components/settings-invite-dialog.scss b/src/assets/styles/components/settings-invite-dialog.scss index 4df7906..64d7fd1 100644 --- a/src/assets/styles/components/settings-invite-dialog.scss +++ b/src/assets/styles/components/settings-invite-dialog.scss @@ -44,7 +44,7 @@ &__title { font-size: 0.18rem; - font-weight: 520; + font-weight: 620; line-height: 0.24rem; color: $text-dark; margin: 0; @@ -217,7 +217,7 @@ span { font-size: 0.14rem; - font-weight: 520; + font-weight: 620; line-height: 0.19rem; text-align: center; color: #FFFFFF; diff --git a/src/assets/styles/components/side-nav.scss b/src/assets/styles/components/side-nav.scss index de358de..7cf2073 100644 --- a/src/assets/styles/components/side-nav.scss +++ b/src/assets/styles/components/side-nav.scss @@ -112,7 +112,7 @@ border-radius: 0.04rem; font-family: 'MiSans'; font-style: normal; - font-weight: 520; + font-weight: 620; font-size: 0.10rem; line-height: 0.13rem; text-align: center; @@ -212,7 +212,7 @@ flex-shrink: 0; span:first-child { - font-weight: 520; + font-weight: 620; font-size: 0.18rem; line-height: 0.24rem; color: $text-dark; @@ -284,7 +284,7 @@ } .side-nav__message-list-title { - font-weight: 520; + font-weight: 620; font-size: 0.14rem; line-height: 0.19rem; color: $text-dark; @@ -524,7 +524,7 @@ .side-nav__referral-value { font-size: 0.10rem; - font-weight: 520; + font-weight: 620; color: #52CAD1; line-height: 0.13rem; } @@ -564,7 +564,7 @@ .side-nav__referral-action { font-size: 0.11rem; - font-weight: 520; + font-weight: 620; color: #52CAD1; line-height: 0.15rem; text-align: center; @@ -616,7 +616,7 @@ padding: 0.02rem 0.04rem; border-radius: 0.04rem; font-size: 0.10rem; - font-weight: 520; + font-weight: 620; line-height: 0.13rem; width: fit-content; diff --git a/src/assets/styles/components/step-progress-overlay.scss b/src/assets/styles/components/step-progress-overlay.scss index 44b174b..38f4aac 100644 --- a/src/assets/styles/components/step-progress-overlay.scss +++ b/src/assets/styles/components/step-progress-overlay.scss @@ -49,7 +49,7 @@ } .step-progress-overlay__title { - font-weight: 520; + font-weight: 620; font-size: 0.18rem; line-height: 0.24rem; color: $text-dark; diff --git a/src/assets/styles/pages/agent.scss b/src/assets/styles/pages/agent.scss index 61b200f..29d0688 100644 --- a/src/assets/styles/pages/agent.scss +++ b/src/assets/styles/pages/agent.scss @@ -10,7 +10,6 @@ &__content { margin-left: 2rem; flex: 1; - padding: 0.3rem 0.4rem; overflow-y: auto; height: var(--app-height, 100vh); box-sizing: border-box; @@ -36,32 +35,30 @@ transition: all 0.25s ease; user-select: none; - // 激活态 — 品牌色背景白色文字 + // 激活态 — 仅数字圆形变主题色,文字变深色 &--active { - background: $btn-dark; - .agent-page__step-number { - background: $bg-white; - color: $btn-dark; + background: $accent; + color: $bg-white; } .agent-page__step-label { - color: $bg-white; + color: $text-dark; } } } // 步骤序号圆圈 &__step-number { - width: 0.22rem; - height: 0.22rem; + width: 0.32rem; + height: 0.32rem; border-radius: 50%; - background: $text-light; - color: $bg-white; + background: $bg-main; + color: $text-middle; display: flex; align-items: center; justify-content: center; - font-size: 0.12rem; + font-size: 0.14rem; font-weight: 600; flex-shrink: 0; line-height: 1; @@ -70,34 +67,31 @@ // 步骤文字标签 &__step-label { - font-size: 0.13rem; - color: $text-light; + font-size: 0.14rem; + color: $text-middle; white-space: nowrap; + font-weight: 600; transition: all 0.25s ease; } - // 步骤间分隔箭头 - &__step-arrow { - display: flex; - align-items: center; - color: $text-light; - - svg { - width: 0.14rem; - height: 0.14rem; - } + // 步骤间分隔横线 + &__step-line { + display: block; + width: 0.93rem; + height: 0.02rem; + background: #E5E7EB; } // ==================== 主体内容区域 — 左右两栏 ==================== &__main { display: flex; gap: 0.24rem; - align-items: flex-start; + align-items: stretch; } // 左侧说明引导区域 &__left { - width: 3.0rem; + width: 3.2rem; flex-shrink: 0; } @@ -105,13 +99,82 @@ &__right { flex: 1; min-width: 0; + border: 0.01rem solid #F0F0F0; + border-radius: 0.12rem; } // ==================== 左侧引导卡片 ==================== &__intro-card { background: $bg-white; border-radius: 0.12rem; - padding: 0.38rem; + padding: 0.24rem 0.32rem; + border: 0.01rem solid #5DCDC4; + + // 渐变背景变体 — 淡绿渐变底色 + &--gradient { + background: linear-gradient(128.17deg, rgba(82, 202, 209, 0.05) 0%, rgba(130, 215, 155, 0.05) 100%); + box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04); + } + } + + // Nova 头像行 + &__intro-avatar-row { + display: flex; + align-items: center; + gap: 0.08rem; + margin-bottom: 0.16rem; + } + + &__intro-avatar-img { + width: 0.32rem; + height: 0.32rem; + border-radius: 50%; + object-fit: cover; + } + + &__intro-avatar-name { + font-size: 0.18rem; + font-weight: 620; + color: $accent; + } + + // 渐变按钮 — 宽度撑满 + &__intro-gradient-btn { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 0.43rem; + background: linear-gradient(128.17deg, #52CAD1 0%, #82D79B 100%); + border-radius: 0.12rem; + border: none; + font-size: 0.14rem; + font-weight: 620; + color: $bg-white; + cursor: pointer; + transition: opacity 0.25s ease; + margin-top: 0.16rem; + + &:hover { opacity: 0.9; } + &:active { transform: scale(0.98); } + } + + // 上一步按钮 — 文字按钮 + &__intro-back-btn { + display: flex; + justify-content: center; + align-items: center; + width: 100%; + height: 0.38rem; + background: transparent; + border: none; + font-size: 0.13rem; + color: $text-middle; + cursor: pointer; + margin-top: 0.08rem; + transition: color 0.2s ease; + + &:hover { color: $text-dark; } } // 卡片头部:图标 + 标题 @@ -138,19 +201,19 @@ // 引导标题 &__intro-title { - font-size: 0.16rem; - font-weight: 700; + font-size: 0.18rem; + font-weight: 620; color: $text-dark; line-height: 1.5; - margin: 0; + margin: 0 0 0.08rem; } // 说明描述文字 &__intro-desc { - font-size: 0.13rem; - color: $text-light; + font-size: 0.14rem; + color: $text-middle; line-height: 1.7; - margin-bottom: 0.28rem; + margin-bottom: 0.16rem; } // 导入个人资料行 @@ -591,6 +654,159 @@ &:active { transform: scale(0.98); } } + // ==================== 第2步:新版面板样式 ==================== + &__step2-panel { + display: flex; + flex-direction: column; + gap: 0.32rem; + border: 1px solid #F0F0F0; + border-radius: 0.12rem; + padding: 0.36rem 0.32rem; + height: 100%; + box-sizing: border-box; + } + + // 第2步分区块 + &__step2-section { + flex: 1; + } + + // 第2步分区标题 + &__step2-section-title { + font-size: 0.18rem; + font-weight: 620; + color: $text-dark; + margin-bottom: 0.16rem; + } + + // 第2步功能说明区域 — 全宽 + &__step2-faq { + width: 100%; + background: $bg-white; + box-shadow: 0px 1px 4px rgba(0, 0, 0, 0.04); + border-radius: 0.12rem; + padding: 0.24rem 0.32rem; + } + + &__step2-faq-title { + font-size: 0.18rem; + font-weight: 520; + color: $accent; + margin-bottom: 0.13rem; + } + + &__step2-faq-item { + border: 1px solid #F0F0F0; + border-radius: 0.12rem; + padding: 0.16rem 0.2rem; + margin-bottom: 0.13rem; + + &:last-child { margin-bottom: 0; } + } + + &__step2-faq-item-title { + font-size: 0.14rem; + font-weight: 520; + color: $text-dark; + margin-bottom: 0.08rem; + } + + &__step2-faq-item-desc { + font-size: 0.14rem; + font-weight: 330; + color: $text-middle; + } + + // 第2步筛选器行 + &__step2-filters { + display: flex; + flex-wrap: wrap; + gap: 0.16rem; + align-items: center; + } + + // 第2步简历选择下拉 + &__step2-resume-select { + width: 1.6rem; + + .el-input__wrapper { + background: $bg-main; + border-radius: 0.12rem; + box-shadow: none !important; + padding: 0.12rem 0.16rem; + } + } + + // 第2步自定义简历下拉 + &__step2-resume-dropdown { + position: relative; + display: inline-flex; + align-items: center; + justify-content: space-between; + padding: 0.12rem 0.16rem; + min-width: 1.6rem; + height: 0.43rem; + background: #F3F4F6; + border-radius: 0.12rem; + cursor: pointer; + box-sizing: border-box; + user-select: none; + transition: border-color 0.2s ease; + width: 1.6rem; + + &:hover { border-color: darken($border-color, 10%); } + } + + &__step2-resume-dropdown-text { + font-size: 0.14rem; + color: $text-dark; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + max-width: 1.4rem; + } + + &__step2-resume-dropdown-arrow { + width: 0.12rem; + height: 0.12rem; + color: $text-middle; + flex-shrink: 0; + margin-left: 0.16rem; + } + + &__step2-resume-menu { + position: absolute; + top: calc(100% + 0.04rem); + left: 0; + min-width: 100%; + background: $bg-white; + border: 1px solid $border-color; + border-radius: 0.08rem; + box-shadow: 0 0.02rem 0.08rem rgba(0, 0, 0, 0.1); + z-index: 10; + padding: 0.04rem 0; + width: 1.6rem; + } + + &__step2-resume-menu-item { + padding: 0.08rem 0.14rem; + font-size: 0.13rem; + color: $text-dark; + cursor: pointer; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + transition: background 0.15s ease; + width: 100%; + + &:hover { background: $bg-main; } + + &--active { + color: $accent; + font-weight: 500; + } + } + // ==================== 第2步新增:求职偏好区域 ==================== &__pref-section { background: $bg-white; @@ -634,24 +850,24 @@ // 招聘分类下拉选择 &__pref-type-dropdown { position: relative; - padding: 0.1rem 0.28rem; - background: #F5FAF9; - border-radius: 0.24rem; + padding: 0.12rem 0.16rem; + background: $bg-main; + border-radius: 0.12rem; font-size: 0.14rem; - color: $text-dark; - border: 1px solid $border-color; + color: $text-middle; + border: none; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; - gap: 0.04rem; + gap: 0.16rem; min-width: 0.9rem; - height: 0.38rem; + height: 0.43rem; box-sizing: border-box; user-select: none; - transition: border-color 0.2s ease; + transition: background 0.2s ease; - &:hover { border-color: $accent; } + &:hover { background: darken(#F3F4F6, 3%); } } &__pref-type-arrow { @@ -753,145 +969,177 @@ // 安装教程整体容器 &__install-guide { - background: $bg-white; + display: flex; + flex-direction: column; + gap: 0.16rem; + padding: 0.24rem; + } + + // 单个步骤卡片 + &__install-card { + border: 1px solid #F0F0F0; border-radius: 0.12rem; - padding: 0.28rem; - border: 1px solid $border-color; + padding: 0.16rem 0.2rem; } - // 安装教程标题 - &__install-guide-title { - font-size: 0.18rem; - font-weight: 700; - color: $text-dark; - margin-bottom: 0.28rem; - } - - // 每个安装步骤 - &__install-step { - margin-bottom: 0.3rem; - - &:last-child { margin-bottom: 0; } - } - - // 步骤文字说明 - &__install-step-text { - font-size: 0.14rem; - font-weight: 600; - color: $text-dark; - margin-bottom: 0.16rem; - line-height: 1.5; - } - - // 下载按钮 - &__install-download-btn { - display: inline-flex; + // 卡片内部行布局 — 左右分栏 + &__install-card-row { + display: flex; + justify-content: space-between; align-items: center; - gap: 0.08rem; - padding: 0.08rem 0.2rem; - background: rgba($accent, 0.1); - border: none; - border-radius: 0.2rem; - color: $accent; - font-size: 0.13rem; - cursor: pointer; - transition: all 0.2s ease; + gap: 0.24rem; + flex-wrap: wrap; + } - &:hover { background: rgba($accent, 0.2); } + // 左侧内容区 + &__install-card-left { + flex: 1; + min-width: 0; + } + + // 左侧头部(序号 + 标题描述) + &__install-card-header { + display: flex; + align-items: flex-start; + gap: 0.12rem; + } + + // 步骤序号徽标 + &__install-card-num { + display: flex; + align-items: center; + justify-content: center; + width: 0.32rem; + height: 0.32rem; + background: #EDF9FA; + border-radius: 0.08rem; + font-size: 0.18rem; + font-weight: 520; + color: $accent; + flex-shrink: 0; + line-height: 1; + } + + // 标题+描述容器 + &__install-card-info { + flex: 1; + min-width: 0; + } + + // 步骤标题 + &__install-card-title { + font-size: 0.18rem; + font-weight: 520; + color: $text-dark; + margin: 0 0 0.04rem; + line-height: 0.24rem; + } + + // 步骤描述 + &__install-card-desc { + font-size: 0.14rem; + font-weight: 330; + color: $text-middle; + margin: 0; + line-height: 0.19rem; + } + + // 右侧区域 + &__install-card-right { + flex-shrink: 0; + width: 3.52rem; + } + + // 右侧说明图片 + &__install-card-img { + width: 100%; + height: auto; + display: block; + border-radius: 0.05rem; + } + + // 步骤1:下载区域 + &__install-download-box { + display: flex; + align-items: center; + padding: 0.04rem 0.04rem 0.04rem 0.16rem; + gap: 0.16rem; + background: $bg-main; + border-radius: 0.12rem; + height: 0.44rem; + box-sizing: border-box; + } + + &__install-download-name { + font-size: 0.14rem; + font-weight: 450; + color: $text-dark; + white-space: nowrap; + } + + &__install-download-btn2 { + display: flex; + align-items: center; + gap: 0.04rem; + padding: 0.08rem 0.12rem; + background: $accent; + border: none; + border-radius: 0.08rem; + color: $bg-white; + font-size: 0.14rem; + font-weight: 520; + cursor: pointer; + transition: opacity 0.2s ease; + white-space: nowrap; + + &:hover { opacity: 0.85; } svg { flex-shrink: 0; } } - // 步骤2的内容区(图片+浏览器链接并排) - &__install-step-content { + // 步骤2:浏览器地址链接行 + &__install-browser-row { display: flex; - gap: 0.24rem; - align-items: flex-start; + flex-wrap: wrap; + gap: 0.12rem; + margin-top: 0.16rem; + padding-left: 0.44rem; } - // 步骤中的图片区 - &__install-step-img { - flex: 1; - min-width: 0; - background: $bg-main; - border-radius: 0.08rem; - padding: 0.12rem; - - img { - width: 100%; - height: auto; - border-radius: 0.06rem; - } - } - - // 浏览器链接区域 - &__install-browser-links { - flex-shrink: 0; - width: 2rem; - } - - &__install-browser-item { + &__install-browser-link { display: flex; align-items: center; - gap: 0.08rem; - margin-bottom: 0.06rem; + gap: 0.04rem; + padding: 0.12rem 0.16rem; + background: $bg-white; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + text-decoration: none; + cursor: pointer; + transition: border-color 0.2s ease; + + &:hover { border-color: $accent; } + + svg { flex-shrink: 0; } } - &__install-browser-icon { - width: 0.2rem; - height: 0.2rem; - border-radius: 50%; - object-fit: contain; + &__install-browser-link-label { + font-size: 0.14rem; + font-weight: 450; + color: $text-middle; + margin-left: 0.04rem; } - &__install-browser-name { - font-size: 0.13rem; - font-weight: 500; - color: $text-dark; - } - - &__install-browser-url { + &__install-browser-link-copy { display: inline-flex; align-items: center; gap: 0.04rem; - font-size: 0.13rem; + margin-left: 0.16rem; + font-size: 0.14rem; + font-weight: 450; color: $accent; - text-decoration: none; - cursor: pointer; - margin-bottom: 0.16rem; - &:hover { text-decoration: underline; } - - svg { flex-shrink: 0; color: $text-middle; } - } - - // 步骤3/4的图片展示行 - &__install-step-img-row { - display: flex; - gap: 0.16rem; - } - - &__install-step-img-item { - flex: 1; - background: $bg-main; - border-radius: 0.08rem; - padding: 0.12rem; - - img { - width: 100%; - height: auto; - border-radius: 0.06rem; - } - } - - // 右侧卡片中的安装步骤列表 - &__install-steps-list { - font-size: 0.13rem; - color: $text-middle; - line-height: 2; - margin-bottom: 0.1rem; - - p { margin: 0; } + svg { color: $accent; } } // ==================== 设置完成页 ==================== @@ -920,7 +1168,7 @@ // 完成页标题 &__complete-title { - font-size: 0.2rem; + font-size: 0.28rem; font-weight: 700; color: $text-dark; margin: 0 0 0.12rem; @@ -928,7 +1176,7 @@ // 完成页描述 &__complete-desc { - font-size: 0.14rem; + font-size: 0.16rem; color: $text-middle; margin-bottom: 0.4rem; } @@ -939,11 +1187,12 @@ background: $btn-dark; color: $bg-white; border: none; - border-radius: 0.24rem; + border-radius: 0.12rem; font-size: 0.15rem; font-weight: 500; cursor: pointer; transition: all 0.25s ease; + width: 4rem; &:hover { background: $btn-dark-hover; } &:active { transform: scale(0.98); } @@ -956,19 +1205,20 @@ height: 100%; display: flex; - // 左侧主区域(60%) + // 左侧主区域(自适应撑满剩余宽度) &__left { - width: 60%; - height: calc(var(--app-height, 100vh) - 0.6rem); + flex: 1; + min-width: 0; + height: var(--app-height, 100vh); display: flex; flex-direction: column; } - // 右侧面板(40%,常驻设置面板 + 覆盖层) + // 右侧面板(固定宽度3.6rem) &__right { - width: 40%; - height: calc(var(--app-height, 100vh) - 0.6rem); - margin-left: 0.2rem; + width: 3.6rem; + flex-shrink: 0; + height: var(--app-height, 100vh); position: relative; overflow: hidden; } @@ -1012,82 +1262,147 @@ &__top-bar { display: flex; align-items: center; - gap: 0.1rem; - padding: 0.12rem 0.16rem; + justify-content: space-between; + padding: 0.16rem 0.24rem; background: $bg-white; - border-radius: 0.1rem; flex-shrink: 0; - margin-bottom: 0.16rem; } - // 用户头像 - &__avatar { - width: 0.3rem; - height: 0.3rem; - border-radius: 50%; - background: $bg-main; + // 左侧状态信息区 + &__top-bar-left { display: flex; align-items: center; - justify-content: center; - flex-shrink: 0; - color: $text-middle; + gap: 0.12rem; + } - svg { - width: 0.18rem; - height: 0.18rem; - } + // 右侧按钮区 + &__top-bar-right { + display: flex; + align-items: center; + gap: 0.16rem; } // 状态标签 &__status-tag { - font-size: 0.12rem; - color: $accent; - background: rgba(79, 194, 201, 0.1); - padding: 0.03rem 0.1rem; - border-radius: 0.04rem; + font-size: 0.14rem; + font-weight: 450; + color: $text-middle; + background: $bg-main; + padding: 0.04rem 0.12rem; + border-radius: 0.14rem; white-space: nowrap; flex-shrink: 0; + + // 准备就绪态 — 主题色 + &--ready { + color: $accent; + background: #EDF9FA; + } + + // 投递中态 — 橙色 + &--applying { + color: #F59E0B; + background: #FFFBF5; + } } // 状态提示文字 &__status-text { - font-size: 0.12rem; + font-size: 0.14rem; + font-weight: 330; color: $text-middle; - flex: 1; - min-width: 0; white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } - // 开始按钮 - &__start-btn { - height: 0.3rem; - padding: 0 0.14rem; - background: $text-dark; - color: $bg-white; - border: none; - border-radius: 0.15rem; - font-size: 0.12rem; - font-weight: 500; + // 进度数字(投递中时的 x/y) + &__status-progress { + display: inline-flex; + align-items: center; + justify-content: center; + padding: 0.02rem 0.08rem; + background: $bg-main; + border-radius: 0.04rem; + font-size: 0.14rem; + font-weight: 600; + color: $text-dark; + margin-left: 0.04rem; + } + + // 岗位数量(准备就绪时的加粗数字) + &__status-count { + font-weight: 600; + color: $text-dark; + } + + // 查看任务按钮 + &__task-btn { + display: flex; + align-items: center; + gap: 0.04rem; + padding: 0.08rem 0.12rem; + border: 1px solid #F0F0F0; + border-radius: 0.08rem; + background: $bg-white; + font-size: 0.14rem; + font-weight: 520; + color: $text-middle; cursor: pointer; transition: all 0.2s ease; - line-height: 0.3rem; white-space: nowrap; - flex-shrink: 0; + height: 0.35rem; + box-sizing: border-box; - &:hover { - opacity: 0.85; + svg { + width: 0.16rem; + height: 0.16rem; + flex-shrink: 0; } - &:disabled { - background: $text-light; - cursor: not-allowed; - opacity: 0.7; + &:hover { + border-color: $border-color; + background: $bg-main; } } - // 右侧工具按钮区 + // 开始/暂停投递主操作按钮 + &__action-btn { + display: flex; + align-items: center; + gap: 0.04rem; + padding: 0.08rem 0.12rem; + border: none; + border-radius: 0.08rem; + font-size: 0.14rem; + font-weight: 520; + color: $bg-white; + cursor: pointer; + transition: all 0.2s ease; + white-space: nowrap; + height: 0.35rem; + box-sizing: border-box; + + svg { + width: 0.16rem; + height: 0.16rem; + flex-shrink: 0; + } + + // 开始投递态 — 渐变绿色 + &--start { + background: linear-gradient(128.17deg, #52CAD1 0%, #82D79B 100%); + + &:hover { opacity: 0.9; } + } + + // 暂停投递态 — 橙色 + &--pause { + background: #F59E0B; + + &:hover { opacity: 0.9; } + } + } + + // 右侧工具按钮区(包含查看任务按钮和下拉弹窗) &__tools { display: flex; align-items: center; @@ -1229,39 +1544,16 @@ } } - // 工具按钮 + // 工具按钮(已弃用,保留兼容) &__tool-btn { - width: 0.38rem; - height: 0.28rem; - border: none; - background: transparent; - cursor: pointer; - padding: 0; - display: flex; - align-items: center; - justify-content: center; - color: $text-middle; - border-radius: 0.06rem; - transition: all 0.2s ease; - font-weight: 600; - - - svg { - width: 0.18rem; - height: 0.18rem; - } - - &:hover { - background: $bg-main; - color: $text-dark; - } + display: none; } // ==================== 中间内容区域 ==================== &__chat-area { flex: 1; overflow-y: auto; - padding: 0.16rem 0.1rem; + padding: 0.16rem 0.24rem; margin-bottom: 0.1rem; // 自定义滚动条 @@ -1285,6 +1577,37 @@ display: flex; flex-direction: column; gap: 0.12rem; + padding: 0.24rem; + background: $bg-white; + border-radius: 0.12rem; + } + + // 进度列表标题 + &__progress-list-header { + margin-bottom: 0.04rem; + } + + &__progress-list-title { + font-size: 0.18rem; + font-weight: 600; + color: $text-dark; + line-height: 0.27rem; + } + + &__progress-list-desc { + font-size: 0.12rem; + color: $text-middle; + line-height: 0.18rem; + margin-top: 0.04rem; + } + + // 进度列表可滚动区域 + &__progress-list-body { + display: flex; + flex-direction: column; + gap: 0.12rem; + max-height: 5rem; + overflow-y: auto; } // ==================== 对话消息样式 ==================== diff --git a/src/assets/styles/pages/job-detail.scss b/src/assets/styles/pages/job-detail.scss index 720c4cc..ccecffc 100644 --- a/src/assets/styles/pages/job-detail.scss +++ b/src/assets/styles/pages/job-detail.scss @@ -227,7 +227,7 @@ &__match-label { font-size: 0.13rem; - font-weight: 520; + font-weight: 620; line-height: 0.17rem; color: #9FD051; } diff --git a/src/assets/styles/pages/jobs.scss b/src/assets/styles/pages/jobs.scss index 70a3e49..7214db0 100644 --- a/src/assets/styles/pages/jobs.scss +++ b/src/assets/styles/pages/jobs.scss @@ -334,7 +334,7 @@ &__job-name { font-size: 0.18rem; - font-weight: 520; + font-weight: 620; color: #000000; line-height: 0.24rem; } @@ -665,7 +665,7 @@ &__match-score { font-size: 0.18rem; - font-weight: 520; + font-weight: 620; line-height: 0.62rem; position: absolute; top: 0; @@ -677,7 +677,7 @@ &__match-level { font-size: 0.13rem; - font-weight: 520; + font-weight: 620; line-height: 0.19rem; margin-top: 0.04rem; } @@ -843,7 +843,7 @@ &__apply-method-title { position: relative; font-size: 0.18rem; - font-weight: 520; + font-weight: 620; color: $text-dark; text-align: center; margin: 0 0 0.2rem 0; diff --git a/src/components/AgentApplyProgress.vue b/src/components/AgentApplyProgress.vue index ab8f385..bf38823 100644 --- a/src/components/AgentApplyProgress.vue +++ b/src/components/AgentApplyProgress.vue @@ -1,88 +1,153 @@