소스 검색

拼团修改

chengjunhui 1 개월 전
부모
커밋
09ba929bad

+ 18 - 0
src/api/marketing/groupBooking.js

@@ -82,4 +82,22 @@ export function groupBookingActivitygoodsInfo_api (id) {
     url: `/admin/groupBuy/activitygoods/info/${id}`,
     method: 'get',
   })
+}
+
+// 查询拼团活动的团列表
+export function groupBuyTeamPage_api(query) {
+    return request({
+        url: '/business/groupBuyTeam/page',
+        method: 'get',
+        params: query
+    })
+}
+
+// 查询拼团活动的成员列表
+export function groupBuyTeamMemberPage_api(query) {
+    return request({
+        url: '/business/groupBuyTeamMember/page',
+        method: 'get',
+        params: query
+    })
 }

+ 149 - 95
src/views/marketing/groupBooking/components/GbPdAdd.vue

@@ -1,8 +1,9 @@
 <template>
-  <el-dialog
+  <el-drawer
     title="活动商品"
-    :close-on-click-modal="false"
+    size="1000px"
     :visible.sync="visible"
+    :wrapperClosable="false"
   >
     <el-form
       :model="dataForm"
@@ -10,15 +11,16 @@
       ref="dataForm"
       @keyup.enter.native="dataFormSubmit()"
       label-width="100px"
+      style="padding: 0 20px 64px 0; position: relative;"
     >
-      <el-form-item label="活动价" prop="price_type">
-        <el-radio-group v-model="dataForm.price_type">
+      <el-form-item label="活动价" prop="priceType">
+        <el-radio-group v-model="dataForm.priceType">
           <el-radio :label="0">固定折扣</el-radio>
           <el-radio :label="1">固定减价 </el-radio>
         </el-radio-group>
       </el-form-item>
       <el-form-item
-        v-if="dataForm.price_type == 0"
+        v-if="dataForm.priceType == 0"
         prop="discount"
         :rules="[
           { required: true, message: '固定折扣不能为空', trigger: 'blur' },
@@ -41,15 +43,15 @@
         </el-col>
       </el-form-item>
       <el-form-item
-        v-if="dataForm.price_type == 1"
-        prop="fix_price"
+        v-if="dataForm.priceType == 1"
+        prop="fixPrice"
         :rules="[
           { required: true, message: '固定减价不能为空', trigger: 'blur' },
         ]"
       >
         <el-col :span="4">
           <el-input-number
-            v-model="dataForm.fix_price"
+            v-model="dataForm.fixPrice"
             :min="0"
             :precision="2"
             :controls="false"
@@ -65,35 +67,56 @@
         </el-col>
       </el-form-item>
 
-      <el-table
-        :data="dataList"
-        row-key="Id"
-        border
-        style="width: 100%; margin-top: 30px"
-      >
-        <el-table-column prop="sku_set_name" align="center" label="规格">
-        </el-table-column>
+      <div style="padding: 0 0 0 20px">
+        <el-table
+          :data="dataList"
+          row-key="Id"
+          border
+          style="width: 100%; margin-top: 30px"
+        >
+          <el-table-column prop="skuSetName" align="center" label="规格">
+          </el-table-column>
 
-        <el-table-column prop="cost_price" align="center" label="成本价">
-        </el-table-column>
-        <el-table-column prop="sale_price" align="center" label="原价">
-        </el-table-column>
-        <el-table-column prop="activity_price" align="center" label="价格">
-          <template slot-scope="scope">
-            <el-input-number
-              v-model="scope.row.activity_price"
-              :min="0"
-              :precision="2"
-              :controls="false"
-              :max="100000"
-            ></el-input-number>
-          </template>
-        </el-table-column>
-      </el-table>
-      <el-form-item label="限购数量" prop="limit_buy_num" class="mt30">
+          <el-table-column prop="costPrice" align="center" label="成本价">
+          </el-table-column>
+          <el-table-column prop="originalSalePrice" align="center" label="原价">
+          </el-table-column>
+          <el-table-column prop="salePrice" align="center" label="价格">
+            <template slot-scope="scope">
+              <el-input-number
+                v-model="scope.row.salePrice"
+                :min="0"
+                :precision="2"
+                :controls="false"
+                :max="1000000000"
+                style="width: 100%"
+              ></el-input-number>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="originalStock"
+            align="center"
+            label="库存"
+            v-if="showInventory"
+          >
+          </el-table-column>
+          <el-table-column prop="stock" align="center" label="投放数量">
+            <template slot-scope="scope">
+              <el-input-number
+                v-model="scope.row.stock"
+                :min="0"
+                :precision="0"
+                :controls="false"
+                style="width: 100%"
+              ></el-input-number>
+            </template>
+          </el-table-column>
+        </el-table>
+      </div>
+      <el-form-item label="限购数量" prop="limitBuyNum" class="mt30">
         <el-col :span="4">
           <el-input-number
