assignment.js 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. import request from "@/util/request";
  2. import { ASSIGNMENT_MODULE } from "./_prefix";
  3. /* 代码作业*/
  4. /**
  5. * 老师新建代码作业
  6. * @param type
  7. * @param name
  8. * @param description
  9. * @param startAt
  10. * @param endAt
  11. * @param problem
  12. * @param courseId
  13. * @returns {Promise<{data:CodeSerializerType}>}
  14. */
  15. export const postCodeAssignment = (
  16. { type, name, description, startAt, endAt, problem },
  17. courseId
  18. ) => {
  19. return request(`${ASSIGNMENT_MODULE}/course/${courseId}/code`, {
  20. method: "POST",
  21. body: {
  22. type: type || null,
  23. name: name || null,
  24. description: description || null,
  25. startAt: startAt || null,
  26. endAt: endAt || null,
  27. problem: problem || null
  28. }
  29. });
  30. };
  31. /**
  32. * 老师更新代码作业信息
  33. * @param name
  34. * @param description
  35. * @param startAt
  36. * @param endAt
  37. * @param codeId
  38. * @returns {Promise<{data:CodeSerializerType}>}
  39. */
  40. export const putCodeAssignment = (
  41. { name, description, startAt, endAt },
  42. codeId
  43. ) => {
  44. return request(`${ASSIGNMENT_MODULE}/code/${codeId}`, {
  45. method: "PUT",
  46. body: {
  47. name: name || null,
  48. description: description || null,
  49. startAt: startAt || null,
  50. endAt: endAt || null
  51. }
  52. });
  53. };
  54. /**
  55. * 老师删除代码作业
  56. * @param codeId
  57. * @returns {Promise<{}>}
  58. */
  59. export const delCodeAssignment = codeId => {
  60. return request(`${ASSIGNMENT_MODULE}/code/${codeId}`, { method: "DELETE" });
  61. };
  62. /**
  63. * 老师查看代码作业列表
  64. * @param courseId
  65. * @returns {Promise<{data:CodeSerializerType[]}>}
  66. */
  67. export const getCodeAssignmentListByTeacher = courseId => {
  68. return request(`${ASSIGNMENT_MODULE}/teacher/course/${courseId}/code`);
  69. };
  70. /**
  71. * 老师查看单个代码作业
  72. * @param codeId
  73. * @returns {Promise<{data:CodeSerializerType}>}
  74. */
  75. export const getCodeAssignmentByTeacher = codeId => {
  76. return request(`${ASSIGNMENT_MODULE}/teacher/code/${codeId}`);
  77. };
  78. /**
  79. * 学生查看代码作业列表
  80. * @param courseId
  81. * @returns {Promise<{data:CodeSerializerType[]}>}
  82. */
  83. export const getCodeAssignmentListByStu = courseId => {
  84. return request(`${ASSIGNMENT_MODULE}/student/course/${courseId}/code`);
  85. };
  86. /**
  87. * 学生查看单个代码作业
  88. * @param codeId
  89. * @returns {Promise<{data:CodeSerializerType}>}
  90. */
  91. export const getCodeAssignmentByStu = codeId => {
  92. return request(`${ASSIGNMENT_MODULE}/student/code/${codeId}`);
  93. };
  94. /**
  95. * 学生查看单个代码作业下的成绩
  96. * @param codeId
  97. * @returns {Promise<{data:CodeResultSerializerType}>}
  98. */
  99. export const getCodeResultByCode = codeId => {
  100. return request(`${ASSIGNMENT_MODULE}/student/code/${codeId}/result`);
  101. };
  102. /**
  103. * 老师查看单个代码作业下所有已提交组的过程统计信息
  104. * @param codeId
  105. * @returns {Promise<{data:CodeProcedureSerializerType[]}>}
  106. */
  107. export const getCodeProcedureListByCodeId = codeId => {
  108. return request(
  109. `${ASSIGNMENT_MODULE}/teacher/code/${codeId}/submitted/procedure`
  110. );
  111. };
  112. /**
  113. * 老师查看单个代码作业下所有未提交组的信息
  114. * @param codeId
  115. * @returns {Promise<{data:GroupSerializerType[]}>}
  116. */
  117. export const getUnsubmittedCodeGroupsList = codeId => {
  118. return request(
  119. `${ASSIGNMENT_MODULE}/teacher/code/${codeId}/unsubmitted/groups`
  120. );
  121. };
  122. /* 文档作业*/
  123. /**
  124. * 老师新建文档作业
  125. * @param type
  126. * @param name
  127. * @param description
  128. * @param startAt
  129. * @param endAt
  130. * @param problem
  131. * @param courseId
  132. * @returns {Promise<{data:DocumentSerializerType}>}
  133. */
  134. export const postDocAssignment = (
  135. { type, name, description, startAt, endAt, problem },
  136. courseId
  137. ) => {
  138. return request(`${ASSIGNMENT_MODULE}/course/${courseId}/document`, {
  139. method: "POST",
  140. body: {
  141. type: type || null,
  142. name: name || null,
  143. description: description || null,
  144. startAt: startAt || null,
  145. endAt: endAt || null,
  146. problem: problem || null
  147. }
  148. });
  149. };
  150. /**
  151. * 老师更新文档作业信息
  152. * @param name
  153. * @param description
  154. * @param startAt
  155. * @param endAt
  156. * @param documentId
  157. * @returns {Promise<{data:DocumentSerializerType}>}
  158. */
  159. export const putDocAssignment = (
  160. { name, description, startAt, endAt },
  161. documentId
  162. ) => {
  163. return request(`${ASSIGNMENT_MODULE}/document/${documentId}`, {
  164. method: "PUT",
  165. body: {
  166. name: name || null,
  167. description: description || null,
  168. startAt: startAt || null,
  169. endAt: endAt || null
  170. }
  171. });
  172. };
  173. /**
  174. * 老师删除文档作业
  175. * @param documentId
  176. * @returns {Promise<{}>}
  177. */
  178. export const delDocAssignment = documentId => {
  179. return request(`${ASSIGNMENT_MODULE}/document/${documentId}`, {
  180. method: "DELETE"
  181. });
  182. };
  183. /**
  184. * 老师查看文档作业列表
  185. * @param courseId
  186. * @returns {Promise<{data:DocumentSerializerType[]}>}
  187. */
  188. export const getDocAssignmentListTeacherByCrs = courseId => {
  189. return request(`${ASSIGNMENT_MODULE}/teacher/course/${courseId}/document`);
  190. };
  191. /**
  192. * 老师查看单个文档作业
  193. * @param documentId
  194. * @returns {Promise<{data:DocumentSerializerType}>}
  195. */
  196. export const getDocAssignmentTeacherByCrs = documentId => {
  197. return request(`${ASSIGNMENT_MODULE}/teacher/document/${documentId}`);
  198. };
  199. /**
  200. * 学生查看文档作业列表
  201. * @param courseId
  202. * @returns {Promise<{data:DocumentSerializerType[]}>}
  203. */
  204. export const getDocAssignmentListByCrs = courseId => {
  205. return request(`${ASSIGNMENT_MODULE}/student/course/${courseId}/document`);
  206. };
  207. /**
  208. * 学生查看单个文档作业信息
  209. * @param documentId
  210. * @returns {Promise<{data:DocumentSerializerType}>}
  211. */
  212. export const getDocAssignmentDetailByDocuId = documentId => {
  213. return request(`${ASSIGNMENT_MODULE}/student/document/${documentId}`);
  214. };
  215. /**
  216. * 学生查看单个文档作业下的成绩
  217. * @param documentId
  218. * @returns {Promise<{data:DocumentResultSerializerType}>}
  219. */
  220. export const getDocResultById = documentId => {
  221. return request(`${ASSIGNMENT_MODULE}/student/document/${documentId}/result`);
  222. };
  223. /**
  224. * 老师查看文档作业的成绩列表(已提交小组)
  225. * @param documentId
  226. * @returns {Promise<{data:DocumentResultSerializerType[]}>}
  227. */
  228. export const getSubmittedDocResultListByDocId = documentId => {
  229. return request(
  230. `${ASSIGNMENT_MODULE}/teacher/document/${documentId}/submitted/result`
  231. );
  232. };
  233. /**
  234. * 老师查看未提交文档作业小组列表
  235. * @param documentId
  236. * @returns {Promise<{data:GroupSerializerType[]}>}
  237. */
  238. export const getUnsubmittedDocGroupsByDocId = documentId => {
  239. return request(
  240. `${ASSIGNMENT_MODULE}/teacher/document/${documentId}/unsubmitted/groups`
  241. );
  242. };
  243. /**
  244. * 老师查看小组文档作业的内容
  245. * @param documentId
  246. * @return {Promise<data:DocumentContentSerializerType>}
  247. */
  248. export const getDocContentByDocId = documentResultId => {
  249. return request(
  250. `${ASSIGNMENT_MODULE}/teacher/document/result/${documentResultId}/content`
  251. );
  252. };