|
@@ -29,7 +29,7 @@
|
|
|
:key="j"
|
|
:key="j"
|
|
|
v-model="li.content"
|
|
v-model="li.content"
|
|
|
:disabled="disabled"
|
|
:disabled="disabled"
|
|
|
- :class="[data.property.fill_font, ...computedAnswerClass(li.mark)]"
|
|
|
|
|
|
|
+ :class="[data.property.fill_font]"
|
|
|
:style="[{ width: Math.max(80, li.content.length * 21.3) + 'px' }]"
|
|
:style="[{ width: Math.max(80, li.content.length * 21.3) + 'px' }]"
|
|
|
/>
|
|
/>
|
|
|
</template>
|
|
</template>
|
|
@@ -51,7 +51,7 @@
|
|
|
slot="reference"
|
|
slot="reference"
|
|
|
v-model="li.content"
|
|
v-model="li.content"
|
|
|
:readonly="true"
|
|
:readonly="true"
|
|
|
- :class="[data.property.fill_font, ...computedAnswerClass(li.mark)]"
|
|
|
|
|
|
|
+ :class="[data.property.fill_font]"
|
|
|
class="pinyin"
|
|
class="pinyin"
|
|
|
:style="[{ width: Math.max(80, li.content.length * 21.3) + 'px' }]"
|
|
:style="[{ width: Math.max(80, li.content.length * 21.3) + 'px' }]"
|
|
|
/>
|
|
/>
|
|
@@ -82,10 +82,6 @@
|
|
|
@handleWav="handleMiniWav($event, li.mark)"
|
|
@handleWav="handleMiniWav($event, li.mark)"
|
|
|
/>
|
|
/>
|
|
|
</template>
|
|
</template>
|
|
|
-
|
|
|
|
|
- <span v-show="computedAnswerText(li.mark).length > 0" :key="`answer-${j}`" class="right-answer">
|
|
|
|
|
- {{ computedAnswerText(li.mark) }}
|
|
|
|
|
- </span>
|
|
|
|
|
</template>
|
|
</template>
|
|
|
</template>
|
|
</template>
|
|
|
</p>
|
|
</p>
|
|
@@ -112,7 +108,90 @@
|
|
|
:visible.sync="visibleAnswerAnalysis"
|
|
:visible.sync="visibleAnswerAnalysis"
|
|
|
:answer-list="data.answer_list"
|
|
:answer-list="data.answer_list"
|
|
|
:analysis-list="data.analysis_list"
|
|
:analysis-list="data.analysis_list"
|
|
|
- />
|
|
|
|
|
|
|
+ @closeAnswerAnalysis="closeAnswerAnalysis"
|
|
|
|
|
+ >
|
|
|
|
|
+ <div slot="right-answer" class="fill-wrapper">
|
|
|
|
|
+ <p v-for="(item, i) in modelEssay" :key="i">
|
|
|
|
|
+ <template v-for="(li, j) in item">
|
|
|
|
|
+ <template v-if="li.type === 'text'">
|
|
|
|
|
+ <PinyinText
|
|
|
|
|
+ v-if="isEnable(data.property.view_pinyin)"
|
|
|
|
|
+ :key="`${i}-${j}`"
|
|
|
|
|
+ class="content"
|
|
|
|
|
+ :paragraph-list="li.paragraph_list"
|
|
|
|
|
+ :pinyin-position="data.property.pinyin_position"
|
|
|
|
|
+ :is-preview="true"
|
|
|
|
|
+ />
|
|
|
|
|
+ <span v-else :key="j" v-html="convertText(sanitizeHTML(li.content))"></span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ <template v-if="li.type === 'input'">
|
|
|
|
|
+ <template v-if="data.property.fill_type === fillTypeList[0].value">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ :key="j"
|
|
|
|
|
+ v-model="li.content"
|
|
|
|
|
+ :disabled="disabled"
|
|
|
|
|
+ :class="[data.property.fill_font, ...computedAnswerClass(li.mark)]"
|
|
|
|
|
+ :style="[{ width: Math.max(80, li.content.length * 21.3) + 'px' }]"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template v-else-if="data.property.fill_type === fillTypeList[1].value">
|
|
|
|
|
+ <el-popover :key="j" placement="top" trigger="click">
|
|
|
|
|
+ <div class="word-list">
|
|
|
|
|
+ <span
|
|
|
|
|
+ v-for="{ content, mark } in data.word_list"
|
|
|
|
|
+ :key="mark"
|
|
|
|
|
+ class="word-item"
|
|
|
|
|
+ @click="handleSelectWord(content, mark, li)"
|
|
|
|
|
+ >
|
|
|
|
|
+ {{ content }}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ slot="reference"
|
|
|
|
|
+ v-model="li.content"
|
|
|
|
|
+ :readonly="true"
|
|
|
|
|
+ :class="[data.property.fill_font, ...computedAnswerClass(li.mark)]"
|
|
|
|
|
+ class="pinyin"
|
|
|
|
|
+ :style="[{ width: Math.max(80, li.content.length * 21.3) + 'px' }]"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-popover>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template v-else-if="data.property.fill_type === fillTypeList[2].value">
|
|
|
|
|
+ <span :key="j" class="write-click" @click="handleWriteClick(li.mark)">
|
|
|
|
|
+ <img
|
|
|
|
|
+ v-show="li.write_base64"
|
|
|
|
|
+ style="background-color: #f4f4f4"
|
|
|
|
|
+ :src="li.write_base64"
|
|
|
|
|
+ alt="write-show"
|
|
|
|
|
+ />
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <template v-else-if="data.property.fill_type === fillTypeList[3].value">
|
|
|
|
|
+ <SoundRecordBox
|
|
|
|
|
+ ref="record"
|
|
|
|
|
+ :key="j"
|
|
|
|
|
+ type="mini"
|
|
|
|
|
+ :many-times="false"
|
|
|
|
|
+ class="record-box"
|
|
|
|
|
+ :attrib="data.unified_attrib"
|
|
|
|
|
+ :answer-record-list="data.audio_answer_list"
|
|
|
|
|
+ :task-model="isJudgingRightWrong ? 'ANSWER' : ''"
|
|
|
|
|
+ @handleWav="handleMiniWav($event, li.mark)"
|
|
|
|
|
+ />
|
|
|
|
|
+ </template>
|
|
|
|
|
+
|
|
|
|
|
+ <span v-show="computedAnswerText(li.mark).length > 0" :key="`answer-${j}`" class="right-answer">
|
|
|
|
|
+ {{ computedAnswerText(li.mark) }}
|
|
|
|
|
+ </span>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </p>
|
|
|
|
|
+ </div>
|
|
|
|
|
+ </AnswerAnalysis>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|