-            v-model="dataForm.limit_buy_num"
+            v-model="dataForm.limitBuyNum"
             :min="0"
             :precision="0"
             :controls="false"
@@ -105,10 +128,10 @@
         >
       </el-form-item>
 
-      <el-form-item label="可售数量" prop="real_stock_total">
+      <!-- <el-form-item label="可售数量" prop="realStockTotal">
         <el-col :span="4">
           <el-input-number
-            v-model="dataForm.real_stock_total"
+            v-model="dataForm.realStockTotal"
             :min="0"
             :precision="0"
             :controls="false"
@@ -116,11 +139,11 @@
           ></el-input-number>
         </el-col>
         <el-col :span="12" :offset="2">此次活动所有SKU可售数量</el-col>
-      </el-form-item>
-      <el-form-item label="初始销量" prop="init_sale_num">
+      </el-form-item> -->
+      <el-form-item label="初始销量" prop="initSaleNum">
         <el-col :span="4">
           <el-input-number
-            v-model="dataForm.init_sale_num"
+            v-model="dataForm.initSaleNum"
             :min="0"
             :precision="0"
             :controls="false"
@@ -129,10 +152,10 @@
         </el-col>
       </el-form-item>
 
-      <el-form-item label="团购人数" prop="group_people_num">
+      <el-form-item label="团购人数" prop="groupPeopleNum">
         <el-col :span="4">
           <el-input-number
-            v-model="dataForm.group_people_num"
+            v-model="dataForm.groupPeopleNum"
             :min="2"
             :precision="0"
             :controls="false"
@@ -150,57 +173,72 @@
           :max="10000000"
         ></el-input-number>
       </el-form-item>
+      <div class="dialog-footer">
+        <el-button @click="celForm()">取消</el-button>
+        <el-button type="primary" :loading="loading" @click="dataFormSubmit()"
+          >确定</el-button
+        >
+      </div>
     </el-form>
-    <span slot="footer" class="dialog-footer">
-      <el-button @click="celForm()">取消</el-button>
-      <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
-    </span>
-  </el-dialog>
+  </el-drawer>
 </template>
 
 <script>
 // import seviceApi from "@/api/serviceApi.js";
