From 06be1c7ccc7533612e4cc7b0e730080d0dd3d2a1 Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 16 Jan 2026 11:43:36 +0800
Subject: [PATCH] 商品可以赠送优惠券 商品属性增加团购 入驻商家增加实物和团购选项 团购和实物商户分类分开 增加团购商家页面 后台添加页面增加团购组件

---
 supplier_vue/src/views/product/product/part/Basic.vue |   68 ++++++++++++++++++++++++++++++---
 1 files changed, 61 insertions(+), 7 deletions(-)

diff --git a/supplier_vue/src/views/product/product/part/Basic.vue b/supplier_vue/src/views/product/product/part/Basic.vue
index 93354e9..6b6ef2d 100644
--- a/supplier_vue/src/views/product/product/part/Basic.vue
+++ b/supplier_vue/src/views/product/product/part/Basic.vue
@@ -5,7 +5,20 @@
     <el-form-item label="商品名称:" :rules="[{ required: true, message: '请填写商品名称' }]" prop="model.product_name">
       <el-input v-model="form.model.product_name" class="max-w460"></el-input>
     </el-form-item>
-   <el-form-item label="所属分类:" :rules="[{ required: true, message: '请选择商品分类' }]" prop="model.category_id">
+    <el-form-item label="所属分类:" :rules="[{ required: true, message: '请选择商品分类' }]" prop="model.category_ids">
+      <el-select v-model="form.model.category_ids" multiple style="width:460px">
+        <template v-for="cat in form.category" v-if="cat.dish_store_id==dish_store_id">
+          <el-option :value="cat.category_id" :key="cat.category_id" :label="cat.name"></el-option>
+          <template v-if="cat.child !== undefined" v-for="two in cat.child">
+            <el-option :value="two.category_id" :key="two.category_id" :label="two.name" style="padding-left: 30px;"></el-option>
+            <template v-if="two.child !== undefined" v-for="three in two.child">
+              <el-option :value="three.category_id" :key="three.category_id" :label="three.name" style="padding-left: 60px;"></el-option>
+            </template>
+          </template>
+        </template>
+      </el-select>
+    </el-form-item>
+<!--   <el-form-item label="所属分类:" :rules="[{ required: true, message: '请选择商品分类' }]" prop="model.category_id">
       <el-select v-model="form.model.category_id">
         <template v-for="cat in form.category">
           <el-option :value="cat.category_id" :key="cat.category_id" :label="cat.name"></el-option>
@@ -17,6 +30,15 @@
           </template>
         </template>
       </el-select>
+    </el-form-item>-->
+    <el-form-item v-if="form.is_newcomer" label="归属供应商:" prop="model.belonging_shop_supplier_id">
+      <el-row>
+        <el-button @click="openSupplier" icon="el-icon-plus">选择供应商</el-button>
+        <div v-if="form.model.belonging_shop_supplier_id" class="mt10">
+          <el-tag closable @close="clearSupplier">{{ form.supplierName }}</el-tag>
+        </div>
+        <div class="gray9">生成订单时归属的供应商,不选择则默认为当前供应商</div>
+      </el-row>
     </el-form-item>
     <el-form-item label="预告商品:">
       <el-radio-group v-model="form.model.is_preview">
@@ -101,9 +123,11 @@
         <el-radio :label="0">实物商品</el-radio>
         <el-radio :label="1">虚拟商品(无需发货)</el-radio>
         <el-radio :label="2">券商品</el-radio>
+        <el-radio :label="3">服务商品(无需发货)</el-radio>
+        <el-radio :label="4">团购商品</el-radio>
       </el-radio-group>
     </el-form-item>
-    <el-form-item label="运费:" prop="model.delivery_id" v-if="form.model.is_virtual==0">
+    <el-form-item label="运费:" prop="model.delivery_id" v-if="form.model.is_virtual==0||form.model.is_virtual==4">
       <el-radio-group v-model="form.model.is_delivery_free" @change="changeDelivery">
         <el-radio :label="0">包邮</el-radio>
         <el-radio :label="1">运费模板</el-radio>
