From 73b874c72ad55eb9eef21c36160ac0de58f0189e Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Thu, 05 Feb 2026 10:30:43 +0800
Subject: [PATCH] 优化名片

---
 shop_vue/src/views/plus/team/setting/part/Basic.vue |  202 ++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 154 insertions(+), 48 deletions(-)

diff --git a/shop_vue/src/views/plus/team/setting/part/Basic.vue b/shop_vue/src/views/plus/team/setting/part/Basic.vue
index afae5a0..4c4a030 100644
--- a/shop_vue/src/views/plus/team/setting/part/Basic.vue
+++ b/shop_vue/src/views/plus/team/setting/part/Basic.vue
@@ -13,24 +13,24 @@
           <el-radio v-model="form.is_open" label="0">关闭</el-radio>
         </div>
       </el-form-item>
-     <el-form-item label="是否开启级差奖">
-       <div>
-         <el-radio v-model="form.jcaward" label="1">开启</el-radio>
-         <el-radio v-model="form.jcaward" label="0">关闭</el-radio>
-       </div>
-     </el-form-item>
-     <el-form-item label="是否开启平级奖">
-       <div>
-         <el-radio v-model="form.pjaward" label="1">开启</el-radio>
-         <el-radio v-model="form.pjaward" label="0">关闭</el-radio>
-       </div>
-     </el-form-item>
-     <el-form-item label="平级奖励层级" v-if="form.pjaward==1">
-       <div>
-         <el-input v-model="form.pjaward_level" type="number" class="max-w460"></el-input>
+      <el-form-item label="是否开启级差奖">
+        <div>
+          <el-radio v-model="form.jcaward" label="1">开启</el-radio>
+          <el-radio v-model="form.jcaward" label="0">关闭</el-radio>
+        </div>
+      </el-form-item>
+      <el-form-item label="是否开启平级奖">
+        <div>
+          <el-radio v-model="form.pjaward" label="1">开启</el-radio>
+          <el-radio v-model="form.pjaward" label="0">关闭</el-radio>
+        </div>
+      </el-form-item>
+      <el-form-item label="平级奖励层级" v-if="form.pjaward==1">
+        <div>
+          <el-input v-model="form.pjaward_level" type="number" class="max-w460"></el-input>
           <div class="tips">默认1级,即只往上找一个平级(根据队长关系查找)</div>
-       </div>
-     </el-form-item>
+        </div>
+      </el-form-item>
       <el-form-item label="成为队长条件">
         <div>
           <el-radio v-model="form.become" label="10">申请</el-radio>
@@ -39,67 +39,132 @@
           <el-radio v-model="form.become" label="40">下级分销商总数</el-radio>
           <el-radio v-model="form.become" label="50">累计佣金总数</el-radio>
           <!-- <el-radio v-model="form.become" label="60">已提现佣金</el-radio> -->
+          <el-radio v-model="form.become" label="70">商户入驻和VIP会员组合条件</el-radio>
         </div>
       </el-form-item>
 
