添加:赠送记录

This commit is contained in:
wuhui_zzw 2023-11-14 11:54:05 +08:00
parent a13ed07f13
commit 60efd770ae
3 changed files with 293 additions and 20 deletions

View File

@ -1,4 +1,3 @@
import request from './request'
/**
@ -7,18 +6,21 @@ import request from './request'
export function couponListApi(data) {
return request.get('store/coupon/lst', data)
}
/**
* @description 优惠券模板 -- 新增表单
*/
export function couponCreateApi() {
return request.get('store/coupon/create/form')
}
/**
* @description 优惠券模板 -- 编辑表单
*/
export function couponUpdateApi(id) {
return request.get(`store/coupon/update/${id}/form`)
}
/**
* @description 优惠券模板 -- 发布优惠券
*/
@ -32,66 +34,77 @@ export function couponIssueApi(id) {
export function couponIssueListApi(data) {
return request.get('store/coupon/lst', data)
}
/**
* @description 已发布优惠券 -- 修改状态
*/
export function couponIssueStatusApi(id, status) {
return request.post(`store/coupon/status/${id}`, { status })
return request.post(`store/coupon/status/${id}`, {status})
}
/**
* @description 已发布优惠券 -- 添加优惠券
*/
export function couponIssuePushApi() {
return request.get(`store/coupon/create/form`)
}
/**
* @description 优惠券列表 -- 删除
*/
export function couponIssueDeleteApi(id) {
return request.delete(`store/coupon/issue/${id}`)
}
/**
* @description 优惠券列表 -- 复制
*/
export function couponCloneApi(id) {
return request.get(`store/coupon/clone/form/${id}`)
}
/**
* @description 优惠券列表 -- 领取记录
*/
export function issueApi(data) {
return request.get(`store/coupon/issue`, data)
}
/**
* @description 赠送优惠券组件列表 -- 列表
*/
export function couponSelectApi(data) {
return request.get(`store/coupon/select`, data)
}
/**
* @description 优惠券列表 -- 详情
*/
export function couponDetailApi(coupon_id) {
return request.get(`store/coupon/detail/${coupon_id}`)
}
/**
* @description 优惠劵 -- 删除
*/
export function couponDeleteApi(coupon_id) {
return request.delete(`store/coupon/delete/${coupon_id}`)
}
/**
* @description 优惠劵 -- 发送
*/
export function couponSendApi(data) {
return request.post(`store/coupon/send`, data)
}
/**
* @description 优惠券发送记录 -- 列表
*/
export function couponSendLstApi(data) {
return request.get(`store/coupon_send/lst`, data)
}
/**
* @description 直播间 -- 创建直播间
*/
@ -105,59 +118,68 @@ export function createBroadcastApi() {
export function broadcastListApi(data) {
return request.get(`broadcast/room/lst`, data)
}
/**
* @description 直播间 -- 直播间详情
*/
export function broadcastDetailApi(id) {
return request.get(`broadcast/room/detail/${id}`)
}
/**
* @description 直播间 -- 备注
*/
export function broadcastRemarksApi(id, mark) {
return request.post(`broadcast/room/mark/${id}`, { mark })
return request.post(`broadcast/room/mark/${id}`, {mark})
}
/**
* @description 直播间商品 -- 创建直播间商品
*/
export function createBroadcastProApi() {
return request.get(`broadcast/goods/create/form`)
}
/**
* @description 直播间商品 -- 编辑
*/
export function updateBroadcastApi(id) {
return request.get(`broadcast/goods/update/form/${id}`)
}
/**
* @description 直播间商品 -- 直播间商品列表
*/
export function broadcastProListApi(data) {
return request.get(`broadcast/goods/lst`, data)
}
/**
* @description 直播间商品 -- 直播间商品详情
*/
export function broadcastProDetailApi(id) {
return request.get(`broadcast/goods/detail/${id}`)
}
/**
* @description 直播间商品 -- 修改显示状态上下架
*/
export function changeProDisplayApi(id, data) {
return request.post(`broadcast/goods/status/${id}`, data)
}
/**
* @description 直播间 -- 商品导入
*/
export function broadcastGoodsImportApi(data) {
return request.post(`broadcast/room/export_goods`, data)
}
/**
* @description 直播间 -- 备注
*/
export function broadcastProRemarksApi(id, mark) {
return request.post(`broadcast/goods/mark/${id}`, { mark })
return request.post(`broadcast/goods/mark/${id}`, {mark})
}
/**
@ -166,251 +188,298 @@ export function broadcastProRemarksApi(id, mark) {
export function changeStudioRoomDisplayApi(id, data) {
return request.post(`broadcast/room/status/${id}`, data)
}
/**
* @description 直播间 -- 直播间商品
*/
export function studioProList(id, data) {
return request.get(`broadcast/room/goods/${id}`, data)
}
/**
* @description 直播间商品 -- 删除
*/
export function broadcastProDeleteApi(broadcast_goods_id) {
return request.delete(`broadcast/goods/delete/${broadcast_goods_id}`)
}
/**
* @description 直播间 -- 删除
*/
export function broadcastDeleteApi(broadcast_room_id) {
return request.delete(`broadcast/room/delete/${broadcast_room_id}`)
}
/**
* @description 直播间商品 -- 批量添加
*/
export function batchAddBroadcastGoodsApi(data) {
return request.post(`broadcast/goods/batch_create`, data)
}
/**
* @description 直播间 -- 开启收录
*/
export function openCollectionApi(id, status) {
return request.post(`broadcast/room/feedsPublic/${id}`, { status })
return request.post(`broadcast/room/feedsPublic/${id}`, {status})
}
/**
* @description 直播间 -- 商品上下架
*/
export function studioProShowApi(id, data) {
return request.post(`broadcast/room/on_sale/${id}`, data)
}
/**
* @description 直播间 -- 禁言
*/
export function openCommontApi(id, status) {
return request.post(`broadcast/room/comment/${id}`, { status })
return request.post(`broadcast/room/comment/${id}`, {status})
}
/**
* @description 直播间 -- 客服开关
*/
export function studioCloseKfApi(id, status) {
return request.post(`broadcast/room/closeKf/${id}`, { status })
return request.post(`broadcast/room/closeKf/${id}`, {status})
}
/**
* @description 直播间 -- 推送消息
*/
export function studioPushMessageApi(id) {
return request.get(`broadcast/room/push_message/${id}`)
}
/**
* @description 直播间已导入商品 -- 删除
*/
export function broadcastGoodsDeleteApi(data) {
return request.post(`broadcast/room/rm_goods`, data)
}
/**
* @description 直播间 -- 编辑
*/
export function studioEdit(id) {
return request.get(`broadcast/room/update/form/${id}`)
}
/**
* @description 直播间 -- 添加助手
*/
export function studioAssistantAdd() {
return request.get(`broadcast/assistant/create/form`)
}
/**
* @description 直播间 -- 编辑助手
*/
export function studioAssistantUpdate(id) {
return request.get(`broadcast/assistant/update/${id}/form`)
}
/**
* @description 直播间 -- 删除助手
*/
export function studioAssistantDelete(id) {
return request.delete(`broadcast/assistant/delete/${id}`)
}
/**
* @description 直播间 -- 直播助手列表
*/
export function studioAssistant(data) {
return request.get(`broadcast/assistant/lst`, data)
}
/**
* @description 直播间 -- 编辑直播助手
*/
export function studioEditAssistant(id) {
return request.get(`broadcast/room/addassistant/form/${id}`)
}
/**
* @description 拼团 -- 获取数据
*/
export function combinationDataApi() {
return request.get(`config/others/group_buying`)
}
/**
* @description 拼团 -- 创建拼团商品
*/
export function combinationCreateProApi(data) {
return request.post(`store/product/group/create`, data)
}
/**
* @description 拼团 -- 编辑拼团商品
*/
export function combinationProUpdateApi(id, data) {
return request.post(`store/product/group/update/${id}`, data)
}
/**
* @description 拼团 -- 商品列表
*/
export function combinationProLst(data) {
return request.get(`store/product/group/lst`, data)
}
/**
* @description 拼团 -- 商品列表查看详情
*/
export function combinationProDetailApi(id) {
return request.get(`store/product/group/detail/${id}`)
}
/**
* @description 拼团 -- 商品列表删除
*/
export function combinationProDeleteApi(id) {
return request.delete(`store/product/group/delete/${id}`)
}
/**
* @description 拼团商品列表 -- 显示状态上下架
*/
export function combinationStatusApi(id, status) {
return request.post(`store/product/group/status/${id}`, { status })
return request.post(`store/product/group/status/${id}`, {status})
}
/**
* @description 拼团活动 -- 活动列表
*/
export function combinationActivityLst(data) {
return request.get(`store/product/group/buying/lst`, data)
}
/**
* @description 拼团活动 -- 查看详情
*/
export function combinationDetailApi(id, data) {
return request.get(`store/product/group/buying/detail/${id}`, data)
}
/**
* @description 秒杀活动 -- 查看详情
*/
export function seckillDetailApi(id, data) {
return request.get(`store/seckill_product/detail/${id}`, data)
}
/**
* @description 拼团商品 -- 列表排序
*/
export function combinationProSort(id, data) {
return request.post(`/store/product/group/sort/${id}`, data)
}
/**
* @description 秒杀商品 -- 列表排序
*/
export function seckillProSort(id, data) {
return request.post(`/store/seckill_product/sort/${id}`, data)
}
/**
* @description 预售商品 -- 列表排序
*/
export function presellProSort(id, data) {
return request.post(`/store/product/presell/sort/${id}`, data)
}
/**
* @description 助力商品 -- 列表排序
*/
export function assistProSort(id, data) {
return request.post(`/store/product/assist/sort/${id}`, data)
}
/**
* @description 优惠券详情 -- 关联商品列表
*/
export function couponRelateProLst(id, data) {
return request.get(`/store/coupon/product/${id}`, data)
}
/**
* @description 积分 -- 积分配置
*/
export function integralConfigApi(key) {
return request.get(`config/${key}`)
}
/**
* @description 积分 -- 积分统计
*/
export function integralTitleApi() {
return request.get(`integral/title`)
}
/**
* @description 积分 -- 积分列表
*/
export function integralLstApi(data) {
return request.get(`integral/lst`, data)
}
/**
* @description 创建套餐 -- 获取商品规格
*/
export function productAttrsApi(id) {
export function productAttrsApi(id) {
return request.get(`store/product/attr_value/${id}`)
}
/**
* @description 创建套餐 -- 获取商品规格
*/
export function discountsSave(data) {
return request.post(`discounts/create`,data)
export function discountsSave(data) {
return request.post(`discounts/create`, data)
}
/**
* @description 套餐列表 -- 列表数据
*/
export function discountsList(data) {
return request.get(`discounts/lst`,data)
export function discountsList(data) {
return request.get(`discounts/lst`, data)
}
/**
* @description 套餐列表 -- 显示状态上下架
*/
export function discountsChangeStatus(id, status) {
return request.post(`discounts/status/${id}`, { status })
export function discountsChangeStatus(id, status) {
return request.post(`discounts/status/${id}`, {status})
}
/**
* @description 套餐列表 -- 详情
*/
export function discountsGetDetails(id) {
export function discountsGetDetails(id) {
return request.get(`discounts/detail/${id}`)
}
/**
* @description 套餐列表 -- 删除
*/
export function discountsDelete(id) {
export function discountsDelete(id) {
return request.delete(`discounts/delete/${id}`)
}
/**
* @description 创建套餐 -- 获取商品规格
*/
export function discountsUpdate(id, data) {
return request.post(`discounts/update/${id}`,data)
export function discountsUpdate(id, data) {
return request.post(`discounts/update/${id}`, data)
}
/**
* @description 创建套餐 -- 获取商品规格
*/
export function getIntegralGiveRecord(data) {
return request.get(`integral/give_list`, data)
}

View File

@ -301,6 +301,15 @@ const marketingRouter =
noCache: true
},
component: () => import('@/views/marketing/integral/log/index')
},
{
path: 'give',
name: `integralGive`,
meta: {
title: '赠送记录',
noCache: true
},
component: () => import('@/views/marketing/integral/give/index')
}
]
},
@ -334,7 +343,7 @@ const marketingRouter =
component: () => import('@/views/marketing/discounts/create')
}
]
},
}
]
}

