修改记录-公益性岗位管理模块完善.md 4.2 KB

公益性岗位管理模块前端修改记录

修改日期: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. 不使用硬编码