useStartClass.ts 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. import { getCourseScheduleDetail_gyt } from "@/api/curriculum.api"
  2. import { getRecentCourseSchedule_gym } from "@/api/homePage.api"
  3. import { httpAjaxLoadingErrMsg } from "@/plugin/httpAjax"
  4. import useDialogConfirm from "@/hooks/useDialogConfirm"
  5. import { format } from "@/libs/tools"
  6. import router from "@/router"
  7. import { ElMessage } from "element-plus"
  8. /* 管乐迷 开始上课 */
  9. export function handleStartClass_gym(id: string) {
  10. httpAjaxLoadingErrMsg(getRecentCourseSchedule_gym, id).then(res => {
  11. if (res.code === 200) {
  12. const { signInStatusEnum, isCallNames, coursewareDetailId, startClassTime, endClassTime, status, coursewareEnable } = res.data
  13. if (status === "OVER") {
  14. useDialogConfirm({
  15. headImg: require("@/img/curriculum/ts4.png"),
  16. text: `该课程已结束`,
  17. btnShow: [true]
  18. })
  19. return
  20. }
  21. if (signInStatusEnum === 3) {
  22. useDialogConfirm({
  23. headImg: require("@/img/curriculum/ts2.png"),
  24. text: `您当前${format(startClassTime, "hh:ii")}-${format(endClassTime, "hh:ii")}的课程暂未签到,为避免考勤异常,请到APP进行签到。`,
  25. btnShow: [true]
  26. })
  27. return
  28. }
  29. if (!isCallNames) {
  30. useDialogConfirm({
  31. headImg: require("@/img/curriculum/ts1.png"),
  32. text: `您当前${format(startClassTime, "hh:ii")}-${format(endClassTime, "hh:ii")}的课程暂未点名,请到APP进行点名。`,
  33. btnShow: [true]
  34. })
  35. return
  36. }
  37. if (!coursewareDetailId) {
  38. useDialogConfirm({
  39. headImg: require("@/img/curriculum/ts3.png"),
  40. text: `该课程未配置课件,请配置课件。`,
  41. btnShow: [true]
  42. })
  43. return
  44. }
  45. if (!coursewareEnable) {
  46. useDialogConfirm({
  47. headImg: require("@/img/curriculum/ts4.png"),
  48. text: `该资源已失效`,
  49. btnShow: [true]
  50. })
  51. return
  52. }
  53. handlePaly(coursewareDetailId, id)
  54. }
  55. })
  56. }
  57. // 管乐迷是否为线上课
  58. export function isONLINE_gym(teachMode: string) {
  59. if (teachMode === "ONLINE") {
  60. useDialogConfirm({
  61. headImg: require("@/img/curriculum/ts4.png"),
  62. text: `线上课请在管乐迷老师端完成教学。`,
  63. btnShow: [true]
  64. })
  65. return true
  66. }
  67. return false
  68. }
  69. /* 管乐团 开始上课 */
  70. export function handleStartClass_gyt(id: string) {
  71. httpAjaxLoadingErrMsg(getCourseScheduleDetail_gyt, id).then(res => {
  72. if (res.code === 200) {
  73. const { signIn, rollCall, lessonCoursewareDetailId, startTime, endTime, status, needSignIn, applyStatus } = res.data
  74. if (status === "COMPLETE") {
  75. useDialogConfirm({
  76. headImg: require("@/img/curriculum/ts4.png"),
  77. text: `该课程已结束`,
  78. btnShow: [true]
  79. })
  80. return
  81. }
  82. if (!signIn && needSignIn) {
  83. useDialogConfirm({
  84. headImg: require("@/img/curriculum/ts2.png"),
  85. text: `您当前${format(startTime, "hh:ii")}-${format(endTime, "hh:ii")}的课程暂未签到,为避免考勤异常,请到APP进行签到。`,
  86. btnShow: [true]
  87. })
  88. return
  89. }
  90. if (!rollCall) {
  91. useDialogConfirm({
  92. headImg: require("@/img/curriculum/ts1.png"),
  93. text: `您当前${format(startTime, "hh:ii")}-${format(endTime, "hh:ii")}的课程暂未点名,请到APP进行点名。`,
  94. btnShow: [true]
  95. })
  96. return
  97. }
  98. if (!lessonCoursewareDetailId) {
  99. useDialogConfirm({
  100. headImg: require("@/img/curriculum/ts3.png"),
  101. text: `该课程未配置课件,请配置课件。`,
  102. btnShow: [true]
  103. })
  104. return
  105. }
  106. if (!applyStatus) {
  107. useDialogConfirm({
  108. headImg: require("@/img/curriculum/ts4.png"),
  109. text: `该资源已失效`,
  110. btnShow: [true]
  111. })
  112. return
  113. }
  114. handlePaly(lessonCoursewareDetailId, id)
  115. }
  116. })
  117. }
  118. function handlePaly(coursewareDetailId: string, coursewareId: string) {
  119. const url = router.resolve({
  120. name: "coursewarePlay",
  121. params: { id: coursewareDetailId },
  122. query: {
  123. modeId: coursewareId
  124. }
  125. }).href
  126. window.open(url, "_blank")
  127. }