Procházet zdrojové kódy

Merge branch 'master'

namejr před 4 roky
rodič
revize
1ea33f8c7a
3 změnil soubory, kde provedl 100 přidání a 22 odebrání
  1. 2 2
      EBook.Web/AnsText/err.json
  2. 97 19
      EBook.Web/Common/tasklib_book.js
  3. 1 1
      EBook.Web/Test.html

+ 2 - 2
EBook.Web/AnsText/err.json

@@ -111,8 +111,8 @@
     "AudioLength": 0,
     "AudioUrl": "",
     "Id": "12",
-    "Score": 0.0,
-    "Text": "",
+    "Score": 5.0,
+    "Text": "",
     "Type": 1,
     "pId": "12"
   },

+ 97 - 19
EBook.Web/Common/tasklib_book.js

@@ -1198,14 +1198,40 @@ function getAllAnswer() {
     $(".answer-body").children(".answer-audio-range").children("span").unbind("click");//取消点击绑定事件
     //打勾题的还原
     $.each($(".checkbox"), function (num, item) {
+        var isanswer = false;
         var answerid = $(item).attr("answer-id");
         var parentid = $(item).attr("parent-anid");
+        //遍历同一小题的作答,如果作答了,整个小题都认为是作答了
+        $.each($(".checkbox[parent-anid=" + parentid + "]"), function (n, item) {
+            var atext = $(item).attr("answer-text");
+            if (atext != "" && atext != "未作答") {
+                isanswer = true;
+            }
+        });
+        //遍历同一小题的作答,如果作答了,整个小题都认为是作答了
+        $.each($(".answer-body[parent-anid=" +parentid + "]"), function (n, item) {
+            var atext = $(item).children(".answer-text").text();
+            if (atext != "" && atext != "未作答") {
+                isanswer = true;
+            }
+        });
         //提交直接还原作答现场
         var mytext = $(item).attr("answer-text");//我的答案
         var ischecked = mytext.indexOf("√") > -1;
         var answerText = $(item).attr("answer-anstext");//参考答案
-        mytext = mytext == "" ? "   " : mytext;
-        $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+        if (mytext == "") {
+            mytext = "未作答";
+            if (isanswer) {
+                mytext = "&nbsp;&nbsp;&nbsp;";
+            }
+        }
+        //mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
+        if (!isanswer) {
+            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
+        }
+        else {
+            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+        }
     });
     ControlFlag = false;
     //console.log(JSON.stringify(answerData));
@@ -1353,18 +1379,6 @@ function backupAllAnswer(answerJson, statusType) {
                     }
                     $(item).children(".answer-point-range").hide();
                 }
-                //评阅样式
-                if (answerList[index].Score == 0) {
-                    if (!$(item).children(".answer-text").hasClass("good-answer")) {
-                        $(item).children(".answer-text").addClass("bad-answer");
-                    }
-                }
-                if (answerList[index].Score > 0) {
-                    //遍历同一小题的评阅,并加上样式
-                    $.each($(".answer-body[parent-anid=" + parentid + "]"), function (n, item) {
-                        $(item).children(".answer-text").addClass("good-answer");
-                    });
-                }
             }
             // 添加answer-boy的样式判断
             var DStatusFlag = $(item).find(".answer-point-range").css("display") != "none";
