From d76fa50b7385025c374bcacd2632c3bf60b97f2e Mon Sep 17 00:00:00 2001 From: woody Date: Tue, 27 May 2025 14:21:52 +0800 Subject: [PATCH 01/13] =?UTF-8?q?feat(ticket):=20=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E8=B4=AD=E7=A5=A8=E6=B4=BB=E5=8A=A8=E9=A1=B5=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/ticket.js | 49 +++ src/router/module/tickets.js | 36 ++ src/views/marketing/ticket/addTicket.vue | 409 ++++++++++++++++++ src/views/marketing/ticket/index.vue | 341 +++++++++++++++ src/views/marketing/ticketQueryList/index.vue | 368 ++++++++++++++++ 5 files changed, 1203 insertions(+) create mode 100644 src/api/ticket.js create mode 100644 src/router/module/tickets.js create mode 100644 src/views/marketing/ticket/addTicket.vue create mode 100644 src/views/marketing/ticket/index.vue create mode 100644 src/views/marketing/ticketQueryList/index.vue diff --git a/src/api/ticket.js b/src/api/ticket.js new file mode 100644 index 0000000..8a85f1a --- /dev/null +++ b/src/api/ticket.js @@ -0,0 +1,49 @@ + +import request from '@/utils/request' + +// 新零售门票活动-列表 +export function ticketList(params) { + return request({ + url: '/activity/manage/ticket/list', + method: 'get', + params + }) +} +// 新零售门票活动-新增 +export function ticketSave(data) { + return request({ + url: '/activity/manage/ticket/save', + method: 'post', + data + }) +} +// 新零售门票活动-修改 +export function ticketUpdate(data) { + return request({ + url: '/activity/manage/ticket/update', + method: 'post', + data + }) +} +// 新零售门票活动-删除 +export function delTicket(id) { + return request({ + url: '/activity/manage/ticket/' + id, + method: 'delete' + }) +} +// 获取单条门票活动 +export function getOneTicket(id) { + return request({ + url: '/activity/manage/ticket/getOne/' + id, + method: 'get' + }) +} +// 会员消费赠送-查看 +export function memberConsumeRule(params) { + return request({ + url: '/activity/manage/member-consume-rule/detail', + method: 'get', + params + }) +} diff --git a/src/router/module/tickets.js b/src/router/module/tickets.js new file mode 100644 index 0000000..d978697 --- /dev/null +++ b/src/router/module/tickets.js @@ -0,0 +1,36 @@ +import ParentView from '@/components/ParentView' +export const tickets = [ + { + path: 'ticket', + name: 'Ticket', + component: ParentView, + children: [ + { + path: 'ticketList', + name: 'TicketList', + component: () => import('@/views/marketing/ticket/index'), + meta: { title: '门票活动' } + }, + { + path: 'addTicket', + name: 'AddTicket', + component: () => import('@/views/marketing/ticket/addTicket'), + meta: { title: '基本信息' }, + hidden: true + } + ] + }, + { + path: 'ticketQuery', + name: 'TicketQuery', + component: ParentView, + children: [ + { + path: 'ticketQueryList', + name: 'TickeQuerytList', + component: () => import('@/views/marketing/ticketQueryList/index'), + meta: { title: '自助购票' } + } + ] + } +] diff --git a/src/views/marketing/ticket/addTicket.vue b/src/views/marketing/ticket/addTicket.vue new file mode 100644 index 0000000..8d04e83 --- /dev/null +++ b/src/views/marketing/ticket/addTicket.vue @@ -0,0 +1,409 @@ + + + + + + diff --git a/src/views/marketing/ticket/index.vue b/src/views/marketing/ticket/index.vue new file mode 100644 index 0000000..d058261 --- /dev/null +++ b/src/views/marketing/ticket/index.vue @@ -0,0 +1,341 @@ + + + + + diff --git a/src/views/marketing/ticketQueryList/index.vue b/src/views/marketing/ticketQueryList/index.vue new file mode 100644 index 0000000..48ef5fa --- /dev/null +++ b/src/views/marketing/ticketQueryList/index.vue @@ -0,0 +1,368 @@ + + + + From 65d3fc1ebf1d353f867288650d69c338622397b9 Mon Sep 17 00:00:00 2001 From: woody Date: Tue, 27 May 2025 15:19:03 +0800 Subject: [PATCH 02/13] feat(route): update routes --- src/layout/components/Sidebar/index.vue | 1 + src/router/index.js | 3 ++- src/router/module/tickets.js | 8 ++++++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue index 8a1ce5c..a6877ae 100644 --- a/src/layout/components/Sidebar/index.vue +++ b/src/layout/components/Sidebar/index.vue @@ -73,6 +73,7 @@ export default { return new Promise((resolve) => { getRouters().then((res) => { this.rolaMenu = this.getName(res.data) + console.log(this.rolaMenu, 'this.rolaMenu') resolve(res) }) }) diff --git a/src/router/index.js b/src/router/index.js index 3d99693..b258f9c 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -8,7 +8,7 @@ import Vue from 'vue' import Router from 'vue-router' import i18n from '@/assets/i18n/index' Vue.use(Router) - +import { tickets } from './module/tickets' /* Layout */ import Layout from '@/layout' import ParentView from '@/components/ParentView' @@ -1820,6 +1820,7 @@ export const constantRoutes = [ name: 'Activity', meta: { title: '营销管理', icon: 'yx', icon1: 'yxSel' }, children: [ + ...tickets, { path: 'giftGoods', name: 'GiftGoods', diff --git a/src/router/module/tickets.js b/src/router/module/tickets.js index d978697..08f81a9 100644 --- a/src/router/module/tickets.js +++ b/src/router/module/tickets.js @@ -4,12 +4,14 @@ export const tickets = [ path: 'ticket', name: 'Ticket', component: ParentView, + hidden: false, children: [ { path: 'ticketList', name: 'TicketList', component: () => import('@/views/marketing/ticket/index'), - meta: { title: '门票活动' } + meta: { title: '门票活动' }, + hidden: false }, { path: 'addTicket', @@ -24,12 +26,14 @@ export const tickets = [ path: 'ticketQuery', name: 'TicketQuery', component: ParentView, + hidden: false, children: [ { path: 'ticketQueryList', name: 'TickeQuerytList', component: () => import('@/views/marketing/ticketQueryList/index'), - meta: { title: '自助购票' } + meta: { title: '自助购票' }, + hidden: false } ] } From 7cc12d6faca63d876567d6fa1d0bed591e1b9f57 Mon Sep 17 00:00:00 2001 From: woody Date: Tue, 27 May 2025 15:32:42 +0800 Subject: [PATCH 03/13] =?UTF-8?q?feat(addTicket):=20=E8=B4=AD=E7=A5=A8?= =?UTF-8?q?=E9=80=BB=E8=BE=91=E6=8A=A5=E9=94=99=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/marketing/ticket/addTicket.vue | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/views/marketing/ticket/addTicket.vue b/src/views/marketing/ticket/addTicket.vue index 8d04e83..ed8ad93 100644 --- a/src/views/marketing/ticket/addTicket.vue +++ b/src/views/marketing/ticket/addTicket.vue @@ -203,7 +203,6 @@ export default { } }, mounted() { - this.getData() // (1=新增,2=修改,3=删除)4查看 if ( this.$route.query.controlType == 4 || @@ -213,6 +212,7 @@ export default { } else { this.lookOver = false } + console.log(this.$route.query.controlType, 'this.$route.query.controlType') this.controlType = this.$route.query.controlType this.pkId = this.$route.query.pkId || '' if (this.pkId) { @@ -265,10 +265,12 @@ export default { }, submit() { + console.log(this.controlType, 'obj') this.$refs['ruleForm'].validate((valid) => { if (valid) { let obj = {} obj = this.ruleForm + if (this.controlType == 1) { api.ticketSave(obj).then((res) => { if (res.code == 200) { From b801d3296aa466eb1435d1f986e05879987be40f Mon Sep 17 00:00:00 2001 From: woody Date: Tue, 27 May 2025 16:05:02 +0800 Subject: [PATCH 04/13] =?UTF-8?q?feat(ticket):=20=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=87=AA=E5=8A=A9=E8=B4=AD=E7=A5=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/views/marketing/ticket/addTicket.vue | 39 ++++++++++++++++++++---- src/views/marketing/ticket/index.vue | 16 +++------- 2 files changed, 38 insertions(+), 17 deletions(-) diff --git a/src/views/marketing/ticket/addTicket.vue b/src/views/marketing/ticket/addTicket.vue index ed8ad93..f81451a 100644 --- a/src/views/marketing/ticket/addTicket.vue +++ b/src/views/marketing/ticket/addTicket.vue @@ -36,6 +36,21 @@ + + + + + + + + + + @@ -60,6 +75,7 @@ + @@ -149,6 +165,7 @@ import Editor from '@/components/Editor' import * as api from '@/api/ticket.js' import ImageUpload from '@/components/ImageUpload' +import { vertexList } from '@/api/settle.js' // import directUpdata from '@/views/marketing/benefitsGift/directUpdata' export default { name: 'AddTicket', @@ -164,10 +181,12 @@ export default { ruleForm: { payMoney: '', quantity: '', + pkVertex: '', limitQuantity: '', ruleFormTime: [], ruleFormTime1: [] }, + vertexList: [], rules: { actName: [ { required: true, message: this.$t('请输入活动名称'), trigger: 'blur' } @@ -212,14 +231,19 @@ export default { } else { this.lookOver = false } - console.log(this.$route.query.controlType, 'this.$route.query.controlType') this.controlType = this.$route.query.controlType this.pkId = this.$route.query.pkId || '' + this.getVertexList() if (this.pkId) { this.getDetails() } }, methods: { + getVertexList() { + vertexList().then((res) => { + this.vertexList = res.data + }) + }, cancel() { this.$router.go(-1) }, @@ -237,6 +261,7 @@ export default { this.ruleForm.payMoney = res.data.payMoney this.ruleForm.quantity = res.data.quantity this.ruleForm.limitQuantity = res.data.limitQuantity + this.ruleForm.pkVertex = res.data.pkVertex ? res.data.pkVertex.split(',').map(item => Number(item)) : [] this.$set(this.ruleForm, 'ruleFormTime', [ res.data.actStartDate, res.data.actEndDate @@ -265,14 +290,16 @@ export default { }, submit() { - console.log(this.controlType, 'obj') this.$refs['ruleForm'].validate((valid) => { if (valid) { - let obj = {} - obj = this.ruleForm + let params = {} + params = { + ...this.ruleForm, + pkVertex: this.ruleForm.pkVertex ? this.ruleForm.pkVertex.join(',') : '' + } if (this.controlType == 1) { - api.ticketSave(obj).then((res) => { + api.ticketSave(params).then((res) => { if (res.code == 200) { this.$message({ message: res.msg, @@ -284,7 +311,7 @@ export default { } }) } else { - api.ticketUpdate(obj).then((res) => { + api.ticketUpdate(params).then((res) => { if (res.code == 200) { this.$message({ message: res.msg, diff --git a/src/views/marketing/ticket/index.vue b/src/views/marketing/ticket/index.vue index d058261..e1dd1bf 100644 --- a/src/views/marketing/ticket/index.vue +++ b/src/views/marketing/ticket/index.vue @@ -1,9 +1,3 @@ -