View File

@ -0,0 +1,195 @@
<template>
<div class="divBox">
<el-card class="box-card">
<!--顶部搜索栏-->
<div slot="header" class="clearfix">
<div class="container">
<el-form inline size="small" label-width="80px">
<el-form-item label="搜索:">
<el-input v-model="tableFrom.operate_uid" @keyup.enter.native="getList(1)" placeholder="请输入操作员ID" class="selWidth" clearable />
<el-input v-model="tableFrom.uid" @keyup.enter.native="getList(1)" placeholder="请输入用户ID" class="selWidth" clearable>
<el-button slot="append" icon="el-icon-search" class="el-button-solt" @click="getList(1)" />
</el-input>
</el-form-item>
<el-form-item class="width100">
<!--<el-button size="small" type="primary" @click="exports">导出</el-button>-->
</el-form-item>
</el-form>
</div>
</div>
<!--列表内容-->
<el-table v-loading="listLoading" :data="tableData.data" style="width: 100%" size="mini">
<el-table-column prop="record_id" label="ID" min-width="50" align="center" />
<el-table-column label="操作员" min-width="150" align="center">
<template slot-scope="scope">
<div class="user-content">
<div class="user-avatar" v-if="scope.row.operateUser.avatar && scope.row.operateUser.avatar != 1">
<img :src="scope.row.operateUser.avatar" />
</div>
<div class="user-info">
<div class="nickname">{{ scope.row.operateUser.nickname }}</div>
<div class="user-id">ID{{ scope.row.operateUser.uid }}</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="用户信息" min-width="150" align="center">
<template slot-scope="scope">
<div class="user-content">
<div class="user-avatar" v-if="scope.row.user.avatar && scope.row.user.avatar != 1">
<img :src="scope.row.user.avatar" />
</div>
<div class="user-info">
<div class="nickname">{{ scope.row.user.nickname }}</div>
<div class="user-id">ID{{ scope.row.user.uid }}</div>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="赠送数量" prop="number" min-width="120" align="center" />
<el-table-column align="center" label="凭证" min-width="80">
<template slot-scope="scope">
<div class="upLoadPicBox">
<div class="pictrue tabPic">
<img :src="scope.row.voucher_image">
</div>
</div>
</template>
</el-table-column>
</el-table>
<div class="block">
<el-pagination
:page-sizes="[20, 40, 60, 80]"
:page-size="tableFrom.limit"
:current-page="tableFrom.page"
layout="total, sizes, prev, pager, next, jumper"
:total="tableData.total"
@size-change="handleSizeChange"
@current-change="pageChange"
/>
</div>
</el-card>
</div>
</template>
<script>
import { getIntegralGiveRecord } from '@/api/marketing'
export default {
name: 'integralGiveRecord',
data() {
return {
listLoading: true,
tableData: {
data: [],
total: 0,
},
tableFrom: {
page: 1,
limit: 20,
uid: '',
operate_uid: ''
},
loading: false,
};
},
watch: {},
mounted() {
this.getList('');
},
methods: {
//
getList(num) {
this.listLoading = true;
this.tableFrom.page = num ? num : this.tableFrom.page;
getIntegralGiveRecord(this.tableFrom)
.then((res) => {
this.tableData.data = res.data.list;
this.tableData.total = res.data.count;
this.listLoading = false;
})
.catch((res) => {
this.listLoading = false;
this.$message.error(res.message);
});
},
pageChange(page) {
this.tableFrom.page = page;
this.getList('');
},
handleSizeChange(val) {
this.tableFrom.limit = val;
this.getList('');
},
},
};
</script>
<style scoped lang="scss">
.selWidth {
width: 350px !important;
}
.seachTiele {
line-height: 35px;
}
.title {
margin-bottom: 16px;
color: #17233d;
font-size: 14px;
font-weight: bold;
}
.scollhide::-webkit-scrollbar {
display: none; /* Chrome Safari */
}
.user-content {
--user-content-height-: 80px;
height: var(--user-content-height-);
width: 100%;
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
.user-avatar {
height: var(--user-content-height-);
width: var(--user-content-height-);
display: inline-flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
align-items: center;
img {
height: 80% !important;
width: 80% !important;
border-radius: 50% !important;
}
}
.user-info {
height: var(--user-content-height-);
display: inline-flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: center;
align-items: flex-start;
.nickname {
font-size: 15px;
font-weight: bold;
line-height: calc(var(--user-content-height- * 65%));
}
.user-id {
font-size: 13px;
line-height: calc(var(--user-content-height- * 35%));
}
}
}
</style>