From 04102f7237efefa744090ed7c25f7b5d0807b679 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 18:11:57 +0800
Subject: [PATCH] 完成运营中心提现和运营中心权限管理

---
 shop_vue/src/views/plus/groupbuy/product/add.vue |   69 +++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/shop_vue/src/views/plus/groupbuy/product/add.vue b/shop_vue/src/views/plus/groupbuy/product/add.vue
index 664d574..4a5fa0f 100644
--- a/shop_vue/src/views/plus/groupbuy/product/add.vue
+++ b/shop_vue/src/views/plus/groupbuy/product/add.vue
@@ -285,6 +285,7 @@
     },
     // 选择商品
     selectProduct(product) {
+      console.log(product.product_id)
       this.form.product_id = product.product_id
       this.form.product_name = product.product_name
       this.selectedProduct = product
@@ -338,6 +339,8 @@
         let arr = [];
         for (let i = 0; i < e.params.length; i++) {
           let item = e.params[i];
+          this.form.product_id = item.product_id
+          console.log(item)
           let obj = {
             product_name: item.product_name,
             product_id: item.product_id,
@@ -401,7 +404,6 @@
             stock_num: item.product_stock,
             sales_num: 0,
             spec_name: item.spec_name,
-            product_sku_id: item.product_sku_id,
             groupbuy_price: null,
             groupbuy_stock: 0,
             limit_num: 2,
@@ -527,29 +529,52 @@
     onSubmit() {
       this.$refs.form.validate(valid => {
         if (valid) {
-          // 整理SKU数据
-          const skuData = this.form.tableData.map(item => ({
-            product_sku_id: item.product_sku_id,
-            groupbuy_price: item.groupbuy_price,
-            groupbuy_stock: item.groupbuy_stock,
-            product_attr: item.spec_name,
-            product_price: item.product_price,
-            groupbuy_num: item.groupbuy_num,
-            limit_num: item.limit_num,
-            sales_initial: item.sales_initial,
-            sort: item.sort
-          }));
+          // 根据商品ID分组数据,准备批量添加
+          const groupedData = {};
+          this.form.tableData.forEach(item => {
+            if (!groupedData[item.product_id]) {
+              groupedData[item.product_id] = {
+                product_id: item.product_id,
+                product_name: item.product_name,
+                groupbuy_active_id: this.form.groupbuy_active_id,
+                limit_num: this.form.limit_num,
+                stock: this.form.stock,
+                join_num: this.form.join_num,
+                total_sales: 0,
+                sales_initial: item.sales_initial || 0,
+                groupbuy_num: item.groupbuy_num || 2,
+                sort: item.sort || 100,
+                status: 10,
+                state: 10,
+                sku_list: []
+              };
+            }
+            // 添加SKU数据
+            groupedData[item.product_id].sku_list.push({
+              product_sku_id: item.product_sku_id,
+              product_id: item.product_id,
+              groupbuy_price: item.groupbuy_price,
+              groupbuy_stock: item.groupbuy_stock,
+              product_attr: item.spec_name,
+              product_price: item.product_price,
+              groupbuy_num: item.groupbuy_num,
+              limit_num: item.limit_num,
+              sales_initial: item.sales_initial,
+              sort: item.sort
+            });
+          });
 
-          const params = {
-            ...this.form,
-            sku_list: skuData,
-            tableData: undefined // 移除临时数据
-          }
+          // 准备批量请求数据
+          const requestData = {
+            product_list: Object.values(groupedData)
+          };
 
-          PlusApi.addProduct(params).then(res => {
-            this.$message.success('添加成功')
-            this.$router.back()
-          })
+          PlusApi.addProduct(requestData).then(res => {
+            this.$message.success(res.msg || '添加成功');
+            this.$router.back();
+          }).catch(error => {
+            this.$message.error(error.message || '添加失败');
+          });
         }
       })
     }

--
Gitblit v1.9.2