|
|
@@ -71,6 +71,7 @@ var cTTypeFunc = function () {
|
|
|
}();
|
|
|
// 判断是否是主体课文
|
|
|
var IsZTKEStatus = 0;
|
|
|
+
|
|
|
// #region 表格处理Start
|
|
|
var pressTableFlag = false;
|
|
|
// 获取最大字符长度的字符串(起决定宽度的字符串/将字符去除HTML标签)
|
|
|
@@ -464,12 +465,14 @@ var AdjustTableFunc = function (sWidthVal, isAStatus) {
|
|
|
$("#pContrainId").remove();
|
|
|
};
|
|
|
// #endregion
|
|
|
+
|
|
|
// 测试专用(移动端不需要引用)
|
|
|
function AddTestTextFunc(DataStr3) {
|
|
|
$("#ShowTStr").remove();
|
|
|
var HtmlStr = '<div id="ShowTStr" style="width:200px;height:auto;background-color:yellow;color:#000;position:fixed;left:10px;top:100px;">DataStr3=》' + DataStr3 + '</div>';
|
|
|
$(document.body).append(HtmlStr);
|
|
|
}
|
|
|
+
|
|
|
//#region 听力音频处理
|
|
|
var LimitPreFlag = false; // 限制点击过宽
|
|
|
var AddListenDiv = function (NodeHandle, NIndex, sWidthVal) {
|
|
|
@@ -915,7 +918,238 @@ function dealRecvHSFill(NodeHandle, sHFlag) {
|
|
|
$(JQstr).find(".sentenceStyle,.sentImagcs").attr("data-setstatus", "0").attr("data-lstatus", "3").attr("data-drhsffunc", "1");
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+// 临时记录被删除答题点的数据,解决bug27527
|
|
|
+var HLIsRomArr = [];
|
|
|
+var TFillData = [];
|
|
|
+// 判断是否存在对象中
|
|
|
+function checkStrFunc(dataDtr) {
|
|
|
+ if (dataDtr == undefined || dataDtr == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ if (TFillData != null && TFillData.length > 0) {
|
|
|
+ var ReFlag = false;
|
|
|
+ TFillData.forEach(item=> {
|
|
|
+ if (item.HightCode == dataDtr) {
|
|
|
+ ReFlag = true;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ return ReFlag;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 处理答题点内存在高亮且被删除结构的情况
|
|
|
+function dealHLIsRemove(item, Id)
|
|
|
+{
|
|
|
+ var uLCClsName = $(item).attr("flag");
|
|
|
+ var IDStr = $(item).attr("id");
|
|
|
+ if (uLCClsName != null && uLCClsName.indexOf("sentence") > -1 && checkStrFunc(IDStr)) {
|
|
|
+ // 短语
|
|
|
+ var DelModel = {
|
|
|
+ AID: Id,
|
|
|
+ HID: $(item).attr("id"),
|
|
|
+ Type: 3,
|
|
|
+ Text: $(item).text(),
|
|
|
+ SourceCode:""
|
|
|
+ };
|
|
|
+ HLIsRomArr.push(DelModel);
|
|
|
+ }
|
|
|
+ else if (uLCClsName != null && uLCClsName.indexOf("phrase") > -1 && checkStrFunc(IDStr)) {
|
|
|
+ // 句型
|
|
|
+ var DelModel = {
|
|
|
+ AID: Id,
|
|
|
+ HID: $(item).attr("id"),
|
|
|
+ Type: 2,
|
|
|
+ Text: $(item).text(),
|
|
|
+ SourceCode: ""
|
|
|
+ };
|
|
|
+ HLIsRomArr.push(DelModel);
|
|
|
+ }
|
|
|
+ else if (uLCClsName != null && uLCClsName.indexOf("word") > -1 && checkStrFunc(IDStr)) {
|
|
|
+ // 单词
|
|
|
+ var DelModel = {
|
|
|
+ AID: Id,
|
|
|
+ HID: $(item).attr("id"),
|
|
|
+ Type: 1,
|
|
|
+ Text: $(item).text(),
|
|
|
+ SourceCode: ""
|
|
|
+ };
|
|
|
+ HLIsRomArr.push(DelModel);
|
|
|
+ }
|
|
|
+ // 内部短语
|
|
|
+ $.each($(item).find("span[flag='sentence']"), function (iIndex, iItem) {
|
|
|
+ var IDStr = $(iItem).attr("id");
|
|
|
+ if (checkStrFunc(IDStr)) {
|
|
|
+ var DelModel = {
|
|
|
+ AID: Id,
|
|
|
+ HID: $(iItem).attr("id"),
|
|
|
+ Type: 3,
|
|
|
+ Text: $(iItem).text(),
|
|
|
+ SourceCode: ""
|
|
|
+ };
|
|
|
+ HLIsRomArr.push(DelModel);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 内部句型
|
|
|
+ $.each($(item).find("span[flag='phrase']"), function (iIndex, iItem) {
|
|
|
+ var IDStr = $(iItem).attr("id");
|
|
|
+ if (checkStrFunc(IDStr)) {
|
|
|
+ var DelModel = {
|
|
|
+ AID: Id,
|
|
|
+ HID: $(iItem).attr("id"),
|
|
|
+ Type: 2,
|
|
|
+ Text: $(iItem).text(),
|
|
|
+ SourceCode: ""
|
|
|
+ };
|
|
|
+ HLIsRomArr.push(DelModel);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 内部单词
|
|
|
+ $.each($(item).find("span[flag='word']"), function (iIndex, iItem) {
|
|
|
+ var IDStr = $(iItem).attr("id");
|
|
|
+ if (checkStrFunc(IDStr)) {
|
|
|
+ var DelModel = {
|
|
|
+ AID: Id,
|
|
|
+ HID: $(iItem).attr("id"),
|
|
|
+ Type: 1,
|
|
|
+ Text: $(iItem).text(),
|
|
|
+ SourceCode: ""
|
|
|
+ };
|
|
|
+ HLIsRomArr.push(DelModel);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ if (TFillData.length > 0 && TFillData.length > 0) {
|
|
|
+ HLIsRomArr.forEach(item=> {
|
|
|
+ TFillData.forEach(fitem=> {
|
|
|
+ if (item.HID == fitem.HightCode) {
|
|
|
+ item.SourceCode = fitem.SourceCode;
|
|
|
+ }
|
|
|
+ });
|
|
|
+ });
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 渲染作答后的内容
|
|
|
+function delNotHHItems() {
|
|
|
+ if (HLIsRomArr == null || HLIsRomArr.length == 0) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ HLIsRomArr.forEach(item=> {
|
|
|
+ var AIDText = $(".answer-body[answer-id='" + item.AID + "']").find(".answer-text").text();
|
|
|
+ var AIDAudioText = $(".answer-body[answer-id='" + item.AID + "']").find(".answer-audio-text").text();
|
|
|
+ var AIDPointText = $(".answer-body[answer-id='" + item.AID + "']").find(".answer-point-text").text();
|
|
|
+ if (AIDText != undefined && AIDText != null && AIDText != "") {
|
|
|
+ if (AIDText.indexOf(item.Text) > -1) {
|
|
|
+ var HtmlStr = "";
|
|
|
+ var TName = "";
|
|
|
+ if (item.HID[0] == "P") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="P' + item.HID + '" flag="phrase">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ else if (item.HID[0] == "W") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="W' + item.HID + '" flag="word">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ else if (item.HID[0] == "S") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="S' + item.HID + '" flag="sentence">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ AIDText = AIDText.replace(item.Text, HtmlStr);
|
|
|
+ $(".answer-body[answer-id='" + item.AID + "']").find(".answer-text").html(AIDText);
|
|
|
+ assistantFill(item.HID, item.SourceCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (AIDAudioText != undefined && AIDAudioText != null && AIDAudioText != "") {
|
|
|
+ if (AIDAudioText.indexOf(item.Text) > -1) {
|
|
|
+ // 替换
|
|
|
+ var HtmlStr = "";
|
|
|
+ var TName = "";
|
|
|
+ if (item.HID[0] == "P") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="P' + item.HID + '" flag="phrase">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ else if (item.HID[0] == "W") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="W' + item.HID + '" flag="word">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ else if (item.HID[0] == "S") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="S' + item.HID + '" flag="sentence">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ AIDAudioText = AIDAudioText.replace(item.Text, HtmlStr);
|
|
|
+ $(".answer-body[answer-id='" + item.AID + "']").find(".answer-audio-text").html(AIDAudioText);
|
|
|
+ assistantFill(item.HID, item.SourceCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (AIDPointText != undefined && AIDPointText != null && AIDPointText != "") {
|
|
|
+ if (AIDPointText.indexOf(item.Text) > -1) {
|
|
|
+ // 替换
|
|
|
+ var HtmlStr = "";
|
|
|
+ var TName = "";
|
|
|
+ if (item.HID[0] == "P") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="P' + item.HID + '" flag="phrase">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ else if (item.HID[0] == "W") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="W' + item.HID + '" flag="word">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ else if (item.HID[0] == "S") {
|
|
|
+ HtmlStr = '<span id="' + item.HID + '" name="S' + item.HID + '" flag="sentence">' + item.Text + '</span>';
|
|
|
+ }
|
|
|
+ AIDPointText = AIDPointText.replace(item.Text, HtmlStr);
|
|
|
+ $(".answer-body[answer-id='" + item.AID + "']").find(".answer-point-text").html(AIDPointText);
|
|
|
+ assistantFill(item.HID, item.SourceCode);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
+}
|
|
|
+
|
|
|
+// 辅助标识
|
|
|
+function assistantFill(HightCode, SourceCode) {
|
|
|
+ var highlightArr = [];
|
|
|
+ if (typeof (HightCode) != 'undefined' && HightCode != null && HightCode != "") {
|
|
|
+ var highlightItem = $('span[id=' + HightCode + ']').eq(0);
|
|
|
+ if (highlightItem.length > 0) {
|
|
|
+ var hitCode = highlightItem.attr('hitCode');
|
|
|
+ if (hitCode) {
|
|
|
+ highlightItem.attr('hitCode', hitCode + "|" + SourceCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ highlightItem.attr('hitCode', SourceCode);
|
|
|
+ }
|
|
|
+ highlightArr.push(highlightItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else if (typeof (SourceCode) == 'undefined' || SourceCode == null || SourceCode != "") {
|
|
|
+ var highlightItem = $('span[kcode*=' + SourceCode + ']:first');
|
|
|
+ if (highlightItem.length > 0) {
|
|
|
+ var hitCode = highlightItem.attr('hitCode');
|
|
|
+ if (hitCode) {
|
|
|
+ highlightItem.attr('hitCode', hitCode + "|" + SourceCode);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ highlightItem.attr('hitCode', SourceCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ highlightArr.push(highlightItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ $.each(highlightArr, function (i, item) {
|
|
|
+ if (item.attr('flag') == 'word') {
|
|
|
+ bindEvent(item.attr('iskeyklg', 'true').attr("data-setstatus", "0").attr("showflag", "1").attr("data-scolor", cHPhraseStyleFunc(item)).addClass('wordStyle'), true);
|
|
|
+ }
|
|
|
+ else if (item.attr('flag') == 'phrase') {
|
|
|
+ bindEvent(item.attr('iskeyklg', 'true').attr("data-setstatus", "0").attr("showflag", "1").addClass('phraseStyle'), true);
|
|
|
+ }
|
|
|
+ else if (item.attr('flag') == 'sentence') {
|
|
|
+ if (item.attr('iskeyklg') == 'true') return;
|
|
|
+ bindEvent(item.attr('iskeyklg', 'true').attr("data-setstatus", "0").attr("showflag", "1").addClass('sentenceStyle')
|
|
|
+ .before('<img src="file:///android_asset/js/sentenceIco.png" class="sentImagcs" data-lstatus="0" data-setstatus="0">'), true);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ // 绑定横线内处理
|
|
|
+ addFillAssist();
|
|
|
+ adjustFillFunc(fillDataNum);
|
|
|
+}
|
|
|
+
|
|
|
// #endregion
|
|
|
+
|
|
|
// 点击事件样式渲染
|
|
|
var ClickRecFunc = function (pID) {
|
|
|
$(".answer-body").removeClass("select-answer");
|
|
|
@@ -1378,6 +1612,7 @@ function dealSULContentFunc(item, Id, pId) {
|
|
|
uHtml.setAttribute("answer-id", Id);
|
|
|
$(item).after(uHtml);
|
|
|
}
|
|
|
+ dealHLIsRemove($(item), Id);
|
|
|
$(item).remove();
|
|
|
}
|
|
|
else if (uLCClsName != undefined && uLCClsName.indexOf("yaoshi") > -1) {
|
|
|
@@ -1413,6 +1648,7 @@ function dealSULContentFunc(item, Id, pId) {
|
|
|
uHtml.setAttribute("answer-id", Id);
|
|
|
$(iItem).after(uHtml);
|
|
|
}
|
|
|
+ dealHLIsRemove($(iItem), Id);
|
|
|
});
|
|
|
$(item).find(".underlineContent").not(".noKey").remove();
|
|
|
}
|
|
|
@@ -1824,6 +2060,7 @@ function getAllAnswer() {
|
|
|
});
|
|
|
//提交直接还原作答现场
|
|
|
var mytext = $(item).attr("answer-text");//我的答案
|
|
|
+ mytext = (mytext == undefined || mytext == null) ? "" : mytext;
|
|
|
var ischecked = mytext.indexOf("√") > -1;
|
|
|
var answerText = $(item).attr("answer-anstext");//参考答案
|
|
|
if (mytext == "") {
|
|
|
@@ -2042,6 +2279,7 @@ function backupAllAnswer(answerJson, statusType) {
|
|
|
}
|
|
|
//提交直接还原作答现场
|
|
|
var mytext = answerList[index].Text;//我的答案
|
|
|
+ mytext = (mytext == undefined || mytext == null) ? "" : mytext;
|
|
|
var ischecked = mytext.indexOf("√") > -1;
|
|
|
var answerText = $(item).attr("answer-anstext");//参考答案
|
|
|
$(item).attr("answer-text", mytext);
|
|
|
@@ -2153,6 +2391,7 @@ function backupAllAnswer(answerJson, statusType) {
|
|
|
if (typeof (adjustFillFunc) == "function") {
|
|
|
adjustFillFunc(7); // 回填无效
|
|
|
}
|
|
|
+ delNotHHItems();
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -2181,6 +2420,7 @@ function reviewStuAnswer(answerJson) {
|
|
|
});
|
|
|
}
|
|
|
dealRecvShowFill();
|
|
|
+ delNotHHItems();
|
|
|
}
|
|
|
|
|
|
//处理播放录音,answerid:答题点ID,isPlay:是否播放(0-暂停,1-播放)
|
|
|
@@ -2405,6 +2645,12 @@ function mobileTEFunc(ID) {
|
|
|
function stuEntryFunc(sWidthVal, isAStatus, isMAStatus, data) {
|
|
|
IsStuFills.StuID = true;
|
|
|
bindEventYS(sWidthVal, isAStatus, isMAStatus);
|
|
|
+ if (cTTypeFunc == 2) {
|
|
|
+ TFillData = JSON.parse(data);
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ TFillData = data;
|
|
|
+ }
|
|
|
var ReData = handleAnswerRange();
|
|
|
if (typeof (Fill) == "function") {
|
|
|
Fill(data);
|