dusenyao před 2 roky
rodič
revize
dff9aaa3ef

+ 6 - 6
package-lock.json

@@ -12,7 +12,7 @@
         "ailp-book-question-ui": "file:../ailp-book-question-ui-0.1.1.tgz",
         "awe-dnd": "^0.3.4",
         "axios": "^0.27.2",
-        "book-ui": "file:../book-ui-0.3.20.tgz",
+        "book-ui": "file:../book-ui-0.3.21.tgz",
         "core-js": "^3.27.1",
         "dayjs": "^1.11.7",
         "element-ui": "^2.15.12",
@@ -5803,9 +5803,9 @@
       }
     },
     "node_modules/book-ui": {
-      "version": "0.3.20",
-      "resolved": "file:../book-ui-0.3.20.tgz",
-      "integrity": "sha512-EjeFfWjnAqr+kIuO5V0oyrszbj2AOcM1SWd6XYIclTdjnj7bLjAq6Ga5zZvhTS32WBVjSlkvvoyb4D9U0E2lGw==",
+      "version": "0.3.21",
+      "resolved": "file:../book-ui-0.3.21.tgz",
+      "integrity": "sha512-I0i3KkOoS+R5HV+Kaa/sKtTQfdgj8GQrubst9PftxPIJc0Y35Xg10v2qwOYGWDX4sSejaUybHiO2svOUcxomUA==",
       "dependencies": {
         "awe-dnd": "^0.3.4",
         "axios": "^0.21.1",
@@ -27673,8 +27673,8 @@
       }
     },
     "book-ui": {
-      "version": "file:..\\book-ui-0.3.20.tgz",
-      "integrity": "sha512-EjeFfWjnAqr+kIuO5V0oyrszbj2AOcM1SWd6XYIclTdjnj7bLjAq6Ga5zZvhTS32WBVjSlkvvoyb4D9U0E2lGw==",
+      "version": "file:..\\book-ui-0.3.21.tgz",
+      "integrity": "sha512-I0i3KkOoS+R5HV+Kaa/sKtTQfdgj8GQrubst9PftxPIJc0Y35Xg10v2qwOYGWDX4sSejaUybHiO2svOUcxomUA==",
       "requires": {
         "awe-dnd": "^0.3.4",
         "axios": "^0.21.1",

+ 1 - 1
package.json

@@ -17,7 +17,7 @@
     "ailp-book-question-ui": "file:../ailp-book-question-ui-0.1.1.tgz",
     "awe-dnd": "^0.3.4",
     "axios": "^0.27.2",
-    "book-ui": "file:../book-ui-0.3.20.tgz",
+    "book-ui": "file:../book-ui-0.3.21.tgz",
     "core-js": "^3.27.1",
     "dayjs": "^1.11.7",
     "element-ui": "^2.15.12",

+ 14 - 6
src/components/course/CoursewareView.vue

@@ -26,7 +26,9 @@
         ref="book"
         :context="context"
         :task-model="isFinished ? 'ANSWER' : ''"
-        :is-show-save="true"
+        :is-show-save="false"
+        :is-show-title="false"
+        :is-answer-item-show="isTeacher ? false : true"
         :book-answer-content="coursewareData.exam_answer.content"
         :theme-color="themeColor"
         :preview-type="previewType"
@@ -41,9 +43,10 @@
         ref="book"
         :context="context"
         :theme-color="themeColor"
-        task-model=""
-        :is-show-save="true"
-        :is-show-title="true"
+        :task-model="isFinished ? 'ANSWER' : ''"
+        :is-show-save="false"
+        :is-answer-item-show="isTeacher ? false : true"
+        :is-show-title="false"
         :preview-type="previewType"
         :preview-group-id="previewGroupId"
         @finishTaskMaterial="saveNPCAnswer"
@@ -63,7 +66,7 @@ export default {
 </script>
 
 <script setup>
-import { watch } from 'vue';
+import { watch, inject } from 'vue';
 import { useShowCourseware } from './courseware';
 
 const props = defineProps({
@@ -77,6 +80,7 @@ const props = defineProps({
   }
 });
 
+const isTeacher = inject('isTeacher');
 let isFinished = props.coursewareData.is_finished === 'true';
 
 const {
@@ -90,7 +94,11 @@ const {
   exam_answer,
   saveNPCAnswer,
   handleBookUserAnswer
-} = useShowCourseware(props.coursewareData.courseware_id, props.coursewareData.group_id_selected_info);
+} = useShowCourseware(
+  props.coursewareData.courseware_id,
+  props.coursewareData.group_id_selected_info,
+  'previewCheckShow'
+);
 
 watch(
   () => exam_answer.value,

+ 4 - 2
src/components/course/FinishCourseware.vue

@@ -27,7 +27,8 @@
       <booknpc
         v-if="context"
         ref="booknpc"
-        :is-show-save="true"
+        :is-show-save="false"
+        :is-answer-item-show="true"
         task-model=""
         :context="context"
         :theme-color="themeColor"
@@ -44,7 +45,8 @@
         :theme-color="themeColor"
         :is-show-title="true"
         task-model=""
-        :is-show-save="true"
+        :is-show-save="false"
+        :is-answer-item-show="true"
         :preview-type="previewType"
         :preview-group-id="previewGroupId"
         @finishTaskMaterial="finishMyTaskMaterial_Student"

+ 5 - 4
src/components/course/courseware.js

@@ -8,13 +8,12 @@ const categoryList = ['OC', 'AILP', 'NPC', 'NNPE', 'RLC'];
  * @param {String} courseId 互动课件 id
  * @param {String} groupId 分组id
  */
-export function useShowCourseware(courseId, groupId = '[]') {
+export function useShowCourseware(courseId, groupId = '[]', previewType = 'previewCheck') {
   let context = ref(null);
   let ui_type = ref('');
   let category = ref('');
   let themeColor = ref('');
   let bookFontSize = ref('');
-  let previewType = ref('previewCheck');
   let previewGroupId = ref(groupId);
   let exam_answer = ref('');
 
@@ -64,10 +63,12 @@ export function useShowCourseware(courseId, groupId = '[]') {
   }
   getCoursewareContent_View();
 
-  function saveNPCAnswer(content, duration) {
+  function saveNPCAnswer(content, duration, count_right, count_error) {
     exam_answer.value = {
       duration,
-      content
+      content,
+      count_right,
+      count_error
     };
   }
 

+ 4 - 2
src/components/live/CurMaterial.vue

@@ -357,7 +357,7 @@ export default {
       this.exam_answer = data;
     },
 
-    saveNPCAnswer(content, duration) {
+    saveNPCAnswer(content, duration, count_right, count_error) {
       const loading = this.$loading();
       FinishMyMaterial({
         task_id: this.taskId,
@@ -365,7 +365,9 @@ export default {
         material_type: this.material_type,
         exam_answer: {
           duration,
-          content
+          content,
+          count_right,
+          count_error
         }
       })
         .then(() => {

+ 2 - 1
src/components/select/SelectCourse.vue

@@ -34,6 +34,7 @@
             :context="context"
             task-model=""
             :is-show-save="false"
+            :is-show-title="false"
             :theme-color="themeColor"
             :preview-type="previewType"
             :preview-group-id="previewGroupId"
@@ -48,7 +49,7 @@
             :theme-color="themeColor"
             task-model=""
             :is-show-save="false"
-            :is-show-title="true"
+            :is-show-title="false"
             :preview-type="previewType"
             :preview-group-id="previewGroupId"
           />