@@ -124,18 +148,22 @@
       <el-input type="number" min="0" v-model="form.model.limit_num" class="max-w460"></el-input>
       <div class="gray9">每个会员购买的最大数量,0为不限购</div>
     </el-form-item>
-    <el-form-item label="发货类型:" v-if="form.model.is_virtual==1">
+    <el-form-item label="发货类型:" v-if="form.model.is_virtual==1||form.model.is_virtual==3">
       <el-radio-group v-model="form.model.virtual_auto">
         <el-radio :label="1">自动</el-radio>
         <el-radio :label="0">手动</el-radio>
       </el-radio-group>
     </el-form-item>
-    <el-form-item label="虚拟内容:" :rules="[{ required: true, message: '请填写虚拟内容' }]" prop="model.virtual_content" v-if="form.model.is_virtual==1">
+    <el-form-item label="虚拟商品:" :rules="[{ required: true, message: '请填写虚拟商品' }]" prop="model.virtual_content" v-if="form.model.is_virtual==1">
       <el-input type="text" v-model="form.model.virtual_content" class="max-w460"></el-input>
-      <div class="gray9">虚拟物品内容</div>
+      <div class="gray9">虚拟商品内容</div>
+    </el-form-item>
+    <el-form-item label="服务商品:" :rules="[{ required: true, message: '请填写服务商品' }]" prop="model.service_content" v-if="form.model.is_virtual==3">
+      <el-input type="text" v-model="form.model.service_content" class="max-w460"></el-input>
+      <div class="gray9">服务商品内容</div>
     </el-form-item>
 
-    <template v-if="form.model.virtual_auto==0&&form.model.is_virtual==1">
+    <template v-if="form.model.virtual_auto==0&&(form.model.is_virtual==1||form.model.is_virtual==3)">
       <el-form-item label="支持线下核销:">
         <el-radio-group v-model="form.model.is_verify">
           <el-radio :label="1">支持</el-radio>
@@ -184,6 +212,8 @@
     <Upload v-if="isProductUpload" :config="config" :isupload="isProductUpload" @returnImgs="returnProductImgsFunc">上传图片</Upload>
     <!--选择门店-->
     <StoreSelect :isstore="isstore" :excludeIds="excludeStoreIds" :islist="isstorelist" @closeDialog="closeStoreDialogFunc($event)"></StoreSelect>
+    <!--选择供应商-->
+    <Supplier :open="isSupplierOpen" :islist="false" @close="closeSupplierFunc"></Supplier>
   </div>
 </template>
 
@@ -192,11 +222,13 @@
 import Upload from '@/components/file/Upload';
 import draggable from 'vuedraggable';
 import StoreSelect from '@/components/store/StoreSelect';
+import Supplier from '@/components/supplier/Supplier.vue';
 export default {
   components: {
     Upload,
     draggable,
-    StoreSelect
+    StoreSelect,
+    Supplier
   },
   data() {
     return {
@@ -213,6 +245,8 @@
       isstorelist: true,
       /*门店需要去重的*/
       excludeStoreIds: [],
+      /*是否显示供应商选择*/
+      isSupplierOpen: false,
     };
   },
   inject: ['form'],
@@ -316,6 +350,26 @@
       self.form.verifyStoreList.splice(index, 1);
     },
 
+    /*打开供应商选择*/
+    openSupplier() {
+      this.isSupplierOpen = true;
+    },
+
+    /*关闭供应商选择*/
+    closeSupplierFunc(e) {
+      this.isSupplierOpen = false;
+      if (e.type == 'success') {
+        this.form.model.belonging_shop_supplier_id = e.params.shop_supplier_id;
+        this.form.supplierName = e.params.name;
+      }
+    },
+
+    /*清除供应商*/
+    clearSupplier() {
+      this.form.model.belonging_shop_supplier_id = null;
+      this.form.supplierName = '';
+    }
+
   }
 };
 </script>

--
Gitblit v1.9.2