+import {
+  groupBookingActivitygoodsAdd_api,
+  groupBookingActivitygoodsEdit_api,
+  groupBookingActivitygoodsInfo_api,
+} from "@/api/marketing/groupBooking.js";
+
 export default {
+  props: {
+    showInventory: {
+      type: Boolean,
+      default: true,
+    },
+  },
   data() {
     return {
       visible: false,
+      loading: false,
       dataForm: {
-        goods_id: null, // 商品id
-        group_buy_id: null, // 拼团活动id
-        price_type: null, // 0固定折扣,1固定减价
-        discount: null, // 固定折扣
-        fix_price: null, // 固定减价
-        limit_buy_num: null, // 限购
+        productId: null, // 商品id
+        groupBuyId: null, // 拼团活动id
+        priceType: 0, // 0固定折扣,1固定减价
+        discount: 0, // 固定折扣
+        fixPrice: 0, // 固定减价
+        limitBuyNum: null, // 限购
+        limitBuyNum: null, // 限购
         sort: null, // 商品排序
-        real_stock_total: null, // 真实库存总数
-        init_sale_num: null, // 初始化销量
-        group_people_num: null, // 成团总人数
-        group_buy_goods_sku_list: [],
+        initSaleNum: null, // 初始化销量
+        groupPeopleNum: null, // 成团总人数
+        productSkuSetList: [],
       },
       dataList: [],
       dataRule: {
-        price_type: [
+        priceType: [
           {
             required: true,
             message: "活动价不能为空",
             trigger: "blur",
           },
         ],
-        real_stock_total: [
+        realStockTotal: [
           {
             required: true,
             message: "可售数量不能为空",
             trigger: "blur",
           },
         ],
-        init_sale_num: [
+        initSaleNum: [
           {
             required: true,
             message: "初始销量不能为空",
             trigger: "blur",
           },
         ],
-        group_people_num: [
+        groupPeopleNum: [
           {
             required: true,
             message: "团购人数不能为空",
@@ -214,7 +252,7 @@ export default {
             trigger: "blur",
           },
         ],
-        limit_buy_num: [
+        limitBuyNum: [
           {
             required: true,
             message: "限购数量不能为空",
@@ -229,42 +267,36 @@ export default {
     celForm() {
       this.visible = false;
     },
-    init(id, groupBuyId, goodsId) {
+    init(id, groupBuyId, productId, productSkuSetList, productInfo = {}) {
       this.dataForm.id = id || null;
       this.visible = true;
-      this.dataForm.goods_id = goodsId;
-      this.dataForm.group_buy_id = groupBuyId;
+      this.dataForm.productId = productId;
+      this.dataForm.groupBuyId = groupBuyId;
       this.$nextTick(() => {
         this.$refs["dataForm"].resetFields();
       });
       if (id) {
-        seviceApi.getActivitygoodsInfo(id).then((res) => {
-          if (res && res.data.code == 200) {
-            this.dataForm = res.data.data;
-            seviceApi.getGroupbuySku(id).then((res1) => {
-              this.dataList = res1.data.list;
-            });
+        groupBookingActivitygoodsInfo_api(id).then((res) => {
+          if (res && res.code == 200) {
+            this.dataForm = res.data;
+            // seviceApi.getGroupbuySku(id).then((res1) => {
+            //   this.dataList = res1.data.list;
+            // });
+            this.dataList = res.data.productSkuSetList || [];
           }
         });
       } else {
-        // 查询商品所有规格
-        if (goodsId) {
-          seviceApi.getGoodsSkus(goodsId).then((res) => {
-            if (res && res.data.code == 200) {
-              res.data.list.forEach((i) => {
-                i.activity_price = i.sale_price;
-              });
-              this.dataList = res.data.list;
-            }
-          });
-        }
+        this.dataList = productSkuSetList;
+        this.dataForm.skuList = productInfo.skuTable || [];
+        this.dataForm.singleSku = productInfo.singleSku;
+
       }
     },
     goSet() {
       if (this.dataForm.discount != "") {
         this.dataList.map((v, i) => {
-          v.activity_price = Number(
-            v.sale_price * (this.dataForm.discount / 10)
+          v.salePrice = Number(
+            v.originalSalePrice * (this.dataForm.discount / 10)
           ).toFixed(2);
         });
       } else {
@@ -272,17 +304,17 @@ export default {
       }
     },
     setFixPrice() {
-      if (this.dataForm.fix_price != "") {
+      if (this.dataForm.fixPrice != "") {
         if (
-          this.dataList.some((val) => val.sale_price <= this.dataForm.fix_price)
+          this.dataList.some(
+            (val) => val.originalSalePrice <= this.dataForm.fixPrice
+          )
         ) {
           this.$message.error("减价金额不得超过商品原价");
           return false;
         }
         this.dataList.map((v, i) => {
-          v.activity_price = Number(
-            v.sale_price - this.dataForm.fix_price
-          ).toFixed(2);
+          v.salePrice = Number(v.salePrice - this.dataForm.fixPrice).toFixed(2);
         });
       } else {
         this.$message.error("请输入减价");
@@ -292,19 +324,27 @@ export default {
     dataFormSubmit() {
       this.$refs["dataForm"].validate((valid) => {
         if (valid) {
+          if (this.loading) return;
           if (this.dataForm.id == null || undefined) {
             delete this.dataForm.id;
           }
-          this.dataForm.group_buy_goods_sku_list = this.dataList;
-          seviceApi.saveGroupbuyActivitygoods(this.dataForm).then((res) => {
-            if (res && res.data.code == 200) {
-              this.$message({
-                message: "添加成功",
-                type: "success",
-              });
+
+          this.dataForm.productSkuSetList = this.dataList;
+          this.dataForm.skuTable = this.dataList;
+
+          this.loading = true;
+          let url = this.dataForm.id
+            ? groupBookingActivitygoodsEdit_api
+            : groupBookingActivitygoodsAdd_api;
+          url(this.dataForm).then((res) => {
+            this.loading = false;
+            if (res && res.code == 200) {
+              this.$message.success("添加成功");
               this.visible = false;
               this.$emit("updataList", 1);
             }
+          }).catch((err) => {
+            this.loading = false;
           });
         }
       });
@@ -317,4 +357,18 @@ export default {
 .mt30 {
   margin-top: 30px;
 }
+
+::v-deep .el-drawer__body {
+  position: relative !important;
+}
+
+.dialog-footer {
+  position: fixed;
+  bottom: 0;
+  right: 0;
+  background-color: #ffffff;
+  width: 1000px;
+  padding: 0 0 20px 40px;
+  box-sizing: border-box;
+}
 </style>

+ 55 - 0
src/views/marketing/groupBooking/components/GbPersonnel.vue

@@ -0,0 +1,55 @@
+<template>
+  <!-- 弹窗,修改 -->
+  <el-dialog title="拼团人员" :visible.sync="dialogTableVisible" width="1000px">
+    <el-table :data="dataList" border>
+      <el-table-column
+        property="nickname"
+        label="人员"
+        width="150"
+      ></el-table-column>
+      <el-table-column
+        property="orderCode"
+        label="订单编号"
+        width="200"
+      ></el-table-column>
+      <el-table-column property="leader" label="身份">
+        <template slot-scope="scope">
+          <el-tag v-if="scope.row.leader">团长</el-tag>
+          <el-tag type="success" v-else>团员</el-tag>
+        </template>
+      </el-table-column>
+      <el-table-column
+        property="createTime"
+        label="下单时间"
+      ></el-table-column>
+    </el-table>
+    <pagination
+      v-show="total > 10"
+      :total="total"
+      :page.sync="queryParams.pageNum"
+      :limit.sync="queryParams.pageSize"
+      @pagination="getList"
+    />
+  </el-dialog>
+</template>
+<script>
+import getListApi from "@/mixins/getListApi";
+import { groupBuyTeamMemberPage_api } from "@/api/marketing/groupBooking.js";
+export default {
+  mixins: [getListApi],
+  data() {
+    return {
+      listURL: groupBuyTeamMemberPage_api,
+      initializationShow: false,
+      dialogTableVisible: false,
+    };
+  },
+  methods: {
+    init(teamId) {
+      this.dialogTableVisible = true;
+      this.queryParams.teamId = teamId;
+      this.handleQuery();
+    },
+  },
+};
+</script>

+ 7 - 3
src/views/marketing/groupBooking/components/GroupBookingAddUpdate.vue

@@ -81,7 +81,7 @@
       </el-form-item>
       <el-form-item>
         <el-button @click="visible = false">取消</el-button>
-        <el-button type="primary" @click="dataFormSubmit()">确定</el-button>
+        <el-button type="primary" @click="dataFormSubmit()" :loading="loading">确定</el-button>
       </el-form-item>
     </el-form>
   </el-drawer>
@@ -131,7 +131,7 @@ export default {
           },
         ],
       },
-      imgArr: [],
+      loading: false,
     };
   },
 
@@ -160,7 +160,6 @@ export default {
         discard: false, // 是否置弃
       }),
         this.resetForm("dataForm");
-      this.imgArr = [];
       this.timeQuantum = "";
     },
     // 提交
@@ -175,13 +174,18 @@ export default {
             this.$message.error("结束时间不能小于开始时间");
             return false;
           }
+          if(this.loading) return;
+          this.loading = true;
           let url = this.dataForm.id == null ? groupBookingActivityAdd_api : groupBookingActivityEdit_api;
           url(this.dataForm).then((res) => {
+            this.loading = false;
             if (res && res.code == 200) {
               this.$message.success(this.dataForm.id ? "修改成功" : "添加成功");
               this.visible = false;
               this.$emit("updataList", 1);
             }
+          }).catch((err) => {
+            this.loading = false;
           });
         }
       });

+ 45 - 23
src/views/marketing/groupBooking/gbAddList.vue

@@ -1,8 +1,8 @@
 <template>
   <div class="app-container">
-    <div class="mb10">
+    <!-- <div class="mb10">
       <el-button @click="getBack">返回管理商品</el-button>
-    </div>
+    </div> -->
     <el-form :inline="true" :model="search" :size="ELsize">
       <el-form-item label="商品名称" prop="title">
         <el-input
@@ -27,7 +27,7 @@
     <el-table :data="dataList" row-key="Id" border style="width: 100%">
       <el-table-column prop="title" align="center" label="商品名称">
       </el-table-column>
-      <el-table-column prop="min_sale_price" align="center" label="销售价格">
+      <el-table-column prop="minSalePrice" align="center" label="销售价格">
       </el-table-column>
       <!-- <el-table-column prop="" align="center" label="成本价格">
       </el-table-column> -->
@@ -38,11 +38,11 @@
         label="商品状态"
       >
       </el-table-column>
-      <el-table-column prop="real_sale_num" align="center" label="实际销量">
+      <el-table-column prop="realSales" align="center" label="实际销量">
       </el-table-column>
-      <el-table-column prop="is_join" align="center" label="是否已参加拼团">
+      <el-table-column prop="isJoin" align="center" label="是否已参加拼团">
         <template slot-scope="scope">
-          <el-tag v-if="scope.row.is_join">是</el-tag>
+          <el-tag v-if="scope.row.isJoin">是</el-tag>
           <el-tag v-else type="success">否</el-tag>
         </template>
       </el-table-column>
@@ -52,11 +52,15 @@
         align="center"
         label="操作"
       >
-        <template slot-scope="scope" v-if="scope.row.is_join == false">
+        <template slot-scope="scope" v-if="scope.row.isJoin == false">
           <el-button
             type="text"
             size="small"
-            @click="addOrUpdateHandle(scope.row.id)"
+            @click="
+              addOrUpdateHandle(
+                scope.row.productId
+              )
+            "
             >添加</el-button
           >
         </template>
@@ -70,27 +74,22 @@
       @pagination="getList"
     />
     <!-- 弹窗, 新增 / 修改 -->
-    <GbPdAdd
-      v-if="addOrUpdateVisible"
-      ref="gbPdAddRef"
-      @updataList="getBack"
-    ></GbPdAdd>
+    <GbPdAdd ref="gbPdAddRef" @updataList="getBack"></GbPdAdd>
   </div>
 </template>
 
 <script>
-import GbPdAdd from "./components/GbPdAdd.vue";
 // import seviceApi from "@/api/serviceApi.js";
 import getListApi from "@/mixins/getListApi";
+import { productForActivityPage, shopProductInfo } from "@/api/goods";
+import GbPdAdd from "./components/GbPdAdd.vue";
 
 export default {
   mixins: [getListApi],
   data() {
     return {
-      //   listURL: agentAccountCodeApplyWaitPage,
-      dataForm: {},
-      dataListLoading: false,
-      addOrUpdateVisible: false,
+      listURL: productForActivityPage,
+      initializationShow: false,
     };
   },
   components: {
@@ -100,7 +99,8 @@ export default {
     $route() {},
   },
   mounted() {
-    this.search.group_buy_id = this.$route.query.id;
+    this.search.groupBuyId = this.$route.query.id;
+    this.getList();
   },
   methods: {
     added(row, column) {
@@ -112,11 +112,33 @@ export default {
       }
     },
     // 新增 / 修改
-    addOrUpdateHandle(id) {
-      this.addOrUpdateVisible = true;
-      this.$nextTick(() => {
-        this.$refs.gbPdAddRef.init("", this.search.group_buy_id, id);
+    addOrUpdateHandle(productId) {
+      shopProductInfo(productId).then((res) => {
+        if (res.code == 200) {
+          let productSkuSetList = res.data.productSkuSetList.map((v) => {
+            v.originalSalePrice = v.originalSalePrice
+              ? v.originalSalePrice * 1
+              : v.salePrice * 1;
+            v.salePrice = v.salePrice * 1;
+            v.id = undefined;
+            v.originalStock = v.stock ? v.stock * 1 : 0;
+            v.stock = 0;
+            v.createTime = undefined;
+            v.updateTime = undefined;
+            return v;
+          });
+          this.$nextTick(() => {
+            this.$refs.gbPdAddRef.init(
+              "",
+              this.search.groupBuyId,
+              productId,
+              productSkuSetList,
+              res.data,
+            );
+          });
+        }
       });
+      return;
     },
     // 返回管理商品
     getBack() {

+ 6 - 6
src/views/marketing/groupBooking/gbProduct.vue

@@ -3,7 +3,7 @@
     <!-- <div class="mb10">
       <el-button @click="getBack">返回拼团列表</el-button>
     </div> -->
-    <el-form :inline="true" :model="search" :size="ELsize">
+    <el-form :inline="true" :model="search" :size="ELsize" v-show="showSearch">
       <el-form-item label="商品名称">
         <el-input
           v-model="search.title"
@@ -62,7 +62,7 @@
           <el-button
             type="text"
             size="small"
-            @click="upGbPdAdd(scope.row.id, scope.row.goodsId)"
+            @click="upGbPdAdd(scope.row.id, scope.row.productId)"
             >编辑</el-button
           >
           <el-button
@@ -82,7 +82,7 @@
       @pagination="getList"
     />
     <!-- 弹窗,修改 -->
-    <GbPdAdd ref="gbPdAddRef" @updataList="getList"></GbPdAdd>
+    <GbPdAdd ref="gbPdAddRef" @updataList="getList" :showInventory="false"></GbPdAdd>
   </div>
 </template>
 
@@ -119,7 +119,7 @@ export default {
     goOrder(item) {
       this.$router.push({
         path: "/marketing/groupBooking/groupOrder",
-        query: { id: item.groupBuyId, activeId: item.id },
+        query: { groupBuyId: item.groupBuyId, groupBuyProductId: item.id },
       });
     },
     deleteHandle(id) {
@@ -147,9 +147,9 @@ export default {
       });
     },
     // 编辑
-    upGbPdAdd(id, goodsId) {
+    upGbPdAdd(id, productId) {
       this.$nextTick(() => {
-        this.$refs.gbPdAddRef.init(id, this.queryParams.groupBuyId, goodsId);
+        this.$refs.gbPdAddRef.init(id, this.queryParams.groupBuyId, productId);
       });
     },
     // 返回拼团列表

+ 38 - 72
src/views/marketing/groupBooking/groupOrder.vue

@@ -1,17 +1,18 @@
 <template>
   <div class="app-container">
-    <div class="mb10">
+    <!-- <div class="mb10">
       <el-button @click="getBack">返回商品列表</el-button>
-    </div>
-    <el-form :inline="true" :model="search" :size="ELsize">
+    </div> -->
+    <el-form :inline="true" :model="search" :size="ELsize" v-show="showSearch">
       <el-form-item label="开团时间">
         <el-date-picker
-          v-model="date"
+          v-model="search.questTime"
           type="daterange"
           value-format="yyyy-MM-dd"
           format="yyyy-MM-dd"
-          @change="changeDate"
-          placeholder="开团时间"
+          range-separator="至"
+          start-placeholder="开始日期"
+          end-placeholder="结束日期"
           clearable
         ></el-date-picker>
       </el-form-item>
@@ -41,35 +42,35 @@
     </el-row>
     <el-table :data="dataList" row-key="Id" border style="width: 100%">
       <el-table-column
-        prop="goods_title"
+        prop="goodsTitle"
         align="center"
         label="商品名称"
         width="300px"
       >
       </el-table-column>
-      <el-table-column prop="goods_cover" align="center" label="商品图片">
+      <el-table-column prop="goodsCover" align="center" label="商品图片">
         <template slot-scope="scope">
           <el-image
             class="table-img"
-            :src="scope.row.goods_cover"
-            :preview-src-list="[scope.row.goods_cover]"
+            :src="scope.row.goodsCover"
+            :preview-src-list="[scope.row.goodsCover]"
           >
           </el-image>
         </template>
       </el-table-column>
-      <el-table-column prop="format_start_time" align="center" label="开团时间">
+      <el-table-column prop="formatStartTime" align="center" label="开团时间">
       </el-table-column>
-      <el-table-column prop="complete_time" align="center" label="成团时间">
+      <el-table-column prop="completeTime" align="center" label="成团时间">
         <template slot-scope="scope">
-          <div>{{ scope.row.complete_time || "--" }}</div>
+          <div>{{ scope.row.completeTime || "--" }}</div>
         </template>
       </el-table-column>
-      <el-table-column prop="format_end_time" align="center" label="截至时间">
+      <el-table-column prop="formatEndTime" align="center" label="截至时间">
       </el-table-column>
-      <el-table-column prop="group_person_number" align="center" label="人数">
+      <el-table-column prop="validPersonNumber" align="center" label="人数">
         <template slot-scope="scope">
-          {{ scope.row.valid_person_number }} /
-          {{ scope.row.group_person_number }}
+          {{ scope.row.validPersonNumber }} /
+          {{ scope.row.groupPersonNumber }}
         </template>
       </el-table-column>
       <el-table-column prop="status" align="center" label="拼团状态">
@@ -102,51 +103,29 @@
       @pagination="getList"
     />
 
-    <!-- 弹窗,修改 -->
-    <el-dialog
-      title="拼团人员"
-      :visible.sync="dialogTableVisible"
-      width="1000px"
-    >
-      <el-table :data="peopleTable">
-        <el-table-column
-          property="nickname"
-          label="人员"
-          width="150"
-        ></el-table-column>
-        <el-table-column
-          property="order_code"
-          label="订单编号"
-          width="200"
-        ></el-table-column>
-        <el-table-column property="leader" label="身份">
-          <template slot-scope="scope">
-            <el-tag v-if="scope.row.leader">团长</el-tag>
-            <el-tag type="success" v-else>团员</el-tag>
-          </template>
-        </el-table-column>
-        <el-table-column
-          property="create_time"
-          label="下单时间"
-        ></el-table-column>
-      </el-table>
-    </el-dialog>
+    <!-- 拼团人员 -->
+    <GbPersonnel ref="gbPersonnelRef"/>
   </div>
 </template>
 
 <script>
-// import seviceApi from '@/api/serviceApi.js'
 import getListApi from "@/mixins/getListApi";
+import {
+  groupBuyTeamPage_api
+} from "@/api/marketing/groupBooking.js";
+import GbPersonnel from "./components/GbPersonnel"
 
 export default {
   mixins: [getListApi],
   data() {
     return {
-      //   listURL: agentAccountCodeApplyWaitPage,
-      dataListLoading: false,
-      date: [],
-
-      dialogTableVisible: false,
+      listURL: groupBuyTeamPage_api,
+      initializationShow: false,
+      // 日期范围字段映射配置
+      dateRangeMapping: {
+        // 日期范围字段名: { start: 开始时间字段名, end: 结束时间字段名 }
+        questTime: { start: 'questStartTime', end: 'questEndTime' }
+      },
       peopleTable: [],
       options: [
         {
@@ -172,23 +151,15 @@ export default {
       ],
     };
   },
-  components: {},
-  watch: {
-    $route() {},
+  components: { GbPersonnel },
+  mounted() {
+    this.queryParams.pageNum = 1; // 重置页码为1
+    this.queryParams.groupBuyId = this.$route.query.groupBuyId;
+    this.queryParams.groupBuyProductId = this.$route.query.groupBuyProductId;
+    this.getList();
   },
-  mounted() {},
 
   methods: {
-    changeDate() {
-      if (this.date != null && this.date.length > 0) {
-        this.search.start_time = this.date[0];
-        this.search.end_time = this.date[1];
-      } else {
-        delete this.search.start_time;
-        delete this.search.end_time;
-      }
-    },
-
     // 商品列表
     addOrUpdateHandle(id) {
       this.$router.push({
@@ -198,12 +169,7 @@ export default {
     },
     // 拼团人员
     groupPeople(item) {
-      this.dialogTableVisible = true;
-      seviceApi.groupbuyTeammember({ team_id: item.id }).then((res) => {
-        if (res && res.data.code == 200) {
-          this.peopleTable = res.data.list;
-        }
-      });
+      this.$refs.gbPersonnelRef.init(item.id);
     },
     // 返回拼团列表
     getBack() {