优惠卷和钱包
This commit is contained in:
parent
f51ac63e39
commit
f5e8f6eceb
|
@ -13,4 +13,16 @@ export const coupon = {
|
|||
addCoupon: (data) => {
|
||||
return $http.post(`/merchant-api/coupon/save`, data);
|
||||
},
|
||||
//新增优惠卷数量
|
||||
addNumCoupon: (data) => {
|
||||
return $http.post(`/merchant-api/coupon/addNum`, data);
|
||||
},
|
||||
//优惠卷状态
|
||||
couponStatus: (data) => {
|
||||
return $http.post(`/merchant-api/coupon/update/status`, data);
|
||||
},
|
||||
//删除优惠卷
|
||||
deleteCoupon: (data) => {
|
||||
return $http.post(`/merchant-api/coupon/batch/delete`, data);
|
||||
},
|
||||
};
|
||||
|
|
|
@ -140,7 +140,7 @@ router.beforeEach((to, from, next) => {
|
|||
isMerchant: true,
|
||||
marketList: [],
|
||||
storeList: [],
|
||||
marketId: "",
|
||||
marketId: data.data.marketId,
|
||||
shopId: data.data.shopId,
|
||||
});
|
||||
} else {
|
||||
|
|
|
@ -11,27 +11,37 @@
|
|||
:enableAutoQuery="false"
|
||||
>
|
||||
<template slot="tableTop">
|
||||
<el-form
|
||||
v-if="marketList.length > 0"
|
||||
:inline="true"
|
||||
:model="formInline"
|
||||
class="demo-form-inline"
|
||||
>
|
||||
<el-form-item label="菜市场">
|
||||
<el-form :inline="true" :model="formInline" class="demo-form-inline">
|
||||
<el-form-item label="优惠卷名称">
|
||||
<el-input
|
||||
v-model="formInline.name"
|
||||
placeholder="优惠卷名称搜索"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="状态">
|
||||
<el-select
|
||||
@change="getData"
|
||||
v-model="formInline.marketId"
|
||||
placeholder="请选择菜市场"
|
||||
v-model="formInline.queryStatus"
|
||||
placeholder="请选择状态"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in marketList"
|
||||
:key="item.marketId"
|
||||
:label="item.marketName"
|
||||
:value="item.marketId"
|
||||
v-for="item in [
|
||||
{ label: '已失效', value: '0' },
|
||||
{
|
||||
label: '生效中',
|
||||
value: '1',
|
||||
},
|
||||
{
|
||||
label: '待生效',
|
||||
value: '2',
|
||||
},
|
||||
]"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="店铺">
|
||||
<el-form-item v-if="storeList.length > 1" label="店铺">
|
||||
<el-select v-model="formInline.shopId" placeholder="请选择店铺">
|
||||
<el-option
|
||||
v-for="item in storeList"
|
||||
|
@ -45,6 +55,7 @@
|
|||
<el-button type="primary" @click="$refs.oTable.reload()"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button type="primary" @click="Reset">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div class="mb-2">
|
||||
|
@ -62,6 +73,7 @@
|
|||
>{{ item.label }}
|
||||
</el-button>
|
||||
<el-button
|
||||
size="small"
|
||||
slot="reference"
|
||||
type="primary"
|
||||
class="link-left"
|
||||
|
@ -69,16 +81,14 @@
|
|||
>添加优惠卷</el-button
|
||||
>
|
||||
</el-popover>
|
||||
<!-- <el-button type="primary" size="small" @click="addProduct"
|
||||
>添加优惠卷</el-button
|
||||
> -->
|
||||
<!-- <el-button
|
||||
<el-button
|
||||
style="margin-left: 20px"
|
||||
:disabled="selectList.length <= 0"
|
||||
type="danger"
|
||||
size="small"
|
||||
@click="deleteProduct"
|
||||
>批量删除</el-button
|
||||
> -->
|
||||
>
|
||||
</div>
|
||||
</template>
|
||||
</obj-table-plus>
|
||||
|
@ -87,6 +97,13 @@
|
|||
@queryList="$refs.oTable.reload()"
|
||||
ref="addOrUpdate"
|
||||
></add-or-update>
|
||||
<!-- 满减卷 -->
|
||||
<fullReductio
|
||||
@queryList="$refs.oTable.reload()"
|
||||
ref="fullReductio"
|
||||
></fullReductio>
|
||||
<!-- 新粉优惠卷 -->
|
||||
<newPowder @queryList="$refs.oTable.reload()" ref="newPowder"></newPowder>
|
||||
<!-- 查看详情 -->
|
||||
<!-- <viewDetails ref="viewDetails"></viewDetails> -->
|
||||
</div>
|
||||
|
@ -94,16 +111,20 @@
|
|||
|
||||
<script>
|
||||
import { mapState } from "vuex";
|
||||
import fullReductio from "./popup/full-reduction.vue";
|
||||
import AddOrUpdate from "./popup/add-or-update.vue";
|
||||
import newPowder from "./popup/new-powder.vue";
|
||||
// import viewDetails from "./popup/view-details.vue";
|
||||
export default {
|
||||
components: { AddOrUpdate },
|
||||
components: { AddOrUpdate, fullReductio, newPowder },
|
||||
data() {
|
||||
return {
|
||||
dataList: [],
|
||||
formInline: {
|
||||
marketId: "",
|
||||
shopId: "",
|
||||
queryStatus: "",
|
||||
name: "",
|
||||
},
|
||||
tableProp: {
|
||||
"auto-resize": true,
|
||||
|
@ -114,12 +135,12 @@ export default {
|
|||
},
|
||||
productFilterType: "SALE",
|
||||
selectList: [],
|
||||
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.formInline = {
|
||||
name: "",
|
||||
queryStatus: "",
|
||||
marketId: this.marketId,
|
||||
shopId: this.shopId,
|
||||
};
|
||||
|
@ -140,26 +161,51 @@ export default {
|
|||
// });
|
||||
},
|
||||
addProduct(row) {
|
||||
this.$refs.addOrUpdate.toggle().add({
|
||||
...row,
|
||||
marketId: this.formInline.marketId,
|
||||
shopId: this.formInline.shopId,
|
||||
});
|
||||
console.log(row);
|
||||
if (row.label == "无门槛商品优惠卷") {
|
||||
this.$refs.addOrUpdate.toggle().add({
|
||||
...row,
|
||||
marketId: this.formInline.marketId,
|
||||
shopId: this.formInline.shopId,
|
||||
});
|
||||
} else if (row.label == "满减卷") {
|
||||
this.$refs.fullReductio.toggle().add({
|
||||
...row,
|
||||
marketId: this.formInline.marketId,
|
||||
shopId: this.formInline.shopId,
|
||||
});
|
||||
} else if (row.label == "新粉优惠卷") {
|
||||
this.$refs.newPowder.toggle().add({
|
||||
...row,
|
||||
marketId: this.formInline.marketId,
|
||||
shopId: this.formInline.shopId,
|
||||
});
|
||||
}
|
||||
},
|
||||
Reset() {
|
||||
this.formInline = {
|
||||
name: "",
|
||||
queryStatus: "",
|
||||
marketId: this.marketId,
|
||||
shopId: this.shopId,
|
||||
};
|
||||
this.$refs.oTable.reload();
|
||||
},
|
||||
deleteProduct() {
|
||||
console.log(this.selectList);
|
||||
let integers = this.selectList.map((item) => {
|
||||
return item.id;
|
||||
});
|
||||
this.$confirm("此操作将删除该商品, 是否继续?", "提示", {
|
||||
this.$confirm("此操作将删除该优惠卷, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
console.log("111");
|
||||
this.$api.mer_admin.BatchDeleteProducts(integers).then((res) => {
|
||||
this.$api.coupon.deleteCoupon(integers).then((res) => {
|
||||
this.$refs.oTable.reload();
|
||||
this.selectList = [];
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
|
@ -198,19 +244,19 @@ export default {
|
|||
align: "center",
|
||||
field: "name",
|
||||
},
|
||||
{
|
||||
title: "发行方",
|
||||
align: "center",
|
||||
field: "publisher",
|
||||
type: "jsx",
|
||||
render: ({ row }) => {
|
||||
if (row.publisher === "MERCHANT") {
|
||||
return <span>店铺</span>;
|
||||
} else if (row.publisher == "PLATFORM") {
|
||||
return <span>平台</span>;
|
||||
}
|
||||
},
|
||||
},
|
||||
// {
|
||||
// title: "发行方",
|
||||
// align: "center",
|
||||
// field: "publisher",
|
||||
// type: "jsx",
|
||||
// render: ({ row }) => {
|
||||
// if (row.publisher === "MERCHANT") {
|
||||
// return <span>店铺</span>;
|
||||
// } else if (row.publisher == "PLATFORM") {
|
||||
// return <span>平台</span>;
|
||||
// }
|
||||
// },
|
||||
// },
|
||||
{
|
||||
title: "类别",
|
||||
align: "center",
|
||||
|
@ -273,17 +319,83 @@ export default {
|
|||
align: "center",
|
||||
field: "lastTotal",
|
||||
},
|
||||
{
|
||||
title: "可使用时间",
|
||||
align: "center",
|
||||
field: "useStartTime",
|
||||
type: "jsx",
|
||||
render: ({ row }) => {
|
||||
return (
|
||||
<span>
|
||||
{row.useStartTime}至{row.useEndTime}
|
||||
</span>
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
title: "状态",
|
||||
align: "center",
|
||||
field: "status",
|
||||
type: "jsx",
|
||||
width: "120px",
|
||||
render: ({ row }) => {
|
||||
if (row.status == 0) {
|
||||
return <span>关闭</span>;
|
||||
} else if (row.status == 1) {
|
||||
return <span>开启</span>;
|
||||
}
|
||||
let changeState = () => {
|
||||
if (row.status == 1) {
|
||||
this.$confirm("是否要启用此优惠卷?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$api.coupon
|
||||
.couponStatus({
|
||||
id: row.id,
|
||||
status: 1,
|
||||
})
|
||||
.then((res) => {
|
||||
this.$refs.oTable.reload();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$refs.oTable.reload();
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$refs.oTable.reload();
|
||||
});
|
||||
} else {
|
||||
this.$confirm("是否要关闭此优惠卷?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.$api.coupon
|
||||
.couponStatus({
|
||||
id: row.id,
|
||||
status: 0,
|
||||
})
|
||||
.then((res) => {
|
||||
this.$refs.oTable.reload();
|
||||
})
|
||||
.catch((err) => {
|
||||
this.$refs.oTable.reload();
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.$refs.oTable.reload();
|
||||
});
|
||||
}
|
||||
};
|
||||
return (
|
||||
<el-switch
|
||||
onchange={changeState}
|
||||
v-model={row.status}
|
||||
active-text="开"
|
||||
inactive-text="关"
|
||||
active-value={1}
|
||||
inactive-value={0}
|
||||
></el-switch>
|
||||
);
|
||||
},
|
||||
},
|
||||
{
|
||||
|
|
|
@ -191,7 +191,7 @@ export default {
|
|||
minPrice: 0,
|
||||
usableRange: "PARTIAL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
||||
};
|
||||
this.$refs.modal.resetFields();
|
||||
// this.$refs.modal.resetFields();
|
||||
});
|
||||
this.isAdd = true;
|
||||
},
|
||||
|
|
|
@ -0,0 +1,307 @@
|
|||
<template>
|
||||
<div>
|
||||
<obj-modal
|
||||
ref="modal"
|
||||
labelWidth="150px"
|
||||
:modalConfig="modalConfig"
|
||||
:modalData="modalData"
|
||||
:modalHandles="modalHandles"
|
||||
>
|
||||
<template slot="dialog__content">
|
||||
<el-form :model="modalData" ref="modalForm">
|
||||
<el-form-item label-width="150px" label="可用范围" prop="name">
|
||||
<div>
|
||||
<el-radio
|
||||
v-model="modalData.usableRange"
|
||||
label="PARTIAL_GOODS"
|
||||
border
|
||||
size="medium"
|
||||
>全部商品</el-radio
|
||||
>
|
||||
<el-radio
|
||||
v-model="modalData.usableRange"
|
||||
label="ALL_GOODS"
|
||||
border
|
||||
size="medium"
|
||||
>部分商品</el-radio
|
||||
>
|
||||
<el-radio
|
||||
v-model="modalData.usableRange"
|
||||
label="PARTIAL_SHOP"
|
||||
border
|
||||
size="medium"
|
||||
>部分摊位</el-radio
|
||||
>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="优惠卷名称" prop="name">
|
||||
<el-input
|
||||
style="width: 350px"
|
||||
v-model="modalData.name"
|
||||
placeholder="请输入优惠券名称"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="使用日期" prop="name">
|
||||
<el-date-picker
|
||||
@change="usageDateChange"
|
||||
v-model="usageDate"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="开放领取日期" prop="name">
|
||||
<el-date-picker
|
||||
@change="collectionDateChange"
|
||||
v-model="collectionDate"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="至"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
>
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="优惠设置" prop="name">
|
||||
<el-col class="line" :span="1">满</el-col>
|
||||
<el-col :span="7">
|
||||
<el-input placeholder="请输入" v-model="modalData.minPrice">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-col>
|
||||
<el-col class="line" :span="1"></el-col>
|
||||
<el-col class="line" :span="1">减</el-col>
|
||||
<el-col :span="7">
|
||||
<el-input placeholder="请输入" v-model="modalData.money">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</el-col>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="选择商品" prop="targetIds">
|
||||
<el-input
|
||||
style="width: 350px"
|
||||
placeholder="请选择选择商品"
|
||||
v-model="modalData.targetIds"
|
||||
>
|
||||
<template slot="append">
|
||||
<el-button @click="selectProduct">请选择</el-button>
|
||||
</template>
|
||||
</el-input>
|
||||
<div v-if="product.name" class="product">
|
||||
<div>
|
||||
<el-image
|
||||
style="width: 80px; height: 80px; margin-right: 10px"
|
||||
:src="product.productPhotoList[0].url"
|
||||
>
|
||||
</el-image>
|
||||
</div>
|
||||
<div>
|
||||
<div style="line-height: 20px">
|
||||
商品名称:{{ product.name }}
|
||||
</div>
|
||||
<div style="line-height: 20px">
|
||||
库存:{{ product.stockNum }}
|
||||
</div>
|
||||
<div style="line-height: 20px; color: rgba(255, 87, 51, 1)">
|
||||
¥{{ product.minSalePrice }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="发放数量" prop="targetIds">
|
||||
<el-input-number
|
||||
v-model="modalData.total"
|
||||
:min="0"
|
||||
:max="99999"
|
||||
label="请输入"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="每人限领" prop="targetIds">
|
||||
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in [
|
||||
{
|
||||
label: '不限',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '1张',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '2张',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: '3张',
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
label: '4张',
|
||||
value: 4,
|
||||
},
|
||||
{
|
||||
label: '5张',
|
||||
value: 5,
|
||||
},
|
||||
]"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</obj-modal>
|
||||
<!-- 选择商品 -->
|
||||
<commodity @getProduct="getProduct" ref="commodity"></commodity>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import commodity from "./commodity.vue";
|
||||
import { debounce, cloneDeep } from "lodash";
|
||||
import { Divider } from "element-ui";
|
||||
import loginVue from "../../../common/login.vue";
|
||||
export default {
|
||||
components: { commodity },
|
||||
data() {
|
||||
return {
|
||||
isAdd: true,
|
||||
//表格属性
|
||||
modalConfig: {
|
||||
title: "添加优惠卷",
|
||||
show: false,
|
||||
width: "800px",
|
||||
},
|
||||
formInline: {
|
||||
marketId: "",
|
||||
shopId: "",
|
||||
},
|
||||
modalData: {},
|
||||
usageDate: [], //使用时间
|
||||
collectionDate: [], //领取日期
|
||||
product: {}, //商品
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
queryTableData(pageNo, pageSize) {},
|
||||
toggle(e) {
|
||||
if (this.modalConfig.show == false) {
|
||||
this.modalConfig.show = true;
|
||||
} else {
|
||||
this.modalConfig.show = false;
|
||||
}
|
||||
if (e) {
|
||||
this.init(cloneDeep(e));
|
||||
}
|
||||
return {
|
||||
add: (row) => {
|
||||
this.formInline = {
|
||||
marketId: row.marketId,
|
||||
shopId: row.shopId,
|
||||
};
|
||||
this.modalConfig.title = `添加${row.label}`;
|
||||
this.$nextTick(() => {
|
||||
this.modalData = {
|
||||
category: "NO_THRESHOLD",
|
||||
receiveType: "MANUAL",
|
||||
couponType: "MONEY",
|
||||
isTimeReceive: 1, //0-不限时,1-限时
|
||||
name: "",
|
||||
useStartTime: "",
|
||||
useEndTime: "",
|
||||
receiveStartTime: "",
|
||||
receiveEndTime: "",
|
||||
money: "",
|
||||
total: 10000,
|
||||
limitedNum: 0,
|
||||
minPrice: 0,
|
||||
usableRange: "PARTIAL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
||||
};
|
||||
// this.$refs.modal.resetFields();
|
||||
});
|
||||
this.isAdd = true;
|
||||
},
|
||||
update: () => {
|
||||
this.isAdd = false;
|
||||
},
|
||||
};
|
||||
},
|
||||
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 = "";
|
||||
}
|
||||
},
|
||||
//选择商品
|
||||
selectProduct() {
|
||||
console.log("123");
|
||||
this.$refs.commodity.toggle().add(this.formInline);
|
||||
},
|
||||
//获取商品
|
||||
getProduct(row) {
|
||||
console.log(row);
|
||||
this.modalData.targetIds = row.id;
|
||||
this.product = row;
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
modalHandles() {
|
||||
return [
|
||||
{
|
||||
label: "取消",
|
||||
handle: () => {
|
||||
this.toggle();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "确认添加",
|
||||
type: "primary",
|
||||
handle: () => {
|
||||
console.log(this.modalData);
|
||||
let data = { ...this.modalData };
|
||||
data.targetIds = [data.targetIds];
|
||||
console.log(this.modalData, data);
|
||||
this.$api.coupon
|
||||
.addCoupon({ ...data, ...this.formInline })
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.$emit("queryList");
|
||||
this.toggle();
|
||||
});
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
},
|
||||
asyncComputed: {},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.product {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 10px;
|
||||
border: 1px solid #ccc;
|
||||
width: 350px;
|
||||
}
|
||||
</style>
|
|
@ -0,0 +1,307 @@
|
|||
<template>
|
||||
<div>
|
||||
<obj-modal
|
||||
ref="modal"
|
||||
labelWidth="150px"
|
||||
:modalConfig="modalConfig"
|
||||
:modalData="modalData"
|
||||
:modalHandles="modalHandles"
|
||||
>
|
||||
<template slot="dialog__content">
|
||||
<el-form :model="modalData" :rules="rules" ref="modalForm">
|
||||
<el-form-item label-width="150px" label="优惠卷名称:" prop="name">
|
||||
<el-input
|
||||
style="width: 350px"
|
||||
v-model="modalData.name"
|
||||
placeholder="请输入优惠券名称"
|
||||
>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="使用时间:" prop="day">
|
||||
<el-col class="line" :span="2">领取后</el-col>
|
||||
<el-col :span="7">
|
||||
<el-input-number
|
||||
placeholder="请输入"
|
||||
controls-position="right"
|
||||
:precision="0"
|
||||
v-model="modalData.day"
|
||||
:min="0"
|
||||
:max="365"
|
||||
label="请输入"
|
||||
></el-input-number>
|
||||
</el-col>
|
||||
<el-col style="margin-left: 8px" :span="5"
|
||||
>(单位:天) 内可使用</el-col
|
||||
>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="可用范围:" prop="name">
|
||||
<div>
|
||||
<el-radio
|
||||
@change="changeThreshold"
|
||||
v-model="threshold"
|
||||
:label="false"
|
||||
border
|
||||
size="medium"
|
||||
>无门槛</el-radio
|
||||
>
|
||||
<el-radio
|
||||
@change="changeThreshold"
|
||||
v-model="threshold"
|
||||
:label="true"
|
||||
border
|
||||
size="medium"
|
||||
>有门槛</el-radio
|
||||
>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="!threshold"
|
||||
label-width="150px"
|
||||
label="优惠金额:"
|
||||
prop="money"
|
||||
>
|
||||
<el-col :span="7">
|
||||
<el-input-number
|
||||
placeholder="请输入"
|
||||
controls-position="right"
|
||||
:precision="0"
|
||||
v-model="modalData.money"
|
||||
:min="0"
|
||||
:max="99999"
|
||||
label="请输入"
|
||||
></el-input-number>
|
||||
</el-col>
|
||||
<span>(单位:元)</span>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
v-if="threshold"
|
||||
label-width="150px"
|
||||
label="优惠设置:"
|
||||
prop="money"
|
||||
>
|
||||
<el-col class="line" :span="1">满</el-col>
|
||||
<el-col :span="7">
|
||||
<el-input-number
|
||||
placeholder="请输入"
|
||||
controls-position="right"
|
||||
:precision="0"
|
||||
v-model="modalData.minPrice"
|
||||
:min="0"
|
||||
:max="99999"
|
||||
label="请输入"
|
||||
></el-input-number>
|
||||
</el-col>
|
||||
<el-col class="line" :span="1"></el-col>
|
||||
<el-col class="line" :span="1">减</el-col>
|
||||
<el-col :span="7">
|
||||
<el-input-number
|
||||
placeholder="请输入"
|
||||
controls-position="right"
|
||||
:precision="0"
|
||||
v-model="modalData.money"
|
||||
:min="0"
|
||||
:max="modalData.minPrice"
|
||||
label="请输入"
|
||||
></el-input-number>
|
||||
</el-col>
|
||||
<span>(单位:元)</span>
|
||||
</el-form-item>
|
||||
<el-form-item label-width="150px" label="发放数量:" prop="total">
|
||||
<el-input-number
|
||||
controls-position="right"
|
||||
:precision="0"
|
||||
v-model="modalData.total"
|
||||
:min="0"
|
||||
:max="99999"
|
||||
label="请输入"
|
||||
></el-input-number>
|
||||
</el-form-item>
|
||||
<el-form-item
|
||||
label-width="150px"
|
||||
label="每人限领:"
|
||||
prop="limitedNum"
|
||||
>
|
||||
<el-select v-model="modalData.limitedNum" placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in [
|
||||
{
|
||||
label: '不限',
|
||||
value: 0,
|
||||
},
|
||||
{
|
||||
label: '1张',
|
||||
value: 1,
|
||||
},
|
||||
{
|
||||
label: '2张',
|
||||
value: 2,
|
||||
},
|
||||
{
|
||||
label: '3张',
|
||||
value: 3,
|
||||
},
|
||||
{
|
||||
label: '4张',
|
||||
value: 4,
|
||||
},
|
||||
{
|
||||
label: '5张',
|
||||
value: 5,
|
||||
},
|
||||
]"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</template>
|
||||
</obj-modal>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { debounce, cloneDeep } from "lodash";
|
||||
export default {
|
||||
components: {},
|
||||
data() {
|
||||
return {
|
||||
isAdd: true,
|
||||
//表格属性
|
||||
threshold: false, //有无门槛
|
||||
modalConfig: {
|
||||
title: "添加优惠卷",
|
||||
show: false,
|
||||
width: "800px",
|
||||
},
|
||||
formInline: {
|
||||
marketId: "",
|
||||
shopId: "",
|
||||
},
|
||||
modalData: {},
|
||||
usageDate: [], //使用时间
|
||||
collectionDate: [], //领取日期
|
||||
rules: {
|
||||
name: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入优惠卷名称",
|
||||
trigger: "blur",
|
||||
},
|
||||
{ min: 1, max: 10, message: "长度10字符以内", trigger: "blur" },
|
||||
],
|
||||
day: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入领取后有效天数",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
money: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入优惠金额",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
total: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入发放数量",
|
||||
trigger: "blur",
|
||||
},
|
||||
],
|
||||
limitedNum: [
|
||||
{
|
||||
required: true,
|
||||
message: "请输入每人限领数量",
|
||||
trigger: "change",
|
||||
},
|
||||
],
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
queryTableData(pageNo, pageSize) {},
|
||||
toggle(e) {
|
||||
if (this.modalConfig.show == false) {
|
||||
this.modalConfig.show = true;
|
||||
} else {
|
||||
this.modalConfig.show = false;
|
||||
}
|
||||
if (e) {
|
||||
this.init(cloneDeep(e));
|
||||
}
|
||||
return {
|
||||
add: (row) => {
|
||||
this.formInline = {
|
||||
marketId: row.marketId,
|
||||
shopId: row.shopId,
|
||||
};
|
||||
this.modalConfig.title = `添加${row.label}`;
|
||||
this.$nextTick(() => {
|
||||
this.modalData = {
|
||||
category: "FIRST_ATTENTION",
|
||||
receiveType: "MANUAL",
|
||||
couponType: "MONEY",
|
||||
isTimeReceive: 0, //0-不限时,1-限时
|
||||
name: "",
|
||||
day: "7",
|
||||
money: "",
|
||||
total: 10000,
|
||||
limitedNum: 0,
|
||||
minPrice: 0,
|
||||
usableRange: "ALL_GOODS", //部分商品-PARTIAL_GOODS 所有商品-ALL_GOODS 部分摊位-PARTIAL_SHOP
|
||||
};
|
||||
// this.$refs.modal.resetFields();
|
||||
});
|
||||
this.isAdd = true;
|
||||
},
|
||||
update: () => {
|
||||
this.isAdd = false;
|
||||
},
|
||||
};
|
||||
},
|
||||
init(row) {},
|
||||
changeThreshold(e) {
|
||||
if (e) {
|
||||
this.modalData.minPrice = 0;
|
||||
this.modalData.money = 0;
|
||||
} else {
|
||||
this.modalData.minPrice = 0;
|
||||
this.modalData.money = 0;
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
modalHandles() {
|
||||
return [
|
||||
{
|
||||
label: "取消",
|
||||
handle: () => {
|
||||
this.toggle();
|
||||
},
|
||||
},
|
||||
{
|
||||
label: "确认添加",
|
||||
type: "primary",
|
||||
handle: () => {
|
||||
console.log(this.modalData);
|
||||
this.$api.coupon
|
||||
.addCoupon({ ...this.modalData, ...this.formInline })
|
||||
.then((res) => {
|
||||
console.log(res);
|
||||
this.$emit("queryList");
|
||||
this.toggle();
|
||||
});
|
||||
},
|
||||
},
|
||||
];
|
||||
},
|
||||
},
|
||||
asyncComputed: {},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
</style>
|
|
@ -93,6 +93,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="申请时间">
|
||||
<el-date-picker
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="mini"
|
||||
style="width: 260px"
|
||||
@change="changeTime"
|
||||
|
@ -104,7 +105,10 @@
|
|||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="mini" type="primary" @click="init"
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
@click="getWithdrawalRecord"
|
||||
>查询</el-button
|
||||
>
|
||||
<el-button size="mini" type="primary" @click="Reset"
|
||||
|
@ -113,7 +117,12 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<div>
|
||||
<el-table border :data="tableData" style="width: 100%">
|
||||
<el-table
|
||||
border
|
||||
height="47vh"
|
||||
:data="tableData"
|
||||
style="width: 100%"
|
||||
>
|
||||
<el-table-column
|
||||
align="center"
|
||||
prop="cashOutOrderNumber"
|
||||
|
@ -174,12 +183,13 @@
|
|||
:model="formInline"
|
||||
class="demo-form-inline"
|
||||
>
|
||||
<el-form-item label="申请时间">
|
||||
<el-form-item label="订单时间">
|
||||
<el-date-picker
|
||||
style="width: 260px"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="mini"
|
||||
@change="changeTime"
|
||||
v-model="value1"
|
||||
style="width: 260px"
|
||||
@change="changeTimeTwo"
|
||||
v-model="value2"
|
||||
type="datetimerange"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
|
@ -187,7 +197,7 @@
|
|||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button size="mini" type="primary" @click="queryList"
|
||||
<el-button size="mini" type="primary" @click="init"
|
||||
>查询</el-button
|
||||
>
|
||||
</el-form-item>
|
||||
|
@ -217,12 +227,13 @@
|
|||
<div style="font-size: 16px; margin: 0 0 20px 0; font-weight: 600">
|
||||
钱包账单
|
||||
</div>
|
||||
<div style="background: #fff; padding: 10px; height: 55vh">
|
||||
<div style="background: #fff; padding: 10px; height: 51vh;min-width: 400px;
|
||||
overflow-y:scroll;">
|
||||
<div
|
||||
v-for="item in billList"
|
||||
:key="item.id"
|
||||
style="
|
||||
min-width: 380px;
|
||||
min-width: 380px;
|
||||
background: #f1f8fe;
|
||||
padding: 10px;
|
||||
border-radius: 10px;
|
||||
|
@ -241,6 +252,18 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="pagination-container">
|
||||
<el-pagination
|
||||
:current-page="form.pageNumber"
|
||||
:page-sizes="[10, 20, 30, 50]"
|
||||
:page-size="form.pageSize"
|
||||
:total="totalTwo"
|
||||
background
|
||||
layout="total, sizes, prev, pager, next, jumper"
|
||||
@size-change="handleSizeChangeTwo"
|
||||
@current-change="handleCurrentChangeTwo"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
@ -255,6 +278,7 @@ export default {
|
|||
components: { withdrawal },
|
||||
data() {
|
||||
return {
|
||||
value2: [],
|
||||
value1: [],
|
||||
userInfo: {},
|
||||
tableData: [],
|
||||
|
@ -263,18 +287,24 @@ export default {
|
|||
query: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
cashOutStatus: "",
|
||||
},
|
||||
formInline: {
|
||||
cashOutStatus: "",
|
||||
startCashOutTime: "",
|
||||
endCashOutTime: "",
|
||||
},
|
||||
form: {
|
||||
pageNumber: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
formTimeData: {},
|
||||
total: 0,
|
||||
totalTwo: 0,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.init();
|
||||
this.getWithdrawalRecord();
|
||||
},
|
||||
methods: {
|
||||
init() {
|
||||
|
@ -282,28 +312,48 @@ export default {
|
|||
this.$api.wallet.myWallet().then((res) => {
|
||||
this.userInfo = res.data.data;
|
||||
});
|
||||
this.$api.wallet.WithdrawalRecord(this.query).then((res) => {
|
||||
this.tableData = res.data.data.data;
|
||||
});
|
||||
this.$api.wallet.totalAmount({ amountChangeType: "" }).then((res) => {
|
||||
this.TotalData = res.data.data;
|
||||
});
|
||||
this.$api.wallet.getBankInfo().then((res) => {
|
||||
console.log(res, "bull");
|
||||
this.billList = res.data.data.data;
|
||||
// this.total = res.data.data;
|
||||
});
|
||||
this.$api.wallet
|
||||
.totalAmount({ amountChangeType: "", ...this.formTimeData })
|
||||
.then((res) => {
|
||||
this.TotalData = res.data.data;
|
||||
});
|
||||
this.$api.wallet
|
||||
.getBankInfo({ ...this.form, ...this.formTimeData })
|
||||
.then((res) => {
|
||||
console.log(res, "bull");
|
||||
this.billList = res.data.data.data;
|
||||
this.totalTwo = Number(res.data.data.total);
|
||||
});
|
||||
},
|
||||
getWithdrawalRecord() {
|
||||
this.$api.wallet
|
||||
.WithdrawalRecord({ ...this.query, ...this.formInline })
|
||||
.then((res) => {
|
||||
this.tableData = res.data.data.data;
|
||||
this.total = Number(res.data.data.total);
|
||||
});
|
||||
},
|
||||
handleSizeChange(val) {
|
||||
this.query.pageSize = val;
|
||||
this.init();
|
||||
this.getWithdrawalRecord();
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.query.pageNumber = val;
|
||||
this.getWithdrawalRecord();
|
||||
},
|
||||
handleSizeChangeTwo(val) {
|
||||
this.form.pageSize = val;
|
||||
this.init();
|
||||
},
|
||||
queryList() {},
|
||||
Reset() {},
|
||||
handleCurrentChangeTwo(val) {
|
||||
this.form.pageNumber = val;
|
||||
this.init();
|
||||
},
|
||||
Reset() {
|
||||
this.value1 = [];
|
||||
this.formInline = {};
|
||||
this.getWithdrawalRecord();
|
||||
},
|
||||
addWithdrawal() {
|
||||
this.$api.mer_admin
|
||||
.bankCardPage({
|
||||
|
@ -340,15 +390,24 @@ export default {
|
|||
return "提现成功";
|
||||
}
|
||||
},
|
||||
changeTime(row) {
|
||||
if (row) {
|
||||
this.formInline.startCashOutTime = row[0];
|
||||
this.formInline.endCashOutTime = row[1];
|
||||
changeTime(e) {
|
||||
if (e) {
|
||||
this.formInline.startCashOutTime = e[0];
|
||||
this.formInline.endCashOutTime = e[1];
|
||||
} else {
|
||||
this.formInline.startCashOutTime = "";
|
||||
this.formInline.endCashOutTime = "";
|
||||
}
|
||||
},
|
||||
changeTimeTwo(e) {
|
||||
if (e) {
|
||||
this.formTimeData.startBillOrderTime = e[0];
|
||||
this.formTimeData.endBillOrderTime = e[1];
|
||||
} else {
|
||||
this.formTimeData.startBillOrderTime = "";
|
||||
this.formTimeData.endBillOrderTime = "";
|
||||
}
|
||||
},
|
||||
getBillStatus(row) {
|
||||
if (row == 1) {
|
||||
return "待同步";
|
||||
|
|
Loading…
Reference in New Issue