Inspect.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. <template>
  2. <div class="my-container">
  3. <mark-header />
  4. <!-- <div class="tw-flex tw-gap-1">
  5. <mark-history />
  6. <mark-body />
  7. <mark-board-track v-if="showMarkBoardTrack" @submit="saveTaskToServer" />
  8. <mark-board-key-board
  9. v-if="showMarkBoardKeyBoard"
  10. @submit="saveTaskToServer"
  11. />
  12. <mark-board-mouse v-if="showMarkBoardMouse" @submit="saveTaskToServer" />
  13. </div> -->
  14. </div>
  15. </template>
  16. <script lang="ts">
  17. import { computed, defineComponent, onMounted, watch } from "vue";
  18. import { getSingleStudentTask } from "@/api/inspectPage";
  19. import { store } from "./store";
  20. import MarkHeader from "./MarkHeader.vue";
  21. // import MarkBody from "./MarkBody.vue";
  22. import { useTimers } from "@/setups/useTimers";
  23. // import MarkHistory from "./MarkHistory.vue";
  24. export default defineComponent({
  25. name: "Inspect",
  26. components: {
  27. MarkHeader,
  28. // MarkBody,
  29. // MarkHistory,
  30. },
  31. setup: () => {
  32. // const { addInterval } = useTimers();
  33. // async function updateMarkTask() {
  34. // const settingRes = await clearMarkTask();
  35. // }
  36. // async function updateSetting() {
  37. // const settingRes = await getSetting();
  38. // // settingRes.data.uiSetting["answer.paper.scale"] ||= 1;
  39. // if (isEmpty(settingRes.data.uiSetting)) {
  40. // settingRes.data.uiSetting = {
  41. // "answer.paper.scale": 1,
  42. // "score.board.collapse": false,
  43. // "normal.mode": "keyboard",
  44. // } as Setting["uiSetting"];
  45. // }
  46. // store.setting = settingRes.data;
  47. // }
  48. // async function updateStatus() {
  49. // const res = await getStatus();
  50. // store.status = res.data;
  51. // }
  52. // async function updateGroups() {
  53. // const res = await getGroup();
  54. // store.groups = res.data;
  55. // }
  56. // async function updateTask() {
  57. // const res = await getTask();
  58. // if (res.data.libraryId) {
  59. // store.tasks.push(res.data);
  60. // store.currentTask = store.tasks[0];
  61. // }
  62. // }
  63. // // 5秒更新一次tasks
  64. // addInterval(() => {
  65. // // console.log("get task", store.tasks);
  66. // if (store.tasks.length < 3) {
  67. // updateTask();
  68. // }
  69. // }, 5 * 1000);
  70. // // TODO: 后续改掉,不需要
  71. // addInterval(() => {
  72. // updateStatus();
  73. // }, 30 * 1000);
  74. // onMounted(async () => {
  75. // await updateMarkTask();
  76. // updateSetting();
  77. // updateStatus();
  78. // updateGroups();
  79. // updateTask();
  80. // });
  81. // watch(
  82. // () => [store.setting.uiSetting, store.setting.mode],
  83. // () => {
  84. // updateUISetting(store.setting.mode, store.setting.uiSetting);
  85. // },
  86. // { deep: true }
  87. // );
  88. // const showMarkBoardTrack = computed(() => {
  89. // return store.setting.mode === ModeEnum.TRACK;
  90. // });
  91. // const showMarkBoardKeyBoard = computed(() => {
  92. // return (
  93. // store.setting.mode === ModeEnum.COMMON &&
  94. // store.setting.uiSetting["normal.mode"] === "keyboard"
  95. // );
  96. // });
  97. // const showMarkBoardMouse = computed(() => {
  98. // return (
  99. // store.setting.mode === ModeEnum.COMMON &&
  100. // store.setting.uiSetting["normal.mode"] === "mouse"
  101. // );
  102. // });
  103. // const saveTaskToServer = async () => {
  104. // console.log("save task to server");
  105. // const res = (await saveTask()) as any;
  106. // updateStatus();
  107. // if (res.data.success && store.currentTask) {
  108. // let { libraryId, studentId } = store.currentTask;
  109. // const i = store.markResults.findIndex(
  110. // (s) => s.libraryId === libraryId && s.studentId === studentId
  111. // );
  112. // store.markResults.splice(i, 1);
  113. // store.currentTask = undefined;
  114. // store.tasks.shift();
  115. // } else {
  116. // console.log(res.data.message);
  117. // }
  118. // };
  119. async function getSingleStuTask() {
  120. return getSingleStudentTask("1581");
  121. }
  122. console.log(getSingleStuTask());
  123. return {
  124. store,
  125. // saveTaskToServer,
  126. // showMarkBoardTrack,
  127. // showMarkBoardKeyBoard,
  128. // showMarkBoardMouse,
  129. };
  130. },
  131. });
  132. </script>
  133. <style scoped>
  134. .my-container {
  135. width: 100%;
  136. }
  137. a {
  138. color: #42b983;
  139. }
  140. label {
  141. margin: 0 0.5em;
  142. font-weight: bold;
  143. }
  144. code {
  145. background-color: #eee;
  146. padding: 2px 4px;
  147. border-radius: 4px;
  148. color: #304455;
  149. }
  150. </style>