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/product/product/part/Buyset.vue |  112 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 107 insertions(+), 5 deletions(-)

diff --git a/shop_vue/src/views/product/product/part/Buyset.vue b/shop_vue/src/views/product/product/part/Buyset.vue
index 389ec20..803b6f1 100644
--- a/shop_vue/src/views/product/product/part/Buyset.vue
+++ b/shop_vue/src/views/product/product/part/Buyset.vue
@@ -12,9 +12,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" disabled>
         <el-radio :label="0">包邮</el-radio>
         <el-radio :label="1">运费模板</el-radio>
@@ -33,7 +35,7 @@
       <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>
@@ -42,6 +44,10 @@
     <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>
+    </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>
     <el-form-item label="会员等级限制:">
       <el-select v-model="form.model.grade_ids" multiple placeholder="请选择" style="width: 460px;">
@@ -70,6 +76,54 @@
     </el-form-item>
     <el-form-item v-if="form.model.is_points_discount == 1" label="最大抵扣积分数量:" :rules="[{ required: true, message: ' ' }]" prop="model.max_points_discount">
       <el-input type="number" min="0" v-model="form.model.max_points_discount" class="max-w460"></el-input>
+    </el-form-item>
+    <div class="common-form mt50">优惠券</div>
+    <el-form-item label="是否赠送优惠券:">
+      <el-radio-group v-model="form.model.open_coupon">
+        <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.open_coupons"
+                  v-if="form.model.open_coupon">
+      <div class="d-s-c">
+        <div style="width: 460px;border: 1px solid #dedede;min-height: 32px;"><span
+          v-for="(item,index) in form.model.open_coupons" :key="index">{{item.name+';'}}</span></div>
+        <el-button type="primary" @click="addCoupon()">添加优惠券</el-button>
+      </div>
+    </el-form-item>
+    <el-form-item label="" v-if="form.model.open_coupon">
+      <el-table :data="form.model.open_coupons" style="width: 60%">
+        <el-table-column prop="name" label="券名称">
+        </el-table-column>
+        <el-table-column prop="number" label="每人领取数量" :rules="[{required: true,message: ' '}]">
+          <template slot-scope="scope">
+            <el-input type="number" v-model="scope.row.number" placeholder="">
+            </el-input>
+          </template>
+        </el-table-column>
+        <el-table-column label="操作" prop="address">
+          <template slot-scope="scope">
+            <el-button type="text" size="small" @click='delcoupon(scope.row)'> 删除 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+    </el-form-item>
+    <div class="common-form mt50">消费券设置</div>
+    <el-form-item label="是否开启消费券赠送:">
+      <el-radio-group v-model="form.model.is_consumption_gift">
+        <el-radio :label="1">开启</el-radio>
+        <el-radio :label="0">关闭</el-radio>
+      </el-radio-group>
+    </el-form-item>
+    <el-form-item label="是否允许使用消费券抵扣:">
+      <el-radio-group v-model="form.model.is_consumption_discount">
+        <el-radio :label="1">允许</el-radio>
+        <el-radio :label="0">不允许</el-radio>
+      </el-radio-group>
+    </el-form-item>
+    <el-form-item v-if="form.model.is_consumption_discount == 1" label="最大抵扣消费券数量:" :rules="[{ required: true, message: ' ' }]" prop="model.max_consumption_discount">
+      <el-input type="number" min="0" v-model="form.model.max_consumption_discount" class="max-w460"></el-input>
     </el-form-item>
     <!--会员折扣设置-->
     <div class="common-form mt50">会员折扣设置</div>
@@ -109,6 +163,16 @@
           </el-table-column>
         </el-table>
       </div>
+    </el-form-item>
+    <div v-if="form.model.is_repurchase" class="common-form">见点奖设置</div>
+    <el-form-item label="见点奖设置:" v-if="form.model.is_repurchase">
+      <el-radio-group v-model="form.model.is_viewpoint_money">
+        <el-radio :label="0">平台规则</el-radio>
+        <el-radio :label="1">单独规则</el-radio>
+      </el-radio-group>
+    </el-form-item>
+    <el-form-item v-if="form.model.is_viewpoint_money == 1" label="见点奖:" :rules="[{ required: true, message: ' ' }]" prop="model.viewpoint_money">
+      <el-input type="number" min="0" v-model="form.model.viewpoint_money" class="max-w460"></el-input>
     </el-form-item>
     <!--分红比例设置-->
     <div class="common-form mt50">分红比例设置</div>
@@ -205,16 +269,23 @@
         <el-radio :label="0">不参与</el-radio>
       </el-radio-group>
     </el-form-item>
-
+    <!--选择优惠券-->
+    <GetCoupon v-if="open_add" :open_add="open_add" @closeDialog="closeCouponDialogFunc($event)">选择优惠券弹出层</GetCoupon>
   </div>
 </template>
 
 <script>
+import GetCoupon from '@/components/coupon/GetCoupon';
+import draggable from "vuedraggable";
   export default {
+    components: {
+      GetCoupon,
+    },
     data() {
       return {
         unit: '%',
-        grade_unit: '%'
+        grade_unit: '%',
+        open_add:false
       };
     },
     created() {
@@ -242,7 +313,38 @@
 	    } else {
 	      this.grade_unit = '元';
 	    }
-	  }
+	  },/*添加优惠券*/
+      addCoupon() {
+        if(this.form.model.open_coupons.length>=15){
+          this.$message.error('您已经选择了十五张优惠券,若要更换请删除其他优惠券!');
+          return
+        }
+
+        this.open_add = true;
+      },
+      /*关闭优惠券*/
+      closeCouponDialogFunc(e) {
+        let self = this;
+        self.open_add = e.openDialog;
+        if (e.type == 'success') {
+          let params = {
+            coupon_id: e.params.coupon_id,
+            name: e.params.name,
+            number: 1,
+            color:e.params.color,
+            discount:e.params.discount,
+            reduce_price:e.params.reduce_price,
+            coupon_type:e.params.coupon_type,
+            min_price:e.params.min_price,
+          }
+          self.form.model.open_coupons.push(params);
+        }
+      },
+      delcoupon(item) {
+        let self = this;
+        let n = self.form.model.open_coupons.indexOf(item);
+        self.form.model.open_coupons.splice(n, 1);
+      },
     }
   };
 </script>

--
Gitblit v1.9.2