|
@@ -6,7 +6,15 @@
|
|
|
<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 ref="richText" v-model="item.content" placeholder="请输入" :inline="true" :height="32" />
|
|
|
+ <RichText
|
|
|
+ ref="richText"
|
|
|
+ v-model="item.content"
|
|
|
+ placeholder="请输入"
|
|
|
+ :inline="true"
|
|
|
+ :height="32"
|
|
|
+ :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" />
|
|
@@ -75,6 +83,8 @@ export default {
|
|
|
serialNumberTypeList,
|
|
|
curSelectRow: -1,
|
|
|
curSelectColumn: -1,
|
|
|
+ // 用于记录 data.option_list 中 content 的签名
|
|
|
+ optionContentSignature: '',
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
@@ -151,9 +161,9 @@ export default {
|
|
|
},
|
|
|
'handlerMindMap',
|
|
|
],
|
|
|
- 'data.property': {
|
|
|
- handler({ view_pinyin }) {
|
|
|
- if (!this.isEnable(view_pinyin)) {
|
|
|
+ 'data.property.view_pinyin': {
|
|
|
+ handler(val) {
|
|
|
+ if (!this.isEnable(val)) {
|
|
|
this.data.option_list.forEach((item) => {
|
|
|
item.paragraph_list = [];
|
|
|
item.paragraph_list_parameter = {
|
|
@@ -163,7 +173,9 @@ export default {
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
- if (this.data.option_list.length > 0 && this.data.option_list[0].paragraph_list.length > 0) return;
|
|
|
+
|
|
|
+ if (this.data.option_list?.length > 0 && this.data.option_list[0].paragraph_list?.length > 0) return;
|
|
|
+
|
|
|
this.data.option_list.forEach((item, i) => {
|
|
|
item.forEach((option, j) => {
|
|
|
const text = option.content.replace(/<[^>]+>/g, '');
|
|
@@ -173,7 +185,6 @@ export default {
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
- deep: true,
|
|
|
},
|
|
|
},
|
|
|
methods: {
|
|
@@ -195,6 +206,13 @@ export default {
|
|
|
this.curSelectColumn = -1;
|
|
|
this.curSelectRow = -1;
|
|
|
},
|
|
|
+ handleParsedTextPinyin(text, i, j) {
|
|
|
+ if (!this.isEnable(this.data.property.view_pinyin)) return;
|
|
|
+ if (this.data.option_list?.length > 0 && this.data.option_list[0].paragraph_list?.length > 0) return;
|
|
|
+ if (!text) return;
|
|
|
+ this.data.option_list[i][j].paragraph_list_parameter.text = text.replace(/<[^>]+>/g, '');
|
|
|
+ this.createParsedTextInfoPinyin(text, i, j);
|
|
|
+ },
|
|
|
},
|
|
|
};
|
|
|
</script>
|