简历优化和岗位简历

This commit is contained in:
2026-04-13 21:34:40 +08:00
parent a39835be01
commit 1c91818494
32 changed files with 3850 additions and 320 deletions
+41 -7
View File
@@ -81,7 +81,10 @@ import { ref, onMounted } from 'vue'
import { useRouter } from 'vue-router'
import SideNav from '@/components/SideNav.vue'
import { uploadResume } from '@/utils/aiRequest'
import { fetchResumeList, type ResumeListItem } from '@/api/resume'
import { fetchResumeList, deleteResume, type ResumeListItem } from '@/api/resume'
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus'
// ElLoading.service() 是命令式调用,按需引入插件不会自动加载其样式,需手动引入
import 'element-plus/es/components/loading/style/css'
const router = useRouter()
@@ -183,9 +186,36 @@ function toggleMenu(id: string) {
}
/** 弹出菜单操作点击 */
function handleAction(action: string, id: string) {
async function handleAction(action: string, id: string) {
activeMenuId.value = null
console.log(action, id)
if (action === '删除') {
// 二次确认删除
try {
await ElMessageBox.confirm('确定要删除这份简历吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
})
// 调用删除接口
const res = await deleteResume(id)
if (res.code === '0') {
ElMessage.success('删除成功')
// 刷新列表
loadResumeList()
} else {
ElMessage.error(res.msg || '删除失败')
}
} catch (error) {
// 用户取消删除或接口报错
if (error !== 'cancel') {
ElMessage.error('删除失败,请稍后重试')
}
}
} else {
console.log(action, id)
}
}
/** 上传简历 — 弹出文件选择,选择后调用 AI 接口上传 */
@@ -210,16 +240,20 @@ function handleUpload() {
try {
const res = await uploadResume(file)
if (res.code === 0) {
// 上传成功,刷新列表并跳转详情页
// 上传成功,刷新列表
loadResumeList()
goDetail(String(res.data.resumeId))
// 等待让后端异步处理数据,再关闭加载动画并跳转详情页
await new Promise(resolve => setTimeout(resolve, 2000))
loading.close()
// resumeId 已经是字符串(transformResponse 处理过),直接使用
goDetail(res.data.resumeId)
} else {
loading.close()
ElMessage.error(res.msg || '上传失败')
}
} catch {
ElMessage.error('上传失败,请稍后重试')
} finally {
loading.close()
ElMessage.error('上传失败,请稍后重试')
}
}