|
|
@@ -225,10 +225,40 @@
|
|
|
<svg-icon size="16" icon-class="eye-invisible"></svg-icon>
|
|
|
</i>
|
|
|
</li>
|
|
|
+ <li @click="handleShow(item.key)" v-for="(item, index) in data.addCol" :key="index">
|
|
|
+ <span>{{ item.label }}</span
|
|
|
+ ><i
|
|
|
+ slot="suffix"
|
|
|
+ class="el-icon-view show-icon"
|
|
|
+ v-if="showObj[item.key]"
|
|
|
+ size="16"
|
|
|
+ :style="{
|
|
|
+ color:
|
|
|
+ data.unified_attrib && data.unified_attrib.topic_color
|
|
|
+ ? data.unified_attrib.topic_color
|
|
|
+ : '#de4444',
|
|
|
+ marginLeft: '5px',
|
|
|
+ }"
|
|
|
+ ></i>
|
|
|
+ <i
|
|
|
+ slot="suffix"
|
|
|
+ class="show-icon"
|
|
|
+ v-else
|
|
|
+ :style="{
|
|
|
+ color:
|
|
|
+ data.unified_attrib && data.unified_attrib.topic_color
|
|
|
+ ? data.unified_attrib.topic_color
|
|
|
+ : '#de4444',
|
|
|
+ marginLeft: '5px',
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <svg-icon size="16" icon-class="eye-invisible"></svg-icon>
|
|
|
+ </i>
|
|
|
+ </li>
|
|
|
</ul>
|
|
|
<SvgIcon
|
|
|
slot="reference"
|
|
|
- v-if="is_list"
|
|
|
+ v-show="is_list"
|
|
|
icon-class="list2"
|
|
|
size="24"
|
|
|
:style="{
|
|
|
@@ -634,6 +664,33 @@
|
|
|
}}
|
|
|
</span>
|
|
|
</div>
|
|
|
+ <template v-for="(itemC, indexC) in data.addCol">
|
|
|
+ <div v-if="sItem[itemC.key] && showObj[itemC.key]" :key="indexC">
|
|
|
+ <span class="collocation"
|
|
|
+ ><span>{{ convertText(itemC.label + ':') }}</span>
|
|
|
+ <div>
|
|
|
+ <b
|
|
|
+ v-html="convertText(sanitizeHTML(sItem[itemC.key]))"
|
|
|
+ :style="{
|
|
|
+ fontSize:
|
|
|
+ data.unified_attrib && data.unified_attrib.font_size
|
|
|
+ ? data.unified_attrib.font_size
|
|
|
+ : '',
|
|
|
+ }"
|
|
|
+ ></b>
|
|
|
+ </div>
|
|
|
+ </span>
|
|
|
+ <span v-if="showLang" class="">
|
|
|
+ {{
|
|
|
+ multilingualTextList[getLang()] &&
|
|
|
+ multilingualTextList[getLang()][index] &&
|
|
|
+ multilingualTextList[getLang()][index][5 + indexC]
|
|
|
+ ? multilingualTextList[getLang()][index][5 + indexC]
|
|
|
+ : ''
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
<div class="right-box">
|
|
|
<span>
|
|
|
@@ -1085,6 +1142,41 @@
|
|
|
}}
|
|
|
</span>
|
|
|
</div>
|
|
|
+ <template v-for="(itemC, indexC) in data.addCol">
|
|
|
+ <div
|
|
|
+ :key="indexC"
|
|
|
+ v-if="showObj[itemC.key] && colHasContent[6 + indexC]"
|
|
|
+ :style="{
|
|
|
+ width: data.col_width[6 + indexC].value + 'px',
|
|
|
+ flex:
|
|
|
+ !data.col_width[6 + indexC].value || data.col_width[6 + indexC].value === '0' ? '1' : '',
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <span class="collocation" v-if="sItem[itemC.key]"
|
|
|
+ ><span>{{ convertText(itemC.label + ':') }}</span>
|
|
|
+ <div>
|
|
|
+ <b
|
|
|
+ v-html="convertText(sanitizeHTML(sItem[itemC.key]))"
|
|
|
+ :style="{
|
|
|
+ fontSize:
|
|
|
+ data.unified_attrib && data.unified_attrib.font_size
|
|
|
+ ? data.unified_attrib.font_size
|
|
|
+ : '',
|
|
|
+ }"
|
|
|
+ ></b>
|
|
|
+ </div>
|
|
|
+ </span>
|
|
|
+ <span v-if="showLang" class="">
|
|
|
+ {{
|
|
|
+ multilingualTextList[getLang()] &&
|
|
|
+ multilingualTextList[getLang()][index] &&
|
|
|
+ multilingualTextList[getLang()][index][5 + indexC]
|
|
|
+ ? multilingualTextList[getLang()][index][5 + indexC]
|
|
|
+ : ''
|
|
|
+ }}
|
|
|
+ </span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</template>
|
|
|
</div>
|
|
|
</li>
|
|
|
@@ -1339,6 +1431,12 @@
|
|
|
<label class="card-label">{{ convertText('例句:') }}</label>
|
|
|
<p v-html="convertText(sanitizeHTML(item.liju_list))"></p>
|
|
|
</div>
|
|
|
+ <template v-for="(itemC, indexC) in data.addCol">
|
|
|
+ <div v-if="item[itemC.key]" :key="indexC">
|
|
|
+ <label class="card-label">{{ convertText(itemC.label + ':') }}</label>
|
|
|
+ <p v-html="convertText(sanitizeHTML(item[itemC.key]))"></p>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
</div>
|
|
|
<a class="overturn-btn" @click="changeShowLeft(item)"><i class="el-icon-refresh"></i></a>
|
|
|
</div>
|
|
|
@@ -1713,6 +1811,20 @@ export default {
|
|
|
this.hasVoice = false;
|
|
|
this.rowWidth = 0;
|
|
|
this.colHasContent = [];
|
|
|
+ this.showObj = {
|
|
|
+ pinyin: true,
|
|
|
+ newWord: true,
|
|
|
+ cixing: true,
|
|
|
+ shiyi: true,
|
|
|
+ collocation: true,
|
|
|
+ liju: true,
|
|
|
+ };
|
|
|
+ if (this.data.addCol) {
|
|
|
+ this.data.addCol.forEach((item) => {
|
|
|
+ this.$set(this.showObj, item.key, true);
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
this.data.col_width.forEach((item, index) => {
|
|
|
if (
|
|
|
this.data.property.pinyin_position &&
|
|
|
@@ -1807,6 +1919,12 @@ export default {
|
|
|
collocation_col ? true : false,
|
|
|
liju_list_col ? true : false,
|
|
|
];
|
|
|
+ if (this.data.addCol) {
|
|
|
+ this.data.addCol.forEach((item) => {
|
|
|
+ let str_col = this.data.new_word_list.reduce((acc, itemss) => `${acc + itemss[item.key]}`, '');
|
|
|
+ this.colHasContent.push(str_col ? true : false);
|
|
|
+ });
|
|
|
+ }
|
|
|
if (!this.isJudgingRightWrong) {
|
|
|
this.answer.answer_list = Bookanswer;
|
|
|
}
|