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