Selaa lähdekoodia

Merge branch 'feature-tianyong-newVersion' of http://git.dayaedu.com/liushengqiang/music-score into ktyq-test-new

黄琪勇 1 kuukausi sitten
vanhempi
commit
fdc96e9e10

BIN
src/page-instrument/custom-plugins/guide-driver/images/evaluating/r3-2.png


+ 12 - 0
src/page-instrument/custom-plugins/guide-driver/index.less

@@ -494,6 +494,18 @@
   }
 }
 
+.popoverClassER3-2 {
+  width: 261px;
+  height: 249px;
+  background: url("./images/evaluating/r3-2.png") no-repeat center;
+  background-size: contain;
+
+  .driver-popover-next-btn {
+    bottom: 15px;
+    left: 17px;
+  }
+}
+
 .popoverClassER4 {
   width: 327px;
   height: 246px;

+ 23 - 1
src/page-instrument/custom-plugins/guide-driver/index.tsx

@@ -3,6 +3,7 @@ import { Config, DriveStep, PopoverDOM, State, driver } from "driver.js";
 import "driver.js/dist/driver.css";
 import state, { IPlatform } from "/src/state";
 import { getGuidance, setGuidance } from "../guide-page/api";
+import { getQuery } from "/src/utils/queryString";
 
 const endGuide = (guideInfo: any) => {
   try {
@@ -1022,6 +1023,7 @@ export const EvaluatingResultDriver = defineComponent({
     },
   },
   setup(props) {
+    const query = getQuery();
     let length = 4;
     if (!props.saveBtn) {
       length -= 1;
@@ -1093,7 +1095,8 @@ export const EvaluatingResultDriver = defineComponent({
         ],
       };
 
-      if (props.saveBtn) {
+      // 非作业是保存作品
+      if (props.saveBtn && !query.workRecord) {
         driverOptions.steps?.push({
           element: ".evaluting-result-3",
           popover: {
@@ -1111,6 +1114,25 @@ export const EvaluatingResultDriver = defineComponent({
         });
       }
 
+      // 作业是提交作业
+      if (query.workRecord) {
+        driverOptions.steps?.push({
+          element: ".evaluting-result-3",
+          popover: {
+            title: "",
+            description: "",
+            popoverClass: "popoverClass popoverClassER3-2",
+            align: "end",
+            side: "top",
+            nextBtnText: `下一步 (3/${length})`,
+            showButtons: ["next"],
+            onPopoverRender: (popover: PopoverDOM, options: { config: Config; state: State }) => {
+              driverInitialPosition(popover, options, -1);
+            },
+          },
+        });
+      }
+
       driverOptions.steps?.push({
         element: ".evaluting-result-4",
         popover: {

+ 21 - 7
src/page-instrument/custom-plugins/work-home/index.tsx

@@ -42,7 +42,7 @@ export default defineComponent({
 			}
 		};
 		/** 获取作业详情 */
-		const getWorkData = async () => {
+		const getWorkData = async (resourceType?: string) => {
 			const workeData = props.workeData;
 			if (workeData.id) {
 				let trainingContent: any = {};
@@ -53,7 +53,9 @@ export default defineComponent({
 				}
 				training.times = trainingContent.trainingTimes || 0;
 				training.trainingTimes = (workeData.trainingTimes / 60).toFixed(1) || "0";
-				training.trainingTimeSecond = workeData.trainingTimes || 0;
+				if (!resourceType) {
+					training.trainingTimeSecond = workeData.trainingTimes || 0;
+				}
 				training.trainingSpeed = trainingContent.practiceSpeed;
 				training.start = Number(trainingContent.practiceChapterBegin);
 				training.end = Number(trainingContent.practiceChapterEnd);
@@ -63,6 +65,10 @@ export default defineComponent({
 					// 设置小节
 					setSection(training.start, training.end, training.trainingSpeed);
 				}
+				// 来自刷新谱面
+				if (resourceType === 'refresh') {
+					getWorkDetail()
+				}
 			}
 		};
 
@@ -76,13 +82,18 @@ export default defineComponent({
 		};
 
 		/** 添加作业记录 */
-		const addHomeworkRecored = async () => {
+		const addHomeworkRecored = async (extraType?: string) => {
 			let total = Math.ceil((Date.now() - training.starTime) / 1000);
 			try {
-				const res = await api_lessonTrainingSubmitTraining({
+				let params: any = {
 					id: props.workeData.id,
 					trainingTimes: total,
-				});
+				}
+				// 如果已达标,手动保存作业时,需要添加submitFlag参数
+				if (extraType === 'save') {
+					params.submitFlag = true
+				}
+				const res = await api_lessonTrainingSubmitTraining(params);
 				if (res?.code == 200) {
 					getWorkDetail();
 				}
@@ -112,7 +123,10 @@ export default defineComponent({
 					training.starTime = Date.now();
 					handleStart();
 				} else {
-					addHomeworkRecored();
+					// 没有达标停止播放时,需要自动提交练习时长
+					if (!training.showWorkDonePop) {
+						addHomeworkRecored();
+					}
 					handleStop();
 				}
 			}
@@ -144,7 +158,7 @@ export default defineComponent({
 						<img class={styles.doneBg} src={headImg("workDonePop.png")} />
 						<img class={styles.doneBtn} src={headImg("workDoneBtn.png")} onClick={() => {
 							training.showWorkDonePop = false
-                			// addHomeworkRecored();
+                			addHomeworkRecored('save');
               			}} />
 					</div>
 				}

+ 1 - 1
src/page-instrument/custom-plugins/work-index/index.tsx

@@ -26,7 +26,7 @@ export const HANDLE_WORK_ADD = () => {
 export const resetSection = () => {
 	console.log('重新设置选段1111')
 	if (data.trainingType === "PRACTICE"){
-		workHomeRef.value?.getWorkData();
+		workHomeRef.value?.getWorkData('refresh');
 	}
 	if (data.trainingType === "EVALUATION") {
 		workEvaluatRef.value?.getWorkData();

+ 4 - 1
src/page-instrument/evaluat-model/index.tsx

@@ -365,7 +365,10 @@ export default defineComponent({
         // 去练习
         handleStartEvaluat();
       } else if (type === "tryagain") {
-        startBtnHandle();
+        /**
+         * TODO: 2025.01.20 再来一次改为只是关闭结果弹窗,需要用户手动点击评测按钮触发评测,不自动进行评测,故注释掉下方自动评测的方法
+         */
+        // startBtnHandle();
       } else if (type === "selfCancel") {
         // 再来一次,需要手动取消评测,不生成评测记录,不显示评测结果弹窗
         evaluatingData.oneselfCancleEvaluating = true;