Forráskód Böngészése

fix(photography): 修复图片处理页面商品选择验证

- 将按钮禁用条件从 goodsList.length 改为 selectedGoods.size === 0
- 修改 openPhotographyDetail 方法以接收选中的商品编号数组
- 添加选中商品数量验证,未选择商品时显示错误提示
- 更新埋点统计逻辑使用实际选中的商品编号
- 修复路由跳转参数传递选中商品编号数组
panqiuyao 2 hete
szülő
commit
a36a75709e

+ 8 - 3
frontend/src/views/Photography/mixin/usePhotography.ts

@@ -574,9 +574,14 @@ export default function usePhotography() {
     /**
      * 打开主图详情页面。
      */
-    function openPhotographyDetail() {
+    function openPhotographyDetail(goodsArtNos?: string[]) {
+      const selectedNos = (goodsArtNos || []).filter((item) => item)
+      if (!selectedNos.length) {
+        ElMessage.error('请先勾选货号')
+        return
+      }
       // 埋点:开始生成
-      clickLog({ describe: { action: '开始生成', goods_count: goodsList.value.length, goods_art_nos: goodsList.value.map(item => item.goods_art_no) } }, route);
+      clickLog({ describe: { action: '开始生成', goods_count: selectedNos.length, goods_art_nos: selectedNos } }, route);
 
       if (runLoading.value || takePictureLoading.value) {
         ElMessage.error('正在拍摄中,请稍候')
@@ -585,7 +590,7 @@ export default function usePhotography() {
       const { href } = Router.resolve({
         name: 'PhotographyDetail',
         query: {
-          goods_art_nos: goodsList.value.map(item => item.goods_art_no),
+          goods_art_nos: selectedNos,
         }
       })
 

+ 2 - 2
frontend/src/views/Photography/processImage.vue

@@ -144,8 +144,8 @@
               </el-button>
               <el-button
                 type="primary"
-                :disabled="!goodsList.length || runLoading || takePictureLoading"
-                @click="openPhotographyDetail()"
+                :disabled="selectedGoods.size === 0 || runLoading || takePictureLoading"
+                @click="openPhotographyDetail(Array.from(selectedGoods))"
                 v-log="{ describe: { action: '点击开始生成' } }"
               >
 

+ 2 - 2
frontend/src/views/Photography/shot.vue

@@ -245,8 +245,8 @@
               </el-button>
               <el-button
                 type="primary"
-                :disabled="!goodsList.length || runLoading || takePictureLoading"
-                @click="openPhotographyDetail()"
+                :disabled="selectedGoods.size === 0 || runLoading || takePictureLoading"
+                @click="openPhotographyDetail(Array.from(selectedGoods))"
                 v-log="{ describe: { action: '点击开始生成' } }"
               >
                 <img src="@/assets/images/processImage.vue/sc.png" />