From 340fd2abbf1eba3031ccff621cf1f5d265a77604 Mon Sep 17 00:00:00 2001 From: Flex <q1406482700@163.com> Date: 星期五, 18 四月 2025 17:10:01 +0800 Subject: [PATCH] 为合成视频和保存按钮添加loading,目前只测了保存按钮没测合成视频按钮,但应该没问题 --- easegen-front/src/views/chooseTemplate/index.vue | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 52 insertions(+), 2 deletions(-) diff --git a/easegen-front/src/views/chooseTemplate/index.vue b/easegen-front/src/views/chooseTemplate/index.vue index 2b9cabf..a865a19 100644 --- a/easegen-front/src/views/chooseTemplate/index.vue +++ b/easegen-front/src/views/chooseTemplate/index.vue @@ -32,9 +32,9 @@ <div class="top-right"> <span v-if="saveTime">{{ saveTime }} {{ t('courseCenter.saved') }}</span> <!-- 淇濆瓨鎸夐挳 --> - <el-button size="small" @click="saveSubmit('save')">{{ t('common.save') }}</el-button> + <el-button size="small" @click="saveSubmit('save')" :loading="SaveLoading" >{{ t('common.save') }}</el-button> <!-- 鍚堟垚瑙嗛 --> - <el-button type="primary" size="small" @click="saveSubmit('')">{{ + <el-button type="primary" size="small" @click="saveSubmit('')" :loading="MakeLoading" >{{ t('courseCenter.composeViode') }}</el-button> </div> @@ -682,6 +682,7 @@ //寮曞叆浜鸿劯璇嗗埆鏂规硶 import { useFaceDetection } from '@/utils/HaveFace' import {coursesDelete} from "@/api/pptTemplate"; +import { tr } from 'element-plus/es/locale' const editorHtml = useEditorHtml() const router = useRouter() // 璺敱 const route = useRoute() // @@ -691,6 +692,10 @@ const message = useMessage() const isEditing = ref(false) const inputRef = ref(null) +//淇濆瓨鐨勫姞杞藉姩鐢� +const SaveLoading = ref(false) +//瑙嗛鍚堟垚鐨勫姞杞藉姩鐢� +const MakeLoading = ref(false) // 鍒囨崲鍒扮紪杈戞ā寮� const toggleEdit = () => { isEditing.value = true @@ -1427,9 +1432,22 @@ //浼犲叆 save 鍒欎唬琛ㄤ繚瀛橈紝绌哄瓧绗︿紶鍒欐槸鍚堟垚瑙嗛 const saveSubmit = async (type) => { + + if( type.length === 0 ){ + //姝ゆ椂涓鸿棰戝悎鎴� + MakeLoading.value = true + SaveLoading.value = true + }else{ + //姝ゆ椂涓轰繚瀛� + SaveLoading.value = true + } + // 妫�鏌ュ満鏅槸鍚︿负绌� if (!PPTArr.value || PPTArr.value.length === 0) { message.warning('鍦烘櫙涓虹┖锛岃鍏堜笂浼燩PT锛�') + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false return false } @@ -1442,6 +1460,9 @@ const IsHaveFace = await detectFacesInImages(InitPpt) if( IsHaveFace ){ message.warning('褰撳墠ppt涓寘鍚汉鑴稿厓绱�, 涓烘柟渚垮悗缁棰戠敓鎴� ,璇峰幓闄よ鍏冪礌') + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false return false } //淇濆瓨璇剧▼ @@ -1583,6 +1604,9 @@ scenes.push(formatItem) } catch (error) { console.error(`澶勭悊绗� ${index + 1} 涓満鏅椂鍑洪敊:`, error) + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false //鎶涘嚭寮傚父 throw error } @@ -1597,6 +1621,9 @@ saveSubmitForm.scenes = cloneDeep(scenes) console.log('saveSubmitForm:', cloneDeep(saveSubmitForm)) } catch (error) { + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false console.error('淇濆瓨琛ㄥ崟鏁版嵁鏃跺嚭閿�:', error) } @@ -1606,12 +1633,17 @@ if (res) { message.success('淇濆瓨鎴愬姛锛�') saveTime.value = getSaveTime() + MakeLoading.value = false + SaveLoading.value = false return true // 杩斿洖淇濆瓨鎴愬姛鏍囧織 } return false } catch (error) { console.error('淇濆瓨璇剧▼鏃跺嚭閿�:', error) message.error('淇濆瓨澶辫触锛岃閲嶈瘯') + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false return false } } else { @@ -1620,6 +1652,9 @@ const saveResult = await saveSubmit('save') if (!saveResult) { message.error('淇濆瓨澶辫触锛岃閲嶈瘯鍚庡啀鍚堟垚瑙嗛') + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false return } @@ -1631,6 +1666,9 @@ // 鏍¢獙鑳屾櫙瀹介珮 if (!item.width || !item.height) { message.warning('鑳屾櫙灏哄鏃犳晥锛岃妫�鏌ュ楂樿缃紝鎴栬�呴噸鏂伴�夋嫨妯℃澘') + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false return } if (item.driverType == 1) { @@ -1654,6 +1692,9 @@ if (warningStrArr.length > 0) { warningDialog.value.open(warningStrArr.map((warning) => `<div>${warning}</div>`).join('')) + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false return } @@ -1661,13 +1702,22 @@ try { const res = await pptTemplateApi.megerMedia(saveSubmitForm) if (res) { + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false message.success('鍚堟垚瑙嗛浠诲姟鎻愪氦鎴愬姛锛岃鍒版垜鐨勮棰戜腑鏌ョ湅锛�') } } catch (error) { + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false console.error('鍚堟垚瑙嗛澶辫触:', error) message.error('鍚堟垚瑙嗛澶辫触锛岃閲嶈瘯') } } catch (error) { + //鍏抽棴瑙嗛鍚堟垚涓庝繚瀛樻寜閽殑loading鍔ㄧ敾 + MakeLoading.value = false + SaveLoading.value = false console.error('淇濆瓨鎴栧悎鎴愯繃绋嬪嚭閿�:', error) message.error('鎿嶄綔澶辫触锛岃閲嶈瘯') } -- Gitblit v1.9.3