|
@@ -423,6 +423,7 @@ export default {
|
|
onPreTap() {
|
|
onPreTap() {
|
|
let lastIndex = this.historyStack.pop();
|
|
let lastIndex = this.historyStack.pop();
|
|
this.questionHEAD = lastIndex;
|
|
this.questionHEAD = lastIndex;
|
|
|
|
+ this.selectedOpenList.length = 0;
|
|
this.onQuestionLoaded(true);
|
|
this.onQuestionLoaded(true);
|
|
},
|
|
},
|
|
onListItemTap(event) {
|
|
onListItemTap(event) {
|
|
@@ -443,13 +444,13 @@ export default {
|
|
let isUnselect = this.lastCheckList.length > index.length;
|
|
let isUnselect = this.lastCheckList.length > index.length;
|
|
|
|
|
|
if (isUnselect) {
|
|
if (isUnselect) {
|
|
- // 取消选中,先判断取消选中的是哪个index,然后在判断开放选项中是否有取消选择的,将其删除掉
|
|
|
|
- let unselectItem;
|
|
|
|
- for (var item in this.lastCheckList) {
|
|
|
|
- if (index.indexOf(this.lastCheckList[item]) < 0) {
|
|
|
|
- unselectItem = this.lastCheckList[item];
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ let selSet = new Set(index)
|
|
|
|
+ let lastSet = new Set(this.lastCheckList)
|
|
|
|
+ let unselectSet = new Set(
|
|
|
|
+ [...lastSet].filter(x => !selSet.has(x))
|
|
|
|
+ );
|
|
|
|
+ let unselectItem = Array.from(unselectSet)[0];
|
|
|
|
+
|
|
for (
|
|
for (
|
|
var oIndex = 0;
|
|
var oIndex = 0;
|
|
oIndex < this.selectedOpenList.length;
|
|
oIndex < this.selectedOpenList.length;
|
|
@@ -487,6 +488,7 @@ export default {
|
|
console.log(`Dialog value: ${value}, `);
|
|
console.log(`Dialog value: ${value}, `);
|
|
this.$set(this.selectedOpenList, this.selectedOpenList.length, {
|
|
this.$set(this.selectedOpenList, this.selectedOpenList.length, {
|
|
selectedIndex: selectedOpt.value,
|
|
selectedIndex: selectedOpt.value,
|
|
|
|
+ selectedId: selectedOpt.id,
|
|
selectedValue: value
|
|
selectedValue: value
|
|
});
|
|
});
|
|
this.answerNote[selectedOpt.id] = value;
|
|
this.answerNote[selectedOpt.id] = value;
|
|
@@ -509,6 +511,7 @@ export default {
|
|
// 如果有开放选项内容,再添加内容
|
|
// 如果有开放选项内容,再添加内容
|
|
this.$set(this.selectedOpenList, this.selectedOpenList.length, {
|
|
this.$set(this.selectedOpenList, this.selectedOpenList.length, {
|
|
selectedIndex: i,
|
|
selectedIndex: i,
|
|
|
|
+ selectedId: lastAnswer.answer,
|
|
selectedValue: lastAnswer.answerNote
|
|
selectedValue: lastAnswer.answerNote
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -530,6 +533,7 @@ export default {
|
|
// let optNote = lastAnswerNote. optId;
|
|
// let optNote = lastAnswerNote. optId;
|
|
this.$set(this.selectedOpenList, this.selectedOpenList.length, {
|
|
this.$set(this.selectedOpenList, this.selectedOpenList.length, {
|
|
selectedIndex: i,
|
|
selectedIndex: i,
|
|
|
|
+ selectedId: idList[idIndex],
|
|
selectedValue: lastAnswerNote[optId]
|
|
selectedValue: lastAnswerNote[optId]
|
|
});
|
|
});
|
|
}
|
|
}
|
|
@@ -541,9 +545,9 @@ export default {
|
|
} else {
|
|
} else {
|
|
this.answerValue = lastAnswer.answer;
|
|
this.answerValue = lastAnswer.answer;
|
|
}
|
|
}
|
|
- if (this.currentQuestion.type == 1 && lastAnswer.answerNote) {
|
|
|
|
- this.answerNote[lastAnswer.answer] = lastAnswer.answerNote;
|
|
|
|
- }
|
|
|
|
|
|
+ // if (this.currentQuestion.type == 1 && lastAnswer.answerNote) {
|
|
|
|
+ // this.answerNote[lastAnswer.answer] = lastAnswer.answerNote;
|
|
|
|
+ // }
|
|
},
|
|
},
|
|
onQuestionLoaded(isBack) {
|
|
onQuestionLoaded(isBack) {
|
|
console.log("call onQuestionLoaded");
|
|
console.log("call onQuestionLoaded");
|
|
@@ -636,7 +640,6 @@ export default {
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- this.selectedOpenList.length = 0;
|
|
|
|
|
|
|
|
// 确定答案
|
|
// 确定答案
|
|
// this.answers[questionId] = selectionIds.join(',');
|
|
// this.answers[questionId] = selectionIds.join(',');
|
|
@@ -647,22 +650,29 @@ export default {
|
|
|
|
|
|
if (
|
|
if (
|
|
this.currentQuestion.maxOptions == 1 &&
|
|
this.currentQuestion.maxOptions == 1 &&
|
|
- this.answerNote[selectionIds[0]]
|
|
|
|
|
|
+ this.selectedOpenList.length > 0
|
|
) {
|
|
) {
|
|
- this.answers[questionId].answerNote = this.answerNote[
|
|
|
|
- selectionIds[0]
|
|
|
|
- ];
|
|
|
|
|
|
+ this.answers[
|
|
|
|
+ questionId
|
|
|
|
+ ].answerNote = this.selectedOpenList[0].selectedValue;
|
|
} else if (this.currentQuestion.maxOptions > 1) {
|
|
} else if (this.currentQuestion.maxOptions > 1) {
|
|
let answerNoteObj = {};
|
|
let answerNoteObj = {};
|
|
for (let index in selectionIds) {
|
|
for (let index in selectionIds) {
|
|
let selectedId = selectionIds[index];
|
|
let selectedId = selectionIds[index];
|
|
- if (this.answerNote[selectedId]) {
|
|
|
|
- answerNoteObj[selectedId] = this.answerNote[selectedId];
|
|
|
|
|
|
+ for (var sIndex in this.selectedOpenList) {
|
|
|
|
+ if (this.selectedOpenList[sIndex].selectedId == selectedId) {
|
|
|
|
+ answerNoteObj[selectedId] = this.selectedOpenList[
|
|
|
|
+ sIndex
|
|
|
|
+ ].selectedValue;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
this.answers[questionId].answerNote = JSON.stringify(answerNoteObj);
|
|
this.answers[questionId].answerNote = JSON.stringify(answerNoteObj);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ this.selectedOpenList.length = 0;
|
|
|
|
+
|
|
// 判断是否配额不足
|
|
// 判断是否配额不足
|
|
let isIndicartorOut = indicatorBiz.isIndicartorOut(
|
|
let isIndicartorOut = indicatorBiz.isIndicartorOut(
|
|
this.currentQuestion,
|
|
this.currentQuestion,
|