chengjunhui 1 месяц назад
Родитель
Сommit
e93d8d9161

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

@@ -39,4 +39,47 @@ export function groupBookingActivityInfo_api (id) {
     url: `/admin/groupBuy/groupBuyActivity/info/${id}`,
     method: 'get',
   })
+}
+
+
+
+// 查询拼团活动商品列表
+export function groupBookingActivitygoodsPage_api(query) {
+    return request({
+        url: '/admin/groupBuy/activitygoods/page',
+        method: 'get',
+        params: query
+    })
+}
+// 删除拼团活动商品
+export function groupBookingActivitygoodsDel_api(ids) {
+    return request({
+        url: `/admin/groupBuy/activitygoods/del/${ids}`,
+        method: 'post',
+    })
+}
+
+// 新增拼团活动商品
+export function groupBookingActivitygoodsAdd_api (data) {
+  return request({
+    url: '/admin/groupBuy/activitygoods/add',  
+    method: 'post',
+    data
+  })
+}
+// 修改拼团活动商品
+export function groupBookingActivitygoodsEdit_api (data) {
+  return request({
+    url: '/admin/groupBuy/activitygoods/edit',
+    method: 'post',
+    data
+  })
+}
+
+// 获取拼团活动商品详细信息
+export function groupBookingActivitygoodsInfo_api (id) {
+  return request({
+    url: `/admin/groupBuy/activitygoods/info/${id}`,
+    method: 'get',
+  })
 }

+ 43 - 79
src/views/marketing/groupBooking/components/GroupBookingAddUpdate.vue

@@ -20,10 +20,10 @@
           v-model="dataForm.name"
         ></el-input>
       </el-form-item>
-      <el-form-item label="起止时间" class="date-lable" prop="start_time">
-        <el-form-item prop="start_time" label-width="0px">
+      <el-form-item label="起止时间" class="date-lable" prop="startTime">
+        <el-form-item prop="startTime" label-width="0px">
           <el-date-picker
-            v-model="dataForm.start_time"
+            v-model="dataForm.startTime"
             type="date"
             placeholder="选择日期"
             value-format="yyyy-MM-dd"
@@ -31,9 +31,9 @@
           </el-date-picker>
         </el-form-item>
         <span style="padding: 0 20px">——</span>
-        <el-form-item prop="end_time" label-width="0px">
+        <el-form-item prop="endTime" label-width="0px">
           <el-date-picker
-            v-model="dataForm.end_time"
+            v-model="dataForm.endTime"
             type="date"
             placeholder="选择日期"
             value-format="yyyy-MM-dd"
@@ -41,18 +41,15 @@
           </el-date-picker>
         </el-form-item>
       </el-form-item>
-      <el-form-item label="活动图片" prop="img_url">
+      <el-form-item label="活动图片" prop="imgUrl">
         <ImageUpload
-          v-model="imgArr"
+          v-model="dataForm.imgUrl"
           :fileSize="0"
           :limit="100"
           :isShowTip="false"
           :fileType="['jpg', 'png']"
         />
         <div>上传jpg/png文件;尺寸建议750x268</div>
-        <el-dialog :visible.sync="dialogVisible">
-          <img width="100%" :src="dataForm.img_url" alt="" />
-        </el-dialog>
       </el-form-item>
       <el-form-item label="活动说明" prop="explain">
         <el-input
@@ -62,9 +59,9 @@
           :maxlength="200"
         ></el-input>
       </el-form-item>
-      <el-form-item label="订单自动关闭时间" prop="close_time">
+      <el-form-item label="订单自动关闭时间" prop="closeTime">
         <el-input-number
-          v-model="dataForm.close_time"
+          v-model="dataForm.closeTime"
           :min="3"
           :precision="0"
           :controls="false"
@@ -72,9 +69,9 @@
         ></el-input-number>
         <span>分钟(可输入3-360分钟)</span>
       </el-form-item>
-      <el-form-item label="成团小时数" prop="limit_hour">
+      <el-form-item label="成团小时数" prop="limitHour">
         <el-input-number
-          v-model="dataForm.limit_hour"
+          v-model="dataForm.limitHour"
           :min="1"
           :precision="0"
           :controls="false"
@@ -91,7 +88,11 @@
 </template>
 
 <script>
