feat: 会员列表接口对接
This commit is contained in:
parent
919ec0710b
commit
e97314987c
|
@ -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
|
||||||
|
});
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -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: {
|
||||||
|
|
Loading…
Reference in New Issue