|
@@ -6,7 +6,6 @@
|
|
|
<span v-html="sanitizeHTML(data.stem)"></span>
|
|
|
</div>
|
|
|
<div v-if="isEnable(data.property.is_enable_description)" class="description">{{ data.description }}</div>
|
|
|
-
|
|
|
<div class="option-list">
|
|
|
<li v-for="(item, i) in data.option_list" :key="i" :class="['option-item']">
|
|
|
<span>{{ computeOptionMethods[data.option_number_show_mode](i) }} </span>
|
|
@@ -37,7 +36,20 @@
|
|
|
<span
|
|
|
v-for="(itemi, indexi) in itemc"
|
|
|
:key="indexi"
|
|
|
- :class="['items-con', active_index_str === i + '-' + indexc + '-' + indexi ? 'active' : '']"
|
|
|
+ :class="[
|
|
|
+ 'items-con',
|
|
|
+ active_index_str === i + '-' + indexc + '-' + indexi ? 'active' : '',
|
|
|
+ isJudgingRightWrong &&
|
|
|
+ !con_preview[i].user_answer[indexc].is_right &&
|
|
|
+ con_preview[i].user_answer[indexc].select_index_submit === indexi
|
|
|
+ ? 'error'
|
|
|
+ : '',
|
|
|
+ isJudgingRightWrong &&
|
|
|
+ !con_preview[i].user_answer[indexc].is_right &&
|
|
|
+ con_preview[i].user_answer[indexc].right_index === indexi
|
|
|
+ ? 'right'
|
|
|
+ : '',
|
|
|
+ ]"
|
|
|
@click="handleSelectItemTone(i, indexc, indexi, con_preview[i].item_con_yuan[indexc][indexi])"
|
|
|
>{{ itemi }}</span
|
|
|
>
|
|
@@ -60,9 +72,16 @@
|
|
|
select_item_index === i
|
|
|
? 'active'
|
|
|
: '',
|
|
|
- con_preview[i].user_answer[con_preview[i].item_active_index].right_answer === value &&
|
|
|
- con_preview[i].user_answer[con_preview[i].item_active_index].select_tone !==
|
|
|
- con_preview[i].user_answer[con_preview[i].item_active_index].right_answer
|
|
|
+ (isJudgingRightWrong &&
|
|
|
+ con_preview[i].user_answer[con_preview[i].item_active_index].right_answer === value &&
|
|
|
+ con_preview[i].user_answer[con_preview[i].item_active_index].select_index_submit !==
|
|
|
+ con_preview[i].user_answer[con_preview[i].item_active_index].right_answer &&
|
|
|
+ data.property.answer_mode === 'select') ||
|
|
|
+ (data.property.answer_mode === 'label' &&
|
|
|
+ con_preview[i].user_answer[con_preview[i].item_active_index].right_answer === value &&
|
|
|
+ con_preview[i].user_answer[con_preview[i].item_active_index].right_index ===
|
|
|
+ con_preview[i].user_answer[con_preview[i].item_active_index].select_index &&
|
|
|
+ select_item_index === i)
|
|
|
? 'right'
|
|
|
: '',
|
|
|
]"
|
|
@@ -144,7 +163,7 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
chooseTone(item, value, i) {
|
|
|
- if (this.isJudgingRightWrong) return;
|
|
|
+ if (this.disabled) return;
|
|
|
if ((!this.active_letter || this.select_item_index !== i) && this.data.property.answer_mode === 'label') return;
|
|
|
item.user_answer[item.item_active_index].select_tone = value;
|
|
|
if (this.data.property.answer_mode === 'label') {
|
|
@@ -234,8 +253,12 @@ export default {
|
|
|
}
|
|
|
});
|
|
|
});
|
|
|
- let number_index = e.search(/0|1|2|3|4/) + 1;
|
|
|
- arr[index] = str.trim() + e.substring(number_index);
|
|
|
+ if (this.data.property.answer_mode === 'label') {
|
|
|
+ let number_index = e.search(/0|1|2|3|4/) + 1;
|
|
|
+ arr[index] = str.trim() + e.substring(number_index);
|
|
|
+ } else {
|
|
|
+ arr[index] = str.trim();
|
|
|
+ }
|
|
|
} else {
|
|
|
this.resArr.forEach((item) => {
|
|
|
str += ' ';
|
|
@@ -361,7 +384,10 @@ export default {
|
|
|
indexs,
|
|
|
user_res_arr[indexs],
|
|
|
);
|
|
|
- if (this.answer.answer_list[index].value[indexs].match(/\d+/g).length > 0) {
|
|
|
+ if (
|
|
|
+ this.answer.answer_list[index].value[indexs].match(/\d+/g) &&
|
|
|
+ this.answer.answer_list[index].value[indexs].match(/\d+/g).length > 0
|
|
|
+ ) {
|
|
|
user_answer[indexs].select_tone = this.answer.answer_list[index].value[indexs].match(/\d+/g)[0];
|
|
|
let letter_number = this.answer.answer_list[index].value[indexs].match(/\d+/g)[0];
|
|
|
let letter_index = this.answer.answer_list[index].value[indexs].indexOf(letter_number) - 1;
|
|
@@ -369,8 +395,12 @@ export default {
|
|
|
letter_index,
|
|
|
letter_index + 1,
|
|
|
);
|
|
|
- user_answer[indexs].select_index = letter_index;
|
|
|
+ user_answer[indexs].select_index_submit = letter_index;
|
|
|
+ } else {
|
|
|
+ user_select[indexs] = items;
|
|
|
}
|
|
|
+ user_answer[indexs].right_answer = this.data.answer.answer_list[index].value[indexs].match(/0|1|2|3|4/)[0];
|
|
|
+ user_answer[indexs].right_index = this.data.answer.answer_list[index].value[indexs].search(/0|1|2|3|4/) - 1;
|
|
|
} else {
|
|
|
this.handleReplaceTone(
|
|
|
items + this.answer.answer_list[index].value[indexs],
|
|
@@ -397,8 +427,6 @@ export default {
|
|
|
setTimeout(() => {
|
|
|
this.show_preview = true;
|
|
|
}, 100);
|
|
|
-
|
|
|
- console.log(this.con_preview);
|
|
|
},
|
|
|
},
|
|
|
};
|
|
@@ -448,6 +476,10 @@ export default {
|
|
|
color: #000;
|
|
|
cursor: pointer;
|
|
|
|
|
|
+ &.right {
|
|
|
+ color: $right-color;
|
|
|
+ }
|
|
|
+
|
|
|
&.error {
|
|
|
color: $error-color;
|
|
|
}
|
|
@@ -470,17 +502,17 @@ export default {
|
|
|
text-align: center;
|
|
|
cursor: pointer;
|
|
|
|
|
|
- &.active {
|
|
|
- color: #2f6fec;
|
|
|
- background: #dfe9fd;
|
|
|
- border-radius: 16px;
|
|
|
- }
|
|
|
-
|
|
|
&.right {
|
|
|
color: $right-color;
|
|
|
background-color: $right-bc-color;
|
|
|
border-radius: 16px;
|
|
|
}
|
|
|
+
|
|
|
+ &.active {
|
|
|
+ color: #2f6fec;
|
|
|
+ background: #dfe9fd;
|
|
|
+ border-radius: 16px;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|