feat(ticket): 门票撤单及编辑功能完善
This commit is contained in:
parent
b63155a5ac
commit
3a7d66807f
|
@ -21,3 +21,11 @@ export const buyTicket = data => http.post('/sale/api/ticket/pay-ticket', data)
|
|||
// 获取门票详情
|
||||
export const getTicketDetail = params =>
|
||||
http.get('/sale/api/ticket/detail', { params })
|
||||
|
||||
// 撤销门票
|
||||
export const cancelTicket = data =>
|
||||
http.post('/sale/api/ticket/cancel-pay-ticket', data)
|
||||
|
||||
// 更新门票
|
||||
export const updateTicket = data =>
|
||||
http.post('/sale/api/ticket/update-ticket', data)
|
||||
|
|
|
@ -328,7 +328,6 @@ export default {
|
|||
menuKey: 'incomeDetail',
|
||||
ifshow: false,
|
||||
},
|
||||
|
||||
{
|
||||
url: '/pages/market/examineDetail/examineDetail',
|
||||
name: '考核明细',
|
||||
|
@ -381,6 +380,14 @@ export default {
|
|||
menuKey: 'pickGoods',
|
||||
ifshow: false,
|
||||
},
|
||||
{
|
||||
url: '/pages/ticket/index',
|
||||
name: '自助购票',
|
||||
imgurl: '../../static/images/tickets.png',
|
||||
menuKey: 'ticket',
|
||||
ifshow: true,
|
||||
alwaysShow: true,
|
||||
},
|
||||
// {
|
||||
// url: "/pages/memberCard/index",
|
||||
// name: '电子会员卡',
|
||||
|
@ -594,7 +601,13 @@ export default {
|
|||
// menuKey: "",
|
||||
// ifshow: false,
|
||||
// },
|
||||
|
||||
{
|
||||
url: '/pages/ticket/index',
|
||||
name: '自助购票',
|
||||
imgurl: '../../static/images/tickets.png',
|
||||
menuKey: 'ticket',
|
||||
ifshow: true,
|
||||
},
|
||||
{
|
||||
url: '/pages/selfService/index',
|
||||
name: '自助服务',
|
||||
|
|
|
@ -194,9 +194,10 @@
|
|||
|
||||
<!-- 撤销确认弹窗 -->
|
||||
<u-modal
|
||||
v-model="showCancelModal"
|
||||
:show="showCancelModal"
|
||||
title="确认撤销"
|
||||
:content="cancelModalContent"
|
||||
:show-cancel-button="true"
|
||||
confirm-text="确认撤销"
|
||||
cancel-text="取消"
|
||||
@confirm="confirmCancel"
|
||||
|
@ -204,7 +205,7 @@
|
|||
></u-modal>
|
||||
|
||||
<!-- 修改信息弹窗 -->
|
||||
<u-popup v-model="editModalVisible" mode="center" border-radius="12">
|
||||
<u-popup :show="editModalVisible" mode="center" border-radius="12">
|
||||
<view class="edit-modal">
|
||||
<view class="modal-header">
|
||||
<text class="modal-title">修改门票信息</text>
|
||||
|
@ -228,7 +229,7 @@
|
|||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<text class="form-label">姓名 *</text>
|
||||
<text class="form-label">姓名</text>
|
||||
<input
|
||||
class="form-input"
|
||||
v-model="editForm.buyName"
|
||||
|
@ -236,7 +237,7 @@
|
|||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<text class="form-label">手机号 *</text>
|
||||
<text class="form-label">手机号</text>
|
||||
<input
|
||||
class="form-input"
|
||||
v-model="editForm.phone"
|
||||
|
@ -244,7 +245,7 @@
|
|||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<text class="form-label">身份证号 *</text>
|
||||
<text class="form-label">身份证号</text>
|
||||
<input
|
||||
class="form-input"
|
||||
v-model="editForm.idCard"
|
||||
|
@ -252,14 +253,14 @@
|
|||
/>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<text class="form-label">性别 *</text>
|
||||
<text class="form-label">性别</text>
|
||||
<u-radio-group v-model="editForm.sex" direction="row">
|
||||
<u-radio name="1" label="男"></u-radio>
|
||||
<u-radio name="0" label="女"></u-radio>
|
||||
<u-radio :name="1" label="男"></u-radio>
|
||||
<u-radio :name="0" label="女"></u-radio>
|
||||
</u-radio-group>
|
||||
</view>
|
||||
<view class="form-item">
|
||||
<text class="form-label">尺码 *</text>
|
||||
<text class="form-label">尺码</text>
|
||||
<input
|
||||
class="form-input"
|
||||
v-model="editForm.clothSize"
|
||||
|
@ -292,7 +293,12 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import { getTicketActivityList, getMyTicketList } from '@/config/ticket.js'
|
||||
import {
|
||||
getTicketActivityList,
|
||||
getMyTicketList,
|
||||
cancelTicket,
|
||||
updateTicket,
|
||||
} from '@/config/ticket.js'
|
||||
|
||||
export default {
|
||||
data() {
|
||||
|
@ -454,14 +460,28 @@ export default {
|
|||
this.$set(item, 'expanded', !item.expanded)
|
||||
},
|
||||
|
||||
// 判断是否在24小时内
|
||||
// 判断是否为当天购买
|
||||
isWithin24Hours(creationTime) {
|
||||
if (!creationTime) return false
|
||||
const createDate = new Date(creationTime)
|
||||
const now = new Date()
|
||||
const timeDiff = now.getTime() - createDate.getTime()
|
||||
const hoursDiff = timeDiff / (1000 * 3600)
|
||||
return hoursDiff <= 24
|
||||
|
||||
// 获取创建日期的年月日
|
||||
const createYear = createDate.getFullYear()
|
||||
const createMonth = createDate.getMonth()
|
||||
const createDay = createDate.getDate()
|
||||
|
||||
// 获取当前日期的年月日
|
||||
const nowYear = now.getFullYear()
|
||||
const nowMonth = now.getMonth()
|
||||
const nowDay = now.getDate()
|
||||
|
||||
// 判断是否为同一天
|
||||
return (
|
||||
createYear === nowYear &&
|
||||
createMonth === nowMonth &&
|
||||
createDay === nowDay
|
||||
)
|
||||
},
|
||||
|
||||
// 显示撤销确认弹窗
|
||||
|
@ -476,12 +496,9 @@ export default {
|
|||
|
||||
try {
|
||||
uni.showLoading({ title: '撤销中...' })
|
||||
const res = await this.$http.post(
|
||||
'/sale/api/ticket/cancel-pay-ticket',
|
||||
{
|
||||
const res = await cancelTicket({
|
||||
orderCode: this.selectedTicket.orderCode,
|
||||
}
|
||||
)
|
||||
})
|
||||
|
||||
if (res.code === 200) {
|
||||
uni.$u.toast('撤销成功')
|
||||
|
@ -580,10 +597,7 @@ export default {
|
|||
|
||||
try {
|
||||
uni.showLoading({ title: '更新中...' })
|
||||
const res = await this.$http.post(
|
||||
'sale/api/ticket/update-ticket',
|
||||
this.editForm
|
||||
)
|
||||
const res = await updateTicket(this.editForm)
|
||||
|
||||
if (res.code === 200) {
|
||||
uni.$u.toast('修改成功')
|
||||
|
@ -605,6 +619,9 @@ export default {
|
|||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep(.uni-scroll-view) {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.ticket-container {
|
||||
min-height: 100vh;
|
||||
background: #f8f8f8;
|
||||
|
@ -830,7 +847,7 @@ export default {
|
|||
color: #666;
|
||||
|
||||
&.price {
|
||||
color: #005bac;
|
||||
color: #ff4444;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
@ -927,7 +944,7 @@ export default {
|
|||
// 修改信息弹窗样式
|
||||
.edit-modal {
|
||||
width: 640rpx;
|
||||
max-height: 80vh;
|
||||
max-height: 90vh;
|
||||
background: #fff;
|
||||
border-radius: 24rpx;
|
||||
overflow: hidden;
|
||||
|
@ -947,9 +964,11 @@ export default {
|
|||
}
|
||||
|
||||
.modal-content {
|
||||
max-height: 60vh;
|
||||
max-height: 70vh;
|
||||
padding: 32rpx;
|
||||
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 20px;
|
||||
overflow-y: hidden;
|
||||
.form-item {
|
||||
margin-bottom: 32rpx;
|
||||
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 3.2 KiB |
Loading…
Reference in New Issue