Commit db5e966d by 吕明尚

优惠卷管理增加显示适用门店

parent dbfc4f6d
...@@ -9,6 +9,13 @@ export function listCoupon(query) { ...@@ -9,6 +9,13 @@ export function listCoupon(query) {
}) })
} }
export function queryshopdeal() {
return request({
url: '/system/coupon/queryshopdeal',
method: 'get'
})
}
export function listDuration(query) { export function listDuration(query) {
return request({ return request({
url: '/system/coupon/list/duration', url: '/system/coupon/list/duration',
......
...@@ -15,11 +15,10 @@ export function listStore(query) { ...@@ -15,11 +15,10 @@ export function listStore(query) {
}) })
} }
export function storeList(query) { export function storeList() {
return request({ return request({
url: '/system/store/query', url: '/system/store/query',
method: 'get', method: 'get'
params: query
}) })
} }
......
...@@ -245,7 +245,7 @@ ...@@ -245,7 +245,7 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="数量" prop="number"> <el-form-item label="数量" prop="number">
<el-input-number v-model="form.number" :min="0" :max="9999" label="优惠卷数量"/> <el-input-number v-model="form.number" :min="1" :max="9999" label="优惠卷数量"/>
<!-- <el-input v-model="form.number" type="textarea" placeholder="请输入数量" />--> <!-- <el-input v-model="form.number" type="textarea" placeholder="请输入数量" />-->
</el-form-item> </el-form-item>
<el-form-item label="说明" prop="remark"> <el-form-item label="说明" prop="remark">
...@@ -318,6 +318,15 @@ export default { ...@@ -318,6 +318,15 @@ export default {
duration: [ duration: [
{required: true, message: "时长不能为空", trigger: "blur"} {required: true, message: "时长不能为空", trigger: "blur"}
], ],
number: [
{required: true, message: "数量不能为空", trigger: "blur"}
],
startDate: [
{required: true, message: "有效期开始不能为空", trigger: "change"}
],
endDate: [
{required: true, message: "有效期结束不能为空", trigger: "change"}
],
} }
}; };
}, },
......
...@@ -133,6 +133,14 @@ ...@@ -133,6 +133,14 @@
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="适用门店" align="center" prop="storeIdEnum" width="350">
<template slot-scope="scope">
<div v-if="scope.row.storeIdEnum" style="display: flex;flex-wrap: wrap;width: 100%;">
<dict-tag style="margin: 0 3px;" v-for="(item ,k) in scope.row.storeIdEnum" :key="k" :options="storeList"
:value="item"/>
</div>
</template>
</el-table-column>
<el-table-column label="有效开始时段" align="center" prop="validStartTime" width="180"/> <el-table-column label="有效开始时段" align="center" prop="validStartTime" width="180"/>
<el-table-column label="有效结束时段" align="center" prop="validEndTime" width="180"/> <el-table-column label="有效结束时段" align="center" prop="validEndTime" width="180"/>
<!-- <el-table-column label="数量" align="center" prop="number"/>--> <!-- <el-table-column label="数量" align="center" prop="number"/>-->
...@@ -197,6 +205,9 @@ ...@@ -197,6 +205,9 @@
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="美团团购id" prop="dealgroupId">
<el-input @focus="openShopDeal()" v-model="form.dealgroupId" placeholder="请输入美团团购id"/>
</el-form-item>
<el-form-item label="订单类型" prop="orderType"> <el-form-item label="订单类型" prop="orderType">
<el-select v-model="form.orderType" placeholder="请选择订单类型" clearable> <el-select v-model="form.orderType" placeholder="请选择订单类型" clearable>
<el-option <el-option
...@@ -257,15 +268,18 @@ ...@@ -257,15 +268,18 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<queryShopDeal ref="select" @select="queryShopDeal"/>
</div> </div>
</template> </template>
<script> <script>
import {storeList} from '@/api/system/store'
import {listGroup, getCoupon, delCoupon, addCoupon, updateCoupon} from "@/api/system/coupon"; import {listGroup, getCoupon, delCoupon, addCoupon, updateCoupon} from "@/api/system/coupon";
import {query} from '@/api/system/pack' import {query} from '@/api/system/pack';
import queryShopDeal from "./queryShopDeal";
export default { export default {
name: "Coupon", name: "Coupon",
components: {queryShopDeal},
dicts: ['store_coupon_type', 'store_type', 'store_room_type', 'store_platform_type', 'cash_coupon_type', 'store_order_type', 'coupon_use_status'], dicts: ['store_coupon_type', 'store_type', 'store_room_type', 'store_platform_type', 'cash_coupon_type', 'store_order_type', 'coupon_use_status'],
data() { data() {
return { return {
...@@ -286,6 +300,8 @@ export default { ...@@ -286,6 +300,8 @@ export default {
// 优惠券表格数据 // 优惠券表格数据
couponList: [], couponList: [],
packList: [], packList: [],
storeList: [],
storeIdEnum: [],
// 弹出层标题 // 弹出层标题
title: "", title: "",
// 是否显示弹出层 // 是否显示弹出层
...@@ -327,6 +343,7 @@ export default { ...@@ -327,6 +343,7 @@ export default {
created() { created() {
this.getList(); this.getList();
this.onPackList(); this.onPackList();
this.onStoreList();
}, },
methods: { methods: {
onChangeStoreType(e) { onChangeStoreType(e) {
...@@ -342,11 +359,34 @@ export default { ...@@ -342,11 +359,34 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
listGroup(this.queryParams).then(response => { listGroup(this.queryParams).then(response => {
this.couponList = response.rows; this.couponList = response.rows.map(item => {
return {
...item,
storeIdEnum: item.storeIdEnum ? item.storeIdEnum.split(",") : []
}
});
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
}); });
}, },
onStoreList() {
storeList().then(res => {
this.storeList = res.data.map(obj => {
return {
...obj,
raw: {
dictSort: 1,
dictValue: "1",
listClass: "primary",
cssClass: ''
},
value: obj.id.toString(),
label: obj.name,
}
})
this.$forceUpdate();
})
},
onPackList() { onPackList() {
query().then(res => { query().then(res => {
this.packList = res.data.map(obj => { this.packList = res.data.map(obj => {
...@@ -479,6 +519,18 @@ export default { ...@@ -479,6 +519,18 @@ export default {
this.download('system/coupon/export', { this.download('system/coupon/export', {
...this.queryParams ...this.queryParams
}, `coupon_${new Date().getTime()}.xlsx`) }, `coupon_${new Date().getTime()}.xlsx`)
},
openShopDeal() {
this.$refs.select.show();
},
queryShopDeal(name, startDate, endDate, subPrice, dealgroupId, storeIdEnum) {
this.form.name = name;
this.form.startDate = startDate;
this.form.endDate = endDate;
this.form.subPrice = subPrice;
this.form.dealgroupId = dealgroupId;
this.form.storeIdEnum = storeIdEnum;
} }
} }
}; };
......
<template>
<!-- 授权用户 -->
<el-dialog title="美团所有团购信息" :visible.sync="visible" width="80%" top="5vh" append-to-body>
<el-row>
<el-table @row-click="clickRow" ref="table" :data="dataList" height="500px">
<el-table-column label="套餐名称" align="center" prop="name"/>
<el-table-column label="有效期开始" align="center" prop="startDate">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="有效期结束" align="center" prop="endDate">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="套餐价格" align="center" prop="subPrice"/>
<el-table-column label="团购ID" align="center" prop="dealgroupId"/>
<el-table-column label="适用门店id" align="center" prop="storeIdEnum">
</el-table-column>
</el-table>
</el-row>
</el-dialog>
</template>
<script>
import {queryshopdeal} from "@/api/system/coupon";
export default {
data() {
return {
// 遮罩层
visible: false,
// 总条数
total: 0,
// 团购劵信息
dataList: [],
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
phone: undefined
}
};
},
methods: {
// 显示弹框
show() {
this.getList();
this.visible = true;
},
clickRow(row) {
this.$emit('select', row.name, row.startDate, row.endDate, row.subPrice, row.dealgroupId, row.storeIdEnum);
this.visible = false;
},
// 查询表数据
getList() {
queryshopdeal().then(res => {
this.dataList = res.data;
this.total = res.total;
});
},
}
};
</script>
...@@ -570,9 +570,10 @@ export default { ...@@ -570,9 +570,10 @@ export default {
openShopUuid() { openShopUuid() {
this.$refs.select.show(); this.$refs.select.show();
}, },
selectOpenShopUuids(openShopUuid, cityname, shopaddress) { selectOpenShopUuids(openShopUuid, cityname, shopaddress, branchname) {
this.form.openShopUuid = openShopUuid; this.form.openShopUuid = openShopUuid;
this.form.address = cityname + shopaddress; this.form.address = cityname + shopaddress;
this.form.name = branchname;
this.onSearchMapAddress(); this.onSearchMapAddress();
} }
} }
......
...@@ -41,7 +41,7 @@ export default { ...@@ -41,7 +41,7 @@ export default {
this.visible = true; this.visible = true;
}, },
clickRow(row) { clickRow(row) {
this.$emit('select',row.open_shop_uuid, row.cityname, row.shopaddress); this.$emit('select', row.open_shop_uuid, row.cityname, row.shopaddress, row.branchname);
this.visible = false; this.visible = false;
}, },
// 查询表数据 // 查询表数据
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment