完善公益性岗位管理模块的前端代码,参考见习岗位管理(InternshipPost)的编码风格,增加发布/取消发布、岗位状态管理、表单验证、保存并发布等功能。
文件路径: src/views/welfarepost/WelfarePost.api.ts
修改内容:
publish = '/welfarePost/publish' — 发布公益性岗位unpublish = '/welfarePost/unpublish' — 取消发布公益性岗位updatePostStatus = '/welfarePost/updatePostStatus' — 更新岗位状态publish(params) — 发布公益性岗位,使用 PUT 请求unpublish(params) — 取消发布公益性岗位,使用 PUT 请求updatePostStatus(params) — 更新岗位状态,使用 PUT 请求文件路径: src/views/welfarepost/WelfarePost.data.ts
修改内容:
publishStatusMap 发布状态映射:{ '0': '未发布', '1': '已发布' }postStatusMap 岗位状态映射:{ '招聘中': '招聘中', '已满': '已满', '已关闭': '已关闭' }postType 列增加 customRender: ({ text }) => text || '-'publishStatus 列增加 customRender: ({ text }) => publishStatusMap[text] || text || '-'postStatus 列增加 customRender: ({ text }) => postStatusMap[text] || text || '-'postType 增加 dictCode: 'welfare_post_type'publishStatus 增加 dictCode: 'publish_status'postStatus 增加 dictCode: 'welfare_post_status'文件路径: src/views/welfarepost/WelfarePostList.vue
修改内容:
publish, unpublish, updatePostStatus 的导入useMessage 解构中增加 createConfirm120 调整为 250handleDelete 方法增加发布状态判断:已发布的岗位不允许删除handlePublish 方法:发布公益性岗位,带确认弹窗handleUnpublish 方法:取消发布公益性岗位,带确认弹窗handleUpdatePostStatus 方法:更新岗位状态,带确认弹窗getTableAction 方法改造:
ifShow: record.publishStatus !== '1'(已发布不显示编辑)getDropDownAction 方法改造:
ifShow: record.publishStatus !== '1'(已发布不显示删除)文件路径: 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 = '招聘中'文件路径: src/views/welfarepost/components/WelfarePostModal.vue
修改内容:
handleSaveAndPublish 方法,调用 registerForm.value.submitForm(true) 实现保存并发布