Sfoglia il codice sorgente

feat(photography): 添加生成按钮加载状态并优化埋点逻辑- 在“开始生成”按钮上添加 v-loading 指令以显示加载状态
- 将埋点逻辑从点击事件回调中移至检测参数之前
- 在检测参数前后设置 requesting 状态以控制加载动画- 移除冗余的注释代码块和重复的埋点调用

panqiuyao 1 mese fa
parent
commit
58528298e2
1 ha cambiato i file con 14 aggiunte e 12 eliminazioni
  1. 14 12
      frontend/src/views/Photography/detail.vue

+ 14 - 12
frontend/src/views/Photography/detail.vue

@@ -289,7 +289,7 @@
     <div class="footer">
       <!-- <el-button class="button--primary1 footer-button" type="primary" @click="saveConfig">保存配置</el-button> -->
       <!--  <el-button class="button--primary1 footer-button" type="primary" @click="startProcess">开始处理</el-button>  -->
-      <el-button class="button--primary1 footer-button" type="primary" @click="generate" v-log="{ describe: { action: '点击开始生成详情页' } }">开始生成</el-button>
+      <el-button v-loading="requesting" class="button--primary1 footer-button" type="primary" @click="generate" v-log="{ describe: { action: '点击开始生成详情页' } }">开始生成</el-button>
     </div>
   </div>
 
@@ -1015,17 +1015,6 @@ const generate = async function () {
     ElMessage.error('请选择服务内容')
     return
   }
-  // 埋点:开始生成详情页
-  clickLog({
-    describe: {
-      action: '点击开始生成详情页',
-      services: form.services,
-      dataType: form.dataType,
-      template_name: form.selectTemplate?.template_name,
-      goods_count: goods_art_nos.value.length,
-      goods_art_nos: goods_art_nos.value
-    }
-  }, route);
 
   // 必填验证
   if (form.services.includes('is_upper_footer') && !( selectedModels.value && selectedModels.value.male?.id  &&  selectedModels.value.female?.id)) {
@@ -1051,14 +1040,27 @@ const generate = async function () {
     }
   }
 
+  // 埋点:开始生成详情页
+  clickLog({
+    describe: {
+      action: '点击开始生成详情页',
+      services: form.services,
+      dataType: form.dataType,
+      template_name: form.selectTemplate?.template_name,
+      goods_count: goods_art_nos.value.length,
+      goods_art_nos: goods_art_nos.value
+    }
+  }, route);
   // 先进行检测
   let checkResult;
   try {
+    requesting.value =  true
    // ElMessage.info('正在检测参数,请稍候...');
     checkResult = await checkParams();
    // ElMessage.success('检测通过,开始生成...');
   } catch (error) {
     ElMessage.error(error.message || '检测失败,请检查参数');
+    requesting.value =  false
     return;
   }