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