# 公益性岗位管理模块前端修改记录 ## 修改日期:2026-06-05 ## 修改概述 完善公益性岗位管理模块的前端代码,参考见习岗位管理(InternshipPost)的编码风格,增加发布/取消发布、岗位状态管理、表单验证、保存并发布等功能。 --- ## 1. WelfarePost.api.ts **文件路径:** `src/views/welfarepost/WelfarePost.api.ts` **修改内容:** - 在 Api 枚举中增加 3 个接口地址: - `publish = '/welfarePost/publish'` — 发布公益性岗位 - `unpublish = '/welfarePost/unpublish'` — 取消发布公益性岗位 - `updatePostStatus = '/welfarePost/updatePostStatus'` — 更新岗位状态 - 在文件末尾增加 3 个 API 导出方法: - `publish(params)` — 发布公益性岗位,使用 PUT 请求 - `unpublish(params)` — 取消发布公益性岗位,使用 PUT 请求 - `updatePostStatus(params)` — 更新岗位状态,使用 PUT 请求 --- ## 2. WelfarePost.data.ts **文件路径:** `src/views/welfarepost/WelfarePost.data.ts` **修改内容:** - 增加 `publishStatusMap` 发布状态映射:`{ '0': '未发布', '1': '已发布' }` - 增加 `postStatusMap` 岗位状态映射:`{ '招聘中': '招聘中', '已满': '已满', '已关闭': '已关闭' }` - columns 中 `postType` 列增加 `customRender: ({ text }) => text || '-'` - columns 中 `publishStatus` 列增加 `customRender: ({ text }) => publishStatusMap[text] || text || '-'` - columns 中 `postStatus` 列增加 `customRender: ({ text }) => postStatusMap[text] || text || '-'` - superQuerySchema 中 `postType` 增加 `dictCode: 'welfare_post_type'` - superQuerySchema 中 `publishStatus` 增加 `dictCode: 'publish_status'` - superQuerySchema 中 `postStatus` 增加 `dictCode: 'welfare_post_status'` --- ## 3. WelfarePostList.vue **文件路径:** `src/views/welfarepost/WelfarePostList.vue` **修改内容:** - import 中增加 `publish, unpublish, updatePostStatus` 的导入 - `useMessage` 解构中增加 `createConfirm` - 操作栏宽度从 `120` 调整为 `250` - `handleDelete` 方法增加发布状态判断:已发布的岗位不允许删除 - 新增 `handlePublish` 方法:发布公益性岗位,带确认弹窗 - 新增 `handleUnpublish` 方法:取消发布公益性岗位,带确认弹窗 - 新增 `handleUpdatePostStatus` 方法:更新岗位状态,带确认弹窗 - `getTableAction` 方法改造: - 编辑按钮增加 `ifShow: record.publishStatus !== '1'`(已发布不显示编辑) - 新增发布按钮(未发布时显示) - 新增取消发布按钮(已发布时显示) - `getDropDownAction` 方法改造: - 新增"设为已满"按钮(已发布且招聘中时显示) - 新增"设为已关闭"按钮(已发布且非已关闭时显示) - 新增"恢复招聘"按钮(已发布且非招聘中时显示) - 删除按钮增加 `ifShow: record.publishStatus !== '1'`(已发布不显示删除) --- ## 4. WelfarePostForm.vue **文件路径:** `src/views/welfarepost/components/WelfarePostForm.vue` **修改内容:** - `validatorRules` 从空对象改为包含 8 个必填字段的验证规则: - `companyName` — 用人单位名称必填 - `postName` — 岗位名称必填 - `postType` — 岗位类型必填 - `workLocation` — 工作地点必填 - `recruitCount` — 招聘人数必填 - `subsidyStandard` — 补贴标准必填 - `applyMethod` — 报名方式必填 - `applyDeadline` — 报名截止日期必填 - `submitForm` 方法修改: - 增加 `publishNow` 参数(默认为 false) - `let model = formData` 改为 `let model = { ...formData }`(避免直接修改响应式对象) - 当 `publishNow` 为 true 时,设置 `model.publishStatus = '1'` 和 `model.postStatus = '招聘中'` --- ## 5. WelfarePostModal.vue **文件路径:** `src/views/welfarepost/components/WelfarePostModal.vue` **修改内容:** - footer 模板中增加"保存并发布"按钮,位于"取消"和"确认"按钮之间 - 新增 `handleSaveAndPublish` 方法,调用 `registerForm.value.submitForm(true)` 实现保存并发布 --- ## 注意事项 1. 所有修改参考见习岗位管理(InternshipPost)的编码风格 2. 所有注释使用中文 3. 不影响原有业务逻辑,最小化修改 4. 不使用硬编码