-        <el-form-item label="下线人数需达到" v-if="form.become==30">
-          <el-input v-model="form.total_down" type="number" class="max-w460">
-            <template slot="append">人</template>
-          </el-input>
-          <div class="tips"></div>
-        </el-form-item>
-        <el-form-item label="下级分销商总数需达到" v-if="form.become==40">
-          <el-input v-model="form.totalfxs_down" type="number" class="max-w460">
-            <template slot="append">人</template>
-          </el-input>
-          <div class="tips"></div>
-        </el-form-item>
-        <el-form-item label="累计佣金总数需达到" v-if="form.become==50">
-          <el-input v-model="form.total_money" type="number" class="max-w460">
-            <template slot="append">元</template>
-          </el-input>
-          <div class="tips"></div>
-        </el-form-item>
-        <el-form-item label="已提现佣金需达到" v-if="form.become==60">
-          <el-input v-model="form.ytx_money" type="number" class="max-w460">
-            <template slot="append">元</template>
-          </el-input>
-          <div class="tips"></div>
-        </el-form-item>
+      <el-form-item label="下线人数需达到" v-if="form.become==30">
+        <el-input v-model="form.total_down" type="number" class="max-w460">
+          <template slot="append">人</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+      <el-form-item label="下级分销商总数需达到" v-if="form.become==40">
+        <el-input v-model="form.totalfxs_down" type="number" class="max-w460">
+          <template slot="append">人</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+      <el-form-item label="累计佣金总数需达到" v-if="form.become==50">
+        <el-input v-model="form.total_money" type="number" class="max-w460">
+          <template slot="append">元</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+      <el-form-item label="已提现佣金需达到" v-if="form.become==60">
+        <el-input v-model="form.ytx_money" type="number" class="max-w460">
+          <template slot="append">元</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+      <el-form-item label="下线商户入驻人数需达到" v-if="form.become==70">
+        <el-input v-model="form.totalsh_down" type="number" class="max-w460">
+          <template slot="append">人</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+      <el-form-item label="下级指定会员等级达到" v-if="form.become==70">
+        <div class="max-w460">
+          <el-select v-model="form.referee_grade_ids" multiple>
+            <el-option
+              v-for="item in userGradeList"
+              :key="item.grade_id"
+              :label="item.name"
+              :value="item.grade_id">
+            </el-option>
+          </el-select>
+        </div>
+        <br/>
+        <el-input v-model="form.totalvip_down" type="number" class="max-w460">
+          <template slot="append">人</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+      <el-form-item label="VIP专区购买商品次数" v-if="form.become==70">
+        <el-input v-model="form.purchase_count" type="number" class="max-w460">
+          <template slot="append">次</template>
+        </el-input>
+        <div class="tips"></div>
+      </el-form-item>
+
+      <el-form-item label="或购买指定商品">
+        <div>
+          <el-row>
+            <el-button type="primary" @click="openProduct">选择商品</el-button>
+            <div v-if="form.product_image && form.product_image.length > 0" class="setting-product d-s-c f-w">
+              <div v-for="(item, index) in form.product_image" :key="index" class="img pr">
+                <a href="javascript:void(0)" class="delete-btn" @click="deleteFunc(index)"><i class="el-icon-error"></i></a>
+                <img :src="item.image" width="100" height="100"/>
+                <p class="text-ellipsis">{{ item.product_name }}</p>
+              </div>
+            </div>
+          </el-row>
+          <div class="tips">用户购买指定商品后,即可成为创客合伙人</div>
+        </div>
+      </el-form-item>
+
 
       <!--提交-->
       <div class="common-button-wrapper">
         <el-button size="small" type="primary" @click="onSubmit" :loading="loading">提交</el-button>
       </div>
     </el-form>
+    <!--产品列表弹出层组件-->
+    <Product :isproduct="isproduct" @closeDialog="closeDialogFunc($event)">产品列表弹出层</Product>
   </div>
 </template>
 
 <script>
 import PlusApi from '@/api/plus/team.js';
+import Product from '@/components/product/Product';
 
 export default {
+  components: {
+    /*产品列表组件*/
+    Product: Product
+  },
   data() {
     return {
       /*form表单数据*/
       form: {
         is_open: '',
         level: '',
-        self_buy: ''
+        self_buy: '',
+        team_buy_product_ids: [],
+        product_image: []
       },
       /*是否正在加载*/
-      loading: false
+      loading: false,
+      /*用户等级列表*/
+      userGradeList: [],
+      /*是否显示产品列表弹出层*/
+      isproduct: false
     };
   },
-  props:{
-    settingData:Object
+  props: {
+    settingData: Object
   },
   created() {
-
-    this.form=this.settingData.data.basic.values;
+    this.form = this.settingData.data.basic.values;
+    this.userGradeList = this.settingData.userGradeList;
+    for (let i = 0; i < this.form.referee_grade_ids.length; i++) {
+      this.form.referee_grade_ids[i] = parseInt(this.form.referee_grade_ids[i]);
+    }
+    for (let i = 0; i < this.form.team_buy_product_ids.length; i++) {
+      this.form.team_buy_product_ids[i] = parseInt(this.form.team_buy_product_ids[i]);
+    }
   },
   methods: {
-
     /*提交表单*/
     onSubmit() {
       let self = this;
@@ -117,6 +182,37 @@
         .catch(error => {
           self.loading = false;
         });
+    },
+
+    /*删除商品*/
+    deleteFunc(i) {
+      this.form.team_buy_product_ids.splice(i, 1);
+      this.form.product_image.splice(i, 1);
+    },
+
+    /*产品列表弹出层*/
+    openProduct() {
+      this.isproduct = true;
+    },
+
+    /*关闭弹窗*/
+    closeDialogFunc(e) {
+      this.isproduct = e.openDialog;
+      if (e.type == 'success') {
+        if (this.form.team_buy_product_ids.indexOf(e.params.product_id) == -1) {
+          this.form.team_buy_product_ids.push(e.params.product_id);
+          this.form.product_image.push({
+            product_id: e.params.product_id,
+            image: e.params.image,
+            product_name: e.params.product_name
+          });
+        } else {
+          this.$message({
+            message: '已选择该商品',
+            type: 'warning'
+          });
+        }
+      }
     }
   }
 };
@@ -126,4 +222,14 @@
 .tips {
   color: #ccc;
 }
+.delete-btn {
+  position: absolute;
+  display: block;
+  width: 20px;
+  height: 20px;
+  line-height: 20px;
+  right: -8px;
+  top: -8px;
+  color: red;
+}
 </style>

--
Gitblit v1.9.2