You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
195 lines
6.9 KiB
195 lines
6.9 KiB
<template>
|
|
<view class="ym-confirm">
|
|
<view class="yc-header">
|
|
<view class="yh-stadium">{{ orderInfo.extension.stadium_name || '-' }}</view>
|
|
<view class="yh-info">
|
|
<view>今天剩余可使用:{{ orderInfo.extension.rest_number || '0' }}次</view>
|
|
<view>进场状态:<text>{{ orderInfo.enter_status == 0?'离场':orderInfo.enter_status == 1?'进场':'' }}</text></view>
|
|
<view v-if="orderInfo.enter_status == 1">进场时间:{{ orderInfo.latest_enter_time || '-' }}</view>
|
|
</view>
|
|
</view>
|
|
<view class="yc-user-info">
|
|
<view class="yui-tit">持卡人信息</view>
|
|
<view class="yui-line">手机号码:{{ orderInfo.mobile || '-' }}</view>
|
|
<view class="yui-line">用户昵称:{{ orderInfo.nickname || '-' }}</view>
|
|
</view>
|
|
<view class="yc-photo" v-if="!!orderInfo.user_face">
|
|
<view>照片</view>
|
|
<image mode="aspectFit" @click="previewImg(orderInfo.user_face)" :src="orderInfo.user_face"></image>
|
|
</view>
|
|
|
|
<view class="yc-card-mes">
|
|
<view class="ycm-tit">年月卡信息</view>
|
|
<view class="ycm-line">年月卡名称:{{ orderInfo.card_info.name || '-' }}</view>
|
|
<view class="ycm-line">年月卡卡号:{{ orderInfo.card_no || '-' }}</view>
|
|
<view class="ycm-line">验证码:{{ orderInfo.verify_code || '-' }}</view>
|
|
<view class="ycm-line">生成时间:{{ orderInfo.created_at || '-' }}</view>
|
|
<view class="ycm-line">失效时间:{{ orderInfo.expired_at || '-' }}</view>
|
|
</view>
|
|
<view class="yc-btns">
|
|
<view class="green" @click="confirmBtn">确认核销</view>
|
|
<!-- <view>仅核销</view> -->
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import util from '../../../utils/util';
|
|
import { API } from '../../../js/api';
|
|
import { servers } from '../../../js/server';
|
|
import { WRITE_OFF_YM_ORDER_INFO, WRITE_OFF_ORDER_INFO } from '../../../js/once_name';
|
|
export default {
|
|
data(){
|
|
return {
|
|
type: '', // verify_code -> 5: 验证码核销(商家助手) | decrypt_text -> 6: 扫码核销(商家助手)
|
|
orderInfo: {
|
|
extension: {},
|
|
card_info: {}
|
|
},
|
|
operate_stadium_id: '', // 操作的场馆id, 有多门店年月卡,不能随接口返回门店id
|
|
}
|
|
},
|
|
onLoad(options){
|
|
if(options.type)this.type = options.type || '';
|
|
util.$_once(WRITE_OFF_ORDER_INFO, data => {
|
|
console.warn(data)
|
|
this.orderInfo = data?.data || {};
|
|
this.operate_stadium_id = data?.query?.stadium_id ?? data?.data?.stadium_id ?? '';
|
|
})
|
|
},
|
|
methods: {
|
|
previewImg(url){
|
|
if(!url)return
|
|
uni.previewImage({ urls: [ url ] });
|
|
},
|
|
confirmBtn: util.debounce(function(){
|
|
let { orderInfo, type } = this;
|
|
servers.post({
|
|
url: API.writeOff.userMonthlyCardVerify,
|
|
data: {
|
|
brand_id: orderInfo.brand_id,
|
|
card_no: orderInfo.card_no,
|
|
stadium_id: this.operate_stadium_id ?? '',
|
|
type: type == 'verify_code'? 5 : 6,
|
|
},
|
|
isDefaultGet: false,
|
|
})
|
|
.then(res=>{
|
|
if(res.data.code == 0){
|
|
util.showNone(res.data.message || '操作成功!');
|
|
let { orderInfo } = this;
|
|
let _ls = res.data.data&&res.data.data.gates || [];
|
|
setTimeout(_=>{
|
|
util.$_emit(WRITE_OFF_YM_ORDER_INFO, {
|
|
orderInfo,
|
|
gates: _ls
|
|
});
|
|
util.routeTo(`/pages/write_off/ym_card_gated/ym_card_gated`, 'rT');
|
|
}, 1200);
|
|
}else{
|
|
util.showNone(res.data.message || '操作失败!');
|
|
}
|
|
})
|
|
}, 300, true)
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
@import '~style/public.scss';
|
|
page{
|
|
background-color: #fff;
|
|
}
|
|
.ym-confirm{
|
|
padding-bottom: 24upx;
|
|
padding-bottom: calc( 24upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */
|
|
padding-bottom: calc( 24upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */
|
|
.yc-header{
|
|
padding: 0 30upx;
|
|
border-bottom: 2upx solid #f2f2f7;
|
|
.yh-stadium{
|
|
padding: 30upx 0;
|
|
font-size: 32upx;
|
|
color: #1a1a1a;
|
|
border-bottom: 2upx solid #E5E5E5;
|
|
}
|
|
.yh-info{
|
|
padding: 20upx 0;
|
|
>view{
|
|
margin-bottom: 10upx;
|
|
font-size: 28upx;
|
|
line-height: 52upx;
|
|
color: #333333;
|
|
@include textHide(1);
|
|
>text{
|
|
color: $themeColor;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.yc-user-info{
|
|
padding: 30upx;
|
|
border-bottom: 2upx solid #f2f2f7;
|
|
.yui-tit{
|
|
margin-bottom: 20upx;
|
|
font-size: 28upx;
|
|
line-height: 52upx;
|
|
color: #9C9C9F;
|
|
}
|
|
.yui-line{
|
|
font-size: 28upx;
|
|
line-height: 52upx;
|
|
color: #1A1A1A;
|
|
@include textHide(1);
|
|
}
|
|
}
|
|
.yc-photo{
|
|
display: flex;
|
|
padding: 30upx;
|
|
border-bottom: 2upx solid #f2f2f7;
|
|
>view{
|
|
margin-right: 50upx;
|
|
font-size: 28upx;
|
|
line-height: 52upx;
|
|
color: #9c9c9f;
|
|
}
|
|
>image{
|
|
flex-shrink: 0;
|
|
width: 218upx;
|
|
height: 218upx;
|
|
border-radius: 10upx;
|
|
}
|
|
}
|
|
.yc-card-mes{
|
|
padding: 30upx 30upx 0;
|
|
.ycm-tit{
|
|
margin-bottom: 20upx;
|
|
line-height: 52upx;
|
|
color: #9c9c9f;
|
|
}
|
|
.ycm-line{
|
|
line-height: 52upx;
|
|
font-size: 28upx;
|
|
color: #1A1A1A;
|
|
@include textHide(1);
|
|
}
|
|
}
|
|
.yc-btns{
|
|
padding: 152upx 64upx 24upx;
|
|
>view{
|
|
margin-bottom: 24upx;
|
|
line-height: 108upx;
|
|
text-align: center;
|
|
border-radius: 10upx;
|
|
border: 2upx solid $themeColor;
|
|
font-size: 32upx;
|
|
color: $themeColor;
|
|
&.green{
|
|
background-color: $themeColor;
|
|
color: #fff;
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
</style>
|