vo.ts 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. import type {IUser} from "@/types/user";
  2. import {dayjs} from "element-plus";
  3. export interface engagementVO {
  4. "id": number,
  5. "assignmentId": number,
  6. "studentId": number,
  7. "score": number,
  8. "remark": string,
  9. "fileUrl": string,
  10. "version": number,
  11. "status": string,
  12. "fileKey": string,
  13. "quillContent": string,
  14. "textContent": string,
  15. "htmlContent": string,
  16. }
  17. export interface engagementDetailVO {
  18. "id": number,
  19. "assignmentVO": IAssignment,
  20. "userVO": IUser,
  21. "score": number|null,
  22. "remark": string|null,
  23. "fileUrl": string,
  24. "version": number,
  25. "status": string,
  26. "fileKey": string,
  27. "quillContent": string,
  28. "textContent": string,
  29. "htmlContent": string,
  30. }
  31. export interface IAssignment {
  32. assignmentId: number;
  33. assignmentName: string;
  34. description: string;
  35. type:string;
  36. descriptionFile: string|null; // 作业要求,Word/Pdf文件
  37. attachments: string[]|null; // 作业附件
  38. teacherId: number; // 发布作业的老师的Id
  39. teacherName: string; // 发布作业的老师的姓名
  40. courseId: number; // 哪个课程下的assignment
  41. startTime: string;
  42. endTime: string;
  43. createTime: string;
  44. status: string;
  45. }
  46. export interface AssignmentVO {
  47. assignmentId: number;
  48. assignmentName: string;
  49. description: string;
  50. type:string;
  51. descriptionFile: string|null; // 作业要求,Word/Pdf文件
  52. attachments: string[]|null; // 作业附件
  53. teacherId: number; // 发布作业的老师的Id
  54. courseId: number; // 哪个课程下的assignment
  55. startTime: string;
  56. endTime: string;
  57. createTime: string;
  58. status: string;
  59. }
  60. export interface IAssignmentTableColumn {
  61. title: string;
  62. dataIndex: 'desc' |'type' | 'publisher' | 'startDate' | 'endDate' | 'details' | 'writing' | 'assignmentId' | 'teacherId';
  63. key: 'desc' | 'type' | 'publisher' | 'startDate' | 'endDate' | 'details' | 'writing' | 'assignmentId' | 'teacherId';
  64. width: number
  65. }
  66. export interface IAssignmentTableItem {
  67. desc: string;
  68. type:string;
  69. publisher: string;
  70. startDate: string;
  71. endDate: string;
  72. assignmentId: number;
  73. descriptionFile?: string;
  74. teacherId: string
  75. }
  76. export interface ITranslationVO {
  77. queryText: string;
  78. queryResult: string;
  79. targetLanguage: string; // 目标语言类型
  80. queryTime: string;
  81. }
  82. export interface CourseVO {
  83. courseId: number;
  84. courseName: string;
  85. teacherIds: number[];
  86. teacherNames: string[];
  87. courseImages: string[];
  88. targetGrade: string;
  89. startTime: string;
  90. endTime: string;
  91. createTime: string;
  92. description: string;
  93. }
  94. export interface CourseDetailVO {
  95. courseId: number;
  96. courseName: string;
  97. teacherIds: number[];
  98. teacherNames: string[];
  99. courseImages: string[];
  100. targetGrade: string;
  101. startTime: string;
  102. endTime: string;
  103. createTime: string;
  104. description: string;
  105. }
  106. // 新增:学生作业状态接口
  107. export interface StudentAssignmentStatus {
  108. assignmentId: number;
  109. assignmentName: string;
  110. status: 'CORRECTED' | 'SUBMITTED' | 'NOT_SUBMITTED'|'LATE_SUBMITTED_CORRECTED'|'LATE_SUBMITTED';
  111. score: number;
  112. }
  113. // 新增:学生课程作业响应接口
  114. export interface StudentCourseAssignmentsResponse {
  115. studentId: number;
  116. officialNumber: string;
  117. stuName: string;
  118. assignments: StudentAssignmentStatus[];
  119. }
  120. export interface ClassVO {
  121. classId: number;
  122. className: string;
  123. classTime: string;
  124. teacherId: number;
  125. courseId: number;
  126. stuNumber: number;
  127. classCode: number;
  128. }
  129. export interface ClassStudentVO {
  130. officialNumber: number;
  131. stuName: string;
  132. stateCode: number;
  133. stateDesc: string;
  134. studentId: number;
  135. }