|
|
@@ -2,16 +2,16 @@
|
|
|
<ModuleBase :type="data.type">
|
|
|
<template #content>
|
|
|
<!-- eslint-disable max-len -->
|
|
|
- <div class="article-wrapper" v-loading="loading">
|
|
|
+ <div v-loading="loading" class="article-wrapper">
|
|
|
<div class="content">
|
|
|
- <div class="content-list" v-for="(item, index) in data.detail" :key="index">
|
|
|
+ <div v-for="(item, index) in data.detail" :key="index" class="content-list">
|
|
|
<div class="content-item">
|
|
|
<span
|
|
|
- class="avatar"
|
|
|
v-if="
|
|
|
data.property.role_img_type === 'upload' &&
|
|
|
data.property.role_list.find((items) => items.id === item.roleIndex).img_list[0]
|
|
|
"
|
|
|
+ class="avatar"
|
|
|
>
|
|
|
<img
|
|
|
:src="data.property.role_list.find((items) => items.id === item.roleIndex).img_list[0].file_url"
|
|
|
@@ -19,11 +19,11 @@
|
|
|
/>
|
|
|
</span>
|
|
|
<span
|
|
|
- class="avatar"
|
|
|
v-else-if="
|
|
|
data.property.role_img_type === 'simple' &&
|
|
|
data.property.role_list.find((items) => items.id === item.roleIndex).simpleHead
|
|
|
"
|
|
|
+ class="avatar"
|
|
|
><img
|
|
|
:src="
|
|
|
require(
|
|
|
@@ -38,11 +38,11 @@
|
|
|
{{ data.property.role_list.find((items) => items.id === item.roleIndex).simpleHead }}
|
|
|
</span>
|
|
|
<span
|
|
|
+ v-else
|
|
|
class="avatar"
|
|
|
:style="{
|
|
|
backgroundColor: data.property.role_list.find((items) => items.id === item.roleIndex).color,
|
|
|
}"
|
|
|
- v-else
|
|
|
>
|
|
|
{{
|
|
|
data.property.role_list.find((items) => items.id === item.roleIndex).fullName
|
|
|
@@ -113,15 +113,15 @@
|
|
|
</div>
|
|
|
<SvgIcon icon-class="delete-black" size="12" @click="removeFile" />
|
|
|
</div>
|
|
|
- <div class="btn-box" v-if="data.detail.length > 0">
|
|
|
+ <div v-if="data.detail.length > 0" class="btn-box">
|
|
|
<a @click="handleChangeContent">生成分词</a>
|
|
|
<a @click="checkArticle">文章校对</a>
|
|
|
<a @click="editWordsFlag = !editWordsFlag">编辑生词短语注释</a>
|
|
|
<template v-if="data.wordTime && data.wordTime.length > 0">
|
|
|
<!-- <span>已有字幕时间节点</span> -->
|
|
|
<a type="text" @click="againWordTime">重新生成字幕时间</a>
|
|
|
- <a @click="compareTime('句子')" size="medium">校对句子字幕时间</a>
|
|
|
- <a @click="compareTime('文字')" size="medium">校对文字字幕时间</a>
|
|
|
+ <a size="medium" @click="compareTime('句子')">校对句子字幕时间</a>
|
|
|
+ <a size="medium" @click="compareTime('文字')">校对文字字幕时间</a>
|
|
|
</template>
|
|
|
<template v-else>
|
|
|
<a v-if="!isWordTime" size="medium" @click="createWordTime">自动生成字幕节点</a>
|
|
|
@@ -137,19 +137,19 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-dialog title="标注" :visible.sync="remarkVisible" width="50%">
|
|
|
- <div class="remark" v-if="remark">
|
|
|
+ <div v-if="remark" class="remark">
|
|
|
<div class="adult-book-input-item">
|
|
|
<span class="adult-book-lable">中文:</span>
|
|
|
<el-input
|
|
|
+ v-model="remark.chs"
|
|
|
class="adult-book-input"
|
|
|
type="textarea"
|
|
|
:autosize="{ minRows: 2 }"
|
|
|
placeholder="请输入中文"
|
|
|
- v-model="remark.chs"
|
|
|
- @blur="onBlur(remark, 'chs')"
|
|
|
maxlength="200"
|
|
|
show-word-limit
|
|
|
- ></el-input>
|
|
|
+ @blur="onBlur(remark, 'chs')"
|
|
|
+ />
|
|
|
</div>
|
|
|
<div class="adult-book-input-item">
|
|
|
<span class="adult-book-lable">英文:</span>
|
|
|
@@ -164,12 +164,13 @@
|
|
|
show-word-limit
|
|
|
></el-input> -->
|
|
|
<RichText
|
|
|
+ ref="richText"
|
|
|
v-model="remark.en"
|
|
|
toolbar="fontselect fontsizeselect forecolor backcolor | underline | bold italic strikethrough alignleft aligncenter alignright"
|
|
|
:wordlimit-num="200"
|
|
|
/>
|
|
|
</div>
|
|
|
- <div class="adult-book-input-item" v-if="remark.img_list && remark.img_list.length == 0">
|
|
|
+ <div v-if="remark.img_list && remark.img_list.length == 0" class="adult-book-input-item">
|
|
|
<el-upload
|
|
|
action="no"
|
|
|
accept="image/*"
|
|
|
@@ -180,7 +181,7 @@
|
|
|
<el-button>上传图片</el-button>
|
|
|
</el-upload>
|
|
|
</div>
|
|
|
- <ul class="uploadArt_list" v-if="remark.img_list && remark.img_list.length > 0">
|
|
|
+ <ul v-if="remark.img_list && remark.img_list.length > 0" class="uploadArt_list">
|
|
|
<li v-for="(artItem, artIndex) in remark.img_list" :key="'articleImgList' + artIndex">
|
|
|
<img :src="artItem.url" style="width: 26px; margin-right: 5px" />
|
|
|
<span class="art_name">{{ artItem.name }}</span>
|
|
|
@@ -190,22 +191,22 @@
|
|
|
<div class="adult-book-input-item">
|
|
|
<span class="adult-book-lable">图片宽度:</span>
|
|
|
<el-input
|
|
|
+ v-model="remark.widthNumber"
|
|
|
class="adult-book-input"
|
|
|
placeholder="请输入宽度值"
|
|
|
- v-model="remark.widthNumber"
|
|
|
- @blur="onBlur(remark, 'widthNumber')"
|
|
|
maxlength="200"
|
|
|
style="width: 150px"
|
|
|
- ></el-input>
|
|
|
+ @blur="onBlur(remark, 'widthNumber')"
|
|
|
+ />
|
|
|
<span class="adult-book-lable">图片高度:</span>
|
|
|
<el-input
|
|
|
+ v-model="remark.heightNumber"
|
|
|
class="adult-book-input"
|
|
|
placeholder="请输入高度值"
|
|
|
- v-model="remark.heightNumber"
|
|
|
- @blur="onBlur(remark, 'heightNumber')"
|
|
|
maxlength="200"
|
|
|
style="width: 150px"
|
|
|
- ></el-input>
|
|
|
+ @blur="onBlur(remark, 'heightNumber')"
|
|
|
+ />
|
|
|
</div>
|
|
|
</div>
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
@@ -214,6 +215,7 @@
|
|
|
</span>
|
|
|
</el-dialog>
|
|
|
<el-dialog
|
|
|
+ v-if="showArticleFlag"
|
|
|
:visible.sync="showArticleFlag"
|
|
|
:show-close="true"
|
|
|
:close-on-click-modal="true"
|
|
|
@@ -222,12 +224,11 @@
|
|
|
:lock-scroll="true"
|
|
|
width="80%"
|
|
|
class="practiceBox"
|
|
|
- v-if="showArticleFlag"
|
|
|
>
|
|
|
- <CheckArticle :data="data" @saveWord="saveWord" @savePinyin="savePinyin" @saveStyle="saveStyle"></CheckArticle>
|
|
|
+ <CheckArticle :data="data" @saveWord="saveWord" @savePinyin="savePinyin" @saveStyle="saveStyle" />
|
|
|
</el-dialog>
|
|
|
<el-dialog title="校对字幕时间" :visible.sync="compareShow" width="50%" :before-close="handleClose" top="0">
|
|
|
- <CompareTime :data="compareData" :type="compareType" :changewordsResultList="changewordsResultList" />
|
|
|
+ <CompareTime :data="compareData" :type="compareType" :changewords-result-list="changewordsResultList" />
|
|
|
<span slot="footer" class="dialog-footer">
|
|
|
<el-button @click="handleClose">取 消</el-button>
|
|
|
<el-button :loading="compareloading" type="primary" @click="saveCompare">确 定</el-button>
|
|
|
@@ -242,17 +243,13 @@
|
|
|
</div>
|
|
|
<NewWord
|
|
|
v-if="editWordIndex === 0"
|
|
|
- :dataNewWord="data.new_word_list"
|
|
|
key="new_word"
|
|
|
+ :data-new-word="data.new_word_list"
|
|
|
@sureNewWords="sureNewWords"
|
|
|
- ></NewWord>
|
|
|
+ />
|
|
|
|
|
|
- <Notes v-if="editWordIndex === 1" :dataNotes="data.notes_list" key="notes" @sureNotes="sureNotes"></Notes>
|
|
|
- <NewWord
|
|
|
- v-if="editWordIndex === 2"
|
|
|
- :dataNewWord="data.other_word_list"
|
|
|
- @sureNewWords="sureOtherNewWords"
|
|
|
- ></NewWord>
|
|
|
+ <Notes v-if="editWordIndex === 1" key="notes" :data-notes="data.notes_list" @sureNotes="sureNotes" />
|
|
|
+ <NewWord v-if="editWordIndex === 2" :data-new-word="data.other_word_list" @sureNewWords="sureOtherNewWords" />
|
|
|
</template>
|
|
|
<!-- </el-dialog> -->
|
|
|
</template>
|
|
|
@@ -290,7 +287,7 @@ export default {
|
|
|
toneList: [' ', 'ˉ', 'ˊ', 'ˇ', 'ˋ'],
|
|
|
loading: false,
|
|
|
isWordTime: false,
|
|
|
- compareType: '', //校对类型
|
|
|
+ compareType: '', // 校对类型
|
|
|
compareShow: false,
|
|
|
compareData: null,
|
|
|
compareloading: false,
|
|
|
@@ -442,7 +439,7 @@ export default {
|
|
|
});
|
|
|
let sentenceList = []; // 句子按段数组
|
|
|
let data = {
|
|
|
- textList: textList,
|
|
|
+ textList,
|
|
|
};
|
|
|
segSentences(data)
|
|
|
.then((res) => {
|
|
|
@@ -492,7 +489,7 @@ export default {
|
|
|
});
|
|
|
let obj = {
|
|
|
sentence: items,
|
|
|
- word_list: word_list,
|
|
|
+ word_list,
|
|
|
};
|
|
|
this.data.sentence_list_mp.push(obj);
|
|
|
});
|
|
|
@@ -587,15 +584,15 @@ export default {
|
|
|
} else {
|
|
|
let obj = {
|
|
|
paraIndex: index,
|
|
|
- para: para,
|
|
|
- sentences: sentences,
|
|
|
+ para,
|
|
|
+ sentences,
|
|
|
segList: item,
|
|
|
seg_words: [],
|
|
|
- wordsList: wordsList,
|
|
|
+ wordsList,
|
|
|
timeList: [],
|
|
|
isTitle: false,
|
|
|
sentencesEn: [],
|
|
|
- sentenceStr: sentenceStr,
|
|
|
+ sentenceStr,
|
|
|
};
|
|
|
this.data.detail.push(obj);
|
|
|
}
|
|
|
@@ -607,12 +604,10 @@ export default {
|
|
|
savePinyin(paraIndex, sentenceIndex, wordIndex, pinyin) {
|
|
|
if (this.data.pinyin_type === 'tone') {
|
|
|
this.data.detail[paraIndex].wordsList[sentenceIndex][wordIndex].pinyin_tone = pinyin;
|
|
|
+ } else if (wordIndex === 0) {
|
|
|
+ this.data.detail[paraIndex].wordsList[sentenceIndex][wordIndex].pinyin_up = pinyin;
|
|
|
} else {
|
|
|
- if (wordIndex === 0) {
|
|
|
- this.data.detail[paraIndex].wordsList[sentenceIndex][wordIndex].pinyin_up = pinyin;
|
|
|
- } else {
|
|
|
- this.data.detail[paraIndex].wordsList[sentenceIndex][wordIndex].pinyin = pinyin;
|
|
|
- }
|
|
|
+ this.data.detail[paraIndex].wordsList[sentenceIndex][wordIndex].pinyin = pinyin;
|
|
|
}
|
|
|
},
|
|
|
saveStyle(paraIndex, sentenceIndex, wordIndex, style) {
|
|
|
@@ -745,7 +740,7 @@ export default {
|
|
|
flag = true;
|
|
|
}
|
|
|
item.sentences.forEach((items) => {
|
|
|
- this.multilingualText += '<p>' + items + '<p>';
|
|
|
+ this.multilingualText += `<p>${items}<p>`;
|
|
|
});
|
|
|
} else {
|
|
|
this.multilingualText += '<p> </p>';
|