|
@@ -151,7 +151,6 @@ |
|
|
{{ $t("createVideo.availableMould") }} |
|
|
{{ $t("createVideo.availableMould") }} |
|
|
</div> |
|
|
</div> |
|
|
<div |
|
|
<div |
|
|
v-if="AccessToken" |
|
|
|
|
|
class="pointer" |
|
|
class="pointer" |
|
|
:class="showFace == 1 ? 'tabAvtive' : ''" |
|
|
:class="showFace == 1 ? 'tabAvtive' : ''" |
|
|
@click="chooseMyImg" |
|
|
@click="chooseMyImg" |
|
@@ -159,14 +158,13 @@ |
|
|
{{ $t("createVideo.personalWarehouse") }} |
|
|
{{ $t("createVideo.personalWarehouse") }} |
|
|
</div> |
|
|
</div> |
|
|
<div |
|
|
<div |
|
|
v-if="AccessToken" |
|
|
|
|
|
class="pointer aiPicTab" |
|
|
class="pointer aiPicTab" |
|
|
:class="showFace == 2 ? 'tabAvtive' : ''" |
|
|
:class="showFace == 2 ? 'tabAvtive' : ''" |
|
|
@click="chooseAiPic" |
|
|
@click="chooseAiPic" |
|
|
> |
|
|
> |
|
|
<div class="subscript subscript1"> |
|
|
<div class="subscript subscript1"> |
|
|
<span>AI </span> |
|
|
|
|
|
<img src="../../assets/img/star.png" alt="" /> |
|
|
|
|
|
|
|
|
<!-- <span>AI </span> --> |
|
|
|
|
|
<img src="../../assets/img/aitoface.png" alt="" /> |
|
|
</div> |
|
|
</div> |
|
|
{{ $t("createVideo.Aipicture") }} |
|
|
{{ $t("createVideo.Aipicture") }} |
|
|
</div> |
|
|
</div> |
|
@@ -245,11 +243,11 @@ |
|
|
</div> |
|
|
</div> |
|
|
<!-- 右侧栏 --> |
|
|
<!-- 右侧栏 --> |
|
|
<div class="right"> |
|
|
<div class="right"> |
|
|
<div v-if="AccessToken" class="subscript"> |
|
|
|
|
|
<span>GPT</span> |
|
|
|
|
|
<img src="../../assets/img/star.png" alt="" /> |
|
|
|
|
|
|
|
|
<div class="subscript"> |
|
|
|
|
|
<!-- <span>GPT</span> --> |
|
|
|
|
|
<img src="../../assets/img/gpttotext.png" alt="" /> |
|
|
</div> |
|
|
</div> |
|
|
<el-tabs type="border-card" class="tabs"> |
|
|
|
|
|
|
|
|
<el-tabs @tab-click="clickTab4" type="border-card" class="tabs"> |
|
|
<!-- ----------------------------- 1 --> |
|
|
<!-- ----------------------------- 1 --> |
|
|
<el-tab-pane :label="$t('createVideo.typeScript')"> |
|
|
<el-tab-pane :label="$t('createVideo.typeScript')"> |
|
|
<div class="card1"> |
|
|
<div class="card1"> |
|
@@ -263,13 +261,32 @@ |
|
|
type="textarea" |
|
|
type="textarea" |
|
|
:placeholder="$t('createVideo.aiText')" |
|
|
:placeholder="$t('createVideo.aiText')" |
|
|
/> |
|
|
/> |
|
|
<span |
|
|
|
|
|
class="pointer" |
|
|
|
|
|
@click="getPreviewAudio" |
|
|
|
|
|
style="margin-right: 10px; font-size: 20px" |
|
|
|
|
|
>🔊</span |
|
|
|
|
|
> |
|
|
|
|
|
<span class="pointer" @click="insertIcon">🕗</span> |
|
|
|
|
|
|
|
|
<div class="sundriesBox"> |
|
|
|
|
|
<span class="pointer" @click="getPreviewAudio"> |
|
|
|
|
|
<el-tooltip |
|
|
|
|
|
class="box-item" |
|
|
|
|
|
effect="dark" |
|
|
|
|
|
:content="$t('createVideo.tooltip1')" |
|
|
|
|
|
placement="top" |
|
|
|
|
|
> |
|
|
|
|
|
🔊 |
|
|
|
|
|
</el-tooltip></span |
|
|
|
|
|
> |
|
|
|
|
|
<my-Loading-Icon |
|
|
|
|
|
class="previewAudioLoadingBox" |
|
|
|
|
|
v-if="previewAudioLoading" |
|
|
|
|
|
></my-Loading-Icon> |
|
|
|
|
|
<span class="pointer" @click="insertIcon"> |
|
|
|
|
|
<el-tooltip |
|
|
|
|
|
class="box-item" |
|
|
|
|
|
effect="dark" |
|
|
|
|
|
:content="$t('createVideo.tooltip2')" |
|
|
|
|
|
placement="bottom" |
|
|
|
|
|
> |
|
|
|
|
|
🕗 |
|
|
|
|
|
</el-tooltip></span |
|
|
|
|
|
> |
|
|
|
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<p>{{ $t("createVideo.languages") }}</p> |
|
|
<p>{{ $t("createVideo.languages") }}</p> |
|
|
<!-- 语言 --> |
|
|
<!-- 语言 --> |
|
@@ -309,7 +326,9 @@ |
|
|
<el-option |
|
|
<el-option |
|
|
v-for="item in soundOptions" |
|
|
v-for="item in soundOptions" |
|
|
:key="item.value" |
|
|
:key="item.value" |
|
|
:label="item.displayName" |
|
|
|
|
|
|
|
|
:label=" |
|
|
|
|
|
item.displayName + ` (${item.sex == 1 ? '男' : '女'})` |
|
|
|
|
|
" |
|
|
:value="item.id" |
|
|
:value="item.id" |
|
|
/> |
|
|
/> |
|
|
</el-select> |
|
|
</el-select> |
|
@@ -362,7 +381,7 @@ |
|
|
{{ $t("createVideo.uploadAudio") }} |
|
|
{{ $t("createVideo.uploadAudio") }} |
|
|
</p> |
|
|
</p> |
|
|
<div class="uploadVideo"> |
|
|
<div class="uploadVideo"> |
|
|
+ |
|
|
|
|
|
|
|
|
<el-icon><i-ep-FolderAdd /></el-icon> |
|
|
<input |
|
|
<input |
|
|
accept="audio/*" |
|
|
accept="audio/*" |
|
|
type="file" |
|
|
type="file" |
|
@@ -435,22 +454,21 @@ |
|
|
<div |
|
|
<div |
|
|
class="musicTabItem" |
|
|
class="musicTabItem" |
|
|
:class="musicTabActive == 1 ? 'musicTabItemActive' : ''" |
|
|
:class="musicTabActive == 1 ? 'musicTabItemActive' : ''" |
|
|
@click="musicTabActive = 1" |
|
|
|
|
|
|
|
|
@click="musicTabActiveChange(1)" |
|
|
> |
|
|
> |
|
|
{{ $t("createVideo.hotMusic") }} |
|
|
{{ $t("createVideo.hotMusic") }} |
|
|
</div> |
|
|
</div> |
|
|
<div |
|
|
<div |
|
|
v-if="AccessToken" |
|
|
|
|
|
class="musicTabItem" |
|
|
class="musicTabItem" |
|
|
:class="musicTabActive == 2 ? 'musicTabItemActive' : ''" |
|
|
:class="musicTabActive == 2 ? 'musicTabItemActive' : ''" |
|
|
@click="musicTabActive = 2" |
|
|
|
|
|
|
|
|
@click="musicTabActiveChange(2)" |
|
|
> |
|
|
> |
|
|
{{ $t("createVideo.personalWarehouse") }} |
|
|
{{ $t("createVideo.personalWarehouse") }} |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<!-- 上传音乐 --> |
|
|
<!-- 上传音乐 --> |
|
|
<div v-if="musicTabActive == 2" class="uploadVideo"> |
|
|
<div v-if="musicTabActive == 2" class="uploadVideo"> |
|
|
+ |
|
|
|
|
|
|
|
|
<el-icon><i-ep-FolderAdd /></el-icon> |
|
|
<input |
|
|
<input |
|
|
accept="audio/*" |
|
|
accept="audio/*" |
|
|
type="file" |
|
|
type="file" |
|
@@ -552,7 +570,7 @@ |
|
|
</div> |
|
|
</div> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<!-- ----------------------- 4 --> |
|
|
<!-- ----------------------- 4 --> |
|
|
<el-tab-pane v-if="AccessToken" :label="$t('createVideo.aiScript')"> |
|
|
|
|
|
|
|
|
<el-tab-pane :label="$t('createVideo.aiScript')"> |
|
|
<div class="card4"> |
|
|
<div class="card4"> |
|
|
<!-- 语言 --> |
|
|
<!-- 语言 --> |
|
|
<div class="text"> |
|
|
<div class="text"> |
|
@@ -566,12 +584,17 @@ |
|
|
:placeholder="$t('createVideo.inputRequirement')" |
|
|
:placeholder="$t('createVideo.inputRequirement')" |
|
|
/> |
|
|
/> |
|
|
</div> |
|
|
</div> |
|
|
<div class="card4Btn" @click="sendRequirement"> |
|
|
|
|
|
|
|
|
<el-button |
|
|
|
|
|
type="primary" |
|
|
|
|
|
:disabled="sendLoading" |
|
|
|
|
|
@click="sendRequirement" |
|
|
|
|
|
color="#000" |
|
|
|
|
|
> |
|
|
<my-Loading-Icon v-if="sendLoading"></my-Loading-Icon> |
|
|
<my-Loading-Icon v-if="sendLoading"></my-Loading-Icon> |
|
|
<span v-if="!sendLoading"> |
|
|
<span v-if="!sendLoading"> |
|
|
{{ $t("createVideo.GeneratedText") }} |
|
|
{{ $t("createVideo.GeneratedText") }} |
|
|
</span> |
|
|
</span> |
|
|
</div> |
|
|
|
|
|
|
|
|
</el-button> |
|
|
|
|
|
|
|
|
<p>{{ $t("createVideo.SmartText") }}</p> |
|
|
<p>{{ $t("createVideo.SmartText") }}</p> |
|
|
<!-- 语言 --> |
|
|
<!-- 语言 --> |
|
@@ -585,9 +608,12 @@ |
|
|
disabled="" |
|
|
disabled="" |
|
|
/> |
|
|
/> |
|
|
</div> |
|
|
</div> |
|
|
<div class="card4Btn" @click="copyAnswerContent"> |
|
|
|
|
|
|
|
|
<!-- <div class="card4Btn" @click="copyAnswerContent"> |
|
|
{{ $t("createVideo.copy") }} |
|
|
{{ $t("createVideo.copy") }} |
|
|
</div> |
|
|
|
|
|
|
|
|
</div> --> |
|
|
|
|
|
<el-button color="#000" @click="copyAnswerContent"> |
|
|
|
|
|
{{ $t("createVideo.copy") }} |
|
|
|
|
|
</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</el-tab-pane> |
|
|
</el-tab-pane> |
|
|
<!-- -------------------------脚标 --> |
|
|
<!-- -------------------------脚标 --> |
|
@@ -827,6 +853,10 @@ async function changeFile() { |
|
|
} |
|
|
} |
|
|
// 点击个人仓库tab |
|
|
// 点击个人仓库tab |
|
|
function chooseMyImg() { |
|
|
function chooseMyImg() { |
|
|
|
|
|
if (!AccessToken) { |
|
|
|
|
|
router.push({ path: "/login" }); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
showFace.value = 1; |
|
|
showFace.value = 1; |
|
|
showUploadBtn.value = 2; |
|
|
showUploadBtn.value = 2; |
|
|
} |
|
|
} |
|
@@ -839,6 +869,10 @@ function clickAddBtn() { |
|
|
|
|
|
|
|
|
//#region AI生成图片 |
|
|
//#region AI生成图片 |
|
|
function chooseAiPic() { |
|
|
function chooseAiPic() { |
|
|
|
|
|
if (!AccessToken) { |
|
|
|
|
|
router.push({ path: "/login" }); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
showFace.value = 2; |
|
|
showFace.value = 2; |
|
|
// showUploadBtn.value = 5; |
|
|
// showUploadBtn.value = 5; |
|
|
} |
|
|
} |
|
@@ -903,13 +937,16 @@ async function chooseStyle() { |
|
|
|
|
|
|
|
|
// 试听 |
|
|
// 试听 |
|
|
const previewAudioUrl = ref(null); |
|
|
const previewAudioUrl = ref(null); |
|
|
|
|
|
const previewAudioLoading = ref(false); |
|
|
async function getPreviewAudio() { |
|
|
async function getPreviewAudio() { |
|
|
|
|
|
previewAudioLoading.value = true; |
|
|
if (!textareaContent.value) { |
|
|
if (!textareaContent.value) { |
|
|
ElMessage.error( |
|
|
ElMessage.error( |
|
|
lanChange.value == "zh-cn" |
|
|
lanChange.value == "zh-cn" |
|
|
? `您还没有输入文案` |
|
|
? `您还没有输入文案` |
|
|
: `You have not entered the copy yet` |
|
|
: `You have not entered the copy yet` |
|
|
); |
|
|
); |
|
|
|
|
|
previewAudioLoading.value = false; |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
if (!sound.value) { |
|
|
if (!sound.value) { |
|
@@ -918,6 +955,7 @@ async function getPreviewAudio() { |
|
|
? `您还没有选择声音` |
|
|
? `您还没有选择声音` |
|
|
: `You have not selected the sound` |
|
|
: `You have not selected the sound` |
|
|
); |
|
|
); |
|
|
|
|
|
previewAudioLoading.value = false; |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
@@ -930,19 +968,27 @@ async function getPreviewAudio() { |
|
|
if (!res.data.data) { |
|
|
if (!res.data.data) { |
|
|
ElMessage.error( |
|
|
ElMessage.error( |
|
|
lanChange.value == "zh-cn" |
|
|
lanChange.value == "zh-cn" |
|
|
? `暂时无法试听,请稍后重试` |
|
|
|
|
|
|
|
|
? `暂时无法试听,请稍后重试1` |
|
|
: `Unable to listen, please try again later` |
|
|
: `Unable to listen, please try again later` |
|
|
); |
|
|
); |
|
|
|
|
|
previewAudioLoading.value = false; |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
previewAudioUrl.value = res.data.data; |
|
|
previewAudioUrl.value = res.data.data; |
|
|
let audioA = document.getElementById("audio").play(); |
|
|
|
|
|
audioA.play(); |
|
|
|
|
|
|
|
|
let audioA = document.getElementById("audio"); |
|
|
|
|
|
audioA.addEventListener("loadedmetadata", function () { |
|
|
|
|
|
audioA.play(); |
|
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
|
|
previewAudioLoading.value = false; |
|
|
} catch (error) { |
|
|
} catch (error) { |
|
|
ElMessage.error( |
|
|
ElMessage.error( |
|
|
lanChange.value == "zh-cn" |
|
|
lanChange.value == "zh-cn" |
|
|
? `暂时无法试听,请稍后重试` |
|
|
|
|
|
|
|
|
? `暂时无法试听,请稍后重试2` |
|
|
: `Unable to listen, please try again later` |
|
|
: `Unable to listen, please try again later` |
|
|
); |
|
|
); |
|
|
|
|
|
previewAudioLoading.value = false; |
|
|
|
|
|
return; |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
//#endregion |
|
|
//#endregion |
|
@@ -1025,11 +1071,35 @@ const handleFileChange = async () => { |
|
|
|
|
|
|
|
|
if (file) { |
|
|
if (file) { |
|
|
const videoUrl = URL.createObjectURL(file); |
|
|
const videoUrl = URL.createObjectURL(file); |
|
|
audioUrl.value = videoUrl; |
|
|
|
|
|
audioData.value = file; |
|
|
|
|
|
const audio2 = new Audio(); |
|
|
const audio2 = new Audio(); |
|
|
audio2.src = videoUrl; |
|
|
audio2.src = videoUrl; |
|
|
countAudioTime(audio2); |
|
|
|
|
|
|
|
|
// 进行大小时长限制 |
|
|
|
|
|
await countAudioTime(audio2); |
|
|
|
|
|
// 限制60秒 |
|
|
|
|
|
if (uploadAudioTime.value > 60) { |
|
|
|
|
|
ElMessage.error( |
|
|
|
|
|
lanChange.value == "zh-cn" |
|
|
|
|
|
? `上传失败,您上传的文件时长与您的权益不匹配` |
|
|
|
|
|
: `The upload failed because the duration of the file you uploaded did not match your entitlements` |
|
|
|
|
|
); |
|
|
|
|
|
audioUrl.value = null; |
|
|
|
|
|
audioData.value = null; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
// 限制3mb |
|
|
|
|
|
if (file.size / 1048576 > 3) { |
|
|
|
|
|
ElMessage.error( |
|
|
|
|
|
lanChange.value == "zh-cn" |
|
|
|
|
|
? `上传失败,您上传的文件大小与您的权益不匹配` |
|
|
|
|
|
: `Upload failed, the file size you uploaded does not match your entitlements` |
|
|
|
|
|
); |
|
|
|
|
|
audioUrl.value = null; |
|
|
|
|
|
audioData.value = null; |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
// 成功了 |
|
|
|
|
|
audioUrl.value = videoUrl; |
|
|
|
|
|
audioData.value = file; |
|
|
} |
|
|
} |
|
|
}; |
|
|
}; |
|
|
// 计算音频的时长 |
|
|
// 计算音频的时长 |
|
@@ -1265,9 +1335,9 @@ async function findById(findId) { |
|
|
} |
|
|
} |
|
|
//#endregion ---------------------------- |
|
|
//#endregion ---------------------------- |
|
|
|
|
|
|
|
|
//#region 音乐tab |
|
|
|
|
|
const musicListSystem = ref(null); //展示音乐列表 |
|
|
|
|
|
const musicListPerson = ref(null); //展示音乐列表 |
|
|
|
|
|
|
|
|
//#region card3 |
|
|
|
|
|
const musicListSystem = ref([]); //展示系统音乐列表 |
|
|
|
|
|
const musicListPerson = ref([]); //展示个人音乐列表 |
|
|
const audioMusicUrl = ref(null); //选中音乐Url回显 |
|
|
const audioMusicUrl = ref(null); //选中音乐Url回显 |
|
|
const musicItemAction = ref(null); //选中高亮 |
|
|
const musicItemAction = ref(null); //选中高亮 |
|
|
const musicListPageNumSystem = ref(1); //系统音乐页数 |
|
|
const musicListPageNumSystem = ref(1); //系统音乐页数 |
|
@@ -1278,6 +1348,16 @@ const musicListPageSize = ref(8); // |
|
|
const musicTabActive = ref(1); //热门歌曲和个人仓库高亮 |
|
|
const musicTabActive = ref(1); //热门歌曲和个人仓库高亮 |
|
|
const musicData = ref(null); //上传歌曲的数据 |
|
|
const musicData = ref(null); //上传歌曲的数据 |
|
|
const fileMusicInput = ref(null); // 上传组件的dom |
|
|
const fileMusicInput = ref(null); // 上传组件的dom |
|
|
|
|
|
// tab切换 |
|
|
|
|
|
function musicTabActiveChange(index) { |
|
|
|
|
|
if (index == 2) { |
|
|
|
|
|
if (!AccessToken) { |
|
|
|
|
|
router.push({ path: "/login" }); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
musicTabActive.value = index; |
|
|
|
|
|
} |
|
|
// 获取系统音乐列表 |
|
|
// 获取系统音乐列表 |
|
|
async function getmusicListSystem(pageNum, pageSize) { |
|
|
async function getmusicListSystem(pageNum, pageSize) { |
|
|
try { |
|
|
try { |
|
@@ -1404,6 +1484,16 @@ const problemContent = ref(null); |
|
|
const answerContent = ref(""); |
|
|
const answerContent = ref(""); |
|
|
let mySocket = null; |
|
|
let mySocket = null; |
|
|
const sendLoading = ref(false); |
|
|
const sendLoading = ref(false); |
|
|
|
|
|
// 没有登录时跳转登录页 |
|
|
|
|
|
function clickTab4(e) { |
|
|
|
|
|
if (e.props.label == "AI生成文本" || e.props.label == "AI Script") { |
|
|
|
|
|
if (!AccessToken) { |
|
|
|
|
|
router.push({ path: "/login" }); |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
// 创建websocket |
|
|
function createWS() { |
|
|
function createWS() { |
|
|
mySocket = new WebSocket("wss://gptsocket.malls.iformall.com:8010"); |
|
|
mySocket = new WebSocket("wss://gptsocket.malls.iformall.com:8010"); |
|
|
mySocket.onopen = () => { |
|
|
mySocket.onopen = () => { |
|
@@ -1441,11 +1531,11 @@ function createWS() { |
|
|
// 点击发送需求 |
|
|
// 点击发送需求 |
|
|
async function sendRequirement() { |
|
|
async function sendRequirement() { |
|
|
// loading |
|
|
// loading |
|
|
if (sendLoading.value) { |
|
|
|
|
|
return; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
sendLoading.value = true; |
|
|
|
|
|
|
|
|
// 无需求时 |
|
|
// 无需求时 |
|
|
if (!problemContent.value) { |
|
|
if (!problemContent.value) { |
|
|
|
|
|
sendLoading.value = false; |
|
|
mySocket.close(); |
|
|
mySocket.close(); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
@@ -1455,12 +1545,12 @@ async function sendRequirement() { |
|
|
content: problemContent.value, |
|
|
content: problemContent.value, |
|
|
}, |
|
|
}, |
|
|
]; |
|
|
]; |
|
|
|
|
|
// 如果处于链接状态 |
|
|
|
|
|
|
|
|
if (mySocket.readyState != WebSocket.OPEN) { |
|
|
if (mySocket.readyState != WebSocket.OPEN) { |
|
|
createWS(); |
|
|
createWS(); |
|
|
} else { |
|
|
} else { |
|
|
answerContent.value = ""; |
|
|
answerContent.value = ""; |
|
|
sendLoading.value = true; |
|
|
|
|
|
mySocket.send(JSON.stringify(sendMessage)); |
|
|
mySocket.send(JSON.stringify(sendMessage)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
@@ -1528,9 +1618,9 @@ onUnmounted(() => { |
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
<style lang="scss" scoped> |
|
|
.page { |
|
|
.page { |
|
|
// height: 1200px; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// height: 1000px; |
|
|
height: calc(100vh - 80px); |
|
|
height: calc(100vh - 80px); |
|
|
|
|
|
height: 1000px; |
|
|
// padding: 20px 0 0 40px; |
|
|
// padding: 20px 0 0 40px; |
|
|
background-color: #fff; |
|
|
background-color: #fff; |
|
|
border-radius: 25px 0 0; |
|
|
border-radius: 25px 0 0; |
|
@@ -1538,7 +1628,8 @@ onUnmounted(() => { |
|
|
|
|
|
|
|
|
.left { |
|
|
.left { |
|
|
width: 68%; |
|
|
width: 68%; |
|
|
height: 860px; |
|
|
|
|
|
|
|
|
// height: 860px; |
|
|
|
|
|
height: 1000px; |
|
|
padding: 20px; |
|
|
padding: 20px; |
|
|
:deep(.el-input__wrapper) { |
|
|
:deep(.el-input__wrapper) { |
|
|
border: none; |
|
|
border: none; |
|
@@ -1891,7 +1982,8 @@ onUnmounted(() => { |
|
|
right: -20px; |
|
|
right: -20px; |
|
|
width: 40px; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
height: 40px; |
|
|
z-index: 1; |
|
|
|
|
|
|
|
|
z-index: 3; |
|
|
|
|
|
background-color: #fff; |
|
|
img { |
|
|
img { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: 0; |
|
|
top: 0; |
|
@@ -1918,7 +2010,8 @@ onUnmounted(() => { |
|
|
right: -20px; |
|
|
right: -20px; |
|
|
width: 40px; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
height: 40px; |
|
|
z-index: 1; |
|
|
|
|
|
|
|
|
z-index: 3; |
|
|
|
|
|
transform: rotate(45deg); |
|
|
img { |
|
|
img { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: 0; |
|
|
top: 0; |
|
@@ -1945,7 +2038,8 @@ onUnmounted(() => { |
|
|
|
|
|
|
|
|
.right { |
|
|
.right { |
|
|
width: 32%; |
|
|
width: 32%; |
|
|
height: 860px; |
|
|
|
|
|
|
|
|
// height: 860px; |
|
|
|
|
|
height: 1000px; |
|
|
padding: 30px 30px 20px 30px; |
|
|
padding: 30px 30px 20px 30px; |
|
|
background-color: #f1f2f6; |
|
|
background-color: #f1f2f6; |
|
|
border-radius: 30px 0 0 0; |
|
|
border-radius: 30px 0 0 0; |
|
@@ -1959,6 +2053,7 @@ onUnmounted(() => { |
|
|
width: 40px; |
|
|
width: 40px; |
|
|
height: 40px; |
|
|
height: 40px; |
|
|
z-index: 3; |
|
|
z-index: 3; |
|
|
|
|
|
transform: rotate(45deg); |
|
|
img { |
|
|
img { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: 0; |
|
|
top: 0; |
|
@@ -2013,7 +2108,28 @@ onUnmounted(() => { |
|
|
height: 50px; |
|
|
height: 50px; |
|
|
margin-top: 10px; |
|
|
margin-top: 10px; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.sundriesBox { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 30px; |
|
|
|
|
|
line-height: 30px; |
|
|
|
|
|
overflow: hidden; |
|
|
|
|
|
span { |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
font-size: 20px; |
|
|
|
|
|
height: 30px; |
|
|
|
|
|
width: 30px; |
|
|
|
|
|
text-align: center; |
|
|
|
|
|
width: 40px; |
|
|
|
|
|
} |
|
|
|
|
|
.previewAudioLoadingBox { |
|
|
|
|
|
display: inline-block; |
|
|
|
|
|
margin-top: -20px; |
|
|
|
|
|
width: 20px; |
|
|
|
|
|
height: 33px; |
|
|
|
|
|
transform: scale(1); |
|
|
|
|
|
transition: all 0.3s; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
:deep(.el-input .is-focus) { |
|
|
:deep(.el-input .is-focus) { |
|
|
// box-shadow: none !important; |
|
|
// box-shadow: none !important; |
|
|
// box-shadow: 0 0 0 1px #000 !important; |
|
|
// box-shadow: 0 0 0 1px #000 !important; |
|
@@ -2230,7 +2346,6 @@ onUnmounted(() => { |
|
|
width: 100%; |
|
|
width: 100%; |
|
|
height: 50px; |
|
|
height: 50px; |
|
|
margin-top: 10px; |
|
|
margin-top: 10px; |
|
|
// background-color: #000; |
|
|
|
|
|
} |
|
|
} |
|
|
:deep(.el-input__wrapper) { |
|
|
:deep(.el-input__wrapper) { |
|
|
border: none; |
|
|
border: none; |
|
@@ -2283,6 +2398,11 @@ onUnmounted(() => { |
|
|
line-height: 50px; |
|
|
line-height: 50px; |
|
|
cursor: pointer; |
|
|
cursor: pointer; |
|
|
} |
|
|
} |
|
|
|
|
|
.el-button { |
|
|
|
|
|
width: 100%; |
|
|
|
|
|
height: 50px; |
|
|
|
|
|
margin-top: 10px; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
:deep(.el-tabs__item.is-active) { |
|
|
:deep(.el-tabs__item.is-active) { |
|
|
color: #909393; |
|
|
color: #909393; |
|
|