papers.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  1. import request from '@/utils/request'
  2. /// 科目列表
  3. export function getPaperSubjects(query) {
  4. // 2025.10.16 科目更新和组卷类型有关系
  5. // query: {buildType}
  6. return request({
  7. url: '/learn/teaching/subjects',
  8. method: 'get',
  9. params: query
  10. })
  11. }
  12. /// 科目列表
  13. export function getPaperKnowledges(query) {
  14. // 2025.10.16 科目更新和组卷类型有关系
  15. // query: {
  16. // 定向条件:universityId,majorId,majorPlanId
  17. // 全量条件:examType,subjectId
  18. // }
  19. return request({
  20. url: '/learn/teaching/knowledges',
  21. method: 'get',
  22. params: query
  23. })
  24. }
  25. /// 省份列表
  26. export function getPaperProvinces(query) {
  27. return request({
  28. url: '/learn/teaching/provinces',
  29. method: 'get',
  30. params: query
  31. })
  32. }
  33. /// 考生类型
  34. export function getPaperExamTypes(query) {
  35. // query: {} // 2025.10.16 科目更新和组卷类型有关系,应该不需要参数了
  36. return request({
  37. url: '/learn/teaching/examTypes',
  38. method: 'get',
  39. params: {location: '湖南', ...query}
  40. })
  41. }
  42. /// 院校
  43. export function getPaperUniversities(query) {
  44. // query: {batchId}
  45. return request({
  46. url: '/learn/teaching/universities',
  47. method: 'get',
  48. params: query
  49. })
  50. }
  51. /// 专业组
  52. export function getPaperMajorGroups(query) {
  53. // query: {location, examType, batchId, universityId}
  54. return request({
  55. url: '/learn/teaching/majorGroups',
  56. method: 'get',
  57. params: query
  58. })
  59. }
  60. /// 专业组
  61. export function getPaperMajors(query) {
  62. // query: {location, examType, batchId, universityId}
  63. return request({
  64. url: '/learn/teaching/majors',
  65. method: 'get',
  66. params: query
  67. })
  68. }
  69. /// 试卷批次
  70. export function getPaperBatches() {
  71. // TODO: remove test code
  72. return Promise.resolve({
  73. code: 200,
  74. data: [
  75. {name: '第二批', batchId: 2},
  76. {name: '第一批', batchId: 1}
  77. ]
  78. })
  79. return request({
  80. url: '/learn/test/list',
  81. method: 'get'
  82. })
  83. }
  84. /// 试卷题型
  85. export function getPaperQuestionTypes(query) {
  86. // query: {subjectId, majorPlanId}
  87. return request({
  88. url: '/learn/teaching/questionTypes',
  89. method: 'get',
  90. params: query
  91. })
  92. }
  93. // 试卷试题
  94. export function getPaperQuestions(query) {
  95. // query: {...}
  96. return request({
  97. url: '/learn/questions/list',
  98. method: 'get',
  99. params: query
  100. })
  101. }
  102. // 班级
  103. export function getPaperClasses(query) {
  104. return request({
  105. url: '/learn/teaching/classes',
  106. method: 'get',
  107. params: query
  108. })
  109. }
  110. // 学生
  111. export function getPaperStudents(query) {
  112. return request({
  113. url: '/learn/teaching/students',
  114. method: 'get',
  115. params: query
  116. })
  117. }
  118. // 自动组卷
  119. export function buildPaperAuto(data) {
  120. return request({
  121. url: '/learn/teaching/build/auto',
  122. method: 'post',
  123. data
  124. })
  125. }
  126. // 手工组卷
  127. export function buildPaperManual(data) {
  128. return request({
  129. url: '/learn/teaching/build/manual',
  130. method: 'post',
  131. data
  132. })
  133. }
  134. // 发布试卷
  135. export function publishPaper(data) {
  136. return request({
  137. url: '/learn/teaching/publish/paper',
  138. method: 'post',
  139. data
  140. })
  141. }
  142. // 批量发布试卷
  143. export function publishPapers(data) {
  144. return request({
  145. url: '/learn/teaching/publish/papers',
  146. method: 'post',
  147. data
  148. })
  149. }
  150. export function getPaperList(query) {
  151. return request({
  152. url: '/learn/teaching/papers',
  153. method: 'get',
  154. params: query
  155. })
  156. }
  157. export function getPaperDetail(query) {
  158. return request({
  159. url: '/learn/teaching/paper',
  160. method: 'get',
  161. params: query
  162. })
  163. }
  164. export function getPaperClassStatistic(query) {
  165. // TODO: remove test code
  166. return Promise.resolve({
  167. code: 200,
  168. data: [
  169. {classId: 0, className: '2501班', total: 50, unexact: 10, exact: 40, unsend: 10, send: 20, unfinish: 5, finish: 15},
  170. {classId: 0, className: '2502班', total: 50, unexact: 10, exact: 40, unsend: 10, send: 20, unfinish: 5, finish: 15},
  171. {classId: 0, className: '2503班', total: 50, unexact: 10, exact: 40, unsend: 10, send: 20, unfinish: 5, finish: 15},
  172. {classId: 0, className: '2504班', total: 50, unexact: 10, exact: 40, unsend: 10, send: 20, unfinish: 5, finish: 15}
  173. ]
  174. })
  175. // 2025.10.16 新增班级统计,用于组卷生成
  176. const queryDemo = {
  177. buildType: '', // 试卷构建类型,定义枚举?
  178. batchId: '', // 批次
  179. examType: '',
  180. subjectId: '',
  181. universityId: '',
  182. majorGroup: '',
  183. majorPlanId: ''
  184. }
  185. const responseDemo = {
  186. classId: '',
  187. className: '',
  188. total: '',
  189. built: '',
  190. sent: '',
  191. finished: '',
  192. exact: '',
  193. exactNew: '',
  194. lastBuiltTime: '',
  195. lastSentTime: ''
  196. }
  197. return request({
  198. url: '/learn/teaching/classStatistic',
  199. method: 'get',
  200. params: query
  201. })
  202. }
  203. export function buildPaperExactIntelligent(data) {
  204. // {buildType, batchId, classIds}
  205. return request({
  206. url: '/learn/teaching/build/exactIntelligent',
  207. method: 'post',
  208. data
  209. })
  210. }
  211. export function buildPaperFullIntelligent(data) {
  212. // {buildType, batchId, examType, subjectId, classIds}
  213. return request({
  214. url: '/learn/teaching/build/fullIntelligent',
  215. method: 'post',
  216. data
  217. })
  218. }
  219. export function buildPaperExactHand(data) {
  220. // {buildType, batchId, universityId, majorId, majorPlanId, classIds, questions}
  221. return request({
  222. url: '/learn/teaching/build/exactHand',
  223. method: 'post',
  224. data
  225. })
  226. }
  227. export function buildPaperFullHand(data) {
  228. // {buildType, batchId, examType, subjectId, questions}
  229. return request({
  230. url: '/learn/teaching/build/fullHand',
  231. method: 'post',
  232. data
  233. })
  234. }