优惠卷
This commit is contained in:
parent
ef09010f2b
commit
2649266466
|
@ -113,6 +113,30 @@ export function deepClone(obj) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取时间
|
||||||
|
* @param {*} min
|
||||||
|
* @param {*} max
|
||||||
|
*/
|
||||||
|
export function getDay(day) {
|
||||||
|
let today = new Date();
|
||||||
|
let targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
|
||||||
|
today.setTime(targetday_milliseconds); //注意,这行是关键代码
|
||||||
|
let tYear = today.getFullYear();
|
||||||
|
let tMonth = today.getMonth();
|
||||||
|
let tDate = today.getDate();
|
||||||
|
tMonth = doHandleMonth(tMonth + 1);
|
||||||
|
tDate = doHandleMonth(tDate);
|
||||||
|
return tYear + "-" + tMonth + "-" + tDate;
|
||||||
|
}
|
||||||
|
function doHandleMonth(month) {
|
||||||
|
let m = month;
|
||||||
|
if (month.toString().length === 1) {
|
||||||
|
m = "0" + month;
|
||||||
|
}
|
||||||
|
return m;
|
||||||
|
}
|
||||||
|
|
||||||
export function isNumberStr(str) {
|
export function isNumberStr(str) {
|
||||||
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
|
return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str);
|
||||||
}
|
}
|
||||||
|
|
|
@ -181,11 +181,15 @@ export default {
|
||||||
render: ({ row }) => {
|
render: ({ row }) => {
|
||||||
let defaultBank = () => {
|
let defaultBank = () => {
|
||||||
if (row.default) {
|
if (row.default) {
|
||||||
this.$confirm("此操作将永久删除该文件, 是否继续?", "提示", {
|
this.$confirm(
|
||||||
|
"此操作将设置该银行卡为默认银行卡, 是否继续?",
|
||||||
|
"提示",
|
||||||
|
{
|
||||||
confirmButtonText: "确定",
|
confirmButtonText: "确定",
|
||||||
cancelButtonText: "取消",
|
cancelButtonText: "取消",
|
||||||
type: "warning",
|
type: "warning",
|
||||||
})
|
}
|
||||||
|
)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
this.$api.mer_admin
|
this.$api.mer_admin
|
||||||
.defaultBank({
|
.defaultBank({
|
||||||
|
|
|
@ -123,7 +123,7 @@ export default {
|
||||||
formInline: {
|
formInline: {
|
||||||
marketId: "",
|
marketId: "",
|
||||||
shopId: "",
|
shopId: "",
|
||||||
queryStatus: "",
|
queryStatus: "q",
|
||||||
name: "",
|
name: "",
|
||||||
},
|
},
|
||||||
tableProp: {
|
tableProp: {
|
||||||
|
@ -140,7 +140,7 @@ export default {
|
||||||
created() {
|
created() {
|
||||||
this.formInline = {
|
this.formInline = {
|
||||||
name: "",
|
name: "",
|
||||||
queryStatus: "",
|
queryStatus: "1",
|
||||||
marketId: this.marketId,
|
marketId: this.marketId,
|
||||||
shopId: this.shopId,
|
shopId: this.shopId,
|
||||||
};
|
};
|
||||||
|
@ -185,7 +185,7 @@ export default {
|
||||||
Reset() {
|
Reset() {
|
||||||
this.formInline = {
|
this.formInline = {
|
||||||
name: "",
|
name: "",
|
||||||
queryStatus: "",
|
queryStatus: "1",
|
||||||
marketId: this.marketId,
|
marketId: this.marketId,
|
||||||
shopId: this.shopId,
|
shopId: this.shopId,
|
||||||
};
|
};
|
||||||
|
@ -294,11 +294,11 @@ export default {
|
||||||
align: "center",
|
align: "center",
|
||||||
field: "money",
|
field: "money",
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
title: "折扣",
|
// title: "折扣",
|
||||||
align: "center",
|
// align: "center",
|
||||||
field: "discount",
|
// field: "discount",
|
||||||
},
|
// },
|
||||||
{
|
{
|
||||||
title: "最低消费",
|
title: "最低消费",
|
||||||
align: "center",
|
align: "center",
|
||||||
|
@ -386,6 +386,7 @@ export default {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
if (row.status == 1) {
|
||||||
return (
|
return (
|
||||||
<el-switch
|
<el-switch
|
||||||
onchange={changeState}
|
onchange={changeState}
|
||||||
|
@ -396,6 +397,7 @@ export default {
|
||||||
inactive-value={0}
|
inactive-value={0}
|
||||||
></el-switch>
|
></el-switch>
|
||||||
);
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
:modalHandles="modalHandles"
|
:modalHandles="modalHandles"
|
||||||
>
|
>
|
||||||
<template slot="dialog__content">
|
<template slot="dialog__content">
|
||||||
<el-form :model="modalData" ref="modalForm">
|
<el-form :model="modalData" :rules="rules" ref="modalForm">
|
||||||
<el-form-item label-width="150px" label="优惠券名称" prop="name">
|
<el-form-item label-width="150px" label="优惠券名称" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
style="width: 350px"
|
style="width: 350px"
|
||||||
|
@ -17,7 +17,11 @@
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="使用日期" prop="name">
|
<el-form-item
|
||||||
|
label-width="150px"
|
||||||
|
label="使用日期"
|
||||||
|
prop="useStartTime"
|
||||||
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@change="usageDateChange"
|
@change="usageDateChange"
|
||||||
v-model="usageDate"
|
v-model="usageDate"
|
||||||
|
@ -26,10 +30,15 @@
|
||||||
range-separator="至"
|
range-separator="至"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="开放领取日期" prop="name">
|
<el-form-item
|
||||||
|
label-width="150px"
|
||||||
|
label="开放领取日期"
|
||||||
|
prop="receiveStartTime"
|
||||||
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@change="collectionDateChange"
|
@change="collectionDateChange"
|
||||||
v-model="collectionDate"
|
v-model="collectionDate"
|
||||||
|
@ -38,10 +47,11 @@
|
||||||
range-separator="至"
|
range-separator="至"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="选择商品" prop="targetIds">
|
<!-- <el-form-item label-width="150px" label="选择商品" prop="targetIds">
|
||||||
<el-input
|
<el-input
|
||||||
style="width: 350px"
|
style="width: 350px"
|
||||||
placeholder="请选择选择商品"
|
placeholder="请选择选择商品"
|
||||||
|
@ -71,23 +81,30 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label-width="150px" label="优惠金额" prop="targetIds">
|
<el-form-item label-width="150px" label="优惠金额" prop="money">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
placeholder="请输入"
|
||||||
|
controls-position="right"
|
||||||
|
:precision="2"
|
||||||
v-model="modalData.money"
|
v-model="modalData.money"
|
||||||
:min="0"
|
:min="0"
|
||||||
|
:max="99999"
|
||||||
label="请输入"
|
label="请输入"
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="发放数量" prop="targetIds">
|
<el-form-item label-width="150px" label="发放数量" prop="total">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
placeholder="请输入"
|
||||||
|
controls-position="right"
|
||||||
|
:precision="0"
|
||||||
v-model="modalData.total"
|
v-model="modalData.total"
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="99999"
|
:max="99999"
|
||||||
label="请输入"
|
label="请输入"
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="每人限领" prop="targetIds">
|
<el-form-item label-width="150px" label="每人限领" prop="limitedNum">
|
||||||
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in [
|
v-for="item in [
|
||||||
|
@ -131,10 +148,9 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import { getDay } from "@/utils/index";
|
||||||
import commodity from "./commodity.vue";
|
import commodity from "./commodity.vue";
|
||||||
import { debounce, cloneDeep } from "lodash";
|
import { debounce, cloneDeep } from "lodash";
|
||||||
import { Divider } from "element-ui";
|
|
||||||
import loginVue from "../../../common/login.vue";
|
|
||||||
export default {
|
export default {
|
||||||
components: { commodity },
|
components: { commodity },
|
||||||
data() {
|
data() {
|
||||||
|
@ -154,8 +170,66 @@ export default {
|
||||||
usageDate: [], //使用时间
|
usageDate: [], //使用时间
|
||||||
collectionDate: [], //领取日期
|
collectionDate: [], //领取日期
|
||||||
product: {}, //商品
|
product: {}, //商品
|
||||||
|
pickerOptions: {
|
||||||
|
disabledDate: (time) => {
|
||||||
|
return time.getTime() < Date.now() - 8.64e7;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
name: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入优惠券名称",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
useStartTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择使用日期",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
receiveStartTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择领取日期",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
money: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入优惠金额",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
total: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入发放数量",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
limitedNum: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择每人限领",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
"modalConfig.show"(newVal) {
|
||||||
|
if (!newVal) {
|
||||||
|
//关闭弹窗清空校验
|
||||||
|
this.$refs.modalForm.resetFields();
|
||||||
|
this.collectionDate = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
queryTableData(pageNo, pageSize) {},
|
queryTableData(pageNo, pageSize) {},
|
||||||
toggle(e) {
|
toggle(e) {
|
||||||
|
@ -169,6 +243,11 @@ export default {
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
add: (row) => {
|
add: (row) => {
|
||||||
|
this.usageDate = [getDay(0), getDay(14)];
|
||||||
|
let month = getDay(0).slice(5, 7);
|
||||||
|
let day = getDay(0).slice(8, 10);
|
||||||
|
console.log(month, day);
|
||||||
|
|
||||||
this.formInline = {
|
this.formInline = {
|
||||||
marketId: row.marketId,
|
marketId: row.marketId,
|
||||||
shopId: row.shopId,
|
shopId: row.shopId,
|
||||||
|
@ -180,16 +259,18 @@ export default {
|
||||||
receiveType: "MANUAL",
|
receiveType: "MANUAL",
|
||||||
couponType: "MONEY",
|
couponType: "MONEY",
|
||||||
isTimeReceive: 1, //0-不限时,1-限时
|
isTimeReceive: 1, //0-不限时,1-限时
|
||||||
name: "",
|
name: `无门槛优惠卷${month}${day}`,
|
||||||
useStartTime: "",
|
useStartTime: getDay(0),
|
||||||
useEndTime: "",
|
useEndTime: getDay(14),
|
||||||
receiveStartTime: "",
|
receiveStartTime: "",
|
||||||
receiveEndTime: "",
|
receiveEndTime: "",
|
||||||
money: "",
|
money: "",
|
||||||
total: 10000,
|
total: 10000,
|
||||||
limitedNum: 0,
|
limitedNum: 1,
|
||||||
minPrice: 0,
|
minPrice: 0,
|
||||||
usableRange: "PARTIAL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
usableRange: "ALL", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
||||||
|
targetIds: [],
|
||||||
|
status: 1,
|
||||||
};
|
};
|
||||||
// this.$refs.modal.resetFields();
|
// this.$refs.modal.resetFields();
|
||||||
});
|
});
|
||||||
|
@ -202,6 +283,7 @@ export default {
|
||||||
},
|
},
|
||||||
init(row) {},
|
init(row) {},
|
||||||
usageDateChange(e) {
|
usageDateChange(e) {
|
||||||
|
console.log(e);
|
||||||
if (e) {
|
if (e) {
|
||||||
this.modalData.useStartTime = e[0];
|
this.modalData.useStartTime = e[0];
|
||||||
this.modalData.useEndTime = e[1];
|
this.modalData.useEndTime = e[1];
|
||||||
|
@ -245,16 +327,18 @@ export default {
|
||||||
type: "primary",
|
type: "primary",
|
||||||
handle: () => {
|
handle: () => {
|
||||||
console.log(this.modalData);
|
console.log(this.modalData);
|
||||||
let data = { ...this.modalData };
|
this.$refs.modalForm.validate((valid) => {
|
||||||
data.targetIds = [data.targetIds];
|
console.log(valid);
|
||||||
console.log(this.modalData, data);
|
if (valid) {
|
||||||
this.$api.coupon
|
this.$api.coupon
|
||||||
.addCoupon({ ...data, ...this.formInline })
|
.addCoupon({ ...this.modalData, ...this.formInline })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.$emit("queryList");
|
this.$emit("queryList");
|
||||||
this.toggle();
|
this.toggle();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
:modalHandles="modalHandles"
|
:modalHandles="modalHandles"
|
||||||
>
|
>
|
||||||
<template slot="dialog__content">
|
<template slot="dialog__content">
|
||||||
<el-form :model="modalData" ref="modalForm">
|
<el-form :model="modalData" :rules="rules" ref="modalForm">
|
||||||
<el-form-item label-width="150px" label="可用范围" prop="name">
|
<!-- <el-form-item label-width="150px" label="可用范围" prop="name">
|
||||||
<div>
|
<div>
|
||||||
<el-radio
|
<el-radio
|
||||||
v-model="modalData.usableRange"
|
v-model="modalData.usableRange"
|
||||||
|
@ -33,7 +33,7 @@
|
||||||
>部分摊位</el-radio
|
>部分摊位</el-radio
|
||||||
>
|
>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item> -->
|
||||||
<el-form-item label-width="150px" label="优惠卷名称" prop="name">
|
<el-form-item label-width="150px" label="优惠卷名称" prop="name">
|
||||||
<el-input
|
<el-input
|
||||||
style="width: 350px"
|
style="width: 350px"
|
||||||
|
@ -42,7 +42,11 @@
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="使用日期" prop="name">
|
<el-form-item
|
||||||
|
label-width="150px"
|
||||||
|
label="使用日期"
|
||||||
|
prop="useStartTime"
|
||||||
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@change="usageDateChange"
|
@change="usageDateChange"
|
||||||
v-model="usageDate"
|
v-model="usageDate"
|
||||||
|
@ -51,10 +55,15 @@
|
||||||
range-separator="至"
|
range-separator="至"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="开放领取日期" prop="name">
|
<el-form-item
|
||||||
|
label-width="150px"
|
||||||
|
label="开放领取日期"
|
||||||
|
prop="receiveStartTime"
|
||||||
|
>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
@change="collectionDateChange"
|
@change="collectionDateChange"
|
||||||
v-model="collectionDate"
|
v-model="collectionDate"
|
||||||
|
@ -63,25 +72,42 @@
|
||||||
range-separator="至"
|
range-separator="至"
|
||||||
start-placeholder="开始日期"
|
start-placeholder="开始日期"
|
||||||
end-placeholder="结束日期"
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="优惠设置" prop="name">
|
<el-form-item label-width="150px" label="优惠设置(单位:元)" required>
|
||||||
<el-col class="line" :span="1">满</el-col>
|
<el-col class="line" :span="1">满</el-col>
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
<el-input placeholder="请输入" v-model="modalData.minPrice">
|
<el-form-item prop="minPrice">
|
||||||
<template slot="append">元</template>
|
<el-input-number
|
||||||
</el-input>
|
placeholder="请输入"
|
||||||
|
controls-position="right"
|
||||||
|
:precision="0"
|
||||||
|
v-model="modalData.minPrice"
|
||||||
|
:min="0"
|
||||||
|
:max="99999"
|
||||||
|
label="请输入"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="line" :span="1"></el-col>
|
<el-col class="line" :span="1"></el-col>
|
||||||
<el-col class="line" :span="1">减</el-col>
|
<el-col class="line" :span="1">减</el-col>
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
<el-input placeholder="请输入" v-model="modalData.money">
|
<el-form-item prop="money">
|
||||||
<template slot="append">元</template>
|
<el-input-number
|
||||||
</el-input>
|
placeholder="请输入"
|
||||||
|
controls-position="right"
|
||||||
|
:precision="0"
|
||||||
|
v-model="modalData.money"
|
||||||
|
:min="0"
|
||||||
|
:max="99999"
|
||||||
|
label="请输入"
|
||||||
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<!-- <el-form-item
|
||||||
v-if="modalData.usableRange === 'ALL_GOODS'"
|
v-if="modalData.usableRange === 'ALL_GOODS'"
|
||||||
label-width="150px"
|
label-width="150px"
|
||||||
label="选择商品"
|
label="选择商品"
|
||||||
|
@ -95,8 +121,8 @@
|
||||||
<template slot="append">
|
<template slot="append">
|
||||||
<el-button @click="selectProduct">请选择</el-button>
|
<el-button @click="selectProduct">请选择</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input> -->
|
||||||
<div v-if="product.name" class="product">
|
<!-- <div v-if="product.name" class="product">
|
||||||
<div>
|
<div>
|
||||||
<el-image
|
<el-image
|
||||||
style="width: 80px; height: 80px; margin-right: 10px"
|
style="width: 80px; height: 80px; margin-right: 10px"
|
||||||
|
@ -115,17 +141,20 @@
|
||||||
¥{{ product.minSalePrice }}
|
¥{{ product.minSalePrice }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
</el-form-item>
|
<!-- </el-form-item> -->
|
||||||
<el-form-item label-width="150px" label="发放数量" prop="targetIds">
|
<el-form-item label-width="150px" label="发放数量" prop="total">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
placeholder="请输入"
|
||||||
|
controls-position="right"
|
||||||
|
:precision="0"
|
||||||
v-model="modalData.total"
|
v-model="modalData.total"
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="99999"
|
:max="99999"
|
||||||
label="请输入"
|
label="请输入"
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="每人限领" prop="targetIds">
|
<el-form-item label-width="150px" label="每人限领" prop="limitedNum">
|
||||||
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in [
|
v-for="item in [
|
||||||
|
@ -169,10 +198,9 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import { getDay } from "@/utils/index";
|
||||||
import commodity from "./commodity.vue";
|
import commodity from "./commodity.vue";
|
||||||
import { debounce, cloneDeep } from "lodash";
|
import { debounce, cloneDeep } from "lodash";
|
||||||
import { Divider } from "element-ui";
|
|
||||||
import loginVue from "../../../common/login.vue";
|
|
||||||
export default {
|
export default {
|
||||||
components: { commodity },
|
components: { commodity },
|
||||||
data() {
|
data() {
|
||||||
|
@ -192,8 +220,73 @@ export default {
|
||||||
usageDate: [], //使用时间
|
usageDate: [], //使用时间
|
||||||
collectionDate: [], //领取日期
|
collectionDate: [], //领取日期
|
||||||
product: {}, //商品
|
product: {}, //商品
|
||||||
|
pickerOptions: {
|
||||||
|
disabledDate: (time) => {
|
||||||
|
return time.getTime() < Date.now() - 8.64e7;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rules: {
|
||||||
|
name: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入优惠券名称",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
useStartTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择使用日期",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
receiveStartTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择领取日期",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
minPrice: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入满减条件",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
money: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入优惠金额",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
total: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入发放数量",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
limitedNum: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择每人限领",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
"modalConfig.show"(newVal) {
|
||||||
|
if (!newVal) {
|
||||||
|
//关闭弹窗清空校验
|
||||||
|
this.$refs.modalForm.resetFields();
|
||||||
|
this.collectionDate = [];
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
queryTableData(pageNo, pageSize) {},
|
queryTableData(pageNo, pageSize) {},
|
||||||
toggle(e) {
|
toggle(e) {
|
||||||
|
@ -207,6 +300,9 @@ export default {
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
add: (row) => {
|
add: (row) => {
|
||||||
|
this.usageDate = [getDay(0), getDay(14)];
|
||||||
|
let month = getDay(0).slice(5, 7);
|
||||||
|
let day = getDay(0).slice(8, 10);
|
||||||
this.formInline = {
|
this.formInline = {
|
||||||
marketId: row.marketId,
|
marketId: row.marketId,
|
||||||
shopId: row.shopId,
|
shopId: row.shopId,
|
||||||
|
@ -214,20 +310,22 @@ export default {
|
||||||
this.modalConfig.title = `添加${row.label}`;
|
this.modalConfig.title = `添加${row.label}`;
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.modalData = {
|
this.modalData = {
|
||||||
category: "NO_THRESHOLD",
|
category: "MAX_OUT",
|
||||||
receiveType: "MANUAL",
|
receiveType: "MANUAL",
|
||||||
couponType: "MONEY",
|
couponType: "MONEY",
|
||||||
isTimeReceive: 1, //0-不限时,1-限时
|
isTimeReceive: 1, //0-不限时,1-限时
|
||||||
name: "",
|
name: `满减卷${month}${day}`,
|
||||||
useStartTime: "",
|
useStartTime: getDay(0),
|
||||||
useEndTime: "",
|
useEndTime: getDay(14),
|
||||||
receiveStartTime: "",
|
receiveStartTime: "",
|
||||||
receiveEndTime: "",
|
receiveEndTime: "",
|
||||||
money: "",
|
money: "",
|
||||||
total: 10000,
|
total: 10000,
|
||||||
limitedNum: 0,
|
limitedNum: 0,
|
||||||
minPrice: 0,
|
minPrice: 0,
|
||||||
usableRange: "PARTIAL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
usableRange: "ALL", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
||||||
|
status: 1,
|
||||||
|
targetIds: [],
|
||||||
};
|
};
|
||||||
// this.$refs.modal.resetFields();
|
// this.$refs.modal.resetFields();
|
||||||
});
|
});
|
||||||
|
@ -283,16 +381,18 @@ export default {
|
||||||
type: "primary",
|
type: "primary",
|
||||||
handle: () => {
|
handle: () => {
|
||||||
console.log(this.modalData);
|
console.log(this.modalData);
|
||||||
let data = { ...this.modalData };
|
|
||||||
data.targetIds = [data.targetIds];
|
this.$refs.modalForm.validate((valid) => {
|
||||||
console.log(this.modalData, data);
|
if (valid) {
|
||||||
this.$api.coupon
|
this.$api.coupon
|
||||||
.addCoupon({ ...data, ...this.formInline })
|
.addCoupon({ ...this.modalData, ...this.formInline })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
this.$emit("queryList");
|
this.$emit("queryList");
|
||||||
this.toggle();
|
this.toggle();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
>
|
>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="使用时间:" prop="day">
|
<!-- <el-form-item label-width="150px" label="使用时间:" prop="day">
|
||||||
<el-col class="line" :span="2">领取后</el-col>
|
<el-col class="line" :span="2">领取后</el-col>
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
@ -33,6 +33,40 @@
|
||||||
<el-col style="margin-left: 8px" :span="5"
|
<el-col style="margin-left: 8px" :span="5"
|
||||||
>(单位:天) 内可使用</el-col
|
>(单位:天) 内可使用</el-col
|
||||||
>
|
>
|
||||||
|
</el-form-item> -->
|
||||||
|
<el-form-item
|
||||||
|
label-width="150px"
|
||||||
|
label="使用日期:"
|
||||||
|
prop="useStartTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
@change="usageDateChange"
|
||||||
|
v-model="usageDate"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item
|
||||||
|
label-width="150px"
|
||||||
|
label="开放领取日期:"
|
||||||
|
prop="receiveStartTime"
|
||||||
|
>
|
||||||
|
<el-date-picker
|
||||||
|
@change="collectionDateChange"
|
||||||
|
v-model="collectionDate"
|
||||||
|
value-format="yyyy-MM-dd"
|
||||||
|
type="daterange"
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="可用范围:" prop="name">
|
<el-form-item label-width="150px" label="可用范围:" prop="name">
|
||||||
<div>
|
<div>
|
||||||
|
@ -55,7 +89,7 @@
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="!threshold"
|
v-show="!threshold"
|
||||||
label-width="150px"
|
label-width="150px"
|
||||||
label="优惠金额:"
|
label="优惠金额:"
|
||||||
prop="money"
|
prop="money"
|
||||||
|
@ -74,13 +108,14 @@
|
||||||
<span>(单位:元)</span>
|
<span>(单位:元)</span>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item
|
<el-form-item
|
||||||
v-if="threshold"
|
v-show="threshold"
|
||||||
label-width="150px"
|
label-width="150px"
|
||||||
label="优惠设置:"
|
label="优惠设置(单位:元)"
|
||||||
prop="money"
|
required
|
||||||
>
|
>
|
||||||
<el-col class="line" :span="1">满</el-col>
|
<el-col class="line" :span="1">满</el-col>
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
|
<el-form-item prop="minPrice">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
|
@ -90,21 +125,23 @@
|
||||||
:max="99999"
|
:max="99999"
|
||||||
label="请输入"
|
label="请输入"
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col class="line" :span="1"></el-col>
|
<el-col class="line" :span="1"></el-col>
|
||||||
<el-col class="line" :span="1">减</el-col>
|
<el-col class="line" :span="1">减</el-col>
|
||||||
<el-col :span="7">
|
<el-col :span="7">
|
||||||
|
<el-form-item prop="money">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
placeholder="请输入"
|
placeholder="请输入"
|
||||||
controls-position="right"
|
controls-position="right"
|
||||||
:precision="0"
|
:precision="0"
|
||||||
v-model="modalData.money"
|
v-model="modalData.money"
|
||||||
:min="0"
|
:min="0"
|
||||||
:max="modalData.minPrice"
|
:max="99999"
|
||||||
label="请输入"
|
label="请输入"
|
||||||
></el-input-number>
|
></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<span>(单位:元)</span>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label-width="150px" label="发放数量:" prop="total">
|
<el-form-item label-width="150px" label="发放数量:" prop="total">
|
||||||
<el-input-number
|
<el-input-number
|
||||||
|
@ -121,7 +158,11 @@
|
||||||
label="每人限领:"
|
label="每人限领:"
|
||||||
prop="limitedNum"
|
prop="limitedNum"
|
||||||
>
|
>
|
||||||
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
<el-select
|
||||||
|
disabled
|
||||||
|
v-model="modalData.limitedNum"
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in [
|
v-for="item in [
|
||||||
{
|
{
|
||||||
|
@ -162,6 +203,7 @@
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
<script>
|
<script>
|
||||||
|
import { getDay } from "@/utils/index";
|
||||||
import { debounce, cloneDeep } from "lodash";
|
import { debounce, cloneDeep } from "lodash";
|
||||||
export default {
|
export default {
|
||||||
components: {},
|
components: {},
|
||||||
|
@ -182,6 +224,11 @@ export default {
|
||||||
modalData: {},
|
modalData: {},
|
||||||
usageDate: [], //使用时间
|
usageDate: [], //使用时间
|
||||||
collectionDate: [], //领取日期
|
collectionDate: [], //领取日期
|
||||||
|
pickerOptions: {
|
||||||
|
disabledDate: (time) => {
|
||||||
|
return time.getTime() < Date.now() - 8.64e7;
|
||||||
|
},
|
||||||
|
},
|
||||||
rules: {
|
rules: {
|
||||||
name: [
|
name: [
|
||||||
{
|
{
|
||||||
|
@ -191,11 +238,32 @@ export default {
|
||||||
},
|
},
|
||||||
{ min: 1, max: 10, message: "长度10字符以内", trigger: "blur" },
|
{ min: 1, max: 10, message: "长度10字符以内", trigger: "blur" },
|
||||||
],
|
],
|
||||||
day: [
|
useStartTime: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入领取后有效天数",
|
message: "请选择使用日期",
|
||||||
trigger: "blur",
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
receiveStartTime: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请选择领取日期",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
// day: [
|
||||||
|
// {
|
||||||
|
// required: true,
|
||||||
|
// message: "请输入领取后有效天数",
|
||||||
|
// trigger: "blur",
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
minPrice: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输入满减条件",
|
||||||
|
trigger: ["blur", "change"],
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
money: [
|
money: [
|
||||||
|
@ -222,6 +290,16 @@ export default {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
|
watch: {
|
||||||
|
"modalConfig.show"(newVal) {
|
||||||
|
if (!newVal) {
|
||||||
|
//关闭弹窗清空校验
|
||||||
|
this.$refs.modalForm.resetFields();
|
||||||
|
this.collectionDate = [];
|
||||||
|
this.threshold = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
queryTableData(pageNo, pageSize) {},
|
queryTableData(pageNo, pageSize) {},
|
||||||
toggle(e) {
|
toggle(e) {
|
||||||
|
@ -235,6 +313,9 @@ export default {
|
||||||
}
|
}
|
||||||
return {
|
return {
|
||||||
add: (row) => {
|
add: (row) => {
|
||||||
|
this.usageDate = [getDay(0), getDay(14)];
|
||||||
|
let month = getDay(0).slice(5, 7);
|
||||||
|
let day = getDay(0).slice(8, 10);
|
||||||
this.formInline = {
|
this.formInline = {
|
||||||
marketId: row.marketId,
|
marketId: row.marketId,
|
||||||
shopId: row.shopId,
|
shopId: row.shopId,
|
||||||
|
@ -245,14 +326,20 @@ export default {
|
||||||
category: "FIRST_ATTENTION",
|
category: "FIRST_ATTENTION",
|
||||||
receiveType: "MANUAL",
|
receiveType: "MANUAL",
|
||||||
couponType: "MONEY",
|
couponType: "MONEY",
|
||||||
isTimeReceive: 0, //0-不限时,1-限时
|
isTimeReceive: 1, //0-不限时,1-限时
|
||||||
name: "",
|
name: `新粉优惠卷${month}${day}`,
|
||||||
day: "7",
|
// day: "7",
|
||||||
|
useStartTime: getDay(0),
|
||||||
|
useEndTime: getDay(14),
|
||||||
|
receiveStartTime: "",
|
||||||
|
receiveEndTime: "",
|
||||||
money: "",
|
money: "",
|
||||||
total: 10000,
|
total: 10000,
|
||||||
limitedNum: 0,
|
limitedNum: 1,
|
||||||
minPrice: 0,
|
minPrice: 0,
|
||||||
usableRange: "ALL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
usableRange: "ALL", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
||||||
|
status: 1,
|
||||||
|
targetIds: [],
|
||||||
};
|
};
|
||||||
// this.$refs.modal.resetFields();
|
// this.$refs.modal.resetFields();
|
||||||
});
|
});
|
||||||
|
@ -264,6 +351,24 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
init(row) {},
|
init(row) {},
|
||||||
|
usageDateChange(e) {
|
||||||
|
if (e) {
|
||||||
|
this.modalData.useStartTime = e[0];
|
||||||
|
this.modalData.useEndTime = e[1];
|
||||||
|
} else {
|
||||||
|
this.modalData.useStartTime = "";
|
||||||
|
this.modalData.useEndTime = "";
|
||||||
|
}
|
||||||
|
},
|
||||||
|
collectionDateChange(e) {
|
||||||
|
if (e) {
|
||||||
|
this.modalData.receiveStartTime = e[0];
|
||||||
|
this.modalData.receiveEndTime = e[1];
|
||||||
|
} else {
|
||||||
|
this.modalData.receiveStartTime = "";
|
||||||
|
this.modalData.receiveEndTime = "";
|
||||||
|
}
|
||||||
|
},
|
||||||
changeThreshold(e) {
|
changeThreshold(e) {
|
||||||
if (e) {
|
if (e) {
|
||||||
this.modalData.minPrice = 0;
|
this.modalData.minPrice = 0;
|
||||||
|
@ -288,6 +393,8 @@ export default {
|
||||||
type: "primary",
|
type: "primary",
|
||||||
handle: () => {
|
handle: () => {
|
||||||
console.log(this.modalData);
|
console.log(this.modalData);
|
||||||
|
this.$refs.modalForm.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
this.$api.coupon
|
this.$api.coupon
|
||||||
.addCoupon({ ...this.modalData, ...this.formInline })
|
.addCoupon({ ...this.modalData, ...this.formInline })
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
|
@ -295,6 +402,8 @@ export default {
|
||||||
this.$emit("queryList");
|
this.$emit("queryList");
|
||||||
this.toggle();
|
this.toggle();
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
Loading…
Reference in New Issue