feat: 会员列表接口对接

This commit is contained in:
lzhizhao 2025-08-09 23:29:50 +08:00
parent 919ec0710b
commit e97314987c
2 changed files with 136 additions and 82 deletions

View File

@ -2,156 +2,164 @@ import $http from "@/utils/httpRequest.js";
export const marketing = { export const marketing = {
// 会员等级列表 // 会员等级列表
marketingLevelPage: (data) => { marketingLevelPage: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitMemberLevel/list`, url: `/merchant-api/memberUnitMemberLevel/list`,
method: "post", method: "post",
data, data
}); });
}, },
addMarketingLevel: (data) => { addMarketingLevel: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitMemberLevel/saveAll`, url: `/merchant-api/memberUnitMemberLevel/saveAll`,
method: "post", method: "post",
data: data, data: data
}); });
}, },
//会员开通情况 //会员开通情况
getEffective: (data) => { getEffective: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberPackageUnitStatus/getEffective`, url: `/merchant-api/memberPackageUnitStatus/getEffective`,
method: "post", method: "post",
data, data
}); });
}, },
//有效套餐 //有效套餐
memberPackageList: (data) => { memberPackageList: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberPackage/list`, url: `/merchant-api/memberPackage/list`,
method: "post", method: "post",
data, data
}); });
}, },
//下单 //下单
placeOrder: (data) => { placeOrder: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberPackageUnitOrder/placeOrder`, url: `/merchant-api/memberPackageUnitOrder/placeOrder`,
method: "post", method: "post",
data, data
}); });
}, },
//会员用户 //会员用户
marketingUserPage: (data) => { marketingUserPage: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitUser/page`, url: `/merchant-api/membershipUser/page`,
method: "get", method: "post",
params: data, data
}); });
}, },
memberUnitUserDetail: (data) => { memberUnitUserDetail: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitUser/detail`, url: `/merchant-api/memberUnitUser/detail`,
method: "post", method: "post",
data, data
}); });
}, },
changeMemberPoints: (data) => { changeMemberPoints: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitUser/changeMemberPoints`, url: `/merchant-api/memberUnitUser/changeMemberPoints`,
method: "post", method: "post",
data, data
}); });
}, },
changeGrowthValue: (data) => { changeGrowthValue: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitUser/changeGrowthValue`, url: `/merchant-api/memberUnitUser/changeGrowthValue`,
method: "post", method: "post",
data, data
}); });
}, },
//积分列表 //积分列表
integralList: (data) => { integralList: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitMemberTask/list`, url: `/merchant-api/memberUnitMemberTask/list`,
method: "post", method: "post",
data, data
}); });
}, },
reverseEnable: (data) => { reverseEnable: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitMemberTask/reverseEnable`, url: `/merchant-api/memberUnitMemberTask/reverseEnable`,
method: "post", method: "post",
data, data
}); });
}, },
integralTop: (data) => { integralTop: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitMemberTask/top`, url: `/merchant-api/memberUnitMemberTask/top`,
method: "post", method: "post",
data, data
}); });
}, },
settingTaskDetail: (data) => { settingTaskDetail: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitMemberTask/settingTaskDetail`, url: `/merchant-api/memberUnitMemberTask/settingTaskDetail`,
method: "post", method: "post",
data, data
}); });
}, },
// 会员积分商品 // 会员积分商品
PointsProductPage: (data) => { PointsProductPage: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitPointsProduct/page`, url: `/merchant-api/memberUnitPointsProduct/page`,
method: "get", method: "get",
params: data, params: data
}); });
}, },
//批量新增会员积分商品 //批量新增会员积分商品
batchAddPointsProduct: (data) => { batchAddPointsProduct: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitPointsProduct/batchAdd`, url: `/merchant-api/memberUnitPointsProduct/batchAdd`,
method: "post", method: "post",
data, data
}); });
}, },
// 会员积分商品详情 // 会员积分商品详情
PointsProductDetail: (data) => { PointsProductDetail: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitPointsProduct/detail`, url: `/merchant-api/memberUnitPointsProduct/detail`,
method: "post", method: "post",
data, data
}); });
}, },
// 会员积分商品修改 // 会员积分商品修改
updatePointsProductSave: (data) => { updatePointsProductSave: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitPointsProduct/update`, url: `/merchant-api/memberUnitPointsProduct/update`,
method: "post", method: "post",
data, data
}); });
}, },
// 会员积分商品删除 // 会员积分商品删除
deletePointsProduct: (data) => { deletePointsProduct: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitPointsProduct/delete`, url: `/merchant-api/memberUnitPointsProduct/delete`,
method: "post", method: "post",
data, data
}); });
}, },
// 会员积分商品上下架 // 会员积分商品上下架
reverseEnablePointsProduct: (data) => { reverseEnablePointsProduct: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitPointsProduct/reverseEnable`, url: `/merchant-api/memberUnitPointsProduct/reverseEnable`,
method: "post", method: "post",
data, data
}); });
}, },
//概况 //概况
overview: (data) => { overview: data => {
return $http.request({ return $http.request({
url: `/merchant-api/memberUnitUser/overview`, url: `/merchant-api/membershipUser/overview`,
method: "get", method: "post",
params: data, data
}); });
}, },
//获取店铺会员等级列表
levelList: data => {
return $http.request({
url: `/merchant-api/membershipEnable/levelList`,
method: "post",
data
});
}
}; };

View File

@ -13,7 +13,13 @@
<template slot="tableTop"> <template slot="tableTop">
<el-form :inline="true" :model="form" class="demo-form-inline"> <el-form :inline="true" :model="form" class="demo-form-inline">
<el-form-item v-if="storeList.length > 1" label="所属店铺"> <el-form-item v-if="storeList.length > 1" label="所属店铺">
<el-select v-model="formInline.shopId" placeholder="请选择店铺"> <el-select
v-model="form.shopIdList"
placeholder="请选择店铺"
multiple
collapse-tags
@change="handleShopChange"
>
<el-option <el-option
v-for="item in storeList" v-for="item in storeList"
:key="item.shopId" :key="item.shopId"
@ -30,26 +36,24 @@
</el-form-item> </el-form-item>
<el-form-item label="会员等级"> <el-form-item label="会员等级">
<el-select <el-select
v-model="form.levelId" v-model="form.level"
placeholder="请选择会员等级" placeholder="请选择会员等级"
clearable clearable
> >
<el-option <el-option
v-for="item in memberLevelList" v-for="item in memberLevelList"
:key="item.levelId" :key="item.level"
:label="item.levelName" :label="item.level"
:value="item.levelId" :value="item.level"
></el-option> ></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="注册时间"> <el-form-item label="注册时间">
<el-date-picker <el-date-picker
@change="changeTime" v-model="form.registrationDate"
value-format="yyyy-MM-dd HH:mm:ss" type="date"
v-model="value1" placeholder="请选择注册日期"
type="datetimerange" value-format="yyyy-MM-dd"
start-placeholder="开始日期"
end-placeholder="结束日期"
> >
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
@ -125,7 +129,13 @@ export default {
shopId: "", shopId: "",
unitType: "" unitType: ""
}, },
form: {}, form: {
shopIdList: [], //
username: "",
mobile: "",
level: "",
registrationDate: ""
},
tableProp: { tableProp: {
"auto-resize": true, "auto-resize": true,
border: true, border: true,
@ -135,7 +145,6 @@ export default {
}, },
productFilterType: "SALE", productFilterType: "SALE",
selectList: [], selectList: [],
value1: [],
overviewList: {}, overviewList: {},
memberLevelList: [] // memberLevelList: [] //
}; };
@ -149,6 +158,10 @@ export default {
marketId: this.marketId, marketId: this.marketId,
shopId: this.shopId shopId: this.shopId
}; };
//
if (this.storeList.length > 0) {
this.form.shopIdList = [this.shopId];
}
this.getMemberLevelList(); this.getMemberLevelList();
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.oTable.reload(); this.$refs.oTable.reload();
@ -157,19 +170,39 @@ export default {
methods: { methods: {
// //
getMemberLevelList() { getMemberLevelList() {
const shopIdList =
this.form.shopIdList && this.form.shopIdList.length > 0
? this.form.shopIdList
: [this.shopId];
this.$api.marketing this.$api.marketing
.marketingLevelPage({ .levelList({
...this.formInline shopIdList: shopIdList
}) })
.then(res => { .then(res => {
if (res.data.code === 0) { if (res.data.code === "200") {
this.memberLevelList = res.data.data || []; //
const levelSet = new Set();
const levels = res.data.data || [];
levels.forEach(item => {
if (item.level) {
levelSet.add(item.level);
}
});
this.memberLevelList = Array.from(levelSet).map(level => ({
level
}));
console.log(this.memberLevelList);
} }
}) })
.catch(() => { .catch(() => {
this.memberLevelList = []; this.memberLevelList = [];
}); });
}, },
//
handleShopChange() {
this.getMemberLevelList();
},
// //
maskMobile(mobile) { maskMobile(mobile) {
if (!mobile || mobile.length !== 11) { if (!mobile || mobile.length !== 11) {
@ -178,13 +211,21 @@ export default {
return mobile.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2"); return mobile.replace(/(\d{3})\d{4}(\d{4})/, "$1****$2");
}, },
queryList(pageNo, pageSize) { queryList(pageNo, pageSize) {
const queryParams = {
pageNumber: pageNo,
pageSize: pageSize,
shopIdList:
this.form.shopIdList && this.form.shopIdList.length > 0
? this.form.shopIdList
: [this.shopId],
username: this.form.username || "",
mobile: this.form.mobile || "",
level: this.form.level || "",
registrationDate: this.form.registrationDate || ""
};
this.$api.marketing this.$api.marketing
.marketingUserPage({ .marketingUserPage(queryParams)
pageNumber: pageNo,
pageSize: pageSize,
...this.formInline,
...this.form
})
.then(res => { .then(res => {
console.log(res); console.log(res);
this.$refs.oTable.complete( this.$refs.oTable.complete(
@ -195,14 +236,28 @@ export default {
.catch(() => { .catch(() => {
this.$refs.oTable.complete(false); this.$refs.oTable.complete(false);
}); });
this.$api.marketing
.overview({ ...this.formInline, ...this.form }) //
.then(res => { const overviewParams = {
this.overviewList = res.data.data; shopIdList: queryParams.shopIdList,
}); username: queryParams.username,
mobile: queryParams.mobile,
level: queryParams.level,
registrationDate: queryParams.registrationDate
};
this.$api.marketing.overview(overviewParams).then(res => {
this.overviewList = res.data.data;
});
}, },
Reset() { Reset() {
this.form = {}; this.form = {
shopIdList: this.storeList.length > 0 ? [this.shopId] : [],
username: "",
mobile: "",
level: "",
registrationDate: ""
};
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.oTable.reload(); this.$refs.oTable.reload();
}); });
@ -227,15 +282,6 @@ export default {
// //
this.$refs.viewDetails.toggle(testMemberData).add(); this.$refs.viewDetails.toggle(testMemberData).add();
},
changeTime(val) {
if (val) {
this.form.startRegistrationTime = val[0];
this.form.endRegistrationTime = val[1];
} else {
this.form.startRegistrationTime = "";
this.form.endRegistrationTime = "";
}
} }
}, },
computed: { computed: {