-// import seviceApi from "@/api/serviceApi.js";
+import {
+  groupBookingActivityAdd_api,
+  groupBookingActivityEdit_api,
+  groupBookingActivityInfo_api
+} from "@/api/marketing/groupBooking.js";
 export default {
   data() {
     return {
@@ -102,27 +103,27 @@ export default {
         name: [
           { required: true, message: "活动名称不能为空", trigger: "blur" },
         ],
-        start_time: [
+        startTime: [
           { required: true, message: "起止时间不能为空", trigger: "blur" },
         ],
-        end_time: [
+        endTime: [
           { required: true, message: "起止时间不能为空", trigger: "blur" },
         ],
-        img_url: [
+        imgUrl: [
           {
             required: true,
             message: "活动图片不能为空",
-            trigger: "blur",
+            trigger: "change",
           },
         ],
-        close_time: [
+        closeTime: [
           {
             required: true,
             message: "订单自动关闭时间不能为空",
             trigger: "blur",
           },
         ],
-        limit_hour: [
+        limitHour: [
           {
             required: true,
             message: "成团小时数不能为空",
@@ -136,15 +137,13 @@ export default {
 
   methods: {
     init(id) {
-      //   this.resetData();
+      this.resetData();
       this.dataForm.id = id || null;
       this.visible = true;
-
       if (id) {
-        seviceApi.getGroupbuyActivityInfo(id).then((res) => {
-          if (res && res.data.code == 200) {
-            this.dataForm = res.data.data;
-            this.imgArr = this.dataForm.img_url.split(";");
+        groupBookingActivityInfo_api(id).then((res) => {
+          if (res && res.code == 200) {
+            this.dataForm = res.data;
           }
         });
       }
@@ -152,73 +151,38 @@ export default {
     resetData() {
       (this.dataForm = {
         name: "", // 拼团活动名称
-        start_time: "", // 活动开始时间
-        end_time: "", // 活动结束时间
-        img_url: "", // 活动图片
+        startTime: "", // 活动开始时间
+        endTime: "", // 活动结束时间
+        imgUrl: "", // 活动图片
         explain: "", // 活动说明
-        limit_hour: "", // 成团小时数(开团之后的小时数)
-        close_time: "", // 订单自动关闭时间(商品按下单减库存,请设置未付款订单自动取消时间及时释放库存,可输入3-360分钟)
+        limitHour: "", // 成团小时数(开团之后的小时数)
+        closeTime: "", // 订单自动关闭时间(商品按下单减库存,请设置未付款订单自动取消时间及时释放库存,可输入3-360分钟)
+        discard: false, // 是否置弃
       }),
         this.resetForm("dataForm");
       this.imgArr = [];
       this.timeQuantum = "";
     },
-    // 上传图片
-    updataImg(e) {
-      this.dataForm.img_url = e;
-      console.log(e);
-      this.$refs["dataForm"].clearValidate(["img_url"]);
-    },
     // 提交
     dataFormSubmit() {
       this.$refs["dataForm"].validate((valid) => {
         if (valid) {
           if (
-            new Date(this.dataForm.end_time).getTime() -
-              new Date(this.dataForm.start_time).getTime() <
+            new Date(this.dataForm.endTime).getTime() -
+              new Date(this.dataForm.startTime).getTime() <
             0
           ) {
-            this.$message({
-              showClose: true,
-              message: "结束时间不能小于开始时间",
-              type: "error",
-            });
+            this.$message.error("结束时间不能小于开始时间");
             return false;
           }
-          if (
-            Object.prototype.toString.call(this.dataForm.img_url) ===
-            "[object Array]"
-          ) {
-            this.dataForm.img_url = this.dataForm.img_url.join(",");
-          } else {
-            this.dataForm.img_url = this.dataForm.img_url;
-          }
-          if (this.dataForm.id == null) {
-            delete this.dataForm.id;
-            seviceApi.saveGroupbuyActivity(this.dataForm).then((res) => {
-              if (res && res.data.code == 200) {
-                this.$message({
-                  showClose: true,
-                  message: "添加成功",
-                  type: "success",
-                });
-                this.visible = false;
-                this.$emit("updataList", 1);
-              }
-            });
-          } else {
-            seviceApi.updateGroupbuyActivity(this.dataForm).then((res) => {
-              if (res && res.data.code == 200) {
-                this.$message({
-                  showClose: true,
-                  message: "修改成功",
-                  type: "success",
-                });
-                this.visible = false;
-                this.$emit("updataList", 1);
-              }
-            });
-          }
+          let url = this.dataForm.id == null ? groupBookingActivityAdd_api : groupBookingActivityEdit_api;
+          url(this.dataForm).then((res) => {
+            if (res && res.code == 200) {
+              this.$message.success(this.dataForm.id ? "修改成功" : "添加成功");
+              this.visible = false;
+              this.$emit("updataList", 1);
+            }
+          });
         }
       });
     },

+ 27 - 36
src/views/marketing/groupBooking/gbProduct.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="商品名称">
         <el-input
@@ -37,15 +37,15 @@
     <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="min_price" align="center" label="活动价格">
+      <el-table-column prop="minPrice" align="center" label="活动价格">
       </el-table-column>
-      <el-table-column prop="group_people_num" align="center" label="团购规模">
+      <el-table-column prop="groupPeopleNum" align="center" label="团购规模">
       </el-table-column>
-      <el-table-column prop="real_stock_total" align="center" label="可售数量">
+      <el-table-column prop="realStockTotal" align="center" label="可售数量">
       </el-table-column>
-      <el-table-column prop="result_sale_num" align="center" label="已售数量">
+      <el-table-column prop="resultSaleNum" align="center" label="已售数量">
       </el-table-column>
       <el-table-column prop="sort" align="center" label="商品排序">
       </el-table-column>
@@ -62,7 +62,7 @@
           <el-button
             type="text"
             size="small"
-            @click="upGbPdAdd(scope.row.id, scope.row.goods_id)"
+            @click="upGbPdAdd(scope.row.id, scope.row.goodsId)"
             >编辑</el-button
           >
           <el-button
@@ -82,49 +82,44 @@
       @pagination="getList"
     />
     <!-- 弹窗,修改 -->
-    <GbPdAdd
-      v-if="gbPdAddVisible"
-      ref="gbPdAddRef"
-      @updataList="getList"
-    ></GbPdAdd>
+    <GbPdAdd ref="gbPdAddRef" @updataList="getList"></GbPdAdd>
   </div>
 </template>
 
 <script>
 import getListApi from "@/mixins/getListApi";
 import GbPdAdd from "./components/GbPdAdd.vue";
-// import seviceApi from "@/api/serviceApi.js";
+import {
+  groupBookingActivitygoodsPage_api,
+  groupBookingActivitygoodsDel_api,
+} from "@/api/marketing/groupBooking.js";
+
 export default {
   mixins: [getListApi],
   data() {
     return {
-      //   listURL: agentAccountCodeApplyWaitPage,
-      dataListLoading: false,
-      addOrUpdateVisible: false,
-      gbPdAddVisible: false,
+      listURL: groupBookingActivitygoodsPage_api,
+      initializationShow: false,
     };
   },
   components: {
     GbPdAdd,
   },
   watch: {
-    $route() {
-      this.getList();
-    },
+    // $route() {
+    //   this.getList();
+    // },
   },
   mounted() {
-    this.search.group_buy_id = this.$route.query.id;
+    this.queryParams.groupBuyId = this.$route.query.id;
+    this.getList();
   },
 
   methods: {
-    queryGetDataList() {
-      this.search.page = 1;
-      this.getList();
-    },
     goOrder(item) {
       this.$router.push({
         path: "/marketing/groupBooking/groupOrder",
-        query: { id: item.group_buy_id, activeId: item.id },
+        query: { id: item.groupBuyId, activeId: item.id },
       });
     },
     deleteHandle(id) {
@@ -134,12 +129,9 @@ export default {
         type: "warning",
       })
         .then(() => {
-          seviceApi.delGroupbuyActivitygoods(id).then((res) => {
-            if (res && res.data.code == 200) {
-              this.$message({
-                message: "删除成功",
-                type: "success",
-              });
+          groupBookingActivitygoodsDel_api(id).then((res) => {
+            if (res && res.code == 200) {
+              this.$message.success("删除成功");
               this.getList();
             }
           });
@@ -151,14 +143,13 @@ export default {
     addOrUpdateHandle(id) {
       this.$router.push({
         path: "/marketing/groupBooking/gbAddList",
-        query: { id: this.search.group_buy_id },
+        query: { id: this.queryParams.groupBuyId },
       });
     },
     // 编辑
     upGbPdAdd(id, goodsId) {
-      this.gbPdAddVisible = true;
       this.$nextTick(() => {
-        this.$refs.gbPdAddRef.init(id, this.search.group_buy_id, goodsId);
+        this.$refs.gbPdAddRef.init(id, this.queryParams.groupBuyId, goodsId);
       });
     },
     // 返回拼团列表

+ 25 - 28
src/views/marketing/groupBooking/list.vue

@@ -9,7 +9,7 @@
         ></el-input>
       </el-form-item>
       <el-form-item label="活动状态">
-        <el-select v-model="search.active_state" clearable placeholder="请选择">
+        <el-select v-model="search.activeState" clearable placeholder="请选择">
           <el-option
             v-for="item in options"
             :key="item.value"
@@ -45,25 +45,25 @@
     <el-table :data="dataList" row-key="Id" border style="width: 100%">
       <el-table-column prop="name" align="center" label="活动名称">
       </el-table-column>
-      <el-table-column prop="goods_num" align="center" label="活动商品">
+      <el-table-column prop="goodsNum" align="center" label="活动商品">
       </el-table-column>
       <el-table-column align="center" label="活动时间">
         <template slot-scope="scope">
-          <div>开始时间: {{ scope.row.start_time }}</div>
-          <div>结束时间:{{ scope.row.end_time }}</div>
+          <div>开始时间: {{ scope.row.startTime }}</div>
+          <div>结束时间:{{ scope.row.endTime }}</div>
         </template>
       </el-table-column>
       <el-table-column
-        prop="active_state"
+        prop="activeState"
         align="center"
         :formatter="activeState"
         label="活动状态"
       >
         <template slot-scope="scope">
-          <el-tag type="info" v-if="scope.row.active_state === 0"
+          <el-tag type="info" v-if="scope.row.activeState === 0"
             >未开始</el-tag
           >
-          <el-tag type="success" v-else-if="scope.row.active_state == 1"
+          <el-tag type="success" v-else-if="scope.row.activeState == 1"
             >进行中</el-tag
           >
           <el-tag type="danger" v-else>已结束</el-tag>
@@ -80,7 +80,7 @@
             type="text"
             size="small"
             @click="addOrUpdateHandle(scope.row.id)"
-            v-if="scope.row.active_state == 0"
+            v-if="scope.row.activeState == 0"
             >修改</el-button
           >
           <el-button type="text" size="small" @click="goProduct(scope.row.id)">
@@ -92,7 +92,7 @@
             size="small"
             class="c-error"
             @click="deleteHandle(scope.row.id)"
-            v-if="scope.row.active_state != 1"
+            v-if="scope.row.activeState != 1"
             >删除</el-button
           >
         </template>
@@ -107,15 +107,17 @@
     />
     <!-- 弹窗, 新增 / 修改 -->
     <GroupBookingAddUpdate
-      v-if="addOrUpdateVisible"
-      ref="groupBookingAddUpdate"
+      ref="groupBookingAddUpdateRef"
       @updataList="updataList"
     ></GroupBookingAddUpdate>
   </div>
 </template>
 
 <script>
-// import seviceApi from "@/api/serviceApi.js";
+import {
+  groupBookingActivityPage_api,
+  groupBookingActivityDel_api,
+} from "@/api/marketing/groupBooking.js";
 import getListApi from "@/mixins/getListApi";
 import GroupBookingAddUpdate from "./components/GroupBookingAddUpdate";
 
@@ -123,7 +125,7 @@ export default {
   mixins: [getListApi],
   data() {
     return {
-      //   listURL: agentAccountCodeApplyWaitPage,
+      listURL: groupBookingActivityPage_api,
       showGroupMember: false,
       options: [
         {
@@ -139,16 +141,12 @@ export default {
           value: 2,
         },
       ],
-      dataListLoading: false,
-      addOrUpdateVisible: false,
     };
   },
   components: {
     GroupBookingAddUpdate,
   },
-  mounted() {
-
-  },
+  mounted() {},
   methods: {
     getMember(id) {
       this.showGroupMember = true;
@@ -163,7 +161,7 @@ export default {
     },
     // 活动状态
     activeState(row, column) {
-      let status = row.active_state;
+      let status = row.activeState;
       if (status === 0) {
         return "未开始";
       } else if (status === 1) {
@@ -174,14 +172,16 @@ export default {
     },
     // 新增 / 修改
     addOrUpdateHandle(id) {
-      this.addOrUpdateVisible = true;
       this.$nextTick(() => {
-        this.$refs.groupBookingAddUpdate.init(id);
+        this.$refs.groupBookingAddUpdateRef.init(id);
       });
     },
     // 拼团管理商品页
     goProduct(id) {
-      this.$router.push({ path: "/marketing/groupBooking/gbProduct", query: { id: id } });
+      this.$router.push({
+        path: "/marketing/groupBooking/gbProduct",
+        query: { id: id },
+      });
     },
 
     // 删除
@@ -192,12 +192,9 @@ export default {
         type: "warning",
       })
         .then(() => {
-          seviceApi.delGroupbuyActivity(id).then((res) => {
-            if (res && res.data.code == 200) {
-              this.$message({
-                message: "删除成功",
-                type: "success",
-              });
+          groupBookingActivityDel_api(id).then((res) => {
+            if (res && res.code == 200) {
+              this.$message.success("删除成功");
               this.getList();
             }
           });