workStudy.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. // 勤工俭学API接口
  2. import { request } from '@/common/request.js';
  3. /**
  4. * 学生查看可申请的岗位列表
  5. * @param {Object} params 查询参数
  6. */
  7. export const getAvailablePositions = (params = {}) => {
  8. return request({
  9. url: '/jcbt/workStudyPosition/visibleList',
  10. method: 'GET',
  11. params: {
  12. ...params,
  13. excludeApplied: true // 排除已申请的岗位
  14. }
  15. });
  16. };
  17. /**
  18. * 获取岗位详情及申请状态
  19. * @param {String|Number} positionId 岗位ID
  20. */
  21. export const getPositionWithApplicationStatus = (positionId) => {
  22. return request({
  23. url: `/jcbt/workStudyPosition/${positionId}/withApplicationStatus`,
  24. method: 'GET'
  25. });
  26. };
  27. /**
  28. * 查看我的申请列表
  29. * @param {Object} params 查询参数
  30. */
  31. export const getMyApplications = (params = {}) => {
  32. return request({
  33. url: '/jcbt/workStudyApplication/myList',
  34. method: 'GET',
  35. params: params
  36. });
  37. };
  38. /**
  39. * 新增申请
  40. * @param {Object} data 申请数据
  41. */
  42. export const addApplication = (data) => {
  43. return request({
  44. url: '/jcbt/workStudyApplication',
  45. method: 'POST',
  46. data: data
  47. });
  48. };
  49. /**
  50. * 提交申请
  51. * @param {String|Number} applicationId 申请ID
  52. */
  53. export const submitApplication = (applicationId) => {
  54. return request({
  55. url: `/jcbt/workStudyApplication/submit/${applicationId}`,
  56. method: 'POST'
  57. });
  58. };
  59. /**
  60. * 撤销申请
  61. * @param {String|Number} applicationId 申请ID
  62. */
  63. export const cancelApplication = (applicationId) => {
  64. return request({
  65. url: `/jcbt/workStudyApplication/cancel/${applicationId}`,
  66. method: 'POST'
  67. });
  68. };
  69. /**
  70. * 获取当前学生信息
  71. */
  72. export const getCurrentStudentInfo = () => {
  73. return request({
  74. url: '/jcbt/workStudyApplication/currentStudentInfo',
  75. method: 'GET'
  76. });
  77. };
  78. /**
  79. * 获取申请选项数据
  80. */
  81. export const getApplicationOptions = () => {
  82. return request({
  83. url: '/jcbt/workStudyApplication/options',
  84. method: 'GET'
  85. });
  86. };
  87. /**
  88. * 检查重复申请
  89. * @param {String} studentNumber 学号
  90. * @param {Number} positionId 岗位ID
  91. */
  92. export const checkDuplicateApplication = (studentNumber, positionId) => {
  93. return request({
  94. url: '/jcbt/workStudyApplication/checkDuplicate',
  95. method: 'GET',
  96. params: {
  97. studentNumber: studentNumber,
  98. positionId: positionId
  99. }
  100. });
  101. };
  102. /**
  103. * 查询申请详情
  104. * @param {String|Number} applicationId 申请ID
  105. */
  106. export const getApplicationDetail = (applicationId) => {
  107. return request({
  108. url: `/jcbt/workStudyApplication/detail/${applicationId}`,
  109. method: 'GET'
  110. });
  111. };
  112. /**
  113. * 修改申请
  114. * @param {Object} data 申请数据
  115. */
  116. export const updateApplication = (data) => {
  117. return request({
  118. url: '/jcbt/workStudyApplication',
  119. method: 'PUT',
  120. data: data
  121. });
  122. };
  123. /**
  124. * 获取学生已申请岗位状态列表
  125. */
  126. export const getStudentApplicationStatusList = () => {
  127. return request({
  128. url: '/jcbt/workStudyApplication/student/applicationStatus',
  129. method: 'GET'
  130. });
  131. };