Browse Source

fix: 补充新的消息类型

ChenYangfan 6 years ago
parent
commit
dc972877c5
42 changed files with 90 additions and 72 deletions
  1. 1 1
      src/App.vue
  2. 2 2
      src/components/Cards/QuizCard.vue
  3. 1 1
      src/components/Cards/SlideCard.vue
  4. 1 1
      src/components/Details/SlideDetail.vue
  5. 1 1
      src/components/Discussion/CComment.vue
  6. 12 6
      src/components/DiscussionTab/CMessage.vue
  7. 1 1
      src/components/QuestionKindBar.vue
  8. 16 0
      src/enums/message-type.js
  9. 0 0
      src/enums/question-kind.js
  10. 0 0
      src/enums/quiz-state.js
  11. 0 0
      src/enums/quiz-type.js
  12. 1 1
      src/enums/slide-state-translation.js
  13. 0 0
      src/enums/slide-state.js
  14. 0 0
      src/enums/user-state.js
  15. 0 0
      src/enums/user-type.js
  16. 2 2
      src/server/admin.js
  17. 1 1
      src/server/question.js
  18. 1 1
      src/server/user.js
  19. 0 7
      src/utils/message-type-map.js
  20. 2 2
      src/views/admin/Admin.vue
  21. 2 2
      src/views/admin/CheckingUsersTable.vue
  22. 2 2
      src/views/admin/UsersTable.vue
  23. 1 1
      src/views/login/Login.vue
  24. 1 1
      src/views/quiz/CreateQuestion.vue
  25. 1 1
      src/views/quiz/EditQuestion.vue
  26. 1 1
      src/views/quiz/QuestionDetail.vue
  27. 1 1
      src/views/quiz/QuizDetail.vue
  28. 1 1
      src/views/quiz/StudentDoQuiz.vue
  29. 1 1
      src/views/quiz/components/QuestionCard.vue
  30. 2 2
      src/views/quiz/components/QuestionDetailFactory.vue
  31. 1 1
      src/views/quiz/components/QuestionEditorFactory.vue
  32. 12 10
      src/views/quiz/components/QuestionTable.vue
  33. 3 3
      src/views/quiz/components/QuizDetailFactory.vue
  34. 3 3
      src/views/quiz/components/QuizEditor.vue
  35. 6 5
      src/views/quiz/components/TrueFalseQuestionDetail.vue
  36. 1 1
      src/views/register/Register.vue
  37. 2 2
      src/views/student/components/QuizView.vue
  38. 1 1
      src/views/student/components/StudentQuizDetail.vue
  39. 1 1
      src/views/student/tabs/StudentQuiz.vue
  40. 1 1
      src/views/teacher/components/TeacherCourseSlides.vue
  41. 3 3
      src/views/teacher/components/TeacherQuizSetting.vue
  42. 1 1
      src/views/teacher/components/TeacherSlideDetail.vue

+ 1 - 1
src/App.vue

@@ -13,7 +13,7 @@
 import GlobalMessage from '@/components/Basic/GlobalMessage'
 import SlideUpTransition from '@/animations/SlideUpTransition'
 import { mapState } from 'vuex'
