|
|
@@ -1,87 +1,95 @@
|
|
|
<template>
|
|
|
<ModuleBase ref="base" :type="data.type">
|
|
|
<template #content>
|
|
|
- <ul class="option-list">
|
|
|
- <li v-for="(li, i) in data.option_list" :key="i" class="option-item">
|
|
|
- <div v-for="(item, j) in li" :key="item.mark" class="option">
|
|
|
- <span class="serial-number">{{ computeOptionMethods[data.property.serial_number_type_list[j]](i) }}</span>
|
|
|
- <span class="option-content">
|
|
|
- <RichText
|
|
|
- v-if="property.isGetContent"
|
|
|
- ref="richText"
|
|
|
- v-model="item.content"
|
|
|
- placeholder="请输入"
|
|
|
- :inline="true"
|
|
|
- :height="32"
|
|
|
- :font-size="data?.unified_attrib?.font_size"
|
|
|
- :font-family="data?.unified_attrib?.font"
|
|
|
- :font-color="data?.unified_attrib?.text_color"
|
|
|
- :is-view-pinyin="isEnable(data.property.view_pinyin)"
|
|
|
- @createParsedTextInfoPinyin="handleParsedTextPinyin($event, i, j)"
|
|
|
- />
|
|
|
- </span>
|
|
|
- <span class="multilingual" @click="openMultilingual(i, j)">
|
|
|
- <SvgIcon icon-class="multilingual" class-name="multilingual" width="12" height="12" />
|
|
|
- </span>
|
|
|
- </div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <div class="answer-tips">答案:</div>
|
|
|
- <ul class="answer-list">
|
|
|
- <li v-for="(li, i) in data.answer.answer_list" :key="i" class="answer-item">
|
|
|
- <template v-for="(item, j) in li">
|
|
|
- <span v-if="j === 0" :key="`zero-${j}-${item.mark}`">{{ answerList[j][i].label }}</span>
|
|
|
- <el-select v-if="j === 1 || j === 2" :key="`select-${j}`" v-model="item.mark" multiple placeholder="请选择">
|
|
|
- <el-option
|
|
|
- v-for="answer in answerList[j]"
|
|
|
- :key="answer.value"
|
|
|
- :label="answer.label"
|
|
|
- :value="answer.value"
|
|
|
- />
|
|
|
- </el-select>
|
|
|
- <span v-if="j === 1 && data.property.column_num === 3" :key="`one-${j}-${item.mark}`">
|
|
|
- {{ answerList[j][i].label }}
|
|
|
- </span>
|
|
|
- </template>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
-
|
|
|
- <el-divider v-if="isEnable(data.property.view_pinyin)" content-position="left">
|
|
|
- <span>拼音效果</span>
|
|
|
- <el-button
|
|
|
- v-show="isEnable(data.property.view_pinyin)"
|
|
|
- type="text"
|
|
|
- icon="el-icon-refresh"
|
|
|
- title="刷新"
|
|
|
- class="refresh-pinyin-btn"
|
|
|
- @click.native="handleViewPinyin(true)"
|
|
|
- />
|
|
|
- </el-divider>
|
|
|
- <div v-show="isEnable(data.property.view_pinyin)" class="proofread-table-wrapper">
|
|
|
- <table class="proofread-table">
|
|
|
- <tbody>
|
|
|
- <template v-for="(row, i) in data.option_list">
|
|
|
- <tr v-for="(item, j) in row" :key="item.mark">
|
|
|
- <td class="pinyin-cell">
|
|
|
- <PinyinText
|
|
|
- ref="PinyinText"
|
|
|
- :paragraph-list="item.paragraph_list"
|
|
|
- :rich-text-list="item.rich_text_list"
|
|
|
- :pinyin-position="data.property.pinyin_position"
|
|
|
- @fillCorrectPinyin="fillCorrectPinyin($event, i, j)"
|
|
|
- />
|
|
|
- </td>
|
|
|
- <td class="proofread-cell">
|
|
|
- <WordProofread
|
|
|
- button-text="分词校对"
|
|
|
- :word-data="getOptionWordData(item)"
|
|
|
- @save="saveOptionWord($event, i, j)"
|
|
|
- />
|
|
|
- </td>
|
|
|
- </tr>
|
|
|
+ <div v-loading="loading">
|
|
|
+ <ul class="option-list">
|
|
|
+ <li v-for="(li, i) in data.option_list" :key="i" class="option-item">
|
|
|
+ <div v-for="(item, j) in li" :key="item.mark" class="option">
|
|
|
+ <span class="serial-number">{{ computeOptionMethods[data.property.serial_number_type_list[j]](i) }}</span>
|
|
|
+ <span class="option-content">
|
|
|
+ <RichText
|
|
|
+ v-if="property.isGetContent"
|
|
|
+ ref="richText"
|
|
|
+ v-model="item.content"
|
|
|
+ placeholder="请输入"
|
|
|
+ :inline="true"
|
|
|
+ :height="32"
|
|
|
+ :font-size="data?.unified_attrib?.font_size"
|
|
|
+ :font-family="data?.unified_attrib?.font"
|
|
|
+ :font-color="data?.unified_attrib?.text_color"
|
|
|
+ :is-view-pinyin="isEnable(data.property.view_pinyin)"
|
|
|
+ @createParsedTextInfoPinyin="handleParsedTextPinyin($event, i, j)"
|
|
|
+ />
|
|
|
+ </span>
|
|
|
+ <span class="multilingual" @click="openMultilingual(i, j)">
|
|
|
+ <SvgIcon icon-class="multilingual" class-name="multilingual" width="12" height="12" />
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <div class="answer-tips">答案:</div>
|
|
|
+ <ul class="answer-list">
|
|
|
+ <li v-for="(li, i) in data.answer.answer_list" :key="i" class="answer-item">
|
|
|
+ <template v-for="(item, j) in li">
|
|
|
+ <span v-if="j === 0" :key="`zero-${j}-${item.mark}`">{{ answerList[j][i].label }}</span>
|
|
|
+ <el-select
|
|
|
+ v-if="j === 1 || j === 2"
|
|
|
+ :key="`select-${j}`"
|
|
|
+ v-model="item.mark"
|
|
|
+ multiple
|
|
|
+ placeholder="请选择"
|
|
|
+ >
|
|
|
+ <el-option
|
|
|
+ v-for="answer in answerList[j]"
|
|
|
+ :key="answer.value"
|
|
|
+ :label="answer.label"
|
|
|
+ :value="answer.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ <span v-if="j === 1 && data.property.column_num === 3" :key="`one-${j}-${item.mark}`">
|
|
|
+ {{ answerList[j][i].label }}
|
|
|
+ </span>
|
|
|
</template>
|
|
|
- </tbody>
|
|
|
- </table>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+
|
|
|
+ <el-divider v-if="isEnable(data.property.view_pinyin)" content-position="left">
|
|
|
+ <span>拼音效果</span>
|
|
|
+ <el-button
|
|
|
+ v-show="isEnable(data.property.view_pinyin)"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-refresh"
|
|
|
+ title="刷新"
|
|
|
+ class="refresh-pinyin-btn"
|
|
|
+ @click.native="handleViewPinyin(true)"
|
|
|
+ />
|
|
|
+ </el-divider>
|
|
|
+ <div v-show="isEnable(data.property.view_pinyin)" class="proofread-table-wrapper">
|
|
|
+ <table class="proofread-table">
|
|
|
+ <tbody>
|
|
|
+ <template v-for="(row, i) in data.option_list">
|
|
|
+ <tr v-for="(item, j) in row" :key="item.mark">
|
|
|
+ <td class="pinyin-cell">
|
|
|
+ <PinyinText
|
|
|
+ ref="PinyinText"
|
|
|
+ :paragraph-list="item.paragraph_list"
|
|
|
+ :rich-text-list="item.rich_text_list"
|
|
|
+ :pinyin-position="data.property.pinyin_position"
|
|
|
+ @fillCorrectPinyin="fillCorrectPinyin($event, i, j)"
|
|
|
+ />
|
|
|
+ </td>
|
|
|
+ <td class="proofread-cell">
|
|
|
+ <WordProofread
|
|
|
+ button-text="分词校对"
|
|
|
+ :word-data="getOptionWordData(item)"
|
|
|
+ @save="saveOptionWord($event, i, j)"
|
|
|
+ />
|
|
|
+ </td>
|
|
|
+ </tr>
|
|
|
+ </template>
|
|
|
+ </tbody>
|
|
|
+ </table>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
<MultilingualFill
|