Commit ff5722c0 authored by qipeng's avatar qipeng

Merge branch 'develop' of http://192.168.0.204/panyongping/uni-pdtravel into develop

parents 77b4dc6d 3251ef50
......@@ -23,7 +23,6 @@ export default {
{name:'云端之眼.高空观景台',phone:'023-60339688'},
{name:'两江夜游',phone:'13883372702'},
{name:'礼嘉时光缆车(渝北区)',phone:'023-67687141'},
{name:'清明上河图',phone:'17783002411'},
{name:'重庆湖广会馆',phone:'023-63914697'},
{name:'重庆抗战遗址博物馆',phone:'023-62462447'},
{name:'重庆杜莎夫人蜡像馆',phone:'023-63492828'},
......
......@@ -28,189 +28,271 @@
</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 class="current-number">
当前排队区间<text>{{item2.showStart}}-{{item2.showEnd}}</text>
</view>
<view>
<view>预计进入时间</view>
<view>{{item2.sortNoTime}}</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>
<!-- 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>
<!-- 等于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 class="number-notice" style="color: #ffffff;">
<view>
温馨提示:{{item2.config.paRowNumHint}}
<!-- 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>
<!-- 可以进入排队区提示 -->
<view>
{{item2.config.paArrivalNumHint}}
<!-- 1购票返程不允许取号,仅提示 -->
<view v-if="item2.config.paReturnTripNumEnable==0" style="margin-top: 20rpx;">
{{item.config.paReturnTripHint}}
</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>
<!-- 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>
</view>
<!-- 0显示预计时间,1隐藏预计时间 -->
<view v-if="item2.config.paHideEstimatedTime!=1">
<view >预计进入时间</view>
<view style="color: #FE6600;">{{item2.sortNoTime}}</view>
</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 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>
<!-- 等于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 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 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>
<!-- 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 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>
<!-- 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>秒后可取号
<view class="code-number">
<text>
数字码:{{item.orderTicketDetailList[0].verifyCode}}
</text>
<text @click="copyText(item.orderTicketDetailList[0].verifyCode)">
复制
</text>
</view>
<!-- 1购票返程不允许取号,仅提示 -->
<view v-if="item2.config.paReturnTripNumEnable==0" style="margin-top: 20rpx;">
{{item.config.paReturnTripHint}}
<view class="code-tip" v-if="item.exchangeMode==4||item.exchangeMode==5">
二维码自动更新,截屏无效
</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>
</view>
<!-- 0显示预计时间,1隐藏预计时间 -->
<view v-if="item2.config.paHideEstimatedTime!=1">
<view >预计进入时间</view>
<view style="color: #FE6600;">{{item2.sortNoTime}}</view>
</view>
</view>
<view class="current-number">
当前排队区间<text style="color: #FE6600;">{{item2.showStart}}-{{item2.showEnd}}</text>
<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="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 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 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>
</template>
</view>
<view class="rufundRule">
<!-- 等于3退票规则以子订单为准 -->
<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="current-number">
当前排队区间<text style="color: #FE6600;">{{item2.showStart}}-{{item2.showEnd}}</text>
<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="number-notice" style="color: #666666;">
温馨提示:{{item2.config.paRowNumHint}}
<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>
</text>
<!-- 过期 -->
<text v-if="item2.refundTimeRule==2">
<text v-if="item2.refundDay==0">
过期当天{{item2.refundTime}}之前可退
</text>
<text v-else>
过期后{{item2.refundDay}}{{item2.refundTime}}之前可退
</text>
</text>
</template>
</view>
</view>
</view>
</view>
<!-- 后端返回了二维码才显示下面内容 -->
<view class="product-code" v-if="item.orderTicketDetailList.length>0&&item.orderTicketDetailList[0].verifyCode">
<view class="code-title">
凭「身份证」或「入园码」直接入园
</template>
<!-- 不等于3退票规则以主订单为准 -->
<template v-else>
<view class="rule-title">
退改规则
</view>
<view class="code-image">
<image :src="item.codeImage"></image>
<view class="rule-type">
<text v-if="orderInfo.isRefund==0">不可退</text>
<text v-if="orderInfo.isRefund==1">有条件退</text>
<text v-if="orderInfo.isRefund==2">随时可退</text>
</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="rule-list">
<view v-for="(item,index) in orderInfo.orderRefundRuleList" :key="index" v-if="orderInfo.isRefund==1" style="margin-top: 20rpx;">
<!--已配置文字内容 -->
<text v-if="item.refundShowMessage">
{{item.refundShowMessage}}
</text>
<!-- 未配置文字内容 -->
<template v-else>
<!-- 使用日期前 -->
<text v-if="item.refundTimeRule==1">
<text v-if="item.refundDay==0">
使用日期当天{{item.refundTime}}之前可退
</text>
<text v-else>
使用日期前{{item.refundDay}}{{item.refundTime}}之前可退
</text>
</text>
<!-- 过期 -->
<text v-if="item.refundTimeRule==2">
<text v-if="item.refundDay==0">
过期当天{{item.refundTime}}之前可退
</text>
<text v-else>
过期后{{item.refundDay}}{{item.refundTime}}之前可退
</text>
</text>
</template>
</view>
</view>
</view>
</view>
<view class="rufundRule">
<view class="rule-title">
退改规则
</view>
<view class="rule-type">
<text>有条件退</text>
</view>
<view class="rule-table">
<uni-table border>
<uni-tr>
<uni-td>取消时间</uni-td>
<uni-td>损失费用</uni-td>
</uni-tr>
<uni-tr>
<uni-td>2024/06/22 16:00:00前</uni-td>
<uni-td>0</uni-td>
</uni-tr>
<uni-tr>
<uni-td>2024/06/22 16:00:00后</uni-td>
<uni-td>全部支付金额</uni-td>
</uni-tr>
</uni-table>
</view>
<view class="rule-service">
</template>
<view class="rule-service" @click="makePhone('4000720368')">
<u-icon name='kefu-ermai'></u-icon>
联系客服
</view>
......@@ -222,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>
......@@ -248,7 +330,10 @@
</view>
<view class="bottom">
<text>申请退票</text>
<!-- 以主订单为准 -->
<text v-if="mainRefundBtn" @click="mainRefund(orderInfo.id)">申请退票</text>
<!-- 以子订单为准 -->
<text v-if="subRefundBtn" @click="showSubRefund()">申请退票</text>
<text>再次预订</text>
</view>
<!-- 是否重新排号 -->
......@@ -259,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>
......@@ -282,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
......@@ -304,6 +404,7 @@ export default {
numberTimer:null,//获取排号信息时间函数
codeFlag:null,//动态二维码函数
countFlag:null,//倒计时时间函数
numberFlag:null,////获取排号信息时间函数2
Brightness:'',//屏幕亮度
openid:uni.getStorageSync('openid')||'',//openid
companyId:'',//公司Id
......@@ -315,10 +416,14 @@ export default {
canTakeNumber:false,//返程或者第一次取号时,是否可以显示取号按钮
minute:'',//倒计时分钟
second:'',//倒计时秒
mainRefundBtn:false,//以主订单为准
subRefundBtn:false,//以子订单为准
refundPop:false,//子订单产品退票列表弹窗
refundOrderId:'',//退款订单Id
}
},
onLoad(option) {
this.orderId = 'z00171979954017393759272c9f00409'// option.orderId
this.orderId=option.orderId
},
onShow() {
this.getDetail()
......@@ -335,11 +440,46 @@ export default {
})
},
onHide() {
//切换后台周期函数
//由于该页面用户需要频繁的查看排号和电子门票信息,为性能考虑,在onHide生命周期函数里面也进行计时器清理
//timer结尾是用的setTimeout,Flag结尾是用的setInterval
//清除详情函数
if(this.detailTimer) {
clearTimeout(this.detailTimer)
this.detailTimer = null
}
//清除动态二维码函数
if(this.codeTimer) {
clearTimeout(this.codeTimer)
this.codeTimer = null
}
//清除排号信息函数
if(this.numberTimer) {
clearTimeout(this.numberTimer)
this.numberTimer = null
}
//清除排号信息函数2
if(this.numberFlag) {
clearInterval(this.numberFlag)
this.numberFlag = null
}
//清除倒计时函数
if(this.countFlag) {
clearInterval(this.countFlag)
this.countFlag = null
}
//清除动态二维码函数
if(this.codeFlag) {
clearInterval(this.codeFlag)
this.codeFlag = null
}
uni.setScreenBrightness({// 恢复之前屏幕亮度
value: this.Brightness
})
},
onUnload() {
//页面切换周期函数
//timer结尾是用的setTimeout,Flag结尾是用的setInterval
//清除详情函数
if(this.detailTimer) {
clearTimeout(this.detailTimer)
......@@ -355,14 +495,19 @@ export default {
clearTimeout(this.numberTimer)
this.numberTimer = null
}
//清除排号信息函数2
if(this.numberFlag) {
clearInterval(this.numberFlag)
this.numberFlag = null
}
//清除倒计时函数
if(this.countFlag) {
clearTimeout(this.countFlag)
clearInterval(this.countFlag)
this.countFlag = null
}
//清除倒计时函数
//清除动态二维码函数
if(this.codeFlag) {
clearTimeout(this.codeFlag)
clearInterval(this.codeFlag)
this.codeFlag = null
}
uni.setScreenBrightness({// 恢复之前屏幕亮度
......@@ -379,29 +524,199 @@ export default {
this.$request('order/userOrder/findOrderDetail',data).then((res)=>{
if(res.code=='00'){
this.orderInfo=res.data
let arr=this.orderInfo.childs||[]
arr.forEach(item=>{
let orderInfo=res.data
this.orderInfo.childs.forEach(item=>{
//默认不显示使用须知
item.showUseknow=false
//默认不显示退票详情
item.showRefundDetail=false
if(item.isFetch=='1'){
//获取排号信息
this.getSortInfo(item)
//为了提高性能,游玩时间等于今天才获取排号信息
if(item.playDate.substr(0,10)==this.$commonjs.today()){
//获取排号信息
this.getSortInfo(item)
//每两分钟刷新一次
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)
if(item.playDate.substr(0,10)==this.$commonjs.today()){
if(item.exchangeMode==4||item.exchangeMode==5){
//多个二维码
this.getCodeList(item)
}
}
// }
if(item.exchangeMode==1){
//一个二维码
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){
item2['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){
//当前时间戳
let nowTimeNumber=new Date().getTime()
//退票时间戳
let refundTime=''
if(item.refundDay){
//1使用日期前
if(item.refundTimeRule==1){
let playDate = this.getNewDate(orderInfo.playDate,-item.refundDay)
refundTime = 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
}
let refundTimeNumber=new Date(refundTime.replace(/-/g, '/')).getTime()
//refundDateType退款时间0之前1之后2至(用于区间)
if(item.refundDateType==0){
if(nowTimeNumber<refundTimeNumber){
this.mainRefundBtn=true
}else{
this.mainRefundBtn=false
}
}
if(item.refundDateType==1){
if(nowTimeNumber>refundTimeNumber){
this.mainRefundBtn=true
}else{
this.mainRefundBtn=false
}
}
if(item.refundDateType==2){
let refundEndTime=''
if(item.refundDay){
let playDate = this.getNewDate(orderInfo.playDate,-item.refundDay)
refundEndTime = playDate+' '+item.refundEndTime
}else{
refundEndTime = orderInfo.playDate+' '+item.refundEndTime
}
if(refundTime<nowTime<refundEndTime){
this.mainRefundBtn=true
}else{
this.mainRefundBtn=false
}
}
}
})
}
}
}
}else{
uni.showToast({
title: res.message,
......@@ -414,6 +729,15 @@ export default {
}, 2000)
})
},
//---当前时间加上天数获取新的日期
getNewDate:function(date,day) {
var dd = new Date(date)
dd.setDate(dd.getDate() + day)
var y = dd.getFullYear()
var m = dd.getMonth() + 1 < 10 ? '0' + (dd.getMonth() + 1) : dd.getMonth() + 1
var d = dd.getDate() < 10 ? '0' + dd.getDate() : dd.getDate()
return y + '-' + m + '-' + d
},
//---二维码刷新
dynamicCodeRefresh(item){
let codeList=item.codeList
......@@ -512,15 +836,14 @@ 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){
item.companyIdCopy = dataObj.pays[0].companyId
}
item.sorts=dataObj.sorts||[]
item.sorts.forEach((item2)=>{
item2.sortFair=4
})
if(item.sorts[0].sortFair==4||item.sorts[0].sortFair==5){
//时间判断,用于返程或第一次取号时,是否可以显示取号按钮
let presentTime = new Date().getTime()
......@@ -585,11 +908,16 @@ export default {
}
})
},
//使用须知切换
//---使用须知切换
useknowChange(item){
item.showUseknow=!item.showUseknow
this.$forceUpdate()
},
//---退票详情切换
refundDetailChange(item){
item.showRefundDetail=!item.showRefundDetail
this.$forceUpdate()
},
//---复制内容
copyText(value){
uni.setClipboardData({
......@@ -602,7 +930,41 @@ export default {
}
})
},
//---拨打电话
makePhone(phoneNumber) {
uni.makePhoneCall({
phoneNumber
})
},
//---主订单点击申请退票
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
})
}
},
}
......@@ -634,6 +996,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;
......@@ -783,8 +1154,8 @@ export default {
padding: 4rpx 12rpx;
}
}
.rule-table{
margin: 20rpx 0 36rpx 0;
.rule-list{
margin: 30rpx 0;
}
.rule-service{
display: flex;
......@@ -806,7 +1177,7 @@ export default {
}
.order-middle{
color: #666666;
view{
>view{
padding:32rpx;
display: flex;
justify-content: space-between;
......@@ -818,9 +1189,7 @@ export default {
margin-left: 40rpx;
display: flex;
}
.one-txt-cut{
flex: 1;
}
.order-btn{
display: inline-block;
text-align: center;
......@@ -855,5 +1224,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>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment