From 8a9ac0d564a56d1ecc22bdf19e1dc2510fa6813b Mon Sep 17 00:00:00 2001 From: wuhui_zzw <1760308791@qq.com> Date: Thu, 11 Jan 2024 10:32:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=EF=BC=9A=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=85=91=E6=8D=A2=E9=A2=9D=E5=BA=A6=E6=8C=81=E6=9C=89=E4=BF=A1?= =?UTF-8?q?=E6=81=AF&=E7=94=A8=E6=88=B7=E5=85=91=E6=8D=A2=E9=A2=9D?= =?UTF-8?q?=E5=BA=A6=E5=8F=98=E6=9B=B4=E8=AE=B0=E5=BD=95=E4=BF=A1=E6=81=AF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E6=9F=A5=E7=9C=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/marketing.js | 23 +- src/router/modules/marketing.js | 654 ++++++++++--------- src/views/marketing/exchange/index.vue | 3 + src/views/marketing/exchange/quota/index.vue | 224 +++++++ 4 files changed, 588 insertions(+), 316 deletions(-) create mode 100644 src/views/marketing/exchange/index.vue create mode 100644 src/views/marketing/exchange/quota/index.vue diff --git a/src/api/marketing.js b/src/api/marketing.js index 94f3588..c900678 100644 --- a/src/api/marketing.js +++ b/src/api/marketing.js @@ -715,13 +715,30 @@ export function integralOrderDeleteApi(id) { export function holdIntegralList(data) { return request.get(`user/integral/hold_list`, data) } - -// 持有积分 - 列表 +// 持有积分 - 统计 export function holdIntegralTitleApi(data) { return request.get(`user/integral/hold_list_title`, data) } - // 赠送积分 - 列表 export function giveIntegralList(data) { return request.get(`user/integral/give_list`, data) } + +// 兑换额度 - 顶部统计 +export function exchangeQuotaTitle() { + return request.get(`user/exchange_quota/quota_title`) +} +// 兑换额度 - 持有信息列表&变更记录列表 +export function exchangeQuotaList(apiName = 'list',data) { + // list=持有信息列表,record_list=变更记录列表 + return request.get(`user/exchange_quota/quota_${apiName}`,data) +} + + + + + + + + + diff --git a/src/router/modules/marketing.js b/src/router/modules/marketing.js index d1fbc58..75a36b8 100644 --- a/src/router/modules/marketing.js +++ b/src/router/modules/marketing.js @@ -1,238 +1,238 @@ - import Layout from '@/layout' -import { roterPre } from '@/settings' +import {roterPre} from '@/settings' + const marketingRouter = -{ - path: `${roterPre}/marketing`, - name: 'marketing', - meta: { - title: '营销' - }, - alwaysShow: true, - component: Layout, - redirect: 'noRedirect', - children: [ - { - path: 'coupon', - name: 'Coupon', - meta: { - title: '优惠券', - noCache: true - }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/coupon/index'), - children: [ - { - path: 'list', - name: 'CouponList', - meta: { - title: '优惠劵列表', - noCache: true - }, - component: () => import('@/views/marketing/coupon/couponList/index') - }, - { - path: 'user', - name: 'CouponUser', - meta: { - title: '会员领取记录', - noCache: true - }, - component: () => import('@/views/marketing/coupon/couponUser/index') - } - ] + { + path: `${roterPre}/marketing`, + name: 'marketing', + meta: { + title: '营销' }, - { - path: 'platform_coupon', - name: 'Platform_coupon', - meta: { - title: '平台优惠券', - noCache: true + alwaysShow: true, + component: Layout, + redirect: 'noRedirect', + children: [ + { + path: 'coupon', + name: 'Coupon', + meta: { + title: '优惠券', + noCache: true + }, + redirect: 'noRedirect', + component: () => import('@/views/marketing/coupon/index'), + children: [ + { + path: 'list', + name: 'CouponList', + meta: { + title: '优惠劵列表', + noCache: true + }, + component: () => import('@/views/marketing/coupon/couponList/index') + }, + { + path: 'user', + name: 'CouponUser', + meta: { + title: '会员领取记录', + noCache: true + }, + component: () => import('@/views/marketing/coupon/couponUser/index') + } + ] }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/platformCoupon/index'), - children: [ - { - path: 'list', - name: 'PlatformCouponlist', - meta: { - title: '优惠劵列表', - noCache: true - }, - component: () => import('@/views/marketing/platformCoupon/couponList/index') + { + path: 'platform_coupon', + name: 'Platform_coupon', + meta: { + title: '平台优惠券', + noCache: true }, - { - path: 'couponRecord', - name: 'CouponRecord', - meta: { - title: '优惠卷领取记录', - noCache: true + redirect: 'noRedirect', + component: () => import('@/views/marketing/platformCoupon/index'), + children: [ + { + path: 'list', + name: 'PlatformCouponlist', + meta: { + title: '优惠劵列表', + noCache: true + }, + component: () => import('@/views/marketing/platformCoupon/couponList/index') }, - component: () => import('@/views/marketing/platformCoupon/couponRecord/index') - }, - { - path: 'creatCoupon/:id?', - name: 'CreatCoupon', - meta: { - title: '添加优惠劵', - noCache: true, - activeMenu: `${roterPre}/marketing/Platform_coupon/list` + { + path: 'couponRecord', + name: 'CouponRecord', + meta: { + title: '优惠卷领取记录', + noCache: true + }, + component: () => import('@/views/marketing/platformCoupon/couponRecord/index') }, - component: () => import('@/views/marketing/platformCoupon/couponList/creatCoupon') - }, - { - path: 'couponSend', - name: 'CouponSend', - meta: { - title: '优惠券发送记录', - noCache: true + { + path: 'creatCoupon/:id?', + name: 'CreatCoupon', + meta: { + title: '添加优惠劵', + noCache: true, + activeMenu: `${roterPre}/marketing/Platform_coupon/list` + }, + component: () => import('@/views/marketing/platformCoupon/couponList/creatCoupon') }, - component: () => import('@/views/marketing/platformCoupon/couponSend/index') - }, - { - path: 'instructions', - name: 'Instructions', - meta: { - title: '使用说明', - noCache: true + { + path: 'couponSend', + name: 'CouponSend', + meta: { + title: '优惠券发送记录', + noCache: true + }, + component: () => import('@/views/marketing/platformCoupon/couponSend/index') }, - component: () => import('@/views/marketing/platformCoupon/couponInstructions/index') - } - ] - }, - { - path: 'studio', - name: 'Studio', - meta: { - title: '直播间', - noCache: true + { + path: 'instructions', + name: 'Instructions', + meta: { + title: '使用说明', + noCache: true + }, + component: () => import('@/views/marketing/platformCoupon/couponInstructions/index') + } + ] }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/studio/index'), - children: [ - { - path: 'list', - name: 'StudioList', - meta: { - title: '直播间列表', - noCache: true - }, - component: () => import('@/views/marketing/studio/studioList/index') - } - ] - }, - { - path: 'broadcast', - name: 'Broadcast', - meta: { - title: '直播', - noCache: true - }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/broadcast/index'), - children: [ - { - path: 'list', - name: 'BroadcastList', - meta: { - title: '直播商品列表', - noCache: true - }, - component: () => import('@/views/marketing/broadcast/broadcastList/index') - } - ] - }, - { - path: 'seckill', - name: 'Seckill', - meta: { - title: '秒杀管理', - noCache: true - }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/seckill/index'), - children: [ - { - path: 'seckillConfig', - name: 'SeckillConfig', - meta: { - title: '秒杀配置', - noCache: true - }, - component: () => import('@/views/marketing/seckill/seckillConfig/index') + { + path: 'studio', + name: 'Studio', + meta: { + title: '直播间', + noCache: true }, - { - path: 'list', - name: 'SpikeList', - meta: { - title: '秒杀列表', - noCache: true - }, - component: () => import('@/views/marketing/seckill/seckillGoods/index.vue') - } - ] - }, - { - path: 'presell', - name: 'preSell', - meta: { - title: '预售商品管理', - noCache: true + redirect: 'noRedirect', + component: () => import('@/views/marketing/studio/index'), + children: [ + { + path: 'list', + name: 'StudioList', + meta: { + title: '直播间列表', + noCache: true + }, + component: () => import('@/views/marketing/studio/studioList/index') + } + ] }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/seckill/index'), - children: [ - { - path: 'list', - name: `preSaleList`, - meta: { - title: '预售商品', - noCache: true - }, - component: () => import('@/views/marketing/preSale/index') + { + path: 'broadcast', + name: 'Broadcast', + meta: { + title: '直播', + noCache: true }, - { - path: 'agreement', - name: `preSaleAgreement`, - meta: { - title: '预售协议', - noCache: true - }, - component: () => import('@/views/marketing/preSale/agreement') - } - ] - }, - { - path: 'assist', - name: 'assist', - meta: { - title: '助力活动商品', - noCache: true + redirect: 'noRedirect', + component: () => import('@/views/marketing/broadcast/index'), + children: [ + { + path: 'list', + name: 'BroadcastList', + meta: { + title: '直播商品列表', + noCache: true + }, + component: () => import('@/views/marketing/broadcast/broadcastList/index') + } + ] }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/assist/index'), - children: [ - { - path: 'goods_list', - name: `assistProductList`, - meta: { - title: '助力活动商品', - noCache: true - }, - component: () => import('@/views/marketing/assist/assist_goods/index') + { + path: 'seckill', + name: 'Seckill', + meta: { + title: '秒杀管理', + noCache: true }, - { - path: 'list', - name: `assist`, - meta: { - title: '助力活动列表', - noCache: true + redirect: 'noRedirect', + component: () => import('@/views/marketing/seckill/index'), + children: [ + { + path: 'seckillConfig', + name: 'SeckillConfig', + meta: { + title: '秒杀配置', + noCache: true + }, + component: () => import('@/views/marketing/seckill/seckillConfig/index') }, - component: () => import('@/views/marketing/assist/assist_list/index') + { + path: 'list', + name: 'SpikeList', + meta: { + title: '秒杀列表', + noCache: true + }, + component: () => import('@/views/marketing/seckill/seckillGoods/index.vue') + } + ] + }, + { + path: 'presell', + name: 'preSell', + meta: { + title: '预售商品管理', + noCache: true }, - ] - }, - { + redirect: 'noRedirect', + component: () => import('@/views/marketing/seckill/index'), + children: [ + { + path: 'list', + name: `preSaleList`, + meta: { + title: '预售商品', + noCache: true + }, + component: () => import('@/views/marketing/preSale/index') + }, + { + path: 'agreement', + name: `preSaleAgreement`, + meta: { + title: '预售协议', + noCache: true + }, + component: () => import('@/views/marketing/preSale/agreement') + } + ] + }, + { + path: 'assist', + name: 'assist', + meta: { + title: '助力活动商品', + noCache: true + }, + redirect: 'noRedirect', + component: () => import('@/views/marketing/assist/index'), + children: [ + { + path: 'goods_list', + name: `assistProductList`, + meta: { + title: '助力活动商品', + noCache: true + }, + component: () => import('@/views/marketing/assist/assist_goods/index') + }, + { + path: 'list', + name: `assist`, + meta: { + title: '助力活动列表', + noCache: true + }, + component: () => import('@/views/marketing/assist/assist_list/index') + }, + ] + }, + { path: 'combination', name: 'combinAtion', meta: { @@ -271,99 +271,99 @@ const marketingRouter = }, ] }, - { - path: 'integral', - name: 'Integral', - meta: { - title: '积分', - noCache: true + { + path: 'integral', + name: 'Integral', + meta: { + title: '积分', + noCache: true + }, + redirect: 'noRedirect', + component: () => import('@/views/marketing/integral/index'), + children: [ + { + path: 'config', + name: `integralConfig`, + meta: { + title: '积分配置', + noCache: true + }, + component: () => import('@/views/marketing/integral/config/index') + }, + { + path: 'log', + name: `integralLog`, + meta: { + title: '积分日志', + noCache: true + }, + component: () => import('@/views/marketing/integral/log/index') + }, + { + path: 'hold', + name: `integralHold`, + meta: { + title: '持有积分', + noCache: true + }, + component: () => import('@/views/marketing/integral/hold/index') + }, + { + path: 'classify', + name: `integralClassify`, + meta: { + title: '积分商品分类', + noCache: true + }, + component: () => import('@/views/marketing/integral/classify/index') + }, + { + path: 'proList', + name: `integralProductList`, + meta: { + title: '积分商品列表', + noCache: true + }, + component: () => import('@/views/marketing/integral/productList/index') + }, + { + path: 'addProduct/:id?/:edit?', + name: `addIntegralProduct`, + meta: { + title: '添加积分商品', + noCache: true + }, + component: () => import('@/views/marketing/integral/addProduct/index') + }, + { + path: 'orderList', + name: `IntegralOrderList`, + meta: { + title: '兑换记录', + noCache: true + }, + component: () => import('@/views/marketing/integral/orderList/index') + }, + { + path: 'sign', + name: `signConfig`, + meta: { + title: '签到配置', + noCache: true + }, + component: () => import('@/views/marketing/integral/sign/index') + }, + { + path: 'give', + name: `integralGive`, + meta: { + title: '赠送记录', + noCache: true + }, + component: () => import('@/views/marketing/integral/give/index') + }, + ] }, - redirect: 'noRedirect', - component: () => import('@/views/marketing/integral/index'), - children: [ - { - path: 'config', - name: `integralConfig`, - meta: { - title: '积分配置', - noCache: true - }, - component: () => import('@/views/marketing/integral/config/index') - }, - { - path: 'log', - name: `integralLog`, - meta: { - title: '积分日志', - noCache: true - }, - component: () => import('@/views/marketing/integral/log/index') - }, - { - path: 'hold', - name: `integralHold`, - meta: { - title: '持有积分', - noCache: true - }, - component: () => import('@/views/marketing/integral/hold/index') - }, - { - path: 'classify', - name: `integralClassify`, - meta: { - title: '积分商品分类', - noCache: true - }, - component: () => import('@/views/marketing/integral/classify/index') - }, - { - path: 'proList', - name: `integralProductList`, - meta: { - title: '积分商品列表', - noCache: true - }, - component: () => import('@/views/marketing/integral/productList/index') - }, - { - path: 'addProduct/:id?/:edit?', - name: `addIntegralProduct`, - meta: { - title: '添加积分商品', - noCache: true - }, - component: () => import('@/views/marketing/integral/addProduct/index') - }, - { - path: 'orderList', - name: `IntegralOrderList`, - meta: { - title: '兑换记录', - noCache: true - }, - component: () => import('@/views/marketing/integral/orderList/index') - }, - { - path: 'sign', - name: `signConfig`, - meta: { - title: '签到配置', - noCache: true - }, - component: () => import('@/views/marketing/integral/sign/index') - }, - { - path: 'give', - name: `integralGive`, - meta: { - title: '赠送记录', - noCache: true - }, - component: () => import('@/views/marketing/integral/give/index') - }, - ] - }, { path: 'discounts', name: 'discounts', @@ -446,9 +446,37 @@ const marketingRouter = component: () => import('@/views/marketing/border/borderList/addBorder') } ] - } - ], + }, + { + path: 'exchange', + name: 'Exchange', + meta: { + title: '兑换管理', + noCache: true + }, + redirect: 'noRedirect', + component: () => import('@/views/marketing/exchange/index'), + children: [ + { + path: 'quota', + name: `exchangeQuota`, + meta: { + title: '兑换额度', + noCache: true + }, + component: () => import('@/views/marketing/exchange/quota/index') + } -} + + + ] + }, + + + + + ], + + } export default marketingRouter diff --git a/src/views/marketing/exchange/index.vue b/src/views/marketing/exchange/index.vue new file mode 100644 index 0000000..98240ae --- /dev/null +++ b/src/views/marketing/exchange/index.vue @@ -0,0 +1,3 @@ + diff --git a/src/views/marketing/exchange/quota/index.vue b/src/views/marketing/exchange/quota/index.vue new file mode 100644 index 0000000..05dce73 --- /dev/null +++ b/src/views/marketing/exchange/quota/index.vue @@ -0,0 +1,224 @@ + + + + +