|
@@ -28,35 +28,32 @@
|
|
@blur="handleSplitPy(item)"
|
|
@blur="handleSplitPy(item)"
|
|
@change="changePinyin(item)"
|
|
@change="changePinyin(item)"
|
|
/>
|
|
/>
|
|
- <div
|
|
|
|
- v-if="data.other.audio_generation_method === 'upload'"
|
|
|
|
- :class="[{ 'upload-audio-play': item.audio_file_id }]"
|
|
|
|
- >
|
|
|
|
- <div v-if="item.audio_file_id" class="upload-play">
|
|
|
|
- <AudioPlay :file-id="item.audio_file_id" theme-color="gray" />
|
|
|
|
- <SvgIcon icon-class="delete-back-line" @click="deleteAudio(i)" />
|
|
|
|
- </div>
|
|
|
|
- <UploadAudio
|
|
|
|
- v-else
|
|
|
|
- :key="item.audio_file_id || i"
|
|
|
|
- :file-id="item.audio_file_id"
|
|
|
|
- :item-index="i"
|
|
|
|
- :show-upload="!item.audio_file_id"
|
|
|
|
- @upload="uploads"
|
|
|
|
- @deleteFile="deleteFiles"
|
|
|
|
- />
|
|
|
|
- </div>
|
|
|
|
- <div v-else-if="data.other.audio_generation_method === 'auto'" class="auto-matically">
|
|
|
|
- <AudioPlay v-if="item.audio_file_id" :file-id="item.audio_file_id" theme-color="gray" />
|
|
|
|
- <span
|
|
|
|
- v-loading="loading_list[i] ? loading_list[i].loading : false"
|
|
|
|
- class="auto-btn"
|
|
|
|
- @click="handleMatically(item, i)"
|
|
|
|
- >{{ item.audio_file_id ? '已生成' : '生成音频' }}</span
|
|
|
|
- >
|
|
|
|
- <SvgIcon v-if="item.audio_file_id" icon-class="delete-back-line" @click="deleteAudio(i)" />
|
|
|
|
|
|
+ <div v-if="item.audio_file_id">
|
|
|
|
+ <SoundRecord :wav-blob.sync="item.audio_file_id" />
|
|
</div>
|
|
</div>
|
|
- <SoundRecord v-else :wav-blob.sync="item.audio_file_id" />
|
|
|
|
|
|
+ <template v-else>
|
|
|
|
+ <div :class="['upload-audio-play']">
|
|
|
|
+ <UploadAudio
|
|
|
|
+ :key="item.audio_file_id || i"
|
|
|
|
+ :file-id="item.audio_file_id"
|
|
|
|
+ :item-index="i"
|
|
|
|
+ :show-upload="!item.audio_file_id"
|
|
|
|
+ @upload="uploads"
|
|
|
|
+ @deleteFile="deleteFiles"
|
|
|
|
+ v-if="data.other.audio_generation_method === 'upload'"
|
|
|
|
+ />
|
|
|
|
+ <div
|
|
|
|
+ v-else-if="data.other.audio_generation_method === 'auto'"
|
|
|
|
+ class="auto-matically"
|
|
|
|
+ @click="handleMatically(item, i)"
|
|
|
|
+ v-loading="loading_list[i] ? loading_list[i].loading : false"
|
|
|
|
+ >
|
|
|
|
+ <SvgIcon icon-class="voiceprint-line" class="record" />
|
|
|
|
+ <span class="auto-btn">{{ item.audio_file_id ? '已生成' : '生成音频' }}</span>
|
|
|
|
+ </div>
|
|
|
|
+ <SoundRecord v-else :wav-blob.sync="item.audio_file_id" />
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
<el-input v-model="item.definition" placeholder="输入释义" />
|
|
<el-input v-model="item.definition" placeholder="输入释义" />
|
|
<el-input v-model="item.collocation" placeholder="输入搭配" />
|
|
<el-input v-model="item.collocation" placeholder="输入搭配" />
|
|
<SvgIcon icon-class="delete" class="delete pointer" @click="deleteOption(i, item.audio_file_id)" />
|
|
<SvgIcon icon-class="delete" class="delete pointer" @click="deleteOption(i, item.audio_file_id)" />
|
|
@@ -403,11 +400,13 @@ export default {
|
|
|
|
|
|
.content-item {
|
|
.content-item {
|
|
.upload-wrapper {
|
|
.upload-wrapper {
|
|
|
|
+ width: 200px;
|
|
margin-top: 0;
|
|
margin-top: 0;
|
|
|
|
+ overflow: hidden;
|
|
}
|
|
}
|
|
|
|
|
|
:deep .upload-audio {
|
|
:deep .upload-audio {
|
|
- width: 160px;
|
|
|
|
|
|
+ width: 200px;
|
|
}
|
|
}
|
|
|
|
|
|
:deep .file-name {
|
|
:deep .file-name {
|
|
@@ -442,8 +441,9 @@ export default {
|
|
|
|
|
|
.upload-audio-play {
|
|
.upload-audio-play {
|
|
display: flex;
|
|
display: flex;
|
|
|
|
+ flex-shrink: 0;
|
|
align-items: center;
|
|
align-items: center;
|
|
- padding: 8px 12px;
|
|
|
|
|
|
+ width: 200px;
|
|
background-color: $fill-color;
|
|
background-color: $fill-color;
|
|
border-radius: 2px;
|
|
border-radius: 2px;
|
|
|
|
|
|
@@ -461,15 +461,15 @@ export default {
|
|
.auto-matically {
|
|
.auto-matically {
|
|
display: flex;
|
|
display: flex;
|
|
flex-shrink: 0;
|
|
flex-shrink: 0;
|
|
|
|
+ column-gap: 12px;
|
|
align-items: center;
|
|
align-items: center;
|
|
- justify-content: space-between;
|
|
|
|
- width: 233px;
|
|
|
|
|
|
+ width: 200px;
|
|
padding: 5px 12px;
|
|
padding: 5px 12px;
|
|
background-color: $fill-color;
|
|
background-color: $fill-color;
|
|
border-radius: 2px;
|
|
border-radius: 2px;
|
|
|
|
|
|
.auto-btn {
|
|
.auto-btn {
|
|
- font-size: 14px;
|
|
|
|
|
|
+ font-size: 16px;
|
|
font-weight: 400;
|
|
font-weight: 400;
|
|
line-height: 22px;
|
|
line-height: 22px;
|
|
color: #1d2129;
|
|
color: #1d2129;
|