-import { userTypeNaming } from '@/server/enums/user-type'
+import { userTypeNaming } from '@/enums/user-type'
 
 export default {
   components: { GlobalMessage, SlideUpTransition },

+ 2 - 2
src/components/Cards/QuizCard.vue

@@ -34,8 +34,8 @@
 <script>
 import CIcon from '@/components/Basic/CIcon'
 import ShowTransitionSmall from '@/animations/ShowTransitionSmall'
-import SlideStateTranslation from '@/server/enums/slide-state-translation'
-import { QuizState, QuizStateNaming } from '@/server/enums/quiz-state'
+import SlideStateTranslation from '@/enums/slide-state-translation'
+import { QuizState, QuizStateNaming } from '@/enums/quiz-state'
 import CButton from '@/components/Basic/CButton'
 
 export default {

+ 1 - 1
src/components/Cards/SlideCard.vue

@@ -18,7 +18,7 @@
 </template>
 
 <script>
-import slideStateTranslation from '@/server/enums/slide-state-translation'
+import slideStateTranslation from '@/enums/slide-state-translation'
 import CIcon from '@/components/Basic/CIcon'
 import CTag from '@/components/Basic/CTag'
 import momentFromNow from '@/utils/moment-from-now'

+ 1 - 1
src/components/Details/SlideDetail.vue

@@ -28,7 +28,7 @@
 </template>
 
 <script>
-import slideStateTranslation from '@/server/enums/slide-state-translation'
+import slideStateTranslation from '@/enums/slide-state-translation'
 import momentFromNow from '@/utils/moment-from-now'
 
 export default {

+ 1 - 1
src/components/Discussion/CComment.vue

@@ -36,7 +36,7 @@ import { removeComment, topComment, unTopComment } from '@/server/comment'
 import CommentToolBar from '@/components/Discussion/CommentToolBar'
 import CIcon from '@/components/Basic/CIcon'
 import momentFromNow from '@/utils/moment-from-now'
-import { userTypeNaming } from '@/server/enums/user-type'
+import { userTypeNaming } from '@/enums/user-type'
 
 export default {
   components: { CIcon, CommentToolBar },

+ 12 - 6
src/components/DiscussionTab/CMessage.vue

@@ -16,11 +16,11 @@
       </div>
     </div>
     <div class="message-content">
-      <span class="type">{{messageTypeMap[message.type]}}</span>
+      <span class="type">{{messageTypeNaming[message.type]}}</span>
       {{message.content}}
     </div>
     <div class="spacer"></div>
-    <div class="link" v-if="message.slideId" title="点击前往相应幻灯片页面">
+    <div class="link" v-if="message.refId" title="点击前往相应幻灯片页面">
       <icon-button @click.native.stop="handlePush" :size="40"> arrow_forward</icon-button>
     </div>
   </div>
@@ -28,7 +28,7 @@
 
 <script>
 import momentFromNow from '@/utils/moment-from-now'
-import messageTypeMap from '@/utils/message-type-map'
+import messageTypeNaming, { messageType } from '@/enums/message-type'
 import IconButton from '@/components/Basic/IconButton'
 
 export default {
@@ -36,7 +36,7 @@ export default {
   props: ['message', 'edit', 'deleteProp', 'archiveProp', 'read'],
   data () {
     return {
-      messageTypeMap,
+      messageTypeNaming: messageTypeNaming,
       toDelete: this.deleteProp,
       toArchive: this.archiveProp
     }
@@ -56,9 +56,15 @@ export default {
       this.$emit('delete-state-change', { value: this.toDelete, id: this.message.id })
     },
     handlePush () {
-      if (this.message.slideId) {
+      if (this.message.refId) {
         const handler = () => {
-          this.$router.push({ name: 'pdf-reader', params: { slideId: this.message.slideId } })
+          if (this.message.type === messageType.quizNew) {
+            this.$router.push({ name: 'student-quiz-detail', params: { quizId: this.message.refId } })
+          } else if (this.message.type === messageType.noticeNew) {
+            this.$router.push({ name: 'student-course-slides', params: { courseId: this.message.refId } })
+          } else {
+            this.$router.push({ name: 'pdf-reader', params: { slideId: this.message.refId } })
+          }
         }
 
         if (this.edit) {

+ 1 - 1
src/components/QuestionKindBar.vue

@@ -10,7 +10,7 @@
 </template>
 
 <script>
-import * as QuestionKind from '@/server/enums/question-kind'
+import * as QuestionKind from '@/enums/question-kind'
 import CButton from '@/components/Basic/CButton'
 
 export default {

+ 16 - 0
src/enums/message-type.js

@@ -0,0 +1,16 @@
+export const messageType = {
+  slideInClass: 'SLIDE_IN_CLASS',
+  commentNew: 'COMMENT_NEW',
+  commentReply: 'COMMENT_REPLY',
+  noticeNew: 'NOTICE_NEW',
+  quizNew: 'QUIZ_NEW'
+}
+export const messageTypeNaming = {
+  [messageType.slideInClass]: '开课通知',
+  [messageType.commentNew]: '新讨论帖',
+  [messageType.commentReply]: '教师回复',
+  [messageType.noticeNew]: '课程公告',
+  [messageType.quizNew]: '新的测验'
+}
+
+export default messageTypeNaming

+ 0 - 0
src/server/enums/question-kind.js → src/enums/question-kind.js


+ 0 - 0
src/server/enums/quiz-state.js → src/enums/quiz-state.js


+ 0 - 0
src/server/enums/quiz-type.js → src/enums/quiz-type.js


+ 1 - 1
src/server/enums/slide-state-translation.js → src/enums/slide-state-translation.js

@@ -1,4 +1,4 @@
-import slideState from '@/server/enums/slide-state'
+import slideState from '@/enums/slide-state'
 
 export default {
   [slideState.draft]: '草稿',

+ 0 - 0
src/server/enums/slide-state.js → src/enums/slide-state.js


+ 0 - 0
src/server/enums/user-state.js → src/enums/user-state.js


+ 0 - 0
src/server/enums/user-type.js → src/enums/user-type.js


+ 2 - 2
src/server/admin.js

@@ -1,8 +1,8 @@
 import axios from '@/plugins/axios'
 import { useAdminUrl } from '@/config/server-info'
 import generateSearchParams from '@/server/utils/generate-search-params'
-import userType from '@/server/enums/user-type'
-import { userState } from '@/server/enums/user-state'
+import userType from '@/enums/user-type'
+import { userState } from '@/enums/user-state'
 
 export function login ({ username, password }) {
   return axios

+ 1 - 1
src/server/question.js

@@ -1,7 +1,7 @@
 import axios from '@/plugins/axios'
 import { useQuestionServer } from '@/config/server-info'
 import generateSearchParams from '@/server/utils/generate-search-params'
-import kinds from '@/server/enums/question-kind'
+import kinds from '@/enums/question-kind'
 
 // 教师获取题目列表
 export function getQuestionList ({ key = '', page = 1, size = 10, sort = '' }) {

+ 1 - 1
src/server/user.js

@@ -2,7 +2,7 @@ import {
   useUserServer
 } from '@/config/server-info'
 import axios from '@/plugins/axios'
-import userType from '@/server/enums/user-type'
+import userType from '@/enums/user-type'
 
 // 注册,默认为注册学生账号
 export function register ({ name, email, emailCode, phone, phoneCode, password, type = userType.student }) {

+ 0 - 7
src/utils/message-type-map.js

@@ -1,7 +0,0 @@
-const messageTypeMap = {
-  'SLIDE_IN_CLASS': '开课通知',
-  'COMMENT_NEW': '新讨论帖',
-  'COMMENT_REPLY': '教师回复'
-}
-
-export default messageTypeMap

+ 2 - 2
src/views/admin/Admin.vue

@@ -37,8 +37,8 @@ import CIcon from '@/components/Basic/CIcon'
 import CButton from '@/components/Basic/CButton'
 import { logout } from '@/server/user'
 import { getUsers } from '@/server/admin'
-import { userState } from '@/server/enums/user-state'
-import userType from '@/server/enums/user-type'
+import { userState } from '@/enums/user-state'
+import userType from '@/enums/user-type'
 import momentFromNow from '@/utils/moment-from-now'
 import CheckingUsersTable from '@/views/admin/CheckingUsersTable'
 import UsersTable from '@/views/admin/UsersTable'

+ 2 - 2
src/views/admin/CheckingUsersTable.vue

@@ -30,8 +30,8 @@
 <script>
 import CButton from '@/components/Basic/CButton'
 import { passUser } from '@/server/admin'
-import { userState } from '@/server/enums/user-state'
-import userType from '@/server/enums/user-type'
+import { userState } from '@/enums/user-state'
+import userType from '@/enums/user-type'
 import momentFromNow from '@/utils/moment-from-now'
 
 export default {

+ 2 - 2
src/views/admin/UsersTable.vue

@@ -33,8 +33,8 @@
 
 <script>
 import CButton from '@/components/Basic/CButton'
-import { userState } from '@/server/enums/user-state'
-import userType from '@/server/enums/user-type'
+import { userState } from '@/enums/user-state'
+import userType from '@/enums/user-type'
 import momentFromNow from '@/utils/moment-from-now'
 import { lockUser, unlockUser } from '@/server/admin'
 

+ 1 - 1
src/views/login/Login.vue

@@ -25,7 +25,7 @@ import CButton from '@/components/Basic/CButton'
 import { getUserInfo, loginByEmail } from '@/server/user'
 import { SET_USER_INFO } from '@/store/types/main-types'
 import { login } from '@/server/admin'
-import userType from '@/server/enums/user-type'
+import userType from '@/enums/user-type'
 
 export default {
   components: { CButton, CInput },

+ 1 - 1
src/views/quiz/CreateQuestion.vue

@@ -9,7 +9,7 @@
 <script>
 import BackTitle from '@/components/Basic/BackTitle'
 import QuestionKindBar from '@/components/QuestionKindBar'
-import QuestionKind from '@/server/enums/question-kind'
+import QuestionKind from '@/enums/question-kind'
 import QuestionEditorFactory from '@/views/quiz/components/QuestionEditorFactory'
 import { createQuestion } from '@/server/question'
 

+ 1 - 1
src/views/quiz/EditQuestion.vue

@@ -10,7 +10,7 @@
 
 <script>
 import BackTitle from '@/components/Basic/BackTitle'
-import QuestionKind from '@/server/enums/question-kind'
+import QuestionKind from '@/enums/question-kind'
 // import { getQuestionById, updateQuestion } from '@/server/question-backup'
 import QuestionEditorFactory from '@/views/quiz/components/QuestionEditorFactory'
 import { deleteQuestion, getOneQuestion, modifyQuestion } from '@/server/question'

+ 1 - 1
src/views/quiz/QuestionDetail.vue

@@ -12,7 +12,7 @@
 </template>
 
 <script>
-import QuestionKind from '@/server/enums/question-kind'
+import QuestionKind from '@/enums/question-kind'
 import BackTitle from '@/components/Basic/BackTitle'
 import QuestionDetailFactory from '@/views/quiz/components/QuestionDetailFactory'
 import { deleteQuestion, getOneQuestion } from '@/server/question'

+ 1 - 1
src/views/quiz/QuizDetail.vue

@@ -22,7 +22,7 @@
 <script>
 import { createDefaultQuiz } from '@/views/quiz/utils/default'
 import BackTitle from '@/components/Basic/BackTitle'
-import { QuizState } from '@/server/enums/quiz-state'
+import { QuizState } from '@/enums/quiz-state'
 import { deleteQuiz, getOneQuiz, getQuizStudentAnswers } from '@/server/quiz'
 import QuizDetailFactory from '@/views/quiz/components/QuizDetailFactory'
 import AnswerCard from '@/components/Cards/AnswerCard'

+ 1 - 1
src/views/quiz/StudentDoQuiz.vue

@@ -43,7 +43,7 @@
 <script>
 import BackTitle from '@/components/Basic/BackTitle'
 import { createDefaultQuiz } from '@/views/quiz/utils/default'
-import QuestionKind from '@/server/enums/question-kind'
+import QuestionKind from '@/enums/question-kind'
 import MarkdownSection from '@/views/quiz/components/MarkdownSection'
 import CButton from '@/components/Basic/CButton'
 import CIcon from '@/components/Basic/CIcon'

+ 1 - 1
src/views/quiz/components/QuestionCard.vue

@@ -24,7 +24,7 @@
 </template>
 
 <script>
-import * as QuestionKind from '@/server/enums/question-kind'
+import * as QuestionKind from '@/enums/question-kind'
 import MarkdownSection from '@/views/quiz/components/MarkdownSection'
 import CTag from '@/components/Basic/CTag'
 import IconButton from '@/components/Basic/IconButton'

+ 2 - 2
src/views/quiz/components/QuestionDetailFactory.vue

@@ -1,12 +1,12 @@
 <template>
-  <div>
+  <div v-if="question !== null">
     <choice-question-detail :fold="fold" v-if="question.type === QuestionKind.choice" :value="question" />
     <true-false-question-detail :fold="fold" v-else-if="question.type === QuestionKind.trueOrFalse" :value="question" />
   </div>
 </template>
 
 <script>
-import QuestionKind from '@/server/enums/question-kind'
+import QuestionKind from '@/enums/question-kind'
 import ChoiceQuestionDetail from '@/views/quiz/components/ChoiceQuestionDetail'
 import TrueFalseQuestionDetail from '@/views/quiz/components/TrueFalseQuestionDetail'
 

+ 1 - 1
src/views/quiz/components/QuestionEditorFactory.vue

@@ -9,7 +9,7 @@
 </template>
 
 <script>
-import QuestionKind from '@/server/enums/question-kind'
+import QuestionKind from '@/enums/question-kind'
 import ChoiceQuestionEditor from '@/views/quiz/components/ChoiceQuestionEditor'
 import TrueFalseQuestionEditor from '@/views/quiz/components/TrueFalseQuestionEditor'
 import SlideInSameTransition from '@/animations/SlideInSameTransition'

+ 12 - 10
src/views/quiz/components/QuestionTable.vue

@@ -4,16 +4,18 @@
     <pagination class="mt-16 mb-32" :page="page.number" :size="page.size" :total-elements="page.totalElements"
                 @change="fetchQuestionList"></pagination>
     <div class="question-card-container">
-      <question-card
-        v-for="item in questionList"
-        :key="item.id"
-        :type="item.type"
-        :stem="item.stem"
-        :question-id="item.id"
-        :selectable="selectable"
-        :selected="judgeIsSelected(item)"
-        @toggle-select="handleToggleSelectQuestion(item)"
-      />
+      <template v-for="item in questionList">
+        <question-card
+          v-if="item !== null"
+          :key="item.id"
+          :type="item.type"
+          :stem="item.stem"
+          :question-id="item.id"
+          :selectable="selectable"
+          :selected="judgeIsSelected(item)"
+          @toggle-select="handleToggleSelectQuestion(item)"
+        />
+      </template>
     </div>
   </div>
 </template>

+ 3 - 3
src/views/quiz/components/QuizDetailFactory.vue

@@ -34,11 +34,11 @@
 
 <script>
 import { createDefaultQuiz } from '@/views/quiz/utils/default'
-import QuestionKind from '@/server/enums/question-kind'
-import { QuizStateNaming, QuizState } from '@/server/enums/quiz-state'
+import QuestionKind from '@/enums/question-kind'
+import { QuizStateNaming, QuizState } from '@/enums/quiz-state'
 import QuestionDetailFactory from '@/views/quiz/components/QuestionDetailFactory'
 import { isEmpty } from '@/utils/types'
-import { QuizTypeNaming } from '@/server/enums/quiz-type'
+import { QuizTypeNaming } from '@/enums/quiz-type'
 import momentFromNow from '@/utils/moment-from-now'
 import { getQuestionsByQuiz } from '@/server/question'
 import CIcon from '@/components/Basic/CIcon'

+ 3 - 3
src/views/quiz/components/QuizEditor.vue

@@ -67,15 +67,15 @@
 </template>
 
 <script>
-import { naming as QuestionKindNaming } from '@/server/enums/question-kind'
-import { QuizStateNaming } from '@/server/enums/quiz-state'
+import { naming as QuestionKindNaming } from '@/enums/question-kind'
+import { QuizStateNaming } from '@/enums/quiz-state'
 import QuestionTable from '@/views/quiz/components/QuestionTable'
 import QuestionDetailFactory from '@/views/quiz/components/QuestionDetailFactory'
 import CInput from '@/components/Basic/CInput'
 import CButton from '@/components/Basic/CButton'
 import CSelect from '@/components/Basic/CSelect'
 import BackTitle from '@/components/Basic/BackTitle'
-import { QuizTypeNaming } from '@/server/enums/quiz-type'
+import { QuizTypeNaming } from '@/enums/quiz-type'
 import { getQuestionsByQuiz } from '@/server/question'
 
 export default {

+ 6 - 5
src/views/quiz/components/TrueFalseQuestionDetail.vue

@@ -4,12 +4,12 @@
       <markdown-section :raw="value.stem" />
     </editor-section>
     <editor-section v-if="!isEmpty(value.studentAnswer) && !fold" title="你的答案">
-      <span v-if="value.studentAnswer" >√</span>
-      <span v-else >×</span>
+      <span v-if="value.studentAnswer" ><c-icon>check</c-icon></span>
+      <span v-else ><c-icon>close</c-icon></span>
     </editor-section>
     <editor-section v-if="!fold && !isEmpty(value.answer)" title="正确答案">
-      <span v-if="value.answer" >√</span>
-      <span v-else >×</span>
+      <span v-if="value.answer" ><c-icon>check</c-icon></span>
+      <span v-else ><c-icon>close</c-icon></span>
     </editor-section>
     <editor-section title="解析" v-if="!fold && !isEmpty(value.analysis)">
       <markdown-section :raw="value.analysis" />
@@ -23,10 +23,11 @@ import { createDefaultChoiceQuestion } from '@/views/quiz/utils/default'
 import { markdownToHTML } from '@/utils/markdown'
 import MarkdownSection from '@/views/quiz/components/MarkdownSection'
 import { isEmpty } from '@/utils/types'
+import CIcon from '@/components/Basic/CIcon'
 
 export default {
   name: 'TrueFalseQuestionDetail',
-  components: { MarkdownSection, EditorSection },
+  components: { CIcon, MarkdownSection, EditorSection },
   props: {
     value: {
       type: Object,

+ 1 - 1
src/views/register/Register.vue

@@ -76,7 +76,7 @@ import CButton from '@/components/Basic/CButton'
 import { sendEmailCode, sendPhoneCode } from '@/server/code'
 import { register } from '@/server/user'
 import CIcon from '@/components/Basic/CIcon'
-import userType, { userTypeNaming } from '@/server/enums/user-type'
+import userType, { userTypeNaming } from '@/enums/user-type'
 
 export default {
   components: { CIcon, CButton, CInput },

+ 2 - 2
src/views/student/components/QuizView.vue

@@ -14,8 +14,8 @@
 
 <script>
 import BackTitle from '@/components/Basic/BackTitle'
-import SlideStateTranslation from '@/server/enums/slide-state-translation'
-import { QuizState, QuizStateNaming } from '@/server/enums/quiz-state'
+import SlideStateTranslation from '@/enums/slide-state-translation'
+import { QuizState, QuizStateNaming } from '@/enums/quiz-state'
 import QuizCard from '@/components/Cards/QuizCard'
 import { getSlideInfo } from '@/server/slide'
 import { studentGetQuizzes } from '@/server/quiz'

+ 1 - 1
src/views/student/components/StudentQuizDetail.vue

@@ -17,7 +17,7 @@
 <script>
 import BackTitle from '@/components/Basic/BackTitle'
 import QuizDetailFactory from '@/views/quiz/components/QuizDetailFactory'
-import { QuizState } from '@/server/enums/quiz-state'
+import { QuizState } from '@/enums/quiz-state'
 import { createDefaultQuiz } from '@/views/quiz/utils/default'
 import CButton from '@/components/Basic/CButton'
 import { getOneQuiz, getOneQuizStudentAnswer } from '@/server/quiz'

+ 1 - 1
src/views/student/tabs/StudentQuiz.vue

@@ -35,7 +35,7 @@
 import CTag from '@/components/Basic/CTag'
 import QuizCard from '@/components/Cards/QuizCard'
 import CButton from '@/components/Basic/CButton'
-import { QuizState } from '@/server/enums/quiz-state'
+import { QuizState } from '@/enums/quiz-state'
 import { studentGetQuizzesByState } from '@/server/quiz'
 
 export default {

+ 1 - 1
src/views/teacher/components/TeacherCourseSlides.vue

@@ -25,7 +25,7 @@
     <show-transition>
       <course-detail v-if="showMore" :course="course"></course-detail>
     </show-transition>
-    <div class="no-content-warning" v-if="slides === null">
+    <div class="no-content-warning" v-if="slides === null || courseFiles === null">
       <div class="no-content-warning-tip">加载中...</div>
     </div>
     <div class="no-content-warning" v-else-if="slides.length === 0 && courseFiles.length === 0">

+ 3 - 3
src/views/teacher/components/TeacherQuizSetting.vue

@@ -22,12 +22,12 @@
 
 <script>
 import BackTitle from '@/components/Basic/BackTitle'
-import SlideStateTranslation from '@/server/enums/slide-state-translation'
-import { QuizStateNaming, QuizState } from '@/server/enums/quiz-state'
+import SlideStateTranslation from '@/enums/slide-state-translation'
+import { QuizStateNaming, QuizState } from '@/enums/quiz-state'
 import { getSlideInfo } from '@/server/slide'
 import CButton from '@/components/Basic/CButton'
 import { teacherGetQuizzes } from '@/server/quiz'
-import { QuizTypeNaming } from '@/server/enums/quiz-type'
+import { QuizTypeNaming } from '@/enums/quiz-type'
 import TabSideComponent from '@/components/Layouts/TabSideComponent'
 import QuizCard from '@/components/Cards/QuizCard'
 import TabActions from '@/components/Layouts/TabActions'

+ 1 - 1
src/views/teacher/components/TeacherSlideDetail.vue

@@ -57,7 +57,7 @@ import { mapState } from 'vuex'
 import { getSlideUrl, modifySlide, modifySlideState, deleteSlide } from '@/server/slide'
 import { SET_SLIDE_INFO, SET_SRC } from '@/store/types/pdf-types'
 import SlideDetail from '@/components/Details/SlideDetail'
-import slideStateTranslation from '@/server/enums/slide-state-translation'
+import slideStateTranslation from '@/enums/slide-state-translation'
 import CInput from '@/components/Basic/CInput'
 import SlideStateBar from '@/components/Details/SlideStateBar'
 import ShowTransition from '@/animations/ShowTransition'