@@ -1379,6 +1393,7 @@ function backupAllAnswer(answerJson, statusType) {
         $.each($(".checkbox"), function (num, item) {
             //可作答状态,作答还原
             var index = 0;
+            var isanswer = false;
             var answerid = $(item).attr("answer-id");
             var parentid = $(item).attr("parent-anid");
             for (var i = 0; i < answerList.length; i++) {
@@ -1387,6 +1402,16 @@ function backupAllAnswer(answerJson, statusType) {
                     break;
                 }
             }
+            //一题多空的作答关联查找
+            for (var i = 0; i < answerList.length; i++) {
+                if (parentid == answerList[i].pId) {
+                    if (answerList[i].Text != "") {
+                        isanswer = true;
+                        Score = answerList[i].Score;
+                        break;
+                    }
+                }
+            }
             //提交直接还原作答现场
             var mytext = answerList[index].Text;//我的答案
             var ischecked = mytext.indexOf("√") > -1;
@@ -1395,16 +1420,45 @@ function backupAllAnswer(answerJson, statusType) {
             $(item).find('input').prop('checked', ischecked);
             //还原打勾效果
             if (ischecked && statusType == 0) {
-                clickCheckBox(answerid);
+                $(".cBoxCls_" +answerid).attr("data-status", "1");
             }
             //已提交,已评阅,还原HTML代码,去除checkbox
             if (statusType == 1 || statusType == 2) {
-                mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
-                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+                if (mytext == "") {
+                    mytext = "未作答";
+                    if (isanswer) {
+                        mytext = "&nbsp;&nbsp;&nbsp;";
+                    }
+                }
+                //mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
+                if (!isanswer) {
+                    $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
+                }
+                else {
+                    $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+                }
             }
         });
         //点击事件重新绑定
         if (statusType == 0 || statusType == 2) {
+            //评阅样式
+            if (statusType == 2) {
+                $.each($(".answer-body"), function (num, item) {
+                    var parentid = $(item).attr("parent-anid");
+                    if (answerList[num].Score == 0) {
+                        if (!$(item).children(".answer-text").hasClass("good-answer")) {
+                            $(item).children(".answer-text").addClass("bad-answer");
+                        }
+                    }
+                    if (answerList[num].Score > 0) {
+                        //遍历同一小题的评阅,并加上样式
+                        $.each($(".answer-body[parent-anid=" + parentid + "]"), function (n, item) {
+                            $(item).children(".answer-text").addClass("good-answer");
+                        });
+                    }
+                });
+            }
+            
             $(".answer-body").unbind("click").on("click", function () {
                 var curObj = new Object();
                 curObj.Id = $(this).attr("answer-id");//答题点ID
@@ -1578,8 +1632,32 @@ function backupAllReview(answerJson) {
             var mytext = answerList[index].Text;//我的答案
             var ischecked = mytext.indexOf("√") > -1;
             var answerText = $(item).attr("answer-anstext");//参考答案
-            mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
-            $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" + mytext + "</buttom></div>");
+            if (mytext == "") {
+                mytext = "未作答";
+                if (isanswer) {
+                    mytext = "&nbsp;&nbsp;&nbsp;";
+                }
+            }
+            //mytext = mytext == "" ? "&nbsp;&nbsp;&nbsp;" : mytext;
+            if (!isanswer) {
+                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text' style='display:block;'>" +mytext + "</buttom></div>");
+            }
+            else {
+                $(item).prop("outerHTML", "<div class='answer-body' answer-id='" + answerid + "' parent-anid='" + parentid + "' answer-anstext='" + answerText + "' answer-isky='2' answer-text='" + mytext + "'><div class='answer-audio-range'><img src='" + PicInfo.recordPlayImgUrl + "'/><span class='answer-audio-text'>作答音频</span></div><div class='answer-point-range' style='display:none;'><img src='" + PicInfo.answerPointImgUrl + "'/><span class='answer-point-text'>答题点</span></div><buttom class='answer-text no-answer' style='display:block;'>" + mytext + "</buttom></div>");
+            }
+            //评阅样式
+            if (answerList[index].Score == 0) {
+                //遍历同一小题的评阅,并加上样式
+                $.each($(".answer-body[parent-anid=" + parentid + "]"), function (n, item) {
+                    $(item).children(".answer-text").addClass("bad-answer");
+                });
+            }
+            if (answerList[index].Score > 0) {
+                //遍历同一小题的评阅,并加上样式
+                $.each($(".answer-body[parent-anid=" + parentid + "]"), function (n, item) {
+                    $(item).children(".answer-text").addClass("good-answer");
+                });
+            }
         });
         //点击事件重新绑定
         $(".answer-body").unbind("click").on("click", function () {

+ 1 - 1
EBook.Web/Test.html

@@ -115,7 +115,7 @@
         });
         //回显习题答案
         $("#backup-answer").on("click", function () {
-            backupAllAnswer(answerjson, 0);
+            backupAllAnswer(answerjson, 2);
             //var answerJson = "{\"AudioLength\":3,\"AudioUrl\":\"http://172.16.41.241:10103/http_TBookEditor51/exerciseAnswerAudio/2020-11-06_09-31-19.wav\",\"Id\":\"18\",\"Text\":\"\",\"Type\":3}";
             //reviewAnswer(answerJson);
         });