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

View File

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