Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
U
uni-pdtravel
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
panyongping
uni-pdtravel
Commits
07c3dd6f
Commit
07c3dd6f
authored
Jul 04, 2024
by
潘永坪
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
联票电子门票开发
parent
a70ce975
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
429 additions
and
236 deletions
+429
-236
jointElectronicTicket.vue
.../my/order/jointElectronicTicket/jointElectronicTicket.vue
+429
-236
No files found.
pages/my/order/jointElectronicTicket/jointElectronicTicket.vue
View file @
07c3dd6f
...
...
@@ -28,209 +28,231 @@
</view>
</view>
</view>
<!-- 等于1为需要排号的景区 -->
<view
class=
"product-number"
v-if=
"item.isFetch=='1'"
v-for=
"(item2,a) in item.sorts"
:key=
'a'
>
<!-- 1可进入等候区 -->
<view
v-if=
"item2.sortFair==1"
style=
"background: #31AA6B;color: #ffffff;"
>
<view
class=
"my-number"
>
<view>
<view>
我的排队号
</view>
<view>
{{
item2
.
sortNo
}}
</view>
<!-- 只有等于全部退货退款时才显示 -->
<view
class=
"product-refund"
v-if=
"item.orderStatus==8"
>
<view
class=
"product-refund-detail"
@
click=
"refundDetailChange(item)"
>
<view
style=
"color: #FE6600;"
>
退订详情
</view>
<view
style=
"display: flex;"
>
查看详情
<u-icon
name=
'arrow-up'
v-if=
"item.showRefundDetail"
></u-icon>
<u-icon
name=
'arrow-down'
v-else
></u-icon>
</view>
</view>
<view
class=
"product-refund-list"
v-if=
"item.showRefundDetail"
v-for=
"(item2,a) in item.orderRefundList"
:key=
'a'
>
<view>
{{
item2
.
refundStatusName
}}
</view>
<view>
{{
item2
.
refundReason
}}
</view>
<view
style=
"color: #666666;"
>
{{
item2
.
refundDate
}}
</view>
</view>
</view>
<template
v-else
>
<!-- 等于1为需要排号的景区 -->
<view
class=
"product-number"
v-if=
"item.showSortInfo==true"
v-for=
"(item2,a) in item.sorts"
:key=
'a'
>
<!-- 1可进入等候区 -->
<view
v-if=
"item2.sortFair==1"
style=
"background: #31AA6B;color: #ffffff;"
>
<view
class=
"my-number"
>
<view>
<view>
我的排队号
</view>
<view>
{{
item2
.
sortNo
}}
</view>
</view>
<view>
<view>
预计进入时间
</view>
<view>
{{
item2
.
sortNoTime
}}
</view>
</view>
</view>
<view>
<view>
预计进入时间
</view>
<view>
{{
item2
.
sortNoTime
}}
</view>
<view
class=
"current-number"
>
当前排队区间
<text>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<view
class=
"number-notice"
style=
"color: #ffffff;"
>
<view>
温馨提示:
{{
item2
.
config
.
paRowNumHint
}}
</view>
<!-- 可以进入排队区提示 -->
<view>
{{
item2
.
config
.
paArrivalNumHint
}}
</view>
</view>
</view>
<view
class=
"current-number"
>
当前排队区间
<text>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<view
class=
"number-notice"
style=
"color: #ffffff;"
>
<view>
温馨提示:
{{
item2
.
config
.
paRowNumHint
}}
<!-- 2已过号不可重排,3已过号可重排 -->
<view
v-else-if=
"item2.sortFair==2||item2.sortFair==3"
style=
"background: #F53F3F;color: #ffffff;"
>
<!-- 等于1为过号允许再次排号 -->
<view
class=
"my-number"
v-if=
"item2.config.paPassedNumEnable==1"
>
<view
>
<view>
我的排队号
</view>
<view>
{{
item2
.
sortNo
}}
</view>
</view>
<view>
<view>
您排队号已过
</view>
<view
v-show=
"item2.sortFair==3"
>
<!-- 1为过号提示确定后重新排号 -->
<text
class=
"number-btn"
v-if=
"item2.config.paPassedNumTakeType==1"
@
click=
"clickSortAgain(item)"
>
重新取号
</text>
<!-- 0为过号直接重新排号 -->
<text
class=
"number-btn"
v-else
@
click=
"sortAgain(item)"
>
重新取号
</text>
</view>
</view>
</view>
<!-- 可以进入排队区提示 -->
<view>
{{
item2
.
config
.
paArrivalNumHint
}}
<!-- 等于0过号不允许再次排号,只进行提示 -->
<view
v-if=
"item2.config.paPassedNumEnable==0"
>
<view>
{{
item2
.
config
.
paPassedNumHint
}}
</view>
</view>
<view
class=
"current-number"
>
当前排队区间
<text>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
</view>
</view>
<!-- 2已过号不可重排,3已过号可重排 -->
<view
v-else-if=
"item2.sortFair==2||item2.sortFair==3"
style=
"background: #F53F3F;color: #ffffff;"
>
<!-- 等于1为过号允许再次排号 -->
<view
class=
"my-number"
v-if=
"item2.config.paPassedNumEnable==1"
>
<view
>
<view>
我的排队号
</view>
<view>
{{
item2
.
sortNo
}}
</view>
<!-- 4-可返程取号(仅胖丁显示),5-第一次取号(仅胖丁显示)-->
<view
v-else-if=
"item2.sortFair==4||item2.sortFair==5"
>
<view
class=
"current-number"
>
当前排队区间
<text
style=
"color: #FE6600;"
>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<view>
<view>
您排队号已过
</view>
<view
v-show=
"item2.sortFair==3"
>
<!-- 1为过号提示确定后重新排号 -->
<text
class=
"number-btn"
v-if=
"item2.config.paPassedNumTakeType==1"
@
click=
"clickSortAgain(item)"
>
重新取号
</text>
<!-- 0为过号直接重新排号 -->
<text
class=
"number-btn"
v-else
@
click=
"sortAgain(item)"
>
重新取号
</text>
</view>
<!-- 1购票返程允许取号 -->
<view
v-if=
"item2.config.paReturnTripNumEnable==1"
style=
"margin-top: 20rpx;"
>
<text
v-if=
"canTakeNumber"
@
click=
"sortAgain(item)"
class=
"number-btn2"
>
取号
</text>
<text
v-else
>
<text
style=
"color: #FE6600;font-weight: bold;"
>
{{
minute
}}
</text>
分
<text
style=
"color: #FE6600;font-weight: bold;"
>
{{
second
}}
</text>
秒后可取号
</text>
</view>
<!-- 1购票返程不允许取号,仅提示 -->
<view
v-if=
"item2.config.paReturnTripNumEnable==0"
style=
"margin-top: 20rpx;"
>
{{
item
.
config
.
paReturnTripHint
}}
</view>
</view>
<!-- 等于0过号不允许再次排号,只进行提示 -->
<view
v-if=
"item2.config.paPassedNumEnable==0"
>
<view>
{{
item2
.
config
.
paPassedNumHint
}}
</view>
</view>
<view
class=
"current-number"
>
当前排队区间
<text>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
</view>
<!-- 4-可返程取号(仅胖丁显示),5-第一次取号(仅胖丁显示)-->
<view
v-else-if=
"item2.sortFair==4||item2.sortFair==5"
>
<view
class=
"current-number"
>
当前排队区间
<text
style=
"color: #FE6600;"
>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<!-- 1购票返程允许取号 -->
<view
v-if=
"item2.config.paReturnTripNumEnable==1"
style=
"margin-top: 20rpx;"
>
<text
v-if=
"canTakeNumber"
@
click=
"sortAgain(item)"
class=
"number-btn2"
>
取号
</text>
<text
v-else
>
<text
style=
"color: #FE6600;font-weight: bold;"
>
{{
minute
}}
</text>
分
<text
style=
"color: #FE6600;font-weight: bold;"
>
{{
second
}}
</text>
秒后可取号
</text>
</view>
<!-- 1购票返程不允许取号,仅提示 -->
<view
v-if=
"item2.config.paReturnTripNumEnable==0"
style=
"margin-top: 20rpx;"
>
{{
item
.
config
.
paReturnTripHint
}}
<!-- 6已过闸 -->
<view
v-else-if=
"item2.sortFair==6"
style=
"color: #FE6600;"
>
温馨提示:您已过闸
</view>
</view>
<!-- 6已过闸 -->
<view
v-else-if=
"item2.sortFair==6"
style=
"color: #FE6600;"
>
温馨提示:您已过闸
</view>
<!-- 7提前通知-->
<view
v-else-if=
"item2.sortFair==7"
>
<view
class=
"my-number"
>
<!-- 0显示排队号,1隐藏排队号 -->
<view
v-if=
"item2.config.paHideNum!=1"
>
<view>
我的排队号
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNo
}}
</view>
<!-- 7提前通知-->
<view
v-else-if=
"item2.sortFair==7"
>
<view
class=
"my-number"
>
<!-- 0显示排队号,1隐藏排队号 -->
<view
v-if=
"item2.config.paHideNum!=1"
>
<view>
我的排队号
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNo
}}
</view>
</view>
<!-- 0显示预计时间,1隐藏预计时间 -->
<view
v-if=
"item2.config.paHideEstimatedTime!=1"
>
<view
>
预计进入时间
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNoTime
}}
</view>
</view>
</view>
<!-- 0显示预计时间,1隐藏预计时间 -->
<view
v-if=
"item2.config.paHideEstimatedTime!=1"
>
<view
>
预计进入时间
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNoTime
}}
</view>
<view
class=
"current-number"
>
当前排队区间
<text
style=
"color: #FE6600;"
>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<view
class=
"number-notice"
>
<view
style=
"color: #666666;"
>
温馨提示:
{{
item2
.
config
.
paRowNumHint
}}
</view>
<view
style=
"color: #FE6600;"
>
<text
v-if=
"item2.config.paAdvanceNoticeDisplay"
>
{{
item2
.
config
.
paAdvanceNoticeDisplay
}}
</text>
<text
v-else
>
请尽快赶到现场等候,避免错过游玩时间。
</text>
</view>
</view>
</view>
<view
class=
"current-number"
>
当前排队区间
<text
style=
"color: #FE6600;"
>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<view
class=
"number-notice"
>
<view
style=
"color: #666666;"
>
温馨提示:
{{
item2
.
config
.
paRowNumHint
}}
<!-- 未到号 -->
<view
v-else
>
<view
class=
"my-number"
>
<view>
<view>
我的排队号
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNo
}}
</view>
</view>
<view>
<view>
预计进入时间
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNoTime
}}
</view>
</view>
</view>
<view
style=
"color: #FE6600;"
>
<text
v-if=
"item2.config.paAdvanceNoticeDisplay"
>
{{
item2
.
config
.
paAdvanceNoticeDisplay
}}
</text>
<text
v-else
>
请尽快赶到现场等候,避免错过游玩时间。
</text>
<view
class=
"current-number"
>
当前排队区间
<text
style=
"color: #FE6600;"
>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
</view>
<view
class=
"number-notice"
style=
"color: #666666;"
>
温馨提示:
{{
item2
.
config
.
paRowNumHint
}}
</view>
</view>
</view>
<!-- 未到号 -->
<view
v-else
>
<view
class=
"my-number"
>
<view>
<view>
我的排队号
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNo
}}
</view>
</view>
<view>
<view>
预计进入时间
</view>
<view
style=
"color: #FE6600;"
>
{{
item2
.
sortNoTime
}}
</view>
</view>
<!-- 后端返回了二维码才显示下面内容 -->
<view
class=
"product-code"
v-if=
"item.orderTicketDetailList.length>0&&item.orderTicketDetailList[0].verifyCode"
>
<view
class=
"code-title"
>
凭「身份证」或「入园码」直接入园
</view>
<view
class=
"c
urrent-number
"
>
当前排队区间
<text
style=
"color: #FE6600;"
>
{{
item2
.
showStart
}}
-
{{
item2
.
showEnd
}}
</text>
号
<view
class=
"c
ode-image
"
>
<image
:src=
"item.codeImage"
></image>
</view>
<view
class=
"number-notice"
style=
"color: #666666;"
>
温馨提示:
{{
item2
.
config
.
paRowNumHint
}}
<view
class=
"code-number"
>
<text>
数字码:
{{
item
.
orderTicketDetailList
[
0
].
verifyCode
}}
</text>
<text
@
click=
"copyText(item.orderTicketDetailList[0].verifyCode)"
>
复制
</text>
</view>
<view
class=
"code-tip"
v-if=
"item.exchangeMode==4||item.exchangeMode==5"
>
二维码自动更新,截屏无效
</view>
</view>
</view>
<!-- 后端返回了二维码才显示下面内容 -->
<view
class=
"product-code"
v-if=
"item.orderTicketDetailList.length>0&&item.orderTicketDetailList[0].verifyCode"
>
<view
class=
"code-title"
>
凭「身份证」或「入园码」直接入园
</view>
<view
class=
"code-image"
>
<image
:src=
"item.codeImage"
></image>
</view>
<view
class=
"code-number"
>
<text>
数字码:
{{
item
.
orderTicketDetailList
[
0
].
verifyCode
}}
</text>
<text
@
click=
"copyText(item.orderTicketDetailList[0].verifyCode)"
>
复制
</text>
</view>
<view
class=
"code-tip"
v-if=
"item.exchangeMode==4||item.exchangeMode==5"
>
二维码自动更新,截屏无效
</view>
</view>
<view
class=
"product-useknow"
>
<view
class=
"useknow-list"
v-if=
"item.showUseknow"
v-for=
"(item2,a) in item.orderExtendList"
:key=
"a"
>
<text>
{{
item2
.
title
}}
</text>
<text>
{{
item2
.
content
}}
</text>
</view>
<view
class=
"useknow-bottom"
v-if=
"item.orderExtendList.length>0"
@
click=
"useknowChange(item)"
>
使用须知
<u-icon
name=
'arrow-down'
v-if=
"item.showUseknow==false"
></u-icon>
<u-icon
name=
'arrow-up'
v-else
></u-icon>
<view
class=
"product-useknow"
>
<view
class=
"useknow-list"
v-if=
"item.showUseknow"
v-for=
"(item2,a) in item.orderExtendList"
:key=
"a"
>
<text>
{{
item2
.
title
}}
</text>
<text>
{{
item2
.
content
}}
</text>
</view>
<view
class=
"useknow-bottom"
v-if=
"item.orderExtendList.length>0"
@
click=
"useknowChange(item)"
>
使用须知
<u-icon
name=
'arrow-down'
v-if=
"item.showUseknow==false"
></u-icon>
<u-icon
name=
'arrow-up'
v-else
></u-icon>
</view>
</view>
</view>
</
template
>
</view>
<view
class=
"rufundRule"
>
<!-- 等于3退票规则以子订单为准 -->
<view
v-for=
"(item,index) in orderInfo.childs"
:key=
"index"
v-if=
"orderInfo.isRefund==3"
>
<view
class=
"rule-title"
>
退改规则
</view>
<view
class=
"rule-type"
>
<text
v-if=
"item.isRefund==0"
>
不可退
</text>
<text
v-if=
"item.isRefund==1"
>
有条件退
</text>
<text
v-if=
"item.isRefund==2"
>
随时可退
</text>
</view>
<view
class=
"rule-list"
>
<view
v-for=
"(item2,a) in item.orderRefundRuleList"
:key=
"a"
v-if=
"item.isRefund==1"
style=
"margin-top: 20rpx;"
>
<!--已配置文字内容 -->
<text
v-if=
"item2.refundShowMessage"
>
{{
item2
.
refundShowMessage
}}
</text>
<!-- 未配置文字内容 -->
<template
v-else
>
<!-- 使用日期前 -->
<text
v-if=
"item2.refundTimeRule==1"
>
<text
v-if=
"item2.refundDay==0"
>
使用日期当天
{{
item2
.
refundTime
}}
之前可退
</text>
<text
v-else
>
使用日期前
{{
item2
.
refundDay
}}
天
{{
item2
.
refundTime
}}
之前可退
</text>
<
template
v-if=
"orderInfo.isRefund==3"
>
<view
v-for=
"(item,index) in orderInfo.childs"
:key=
"index"
>
<view
class=
"rule-title"
>
{{
item
.
productName
}}
退改规则
</view>
<view
class=
"rule-type"
>
<text
v-if=
"item.isRefund==0"
>
不可退
</text>
<text
v-if=
"item.isRefund==1"
>
有条件退
</text>
<text
v-if=
"item.isRefund==2"
>
随时可退
</text>
</view>
<view
class=
"rule-list"
>
<view
v-for=
"(item2,a) in item.orderRefundRuleList"
:key=
"a"
v-if=
"item.isRefund==1"
style=
"margin-top: 20rpx;"
>
<!--已配置文字内容 -->
<text
v-if=
"item2.refundShowMessage"
>
{{
item2
.
refundShowMessage
}}
</text>
<!-- 过期 -->
<text
v-if=
"item2.refundTimeRule==2"
>
<text
v-if=
"item2.refundDay==0"
>
过期当天
{{
item2
.
refundTime
}}
之前可退
<!-- 未配置文字内容 -->
<template
v-else
>
<!-- 使用日期前 -->
<text
v-if=
"item2.refundTimeRule==1"
>
<text
v-if=
"item2.refundDay==0"
>
使用日期当天
{{
item2
.
refundTime
}}
之前可退
</text>
<text
v-else
>
使用日期前
{{
item2
.
refundDay
}}
天
{{
item2
.
refundTime
}}
之前可退
</text>
</text>
<text
v-else
>
过期后
{{
item2
.
refundDay
}}
天
{{
item2
.
refundTime
}}
之前可退
<!-- 过期 -->
<text
v-if=
"item2.refundTimeRule==2"
>
<text
v-if=
"item2.refundDay==0"
>
过期当天
{{
item2
.
refundTime
}}
之前可退
</text>
<text
v-else
>
过期后
{{
item2
.
refundDay
}}
天
{{
item2
.
refundTime
}}
之前可退
</text>
</text>
</te
xt
>
</
template
>
</
te
mplate
>
</view>
</view>
</view>
</
view
>
</
template
>
<!-- 不等于3退票规则以主订单为准 -->
<
view
v-else
>
<
template
v-else
>
<view
class=
"rule-title"
>
退改规则
</view>
...
...
@@ -269,7 +291,7 @@
</view>
</view>
</
view
>
</
template
>
<view
class=
"rule-service"
@
click=
"makePhone('4000720368')"
>
<u-icon
name=
'kefu-ermai'
></u-icon>
联系客服
...
...
@@ -282,10 +304,10 @@
<view
class=
"order-middle"
>
<view>
<text
style=
"flex-shrink: 0;"
>
订单编号
</text>
<
text
class=
"order-id"
>
<text
class=
"one-txt-cut"
>
{{orderInfo.id
}}
</text>
<
view
class=
"order-id"
>
<text
class=
"one-txt-cut"
style=
"flex: 1;"
>
{{orderInfo.id?orderInfo.id.substr(0,8)+"****"+orderInfo.id.substr(orderInfo.id.length-8,8):''
}}
</text>
<text
class=
"order-btn"
>
复制
</text>
</
text
>
</
view
>
</view>
<view>
...
...
@@ -308,10 +330,10 @@
</view>
<view
class=
"bottom"
>
<!--
等于3退票以子
订单为准 -->
<text
v-if=
"
orderInfo.isRefund==3"
@
click=
"ticketRefund(
)"
>
申请退票
</text>
<!--
不等于3退票以主
订单为准 -->
<text
v-
else
@
click=
"ticket
Refund()"
>
申请退票
</text>
<!--
以主
订单为准 -->
<text
v-if=
"
mainRefundBtn"
@
click=
"mainRefund(orderInfo.id
)"
>
申请退票
</text>
<!--
以子
订单为准 -->
<text
v-
if=
"subRefundBtn"
@
click=
"showSub
Refund()"
>
申请退票
</text>
<text>
再次预订
</text>
</view>
<!-- 是否重新排号 -->
...
...
@@ -322,6 +344,21 @@
showCancelButton
:title=
"sortAgainData.config.paPassedNumTakeTypeHint||'是否重新排号'"
>
</u-modal>
<!-- 子产品退票列表弹窗 -->
<u-popup
:show=
"refundPop"
:round=
"20"
@
close=
"refundPop=false"
closeable
>
<view
class=
"subtitle"
>
申请退票
</view>
<radio-group
@
change=
"radioChange"
>
<label
class=
"subradio"
v-if=
"item.isRefund"
v-for=
"(item,index) in orderInfo.childs"
:key=
"index"
>
<text>
{{item.productName}}
</text>
<radio
:value=
"item.id"
:checked=
"refundOrderId==item.id"
/>
</label>
</radio-group>
<view
class=
"subBottom"
@
click=
"subRefund()"
>
<text>
确定
</text>
</view>
</u-popup>
</view>
</template>
...
...
@@ -345,9 +382,9 @@ export default {
break
case
6
:
return
'退款中'
break
case
7
:
return
'部分退
退
货退款'
case
7
:
return
'部分退货退款'
break
case
8
:
return
'全部退
退
货退款'
case
8
:
return
'全部退货退款'
break
case
9
:
return
'取消'
break
...
...
@@ -379,10 +416,14 @@ export default {
canTakeNumber
:
false
,
//返程或者第一次取号时,是否可以显示取号按钮
minute
:
''
,
//倒计时分钟
second
:
''
,
//倒计时秒
mainRefundBtn
:
false
,
//以主订单为准
subRefundBtn
:
false
,
//以子订单为准
refundPop
:
false
,
//子订单产品退票列表弹窗
refundOrderId
:
''
,
//退款订单Id
}
},
onLoad
(
option
)
{
this
.
orderId
=
'z0017
19974044044b044d613e9af6f19
'
// option.orderId
this
.
orderId
=
'z0017
2007364838382490e8a499c273f
'
// option.orderId
},
onShow
()
{
this
.
getDetail
()
...
...
@@ -484,23 +525,26 @@ export default {
if
(
res
.
code
==
'00'
){
this
.
orderInfo
=
res
.
data
let
orderInfo
=
res
.
data
let
arr
=
orderInfo
.
childs
||
[]
arr
.
forEach
(
item
=>
{
this
.
orderInfo
.
childs
.
forEach
(
item
=>
{
//默认不显示使用须知
item
.
showUseknow
=
false
//默认不显示退票详情
item
.
showRefundDetail
=
false
if
(
item
.
isFetch
==
'1'
){
//获取排号信息
this
.
getSortInfo
(
item
)
//每两分钟刷新一次
this
.
numberFlag
=
setInterval
(()
=>
{
//为了提高性能,游玩时间等于今天才获取排号信息
if
(
item
.
playDate
.
substr
(
0
,
10
)
==
this
.
$commonjs
.
today
()){
//获取排号信息
this
.
getSortInfo
(
item
)
},
120
*
1000
)
//每两分钟刷新一次
this
.
numberFlag
=
setInterval
(()
=>
{
this
.
getSortInfo
(
item
)
},
120
*
1000
)
}
}
//subOrderType 子订单类型(0-胖丁分销,1-扫码购,2-自助机,3-组合,4-扫码牌,5-预订,6-反扫,7-收银机,8-码同步,9-押金,94-公众号,96-胖丁分销,99-酒店自营)
//exchangeMode 验证方式:1胖丁二维码,2第三方二维码,3短信,4身份证
if
(
item
.
subOrderType
!=
4
&&
item
.
subOrderType
!=
5
){
if
(
item
.
playDate
.
substr
(
0
,
10
)
==
this
.
$commonjs
.
today
()){
//游玩时间等于今天才进行动态二维码渲染
if
(
item
.
exchangeMode
==
4
||
item
.
exchangeMode
==
5
){
//多个二维码
this
.
getCodeList
(
item
)
...
...
@@ -511,79 +555,166 @@ export default {
this
.
getCode
(
item
)
}
}
//根据退款状态修改退款列表的退款名称
item
.
orderRefundList
.
forEach
((
item2
,
index
)
=>
{
if
(
item2
.
refundStatus
==
0
){
item2
[
'refundStatusName'
]
=
'退款中'
}
else
if
(
item2
.
refundStatus
==
1
){
item2
[
'refundStatusName'
]
=
'退款成功'
}
else
if
(
item2
.
refundStatus
==
2
){
item2
[
'refundStatusName'
]
=
'退款失败'
}
else
if
(
item2
.
refundStatus
==
3
){
item2
[
'refundStatusName'
]
=
'退票中'
}
else
if
(
item2
.
refundStatus
==
4
){
item2
[
'refundStatusName'
]
=
'退票确认'
}
else
if
(
item2
.
refundStatus
==
5
){
item2
[
'refundStatusName'
]
=
'退货完成'
}
else
if
(
item2
.
refundStatus
==
6
){
item2
[
'refundStatusName'
]
=
'退票审核中'
}
else
if
(
item2
.
refundStatus
==
7
){
item
[
'refundStatusName'
]
=
'退票失败'
}
})
})
if
(
orderInfo
.
isRefund
==
3
){
// 退票规则以子订单为准
this
.
orderInfo
.
childs
.
forEach
(
item
=>
{
if
(
item
.
orderStatus
==
2
||
item
.
orderStatus
==
7
){
//等于2出票成功,7部分退货退款
if
(
item
.
isRefund
==
2
){
//随时可退
this
.
subRefundBtn
=
true
//增加字段用于弹窗展示该产品是否可退
item
.
ifRefund
=
true
}
if
(
item
.
isRefund
==
1
){
//1为条件退
item
.
orderRefundRuleList
.
forEach
(
item2
=>
{
//refundVisitorApply游客是否能自己申请退(0不能1可以)
if
(
item2
.
refundVisitorApply
==
1
){
//当前时间戳
let
nowTimeNumber
=
new
Date
().
getTime
()
//退票时间戳
let
refundTime
=
''
if
(
item2
.
refundDay
){
//1使用日期前
if
(
item2
.
refundTimeRule
==
1
){
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
-
item2
.
refundDay
)
refundTime
=
playDate
+
' '
+
item2
.
refundTime
}
//2过期后
if
(
item2
.
refundTimeRule
==
2
){
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
item2
.
refundDay
)
refundTime
=
playDate
+
' '
+
item2
.
refundTime
}
}
else
{
refundTime
=
orderInfo
.
playDate
+
' '
+
item2
.
refundTime
}
let
refundTimeNumber
=
new
Date
(
refundTime
.
replace
(
/-/g
,
'/'
)).
getTime
()
//refundDateType退款时间0之前1之后2至(用于区间)
if
(
item2
.
refundDateType
==
0
){
if
(
nowTimeNumber
<
refundTimeNumber
){
this
.
subRefundBtn
=
true
//增加字段用于弹窗展示该产品是否可退
item
.
ifRefund
=
true
}
else
{
this
.
subRefundBtn
=
false
}
}
if
(
item2
.
refundDateType
==
1
){
if
(
nowTimeNumber
>
refundTimeNumber
){
this
.
subRefundBtn
=
true
//增加字段用于弹窗展示该产品是否可退
item
.
ifRefund
=
true
}
else
{
this
.
subRefundBtn
=
false
}
}
if
(
item2
.
refundDateType
==
2
){
let
refundEndTime
=
''
if
(
item2
.
refundDay
){
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
-
item2
.
refundDay
)
refundEndTime
=
playDate
+
' '
+
item2
.
refundEndTime
}
else
{
refundEndTime
=
orderInfo
.
playDate
+
' '
+
item2
.
refundEndTime
}
if
(
refundTime
<
nowTime
<
refundEndTime
){
this
.
subRefundBtn
=
true
//增加字段用于弹窗展示该产品是否可退
item
.
ifRefund
=
true
}
else
{
this
.
subRefundBtn
=
false
}
}
}
})
}
}
})
}
else
{
// 退票规则以主订单为准
if
(
orderInfo
.
orderStatus
==
2
||
orderInfo
.
orderStatus
==
7
){
//等于2出票成功,7部分退货退款
if
(
orderInfo
.
isRefund
==
2
){
//随时可退
this
.
mainRefundBtn
=
true
}
if
(
orderInfo
.
isRefund
==
1
){
//1为条件退
orderInfo
.
orderRefundRuleList
.
forEach
(
item
=>
{
//refundVisitorApply游客是否能自己申请退(0不能1可以)
if
(
item
.
refundVisitorApply
==
1
){
if
(
item
.
refundVisitorApply
==
1
){
//当前时间戳
let
nowTimeNumber
=
new
Date
().
getTime
()
//退票时间戳
let
refundTime
=
''
//1使用日期前
if
(
item
.
refundTimeRule
==
1
){
if
(
item
.
refund
Day
){
if
(
item
.
refundDay
){
//1使用日期前
if
(
item
.
refund
TimeRule
==
1
){
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
-
item
.
refundDay
)
refundTime
=
playDate
+
' '
+
item
.
refundTime
}
else
{
refundTime
=
orderInfo
.
playDate
+
' '
+
item
.
refundTime
}
//2过期后
if
(
item
.
refundTimeRule
==
2
){
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
item
.
refundDay
)
refundTime
=
playDate
+
' '
+
item
.
refundTime
}
}
else
{
refundTime
=
orderInfo
.
playDate
+
' '
+
item
.
refundTime
}
refundTimeNumber
=
new
Date
(
refundTime
.
replace
(
/-/g
,
'/'
)).
getTime
()
//退款时间0之前1之后2至(用于区间)
if
(
item
.
refund
TimeRul
e
==
0
){
let
refundTimeNumber
=
new
Date
(
refundTime
.
replace
(
/-/g
,
'/'
)).
getTime
()
//
refundDateType
退款时间0之前1之后2至(用于区间)
if
(
item
.
refund
DateTyp
e
==
0
){
if
(
nowTimeNumber
<
refundTimeNumber
){
this
.
showxxx
=
true
this
.
mainRefundBtn
=
true
}
else
{
this
.
showxxx
=
false
this
.
mainRefundBtn
=
false
}
}
if
(
item
.
refund
TimeRul
e
==
1
){
if
(
item
.
refund
DateTyp
e
==
1
){
if
(
nowTimeNumber
>
refundTimeNumber
){
this
.
showxxx
=
true
this
.
mainRefundBtn
=
true
}
else
{
this
.
showxxx
=
false
this
.
mainRefundBtn
=
false
}
}
if
(
item
.
refund
TimeRul
e
==
2
){
if
(
item
.
refund
DateTyp
e
==
2
){
let
refundEndTime
=
''
if
(
item
.
refundDay
){
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
-
item
.
refundDay
)
refundEndTime
=
playDate
+
' '
+
item
.
refundEndTime
let
playDate
=
this
.
getNewDate
(
orderInfo
.
playDate
,
-
item
.
refundDay
)
refundEndTime
=
playDate
+
' '
+
item
.
refundEndTime
}
else
{
refundEndTime
=
orderInfo
.
playDate
+
' '
+
item
.
refundEndTime
refundEndTime
=
orderInfo
.
playDate
+
' '
+
item
.
refundEndTime
}
if
(
refundTime
<
nowTime
<
refundEndTime
){
this
.
showxxx
=
true
this
.
mainRefundBtn
=
true
}
else
{
this
.
showxxx
=
false
this
.
mainRefundBtn
=
false
}
}
// let nowTime=new Date().getTime()//当前时间
// if(item.refundDay){
// var itemDay = -item.refundDay//将天数改为负数
// var orderEndPlayDate = this.getNextDate(this.orderInfo.playDate,itemDay)//最迟退票天数
// playdateTimer = orderEndPlayDate+' '+item.refundTime
// }else{
// playdateTimer = orderInfo.playDate+' '+item.refundTime
// }
}
}
})
}
//随时可退
if
(
orderInfo
.
isRefund
==
2
){
//按钮显示
this
.
showxxx
=
true
}
}
}
}
else
{
...
...
@@ -705,6 +836,8 @@ export default {
this
.
$request
(
'distribution/distribution/getNewFetchInfo'
,
data
).
then
((
res
)
=>
{
if
(
res
.
code
==
'00'
){
if
(
res
.
data
.
length
>
0
){
//显示排号信息
item
.
showSortInfo
=
true
let
dataObj
=
res
.
data
[
0
]
//子产品获取公司Id,用于重排号传参
if
(
dataObj
.
pays
.
length
>
0
){
...
...
@@ -775,10 +908,13 @@ export default {
}
})
},
//使用须知切换
//
---
使用须知切换
useknowChange
(
item
){
item
.
showUseknow
=!
item
.
showUseknow
this
.
$forceUpdate
()
},
//---退票详情切换
refundDetailChange
(
item
){
item
.
showRefundDetail
=!
item
.
showRefundDetail
},
//---复制内容
copyText
(
value
){
...
...
@@ -798,9 +934,34 @@ export default {
phoneNumber
})
},
//---点击申请退票
ticketRefund
(){
//---主订单点击申请退票
mainRefund
(
orderId
){
uni
.
navigateTo
({
url
:
'/pages/my/order/afterSale/applyAfterSale/applyAfterSale?orderId='
+
orderId
})
},
//---子订单弹窗显示
showSubRefund
(){
this
.
refundPop
=
true
this
.
refundOrderId
=
''
},
//---子订单单选框变化
radioChange
(
e
){
this
.
refundOrderId
=
e
.
detail
.
value
},
//---子订单为准点击退票
subRefund
(){
if
(
!
this
.
refundOrderId
){
uni
.
showToast
({
title
:
'请选择退票产品'
,
icon
:
'none'
})
return
}
this
.
refundPop
=
false
uni
.
navigateTo
({
url
:
'/pages/my/order/afterSale/applyAfterSale/applyAfterSale?orderId='
+
this
.
refundOrderId
})
}
},
...
...
@@ -833,6 +994,15 @@ export default {
border-radius
:
16rpx
;
padding
:
40rpx
32rpx
32rpx
32rpx
;
}
.product-refund-detail
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
20rpx
0
;
border-bottom
:
1px
solid
#EDEDED
;
}
.product-refund-list
view
{
margin-top
:
10rpx
;
}
.product-name
{
display
:
flex
;
justify-content
:
space-between
;
...
...
@@ -1005,7 +1175,7 @@ export default {
}
.order-middle
{
color
:
#666666
;
view
{
>
view
{
padding
:
32rpx
;
display
:
flex
;
justify-content
:
space-between
;
...
...
@@ -1017,9 +1187,7 @@ export default {
margin-left
:
40rpx
;
display
:
flex
;
}
.one-txt-cut
{
flex
:
1
;
}
.order-btn
{
display
:
inline-block
;
text-align
:
center
;
...
...
@@ -1054,5 +1222,30 @@ export default {
color
:
#666666
;
}
}
.subtitle
{
font-size
:
32rpx
;
font-weight
:
bold
;
text-align
:
center
;
padding
:
20rpx
;
}
.subradio
{
display
:
flex
;
justify-content
:
space-between
;
padding
:
20rpx
;
border-bottom
:
1px
solid
#EBEEF5
;
}
.subBottom
{
padding
:
40rpx
32rpx
20rpx
32rpx
;
text
{
display
:
inline-block
;
width
:
100%
;
height
:
88rpx
;
text-align
:
center
;
line-height
:
85rpx
;
background
:
$red
;
color
:
#ffffff
;
font-size
:
32rpx
;
border-radius
:
44rpx
;
}
}
</
style
>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment