会员等级管理
This commit is contained in:
parent
6a8dd263de
commit
bf99a60269
|
@ -39,7 +39,7 @@
|
|||
</div>
|
||||
<div class="tipsLevel">
|
||||
<div>
|
||||
<span style="margin-right: 30px">全部等级({{list.length}})</span
|
||||
<span style="margin-right: 30px">全部等级({{ list.length }})</span
|
||||
><el-button @click="add(null)" type="primary">+新增套餐</el-button>
|
||||
</div>
|
||||
<div>
|
||||
|
@ -74,10 +74,16 @@
|
|||
>
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span>{{scope.row.enableMemberDiscount ? '会员折扣,' :''}}</span>
|
||||
<span>{{scope.row.enablePointsRedemption ? '积分兑换,' : ''}}</span>
|
||||
<span>{{scope.row.enableBirthdayCoupons ? '生日优惠卷,' : ''}}</span>
|
||||
<span>{{scope.row.enableBirthdayReward ? '生日双倍积分' : ''}}</span>
|
||||
<span>{{ scope.row.enableMemberDiscount ? "会员折扣," : "" }}</span>
|
||||
<span>{{
|
||||
scope.row.enablePointsRedemption ? "积分兑换," : ""
|
||||
}}</span>
|
||||
<span>{{
|
||||
scope.row.enableBirthdayCoupons ? "生日优惠卷," : ""
|
||||
}}</span>
|
||||
<span>{{
|
||||
scope.row.enableBirthdayReward ? "生日双倍积分" : ""
|
||||
}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
@ -102,7 +108,7 @@
|
|||
<!-- </el-table-column> -->
|
||||
</el-table>
|
||||
<!-- 添加 -->
|
||||
<addOrUpdate ref="addOrUpdate"></addOrUpdate>
|
||||
<addOrUpdate @getList="getList" ref="addOrUpdate"></addOrUpdate>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -127,7 +133,7 @@ export default {
|
|||
this.formInline = {
|
||||
unitType: JSON.parse(sessionStorage.getItem("userInfo")).unitType,
|
||||
marketId: this.marketId,
|
||||
shopId: "",
|
||||
shopId: this.shopId,
|
||||
};
|
||||
this.getList();
|
||||
},
|
||||
|
|
|
@ -26,10 +26,24 @@ export default {
|
|||
show: false,
|
||||
width: "60%",
|
||||
},
|
||||
modalData: {},
|
||||
value1: [],
|
||||
modalData: {
|
||||
couponsName: "",
|
||||
couponsThreshold: 0,
|
||||
couponsMinus: 0,
|
||||
couponsEffectiveTimeType: "1",
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"modalConfig.show"(newVal) {
|
||||
if (newVal) {
|
||||
//关闭弹窗清空校验
|
||||
setTimeout(() => {
|
||||
this.$refs.modal.resetFields();
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
queryTableData(pageNo, pageSize) {},
|
||||
toggle(e) {
|
||||
|
@ -37,43 +51,33 @@ export default {
|
|||
this.modalConfig.show = true;
|
||||
} else {
|
||||
this.modalConfig.show = false;
|
||||
this.$refs.modal.resetFields();
|
||||
}
|
||||
if (e) {
|
||||
this.init(cloneDeep(e));
|
||||
}
|
||||
return {
|
||||
add: (row) => {
|
||||
this.modalConfig.title = "添加优惠卷";
|
||||
this.$nextTick(() => {
|
||||
this.$refs.modal?.resetFields();
|
||||
});
|
||||
this.isAdd = true;
|
||||
if (row) {
|
||||
console.log(row);
|
||||
if (row.length > 0) {
|
||||
this.modalData = row[0];
|
||||
} else {
|
||||
console.log("111");
|
||||
return;
|
||||
}
|
||||
this.modalData = {
|
||||
couponsName: "",
|
||||
couponsThreshold: 0,
|
||||
couponsMinus: 0,
|
||||
couponsEffectiveTimeType: "1",
|
||||
};
|
||||
console.log("qqw");
|
||||
}
|
||||
this.modalConfig.title = "添加优惠卷";
|
||||
this.isAdd = true;
|
||||
},
|
||||
update: () => {
|
||||
this.isAdd = false;
|
||||
},
|
||||
};
|
||||
},
|
||||
init(row) {
|
||||
if (row) {
|
||||
this.modalData = row;
|
||||
return;
|
||||
}
|
||||
console.log("123");
|
||||
},
|
||||
init(row) {},
|
||||
},
|
||||
computed: {
|
||||
modalCols() {
|
||||
|
@ -146,7 +150,7 @@ export default {
|
|||
},
|
||||
{
|
||||
label: "当月",
|
||||
value: "2",
|
||||
value: "3",
|
||||
},
|
||||
].map((item) => {
|
||||
return (
|
||||
|
@ -176,8 +180,11 @@ export default {
|
|||
loading: this.isLoading,
|
||||
submit: true,
|
||||
handle: () => {
|
||||
console.log(this.modalData);
|
||||
this.$emit("addCouponData", this.modalData);
|
||||
console.log(JSON.parse(JSON.stringify(this.modalData)));
|
||||
this.$emit(
|
||||
"addCouponData",
|
||||
JSON.parse(JSON.stringify(this.modalData))
|
||||
);
|
||||
this.toggle();
|
||||
},
|
||||
},
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
<obj-table-plus
|
||||
style="height: 70vh"
|
||||
ref="oTableThree"
|
||||
v-model="modalData.tableData"
|
||||
v-model="modalData.levelList"
|
||||
:tableCols="tableCols"
|
||||
:tableProp="tableProp"
|
||||
:toolbarProp="toolbarProp"
|
||||
|
@ -28,6 +28,7 @@
|
|||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { mapState } from "vuex";
|
||||
import addCoupon from "./add-coupon.vue";
|
||||
import { debounce, cloneDeep } from "lodash";
|
||||
export default {
|
||||
|
@ -41,6 +42,7 @@ export default {
|
|||
tableProp: {
|
||||
height: "auto",
|
||||
border: true,
|
||||
"show-overflow": false,
|
||||
"auto-resize": false,
|
||||
"print-config": {},
|
||||
},
|
||||
|
@ -58,7 +60,7 @@ export default {
|
|||
marketId: "",
|
||||
shopId: "",
|
||||
unitType: "",
|
||||
tableData: [
|
||||
levelList: [
|
||||
{
|
||||
levelName: "",
|
||||
requiredGrowthValue: 0,
|
||||
|
@ -90,7 +92,7 @@ export default {
|
|||
enableBirthdayReward: false,
|
||||
discountRate: "",
|
||||
rewardEffectiveTimeType: "",
|
||||
memberLevelCouponsList: "",
|
||||
memberLevelCouponsList: [],
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
@ -125,7 +127,8 @@ export default {
|
|||
addCouponData(data) {
|
||||
console.log(data);
|
||||
let row = JSON.parse(JSON.stringify(data));
|
||||
this.modalData.tableData[this.couponIndex].memberLevelCouponsList = [row];
|
||||
this.modalData.levelList[this.couponIndex].memberLevelCouponsList = [row];
|
||||
this.$refs.modalForm.validate();
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
|
@ -147,7 +150,7 @@ export default {
|
|||
let row = e.row;
|
||||
return (
|
||||
<el-form-item
|
||||
prop={`tableData.${e.$rowIndex}.levelName`}
|
||||
prop={`levelList.${e.$rowIndex}.levelName`}
|
||||
rules={{
|
||||
required: true,
|
||||
message: "请输入等级名称",
|
||||
|
@ -168,15 +171,26 @@ export default {
|
|||
width: "170px",
|
||||
type: "jsx",
|
||||
render: (e) => {
|
||||
let changUpperLimit = () => {
|
||||
console.log(
|
||||
e.$rowIndex,
|
||||
e,
|
||||
e.data[e.$rowIndex - 1].growthValueUpperLimit,
|
||||
e.data[e.$rowIndex].requiredGrowthValue
|
||||
);
|
||||
e.data[e.$rowIndex - 1].growthValueUpperLimit =
|
||||
e.data[e.$rowIndex].requiredGrowthValue - 1;
|
||||
};
|
||||
return (
|
||||
<el-form-item
|
||||
prop={`tableData.${e.$rowIndex}.requiredGrowthValue`}
|
||||
prop={`levelList.${e.$rowIndex}.requiredGrowthValue`}
|
||||
rules={{
|
||||
required: true,
|
||||
message: "请输入所需成长值",
|
||||
}}
|
||||
>
|
||||
<el-input-number
|
||||
onChange={changUpperLimit}
|
||||
disabled={e.$rowIndex == 0}
|
||||
style="width:150px"
|
||||
controls-position="right"
|
||||
|
@ -199,14 +213,14 @@ export default {
|
|||
render: (e) => {
|
||||
return (
|
||||
<el-form-item
|
||||
prop={`tableData.${e.$rowIndex}.requiredGrowthValue`}
|
||||
prop={`levelList.${e.$rowIndex}.requiredGrowthValue`}
|
||||
rules={{
|
||||
required: true,
|
||||
message: "请输入所需成长值",
|
||||
}}
|
||||
>
|
||||
<el-input-number
|
||||
disabled={this.modalData.tableData.length == e.$rowIndex + 1}
|
||||
disabled={this.modalData.levelList.length == e.$rowIndex + 1}
|
||||
style="width:150px"
|
||||
controls-position="right"
|
||||
precision={0}
|
||||
|
@ -232,10 +246,12 @@ export default {
|
|||
}
|
||||
};
|
||||
return (
|
||||
<el-form-item>
|
||||
<el-switch
|
||||
onchange={changeDiscountRate}
|
||||
v-model={row.enableMemberDiscount}
|
||||
></el-switch>
|
||||
</el-form-item>
|
||||
);
|
||||
},
|
||||
},
|
||||
|
@ -249,7 +265,7 @@ export default {
|
|||
if (e.row.enableMemberDiscount) {
|
||||
return (
|
||||
<el-form-item
|
||||
prop={`tableData.${e.$rowIndex}.discountRate`}
|
||||
prop={`levelList.${e.$rowIndex}.discountRate`}
|
||||
rules={{
|
||||
required: true,
|
||||
message: "请输入所需成长值",
|
||||
|
@ -278,7 +294,14 @@ export default {
|
|||
width: "120px",
|
||||
type: "jsx",
|
||||
render: ({ row }) => {
|
||||
return <el-switch v-model={row.enablePointsRedemption}></el-switch>;
|
||||
return (
|
||||
<el-form-item>
|
||||
{" "}
|
||||
<el-switch
|
||||
v-model={row.enablePointsRedemption}
|
||||
></el-switch>{" "}
|
||||
</el-form-item>
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
|
@ -290,14 +313,16 @@ export default {
|
|||
render: ({ row }) => {
|
||||
let changeCouponsList = () => {
|
||||
if (!row.enableBirthdayCoupons) {
|
||||
row.memberLevelCouponsList = "";
|
||||
row.memberLevelCouponsList = [];
|
||||
}
|
||||
};
|
||||
return (
|
||||
<el-form-item>
|
||||
<el-switch
|
||||
onchange={changeCouponsList}
|
||||
v-model={row.enableBirthdayCoupons}
|
||||
></el-switch>
|
||||
</el-form-item>
|
||||
);
|
||||
},
|
||||
},
|
||||
|
@ -316,7 +341,7 @@ export default {
|
|||
if (e.row.enableBirthdayCoupons) {
|
||||
return (
|
||||
<el-form-item
|
||||
prop={`tableData.${e.$rowIndex}.memberLevelCouponsList`}
|
||||
prop={`levelList.${e.$rowIndex}.memberLevelCouponsList`}
|
||||
rules={{
|
||||
required: true,
|
||||
message: "请添加优惠卷",
|
||||
|
@ -349,10 +374,12 @@ export default {
|
|||
}
|
||||
};
|
||||
return (
|
||||
<el-form-item>
|
||||
<el-switch
|
||||
onchange={changeReward}
|
||||
v-model={row.enableBirthdayReward}
|
||||
></el-switch>
|
||||
</el-form-item>
|
||||
);
|
||||
},
|
||||
},
|
||||
|
@ -366,7 +393,7 @@ export default {
|
|||
if (e.row.enableBirthdayReward) {
|
||||
return (
|
||||
<el-form-item
|
||||
prop={`tableData.${e.$rowIndex}.rewardEffectiveTimeType`}
|
||||
prop={`levelList.${e.$rowIndex}.rewardEffectiveTimeType`}
|
||||
rules={{
|
||||
required: true,
|
||||
message: "请输入所需成长值",
|
||||
|
@ -408,7 +435,7 @@ export default {
|
|||
render: (e) => {
|
||||
let add = () => {
|
||||
console.log(e);
|
||||
this.modalData.tableData.splice(e.$rowIndex + 1, 0, {
|
||||
this.modalData.levelList.splice(e.$rowIndex + 1, 0, {
|
||||
levelName: "",
|
||||
requiredGrowthValue: "0",
|
||||
growthValueUpperLimit: "999999999",
|
||||
|
@ -418,16 +445,16 @@ export default {
|
|||
enableBirthdayReward: false,
|
||||
discountRate: "",
|
||||
rewardEffectiveTimeType: "",
|
||||
memberLevelCouponsList: "",
|
||||
memberLevelCouponsList: [],
|
||||
});
|
||||
};
|
||||
let remove = () => {
|
||||
this.modalData.tableData.splice(e.$rowIndex, 1);
|
||||
this.modalData.levelList.splice(e.$rowIndex, 1);
|
||||
};
|
||||
return (
|
||||
<div>
|
||||
<el-button
|
||||
v-show={this.modalData.tableData.length == e.$rowIndex + 1}
|
||||
v-show={this.modalData.levelList.length == e.$rowIndex + 1}
|
||||
style="margin-right: 10px"
|
||||
type="primary"
|
||||
size="mini"
|
||||
|
@ -436,7 +463,7 @@ export default {
|
|||
>
|
||||
添加
|
||||
</el-button>
|
||||
{this.modalData.tableData.length > 1 && e.$rowIndex != 0 ? (
|
||||
{this.modalData.levelList.length > 1 && e.$rowIndex != 0 ? (
|
||||
<el-popconfirm title="确认要删除吗?" onConfirm={remove}>
|
||||
<el-button
|
||||
class="ml-1"
|
||||
|
@ -473,12 +500,26 @@ export default {
|
|||
).unitType;
|
||||
console.log(this.modalData);
|
||||
this.$refs.modalForm.validate((valid) => {
|
||||
console.log(valid);
|
||||
if (valid) {
|
||||
this.$api.marketing
|
||||
.addMarketingLevel(this.modalData)
|
||||
.then((res) => {
|
||||
this.$emit("getList");
|
||||
this.toggle();
|
||||
});
|
||||
}
|
||||
});
|
||||
}, 300),
|
||||
},
|
||||
];
|
||||
},
|
||||
...mapState("userData", [
|
||||
"isMerchant",
|
||||
"marketList",
|
||||
"storeList",
|
||||
"marketId",
|
||||
"shopId",
|
||||
]),
|
||||
},
|
||||
asyncComputed: {},
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue