9 changed files with 1025 additions and 99 deletions
-
412src/components/site/order_modal/order_modal.vue
-
17src/js/api.js
-
13src/pages.json
-
5src/pages/index/index.vue
-
95src/pages/site/confirm/confirm.vue
-
330src/pages/site/manage/manage.vue
-
134src/pages/site/occupy_share/occupy_share.vue
-
118src/pages/site/occupy_success/occupy_success.vue
-
BINsrc/static/images/icon/share_arrow_cff.png
@ -0,0 +1,412 @@ |
|||||
|
<template> |
||||
|
<view class="fixed-mask" @click="modalClose"> |
||||
|
<view class="order-modal" @click.stop="_=>false"> |
||||
|
<view class="om-title">{{ getTitle(queryInfo.venueInfo.type) }}</view> |
||||
|
<image class="om-close" @click="modalClose" mode="aspectFit" src="/static/images/icon/x_close.png"></image> |
||||
|
<view class="om-name-line"> |
||||
|
<view class="onl-view">{{ orderInfo.stadium_name || '-' }}</view> |
||||
|
<!-- 0、1、2、8 --> |
||||
|
<view class="onl-view" v-if="isShowStatus">{{ getStatusTxt(orderInfo.pay_status) }}</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">订单编号:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.order_no || '' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line" v-if="orderInfo.type != 'take_up_venue'"> |
||||
|
<view class="oil-view">创建时间:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.created_at || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line" v-if="orderInfo.type != 'take_up_venue'"> |
||||
|
<view class="oil-view">验证码:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.verifyt_code || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line" v-if="orderInfo.type == 'mini_program'"> |
||||
|
<view class="oil-view">手机号码:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.mobile || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<block v-if="orderInfo.type == 'take_up_venue'" > |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">是否联动开灯:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.light_up?'是':'否'}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">收取金额:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.amount || '0' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">占用原因:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.reason || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">操作人:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.operator || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</block> |
||||
|
|
||||
|
|
||||
|
<view class="om-border"></view> |
||||
|
|
||||
|
<view class="om-name-line"> |
||||
|
<view class="onl-view">预订信息</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">预订项目:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.stadium_name || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">预订日期:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view">{{ orderInfo.date || ' ' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-info-line"> |
||||
|
<view class="oil-view">预订场次:</view> |
||||
|
<view class="oil-view"> |
||||
|
<view class="ov-view" v-for="(e, i) in orderInfo.sessions" :key="i"> |
||||
|
{{ e.venue_name || '' }} {{ e.duration || '' }} (¥{{ e.price || '' }} ) |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="om-total" v-if="isShowTotalAmoutn" >实付款 ¥{{ orderInfo.amount || '0' }}</view> |
||||
|
<!-- 管理员占用 --> |
||||
|
<view class="om-btns" v-if="orderInfo.type == 'take_up_venue'"> |
||||
|
<view class="ob-view" @click="toShare">分享给朋友</view> |
||||
|
<view class="ob-view red" @click="cancelOccupy">取消占用</view> |
||||
|
</view> |
||||
|
<!-- 小程序预定 --> |
||||
|
<view class="om-btns" v-if="orderInfo.type == 'mini_program'"> |
||||
|
<view class="ob-view" @click="toOrderInfo">订单详情</view> |
||||
|
<view class="ob-view red" @click="refundBtn">退款</view> |
||||
|
</view> |
||||
|
<!-- 课程预定 --> |
||||
|
<view class="om-btns" v-if="orderInfo.type == 'course_venue'"> |
||||
|
<view class="ob-view" @click="toCouseInfo">约课详情</view> |
||||
|
</view> |
||||
|
<!-- 固定场 --> |
||||
|
<view class="om-btns" v-if="orderInfo.type == 'fixed_venue'"> |
||||
|
<!-- 测试:固定场地没有详情 --> |
||||
|
<view class="ob-view" v-if="orderInfo.pay_status != 0" @click="toOrderInfo">订单详情</view> |
||||
|
<view class="ob-view red" @click="fixedCancelOccupy" v-if="orderInfo.pay_status!=2">取消订场</view> |
||||
|
<!-- <view class="ob-view red">退款</view> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { API } from '../../../js/api' |
||||
|
import { servers } from '../../../js/server' |
||||
|
import util from '../../../utils/util' |
||||
|
export default { |
||||
|
computed: { |
||||
|
// 是否显示使用状态 |
||||
|
isShowStatus(){ |
||||
|
let { orderInfo } = this; |
||||
|
// 测试: 固定场地没有状态 |
||||
|
return orderInfo.type == 'mini_program' || orderInfo.type == 'fixed_venue' |
||||
|
}, |
||||
|
|
||||
|
isShowTotalAmoutn(){ |
||||
|
let { orderInfo } = this; |
||||
|
|
||||
|
return orderInfo.type == 'mini_program' || orderInfo.type == 'course_venue' || orderInfo.type == 'fixed_venue' |
||||
|
} |
||||
|
}, |
||||
|
props: { |
||||
|
queryInfo: { |
||||
|
type: Object, |
||||
|
default: {} |
||||
|
} |
||||
|
}, |
||||
|
data(){ |
||||
|
return { |
||||
|
orderInfo: {} |
||||
|
} |
||||
|
}, |
||||
|
mounted(){ |
||||
|
this.getOrderInfo(); |
||||
|
}, |
||||
|
methods: { |
||||
|
fixedCancelOccupy: util.debounce(function(){ |
||||
|
let { orderInfo, queryInfo } = this; |
||||
|
util.showLoad(); |
||||
|
servers.get({ |
||||
|
url: API.venue.FixedOccupyCancel, |
||||
|
data: { |
||||
|
id: orderInfo.fix_venue_id, |
||||
|
}, |
||||
|
isDefaultGet: false, |
||||
|
}) |
||||
|
.then(res=>{ |
||||
|
util.hideLoad(); |
||||
|
if(res.data.code == 0){ |
||||
|
setTimeout(_=>this.$emit('refresh'), 1200); |
||||
|
util.showNone(res.data.message || '操作成功!'); |
||||
|
}else{ |
||||
|
util.showNone(res.data.message || '操作失败!'); |
||||
|
} |
||||
|
}) |
||||
|
.catch(util.hideLoad) |
||||
|
}, 300, true), |
||||
|
toCouseInfo(){ |
||||
|
util.showNone('待开放') |
||||
|
}, |
||||
|
refundBtn: util.debounce(function(){ |
||||
|
let { orderInfo, queryInfo } = this; |
||||
|
servers.post({ |
||||
|
url: API.venue.orderRefund, |
||||
|
data: { |
||||
|
brand_id: queryInfo.brand_id, |
||||
|
order_no: orderInfo.order_no, |
||||
|
}, |
||||
|
isDefaultGet: false, |
||||
|
}) |
||||
|
.then(res=>{ |
||||
|
if(res.data.code == 0){ |
||||
|
util.showNone(res.data.message || '操作成功!'); |
||||
|
setTimeout(_=>this.$emit('refresh'), 1200); |
||||
|
}else{ |
||||
|
util.showNone(res.data.message || '操作失败!'); |
||||
|
} |
||||
|
}) |
||||
|
}, 300, true), |
||||
|
toOrderInfo(){ |
||||
|
let { orderInfo, queryInfo } = this; |
||||
|
let _query = {} |
||||
|
_query["stadium_id"] = queryInfo.stadium_id |
||||
|
_query["order_no"] = orderInfo.order_no |
||||
|
_query["order_type"] = 3 |
||||
|
util.routeTo(`/subpackage/device/pages/order_details/order_details?query=${util.jsonStr(_query)}`,'nT'); |
||||
|
}, |
||||
|
toShare(){ |
||||
|
let { orderInfo, queryInfo } = this; |
||||
|
let _qyStr = `?brand_id=${queryInfo.brand_id}&order_no=${orderInfo.order_no}` |
||||
|
util.routeTo(`/pages/site/occupy_share/occupy_share${_qyStr}`, 'nT'); |
||||
|
}, |
||||
|
|
||||
|
getStatusTxt(status){ |
||||
|
switch(status){ |
||||
|
case 0: |
||||
|
return '待扣款' |
||||
|
case 1: |
||||
|
return '待使用' |
||||
|
case 2: |
||||
|
return '已使用' |
||||
|
case 3: |
||||
|
return '已失效' |
||||
|
case 8: |
||||
|
return '使用中' |
||||
|
default: return '-' |
||||
|
} |
||||
|
}, |
||||
|
getTitle(type){ |
||||
|
switch(type){ |
||||
|
case 'no_price_venue': |
||||
|
return '无法订场' |
||||
|
case 'empty_venue': |
||||
|
return '-' |
||||
|
case 'mini_program': |
||||
|
return '小程序订场' |
||||
|
case 'take_up_venue': |
||||
|
return '管理员占用' |
||||
|
case 'course_venue': |
||||
|
return '课程预定' |
||||
|
case 'play_venue': |
||||
|
return '约玩占用' |
||||
|
case 'fixed_venue': |
||||
|
return '固定场锁定' |
||||
|
default: return '-' |
||||
|
} |
||||
|
}, |
||||
|
cancelOccupy: util.debounce(function(){ |
||||
|
let { orderInfo, queryInfo } = this; |
||||
|
servers.get({ |
||||
|
url: API.venue.takeUpCancel, |
||||
|
data: { |
||||
|
brand_id: queryInfo.brand_id, |
||||
|
order_no: orderInfo.order_no, |
||||
|
}, |
||||
|
isDefaultGet: false, |
||||
|
}) |
||||
|
.then(res=>{ |
||||
|
if(res.data.code == 0){ |
||||
|
setTimeout(_=>this.$emit('refresh'), 1200); |
||||
|
util.showNone(res.data.message || '操作成功!'); |
||||
|
}else{ |
||||
|
util.showNone(res.data.message || '操作失败!'); |
||||
|
} |
||||
|
}) |
||||
|
}, 300, true), |
||||
|
modalClose(){ |
||||
|
this.$emit('close'); |
||||
|
}, |
||||
|
getOrderInfo(){ |
||||
|
util.showLoad(); |
||||
|
let { queryInfo } = this; |
||||
|
servers.post({ |
||||
|
url: API.venue.dashboardInfo, |
||||
|
data: { |
||||
|
brand_id: queryInfo.brand_id, |
||||
|
stadium_id: queryInfo.stadium_id, |
||||
|
venue_id: queryInfo.venue_id, |
||||
|
date: queryInfo.date, |
||||
|
duration: queryInfo.duration, |
||||
|
}, |
||||
|
isDefaultGet: false, |
||||
|
}) |
||||
|
.then(res=>{ |
||||
|
util.hideLoad(); |
||||
|
if(res.data.code == 0){ |
||||
|
this.orderInfo = res.data.data || {} |
||||
|
}else{ |
||||
|
// util.showNone(res.data.message || '加载失败!'); |
||||
|
this.modalClose(); |
||||
|
util.showModal({ |
||||
|
title: '提示', |
||||
|
content: res.data.message || '加载失败!', |
||||
|
success: mRes=> { |
||||
|
|
||||
|
} |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
.catch(util.hideLoad) |
||||
|
|
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style scoped lang="scss"> |
||||
|
@import '~style/public.scss'; |
||||
|
.fixed-mask{ |
||||
|
position: fixed; |
||||
|
top: 0; |
||||
|
bottom: 0; |
||||
|
right: 0; |
||||
|
left: 0; |
||||
|
z-index: 10; |
||||
|
width: 100%; |
||||
|
background-color: rgba($color: #000000, $alpha: .5); |
||||
|
} |
||||
|
.order-modal{ |
||||
|
position: absolute; |
||||
|
left: 0; |
||||
|
bottom: 0; |
||||
|
width: 100%; |
||||
|
padding-left: 30upx; |
||||
|
padding-right: 30upx; |
||||
|
padding-top: 48upx; |
||||
|
padding-bottom: 0upx; |
||||
|
padding-bottom: calc( 0upx + constant(safe-area-inset-bottom)); /* 兼容 iOS < 11.2 */ |
||||
|
padding-bottom: calc( 0upx + env(safe-area-inset-bottom)); /* 兼容 iOS >= 11.2 */ |
||||
|
background-color: #fff; |
||||
|
.om-close{ |
||||
|
position: absolute; |
||||
|
right: 30upx; |
||||
|
top: 30upx; |
||||
|
width: 34upx; |
||||
|
height: 34upx; |
||||
|
} |
||||
|
.om-title{ |
||||
|
margin-bottom: 34upx; |
||||
|
text-align: center; |
||||
|
font-size: 32upx; |
||||
|
line-height: 44upx; |
||||
|
color: #1a1a1a; |
||||
|
font-weight: 500; |
||||
|
} |
||||
|
.om-name-line{ |
||||
|
margin-bottom: 12upx; |
||||
|
@include centerFlex(space-between); |
||||
|
.onl-view{ |
||||
|
&:first-child{ |
||||
|
line-height: 40upx; |
||||
|
font-size: 28upx; |
||||
|
color: #1a1a1a; |
||||
|
} |
||||
|
&+.onl-view{ |
||||
|
line-height: 40upx; |
||||
|
font-size: 28upx; |
||||
|
color: $themeColor; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.om-info-line{ |
||||
|
display: flex; |
||||
|
align-items: baseline; |
||||
|
.oil-view{ |
||||
|
font-size: 28upx; |
||||
|
line-height: 40upx; |
||||
|
color: #9C9C9F; |
||||
|
&:first-child{ |
||||
|
flex-shrink: 0; |
||||
|
} |
||||
|
&+.oil-view{ |
||||
|
flex-grow: 1; |
||||
|
.ov-view{ |
||||
|
font-size: 28upx; |
||||
|
line-height: 40upx; |
||||
|
color: #1a1a1a; |
||||
|
@include textHide(1); |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.om-border{ |
||||
|
margin-top: 20upx; |
||||
|
margin-bottom: 18upx; |
||||
|
height: 2upx; |
||||
|
background-color: #D8D8D8; |
||||
|
} |
||||
|
.om-total{ |
||||
|
margin-top: 20upx; |
||||
|
margin-bottom: 40upx; |
||||
|
text-align: right; |
||||
|
line-height: 40upx; |
||||
|
font-size: 28upx; |
||||
|
color: #1a1a1a; |
||||
|
} |
||||
|
.om-btns{ |
||||
|
margin-top: 40upx; |
||||
|
margin-bottom: 10upx; |
||||
|
@include centerFlex(flex-end); |
||||
|
.ob-view{ |
||||
|
margin-left: 20upx; |
||||
|
width: 210upx; |
||||
|
height: 80upx; |
||||
|
border: 2upx solid $themeColor; |
||||
|
text-align: center; |
||||
|
line-height: 76upx; |
||||
|
border-radius: 10upx; |
||||
|
font-size: 32upx; |
||||
|
font-weight: 500; |
||||
|
color: $themeColor; |
||||
|
&.red{ |
||||
|
border-color: #EA5061; |
||||
|
color: #EA5061; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,134 @@ |
|||||
|
<template> |
||||
|
<view class="occupy-share"> |
||||
|
<view class="os-address"> |
||||
|
<view class="oa-name"> |
||||
|
<image mode="aspectFit" :src="shareInfo.stadium_logo"></image> |
||||
|
<view>{{ shareInfo.stadium_name || '-' }}</view> |
||||
|
</view> |
||||
|
<view class="oa-info"> |
||||
|
<view>地址:</view> |
||||
|
<view>{{ shareInfo.stadium_address || '-' }}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="os-section"> |
||||
|
<view class="os-des"> |
||||
|
<view>①<text>截图</text>该页面后,发此图给朋友 </view> |
||||
|
<view>② 朋友<text>长按此图</text>识别下面的二维码<text>关注公众号</text> </view> |
||||
|
<view>③ 接收微信消息,<text>领取入场码</text></view> |
||||
|
<view>④ 领取成功后<text>仅限本人使用</text></view> |
||||
|
</view> |
||||
|
<image class="os-code-img" mode="aspectFit" :src="shareInfo.share_qrcode"></image> |
||||
|
<view class="os-tip">注:此码非入场码</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { API } from '../../../js/api' |
||||
|
import { servers } from '../../../js/server' |
||||
|
export default { |
||||
|
data(){ |
||||
|
return { |
||||
|
shareInfo: {}, |
||||
|
} |
||||
|
}, |
||||
|
onLoad(options){ |
||||
|
this.getShareCode({ |
||||
|
brand_id: options.brand_id, |
||||
|
order_no: options.order_no, |
||||
|
}) |
||||
|
}, |
||||
|
methods: { |
||||
|
getShareCode({ brand_id, order_no }){ |
||||
|
servers.get({ |
||||
|
url: API.venue.takeUpShareQr, |
||||
|
data: { brand_id, order_no, }, |
||||
|
failMsg: '加载失败!' |
||||
|
}) |
||||
|
.then(res=> { |
||||
|
console.warn('shareInfo', res) |
||||
|
this.shareInfo = res || {}; |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
@import '~style/public.scss'; |
||||
|
page{ |
||||
|
background-color: $themeColor; |
||||
|
} |
||||
|
.occupy-share{ |
||||
|
padding-top: 32upx; |
||||
|
padding-left: 24upx; |
||||
|
padding-right: 24upx; |
||||
|
|
||||
|
} |
||||
|
.os-address{ |
||||
|
margin-bottom: 36upx; |
||||
|
.oa-name{ |
||||
|
margin-bottom: 20upx; |
||||
|
@include centerFlex(flex-start); |
||||
|
>image{ |
||||
|
flex-shrink: 0; |
||||
|
margin-right: 10upx; |
||||
|
width: 34upx; |
||||
|
height: 34upx; |
||||
|
} |
||||
|
>view{ |
||||
|
line-height: 40upx; |
||||
|
font-size: 28upx; |
||||
|
color: #fff; |
||||
|
@include textHide(1); |
||||
|
} |
||||
|
} |
||||
|
.oa-info{ |
||||
|
display: flex; |
||||
|
align-items: baseline; |
||||
|
>view{ |
||||
|
line-height: 40upx; |
||||
|
font-size: 28upx; |
||||
|
color: #fff; |
||||
|
&:first-child{ |
||||
|
flex-shrink: 0; |
||||
|
} |
||||
|
&+view{ |
||||
|
flex-grow: 1; |
||||
|
word-break: break-all; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.os-section{ |
||||
|
padding: 30upx 60upx 0; |
||||
|
height: 640upx; |
||||
|
overflow: hidden; |
||||
|
border-radius: 10upx; |
||||
|
background-color: #fff; |
||||
|
display: flex; |
||||
|
align-items: center; |
||||
|
justify-content: flex-start; |
||||
|
flex-direction: column; |
||||
|
.os-des{ |
||||
|
margin-bottom: 16upx; |
||||
|
>view{ |
||||
|
line-height: 52upx; |
||||
|
font-size: 28upx; |
||||
|
color: #333; |
||||
|
>text{ |
||||
|
color: $themeColor; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
.os-code-img{ |
||||
|
margin-bottom: 12upx; |
||||
|
width: 300upx; |
||||
|
height: 300upx; |
||||
|
} |
||||
|
} |
||||
|
.os-tip{ |
||||
|
font-size: 24upx; |
||||
|
color: #9A9A9D; |
||||
|
} |
||||
|
</style> |
@ -0,0 +1,118 @@ |
|||||
|
<template> |
||||
|
<view class="occupy-success"> |
||||
|
<view class="os-address">{{ qrInfo.stadium_name || '-' }}</view> |
||||
|
<image class="os-code" mode="aspectFit" :src="qrInfo.verify_qrcode"></image> |
||||
|
<view class="os-num">验证码:{{ qrInfo.verify_code || '-' }}</view> |
||||
|
<view class="os-btn" @click="toShare"> |
||||
|
<view>分享给朋友</view> |
||||
|
<image mode="aspectFit" src="/static/images/icon/share_arrow_cff.png"></image> |
||||
|
</view> |
||||
|
<view class="os-black" @click="backBtn">返回</view> |
||||
|
</view> |
||||
|
</template> |
||||
|
|
||||
|
<script> |
||||
|
import { API } from '../../../js/api'; |
||||
|
import { servers } from '../../../js/server'; |
||||
|
import util from '../../../utils/util'; |
||||
|
export default { |
||||
|
data(){ |
||||
|
return { |
||||
|
qrInfo: {}, |
||||
|
optionsQuery: {}, |
||||
|
} |
||||
|
}, |
||||
|
onLoad(options){ |
||||
|
this.optionsQuery = options || {}; |
||||
|
this.getPageInfo({ |
||||
|
brand_id: options.brand_id, |
||||
|
order_no: options.order_no, |
||||
|
}) |
||||
|
}, |
||||
|
methods: { |
||||
|
toShare(){ |
||||
|
let { optionsQuery } = this; |
||||
|
let _qrStr = `?brand_id=${optionsQuery.brand_id}&order_no=${optionsQuery.order_no}` |
||||
|
util.routeTo(`/pages/site/occupy_share/occupy_share${_qrStr}`, 'nT') |
||||
|
}, |
||||
|
backBtn(){ |
||||
|
util.routeTo(); |
||||
|
util.previousPageFunction({ // 刷新占用列表 |
||||
|
fnName: 'refreshList', |
||||
|
query: null |
||||
|
}) |
||||
|
}, |
||||
|
getPageInfo({ |
||||
|
brand_id, |
||||
|
order_no, |
||||
|
}){ |
||||
|
servers.get({ |
||||
|
url: API.venue.takeUpVerifyQr, |
||||
|
data: { |
||||
|
brand_id, |
||||
|
order_no, |
||||
|
}, |
||||
|
failMsg: '加载失败!' |
||||
|
}) |
||||
|
.then(res=>{ |
||||
|
console.warn('res--->' , res); |
||||
|
this.qrInfo = res || {}; |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss"> |
||||
|
@import '~style/public.scss'; |
||||
|
.occupy-success{ |
||||
|
padding: 0 24upx; |
||||
|
.os-address{ |
||||
|
margin-bottom: 80upx; |
||||
|
height: 92upx; |
||||
|
line-height: 90upx; |
||||
|
border-bottom: 2upx solid #D8D8D8; |
||||
|
font-size: 32upx; |
||||
|
color: #333; |
||||
|
@include textHide(1); |
||||
|
} |
||||
|
.os-code{ |
||||
|
margin: 0 auto 40upx; |
||||
|
display: block; |
||||
|
width: 400upx; |
||||
|
height: 400upx; |
||||
|
} |
||||
|
.os-num{ |
||||
|
margin-bottom: 128upx; |
||||
|
text-align: center; |
||||
|
font-size: 32upx; |
||||
|
color: #333; |
||||
|
@include textHide(1); |
||||
|
} |
||||
|
.os-btn{ |
||||
|
margin: 0 auto 92upx; |
||||
|
width: 320upx; |
||||
|
height: 112upx; |
||||
|
background-color: $themeColor; |
||||
|
border-radius: 10upx; |
||||
|
@include centerFlex(center); |
||||
|
>view{ |
||||
|
font-size: 32upx; |
||||
|
color: #fff; |
||||
|
} |
||||
|
>image{ |
||||
|
margin-left: 20upx; |
||||
|
width: 34upx; |
||||
|
height: 36upx; |
||||
|
} |
||||
|
} |
||||
|
.os-black{ |
||||
|
font-size: 32upx; |
||||
|
line-height: 44upx; |
||||
|
text-align: center; |
||||
|
color: $themeColor; |
||||
|
text-decoration: underline; |
||||
|
} |
||||
|
} |
||||
|
</style> |
After Width: 68 | Height: 72 | Size: 705 B |
Write
Preview
Loading…
Cancel
Save
Reference in new issue