|
@@ -18,14 +18,22 @@
|
|
|
:src="pic_list[item.picture_file_id]"
|
|
|
fit="cover"
|
|
|
/>
|
|
|
- <p class="pic-info rich-text" v-html="sanitizeHTML(item.picture_info)"></p>
|
|
|
- <!-- 语音作答 -->
|
|
|
- <div v-if="isEnable(data.property.is_enable_voice_answer) && answer.answer_list[index]" class="sound-box">
|
|
|
- <SoundRecordPreview
|
|
|
- :disabled="disabled"
|
|
|
- :wav-blob.sync="answer.answer_list[index].audio_file_id"
|
|
|
- type="small"
|
|
|
- />
|
|
|
+ <div class="content-box" v-if="item.picture_info">
|
|
|
+ <span class="option-number">{{ computeOptionMethods[data.option_number_show_mode](index) }} </span>
|
|
|
+ <p class="pic-info rich-text" v-html="sanitizeHTML(item.picture_info)"></p>
|
|
|
+ </div>
|
|
|
+ <div class="content-box" style="align-items: center">
|
|
|
+ <span class="option-number" v-if="!item.picture_info"
|
|
|
+ >{{ computeOptionMethods[data.option_number_show_mode](index) }}
|
|
|
+ </span>
|
|
|
+ <!-- 语音作答 -->
|
|
|
+ <div v-if="isEnable(data.property.is_enable_voice_answer) && answer.answer_list[index]" class="sound-box">
|
|
|
+ <SoundRecordPreview
|
|
|
+ :disabled="disabled"
|
|
|
+ :wav-blob.sync="answer.answer_list[index].audio_file_id"
|
|
|
+ type="small"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
|
|
@@ -41,6 +49,7 @@
|
|
|
import PreviewMixin from './components/PreviewMixin';
|
|
|
import { GetFileStoreInfo } from '@/api/app';
|
|
|
import SoundRecordPreview from './components/common/SoundRecordPreview.vue';
|
|
|
+import { computeOptionMethods } from '@/views/exercise_questions/data/common';
|
|
|
|
|
|
export default {
|
|
|
name: 'TalkPictruePreview',
|
|
@@ -50,6 +59,7 @@ export default {
|
|
|
mixins: [PreviewMixin],
|
|
|
data() {
|
|
|
return {
|
|
|
+ computeOptionMethods,
|
|
|
pic_list: {},
|
|
|
active_index: 0,
|
|
|
};
|
|
@@ -162,9 +172,19 @@ export default {
|
|
|
.sound-box {
|
|
|
width: max-content;
|
|
|
padding: 4px;
|
|
|
- margin-top: 8px;
|
|
|
background: $content-color;
|
|
|
border-radius: 40px;
|
|
|
}
|
|
|
+
|
|
|
+ .content-box {
|
|
|
+ display: flex;
|
|
|
+ margin-top: 8px;
|
|
|
+
|
|
|
+ .option-number {
|
|
|
+ margin-right: 8px;
|
|
|
+ font-size: 16px;
|
|
|
+ line-height: 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|