| | |
| | | }, |
| | | // 选择商品 |
| | | selectProduct(product) { |
| | | console.log(product.product_id) |
| | | this.form.product_id = product.product_id |
| | | this.form.product_name = product.product_name |
| | | this.selectedProduct = product |
| | |
| | | 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, |
| | |
| | | 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, |
| | |
| | | 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 || '添加失败'); |
| | | }); |
| | | } |
| | | }) |
| | | } |