|
|
|
|
|
<template>
|
|
|
|
|
|
<view class="page">
|
|
|
|
|
|
|
|
|
|
|
|
<view class="oinfo" v-if="info">
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 信息 -->
|
|
|
|
|
|
<view class="yycon">
|
|
|
|
|
|
<view class="oscon">
|
|
|
|
|
|
<view class="osrcon">
|
|
|
|
|
|
<view class="ostop">
|
|
|
|
|
|
<view class="osname">门店:{{info.storeName?info.storeName:''}}</view>
|
|
|
|
|
|
<view class="qrimg" v-if="info.qrCode" @click="openQR(info.qrCode)">
|
|
|
|
|
|
<image class="qrimg" :src="'data:image/png;base64,'+info.qrCode" mode="aspectFill"></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell">
|
|
|
|
|
|
上课课程:
|
|
|
|
|
|
<text class="txt">{{info.courseName }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view v-if="info.claName" class="oscell">
|
|
|
|
|
|
上课班级:
|
|
|
|
|
|
<text class="txt">{{info.claName }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell">
|
|
|
|
|
|
预约状态:
|
|
|
|
|
|
<view v-if="info.bookStatus==1" class="ztip">教练确认</view>
|
|
|
|
|
|
<view v-else-if="info.bookStatus==0" class="jtip">预约中</view>
|
|
|
|
|
|
<view v-else-if="info.bookStatus==2" class="htip">待上课</view>
|
|
|
|
|
|
<view v-else-if="info.bookStatus==4" class="wtip">已完成</view>
|
|
|
|
|
|
<view v-else-if="info.bookStatus==3" class="ctip">已取消</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell">
|
|
|
|
|
|
授课教练:
|
|
|
|
|
|
<text class="txt">{{info.teacherName }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell">
|
|
|
|
|
|
上课教室:
|
|
|
|
|
|
<text class="txt">{{info.roomName }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell">
|
|
|
|
|
|
上课时间:
|
|
|
|
|
|
<text class="txt">{{ (info.claDate?info.claDate:'')+' '+ (info.startTime?info.startTime:'') + (info.endTime?'-'+info.endTime:'') }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell" v-if="info.claTimeStatus">
|
|
|
|
|
|
课程状态:
|
|
|
|
|
|
<text class="txt">{{info.claTimeStatus=='1'?'待上课':(info.claTimeStatus=='2'?'已上课':'') }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscell">
|
|
|
|
|
|
创建日期:
|
|
|
|
|
|
<text class="txt">{{info.createTime }}</text>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="oscellqr">
|
|
|
|
|
|
<view class="ordtip">预约二维码(扫码签到)</view>
|
|
|
|
|
|
<view class="ordqr">
|
|
|
|
|
|
<image class="imgqr" :src="'data:image/png;base64,'+info.qrCode" mode="aspectFill"></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="ordno">
|
|
|
|
|
|
<view class="txt"> 预约号 {{ info.code }}</view>
|
|
|
|
|
|
<view class="copy" @click="copydo(info.code)">.复制</view> </view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 进度信息 -->
|
|
|
|
|
|
<view class="yycon">
|
|
|
|
|
|
<uni-steps v-if="ifshow" :options="steps" direction="column" :active="cur"></uni-steps>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
</view>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 二维码 -->
|
|
|
|
|
|
<uni-popup ref="pfDialog" :mask-click="false">
|
|
|
|
|
|
<view class="pcon">
|
|
|
|
|
|
<view class="phtxt">预约二维码</view>
|
|
|
|
|
|
<view class="ptxt">
|
|
|
|
|
|
<image class="qrimg" :src="qr" mode="aspectFill"></image>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
<view class="btn" @click="closeDialog">
|
|
|
|
|
|
关闭
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</uni-popup>
|
|
|
|
|
|
|
|
|
|
|
|
<!-- 是否登录 -->
|
|
|
|
|
|
<openlogin ref="loginId" @getPhoneNumber="getPhoneNumber"></openlogin>
|
|
|
|
|
|
|
|
|
|
|
|
<view v-if="ifscan" class="bottom"></view>
|
|
|
|
|
|
<view v-if="ifscan" class="submitcon">
|
|
|
|
|
|
<button type="primary" class="bbtn" @tap="goSign()">学员签到</button>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
|
|
import { myCache } from '../../utils/utils.js';
|
|
|
|
|
|
import openlogin from "../components/openlogin.vue";
|
|
|
|
|
|
export default {
|
|
|
|
|
|
components: {
|
|
|
|
|
|
openlogin
|
|
|
|
|
|
},
|
|
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
openId:"",
|
|
|
|
|
|
phone:"",
|
|
|
|
|
|
userid:"",
|
|
|
|
|
|
id:"",
|
|
|
|
|
|
qr:'',
|
|
|
|
|
|
info: {
|
|
|
|
|
|
"claName": "",
|
|
|
|
|
|
"storeName": "",
|
|
|
|
|
|
"pic": null,
|
|
|
|
|
|
"claDate": "",
|
|
|
|
|
|
"weekDay": null,
|
|
|
|
|
|
"startTime": "",
|
|
|
|
|
|
"endTime": "",
|
|
|
|
|
|
"roomName": null,
|
|
|
|
|
|
"claColor": null,
|
|
|
|
|
|
"claTimeStatus": null,
|
|
|
|
|
|
"bookStatus": null,
|
|
|
|
|
|
"createTime": "",
|
|
|
|
|
|
"code": null,
|
|
|
|
|
|
"courseName": null,
|
|
|
|
|
|
"teacherId": null,
|
|
|
|
|
|
"teacherName": "",
|
|
|
|
|
|
"checkIn": 1,
|
|
|
|
|
|
"statusTime": [
|
|
|
|
|
|
{
|
|
|
|
|
|
"time": "2025-09-02 17:26:18",
|
|
|
|
|
|
"status": 0
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"time": "2025-09-02 17:26:18",
|
|
|
|
|
|
"status": 1
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"time": "2025-09-02 17:26:18",
|
|
|
|
|
|
"status": 2
|
|
|
|
|
|
},
|
|
|
|
|
|
{
|
|
|
|
|
|
"time": "2025-09-02 17:26:18",
|
|
|
|
|
|
"status": 3
|
|
|
|
|
|
}
|
|
|
|
|
|
]
|
|
|
|
|
|
},
|
|
|
|
|
|
cur:0,
|
|
|
|
|
|
steps:
|
|
|
|
|
|
[
|
|
|
|
|
|
// {title:'已付款',desc:'2025-02-05 13:30'},
|
|
|
|
|
|
// {title:'已预约',desc:'2025-02-05 13:30'},
|
|
|
|
|
|
// {title:'教练已确认',desc:''},
|
|
|
|
|
|
// {title:'店长确认,准备上课',desc:''},
|
|
|
|
|
|
// {title:'课程结束',desc:''},
|
|
|
|
|
|
],
|
|
|
|
|
|
ifshow:false,
|
|
|
|
|
|
ifscan:false,
|
|
|
|
|
|
};
|
|
|
|
|
|
},
|
|
|
|
|
|
onLoad(options) {
|
|
|
|
|
|
if(options.type&&options.type=='qd')
|
|
|
|
|
|
{
|
|
|
|
|
|
this.ifscan=true;
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
|
}
|
|
|
|
|
|
if(options.id)
|
|
|
|
|
|
{
|
|
|
|
|
|
this.id=options.id;
|
|
|
|
|
|
this.getinfo();
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
onShow(){
|
|
|
|
|
|
this.openId = myCache('openId');
|
|
|
|
|
|
var user = myCache('user');
|
|
|
|
|
|
this.userid = user.userid? user.userid:'';
|
|
|
|
|
|
this.phone = user.userphone;
|
|
|
|
|
|
if(this.userid==""||this.userid=="0"){
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `/pages/login/login`
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
copydo(text){
|
|
|
|
|
|
if (!text) {
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: '复制内容为空!',
|
|
|
|
|
|
icon: 'none'
|
|
|
|
|
|
})
|
|
|
|
|
|
return;
|
|
|
|
|
|
}
|
|
|
|
|
|
uni.setClipboardData({
|
|
|
|
|
|
data: text,
|
|
|
|
|
|
success: () => {
|
|
|
|
|
|
uni.showToast({
|
|
|
|
|
|
title: '复制成功',
|
|
|
|
|
|
icon: 'success'
|
|
|
|
|
|
})
|
|
|
|
|
|
}
|
|
|
|
|
|
})
|
|
|
|
|
|
},
|
|
|
|
|
|
openQR(qr){
|
|
|
|
|
|
console.log("openQR")
|
|
|
|
|
|
this.qr='data:image/png;base64,'+qr;
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
|
this.openDialog();
|
|
|
|
|
|
},
|
|
|
|
|
|
closeDialog(){
|
|
|
|
|
|
this.$refs.pfDialog.close();
|
|
|
|
|
|
},
|
|
|
|
|
|
openDialog(){
|
|
|
|
|
|
this.$refs.pfDialog.open();
|
|
|
|
|
|
},
|
|
|
|
|
|
getPhoneNumber(e){
|
|
|
|
|
|
if(e.phone){
|
|
|
|
|
|
this.phone = e.phone
|
|
|
|
|
|
}
|
|
|
|
|
|
if(e.userid){
|
|
|
|
|
|
this.userid = e.userid
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
iflogin(){
|
|
|
|
|
|
this.openId = myCache('openId');
|
|
|
|
|
|
var user = myCache('user');
|
|
|
|
|
|
this.userid = user.userid? user.userid:'';
|
|
|
|
|
|
this.phone = user.userphone;
|
|
|
|
|
|
if(this.userid==""||this.userid=="0"||this.phone==""){
|
|
|
|
|
|
uni.navigateTo({
|
|
|
|
|
|
url: `/pages/login/login`
|
|
|
|
|
|
});
|
|
|
|
|
|
return false;
|
|
|
|
|
|
}
|
|
|
|
|
|
else{
|
|
|
|
|
|
return true;
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
goback(){
|
|
|
|
|
|
uni.navigateBack({
|
|
|
|
|
|
delta: 1
|
|
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
async getinfo() {
|
|
|
|
|
|
uni.showLoading({
|
|
|
|
|
|
title: '数据加载中...'
|
|
|
|
|
|
});
|
|
|
|
|
|
const {data: res} = await uni.$http.post('/api/course/bookCourseDetail', {"bookId":this.id});//"2037434363846811650"
|
|
|
|
|
|
if(res&&res.data){
|
|
|
|
|
|
// 预约信息
|
|
|
|
|
|
this.info=res.data;
|
|
|
|
|
|
this.steps=[
|
|
|
|
|
|
// {title:'已预约',desc:''},
|
|
|
|
|
|
// {title:'教练已确认',desc:''},
|
|
|
|
|
|
// {title:'店长已确认',desc:''},
|
|
|
|
|
|
// {title:'预约已取消',desc:''},
|
|
|
|
|
|
// {title:'课程已结束',desc:''},
|
|
|
|
|
|
];
|
|
|
|
|
|
// 描述:预约进度:0->预约中;1->教练确认;2->店长确认/预约成功/待上课 3->已取消;4- >已完成/待评价;
|
|
|
|
|
|
// {title:'已付款',desc:'2025-02-05 13:30'},
|
|
|
|
|
|
// {title:'已预约',desc:'2025-02-05 13:30'},
|
|
|
|
|
|
// {title:'教练已确认',desc:'2025-02-05 13:30'},
|
|
|
|
|
|
// {title:'店长确认,准备上课',desc:''},
|
|
|
|
|
|
// {title:'课程结束',desc:''},
|
|
|
|
|
|
var statusTime=res.data.statusTime?res.data.statusTime:[];
|
|
|
|
|
|
if(statusTime&&statusTime.length>0){
|
|
|
|
|
|
statusTime.forEach(cell=>{
|
|
|
|
|
|
var ii={
|
|
|
|
|
|
title: cell.status==0?'已预约':(cell.status==1?'教练已确认':(cell.status==2?'店长已确认':(cell.status==3?'预约已取消':cell.status==4?'课程已结束':''))),
|
|
|
|
|
|
desc: cell.time
|
|
|
|
|
|
}
|
|
|
|
|
|
this.steps.push(ii);
|
|
|
|
|
|
});
|
|
|
|
|
|
var lastStatus=statusTime[statusTime.length-1].status;
|
|
|
|
|
|
if(lastStatus==0){
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'教练待确认',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'店长确认,准备上课',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'课程结束',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
else if(lastStatus==1){
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'店长确认,准备上课',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'课程结束',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
if(lastStatus==2){
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'课程结束',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
else{
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'预约中',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'教练待确认',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'店长确认,准备上课',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
this.steps.push({
|
|
|
|
|
|
title:'课程结束',desc:''
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
|
this.cur=-1;
|
|
|
|
|
|
this.steps.forEach(cell=>{
|
|
|
|
|
|
if(cell.desc){
|
|
|
|
|
|
this.cur++;
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
this.ifshow=true;
|
|
|
|
|
|
this.$forceUpdate();
|
|
|
|
|
|
}
|
|
|
|
|
|
else{
|
|
|
|
|
|
uni.showModal({
|
|
|
|
|
|
title: '提示',
|
|
|
|
|
|
content: res.message? res.message:'预约详情获取失败!请重试!',
|
|
|
|
|
|
cancelText: '取消',
|
|
|
|
|
|
confirmText: '确定',
|
|
|
|
|
|
success: ress => {
|
|
|
|
|
|
if (ress.confirm) {
|
|
|
|
|
|
// 返回
|
|
|
|
|
|
uni.navigateBack({
|
|
|
|
|
|
delta: 1
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
else{
|
|
|
|
|
|
// 返回
|
|
|
|
|
|
uni.navigateBack({
|
|
|
|
|
|
delta: 1
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
async goSign(){
|
|
|
|
|
|
uni.showLoading({
|
|
|
|
|
|
title: '学员签到中...'
|
|
|
|
|
|
});
|
|
|
|
|
|
const {data: res} = await uni.$http.post('/api/my/checkIn', {"code":this.info.code,"bookId":this.info.bookId});
|
|
|
|
|
|
if(res&&res.success){
|
|
|
|
|
|
uni.showModal({
|
|
|
|
|
|
title: '提示',
|
|
|
|
|
|
content: '学员签到成功!',
|
|
|
|
|
|
cancelText: '取消',
|
|
|
|
|
|
confirmText: '确定',
|
|
|
|
|
|
success: ress => {
|
|
|
|
|
|
//返回
|
|
|
|
|
|
uni.navigateBack({
|
|
|
|
|
|
delta: 1,
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
else{
|
|
|
|
|
|
uni.showModal({
|
|
|
|
|
|
title: '提示',
|
|
|
|
|
|
content: res.message? res.message:'学员签到失败!',
|
|
|
|
|
|
cancelText: '取消',
|
|
|
|
|
|
confirmText: '确定',
|
|
|
|
|
|
success: ress => {
|
|
|
|
|
|
if (ress.confirm) {
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
|
::v-deep .uni-collapse-item__title-box{
|
|
|
|
|
|
padding: 0 !important;
|
|
|
|
|
|
}
|
|
|
|
|
|
::v-deep .uni-collapse-item__title-text{
|
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
|
}
|
|
|
|
|
|
.page{
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
background-image: url('@/static/image/bg.jpg');
|
|
|
|
|
|
background-attachment: fixed;
|
|
|
|
|
|
background-size: cover;
|
|
|
|
|
|
background-position: center center;
|
|
|
|
|
|
min-height: calc(100vh - var(--window-top) - var(--window-bottom));
|
|
|
|
|
|
}
|
|
|
|
|
|
.ret{
|
|
|
|
|
|
position: fixed;
|
|
|
|
|
|
top:20rpx;
|
|
|
|
|
|
left:20rpx;
|
|
|
|
|
|
background: rgba(0, 0, 0, .3);
|
|
|
|
|
|
height: 60rpx;
|
|
|
|
|
|
width: 60rpx;
|
|
|
|
|
|
border-radius: 50% 50%;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
line-height: 60rpx;
|
|
|
|
|
|
z-index: 9999;
|
|
|
|
|
|
}
|
|
|
|
|
|
.oscon{
|
|
|
|
|
|
margin:0;
|
|
|
|
|
|
background-color: #f3fafa;
|
|
|
|
|
|
padding: 16rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
.osimg{
|
|
|
|
|
|
width: 120rpx;
|
|
|
|
|
|
height: 120rpx;
|
|
|
|
|
|
border-radius: 10rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.osrcon{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
flex: 1;
|
|
|
|
|
|
justify-content: flex-start;
|
|
|
|
|
|
margin-left: 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.ostop{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
border-bottom: 1rpx dotted #74defb;
|
|
|
|
|
|
padding-bottom: 15rpx;
|
|
|
|
|
|
.osname{
|
|
|
|
|
|
line-height: 48rpx;
|
|
|
|
|
|
font-size:32rpx;
|
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
|
color:#009999;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex:1;
|
|
|
|
|
|
}
|
|
|
|
|
|
.qrimg{
|
|
|
|
|
|
width: 50rpx;
|
|
|
|
|
|
height: 50rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.oscell{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color:#333;
|
|
|
|
|
|
padding: 15rpx 0;
|
|
|
|
|
|
border-bottom: 1rpx dotted #74defb;
|
|
|
|
|
|
.txt{
|
|
|
|
|
|
display: flex; flex: 1;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.oscellqr{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
margin: 20rpx 20rpx 10rpx 20rpx;
|
|
|
|
|
|
.ordtip{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color:#000;
|
|
|
|
|
|
margin-bottom: 10rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.ordqr{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 200rpx;
|
|
|
|
|
|
margin-bottom: 10rpx;
|
|
|
|
|
|
.imgqr{
|
|
|
|
|
|
width: 200rpx;
|
|
|
|
|
|
height: 200rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.ordno{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
.txt{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color:#000;
|
|
|
|
|
|
}
|
|
|
|
|
|
.copy{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color:#1296db;
|
|
|
|
|
|
margin-left: 6rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.ztip{
|
|
|
|
|
|
color:#1296db;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.jtip{
|
|
|
|
|
|
color:#feb467;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.htip{
|
|
|
|
|
|
border-radius: 12rpx;
|
|
|
|
|
|
color:#fc6900;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.hwtip{
|
|
|
|
|
|
color:#FF0000;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.wtip{
|
|
|
|
|
|
color:#43cca4;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.gtip{
|
|
|
|
|
|
color:#0036D6;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.ftip{
|
|
|
|
|
|
color:#6A81F1;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
.ctip{
|
|
|
|
|
|
color:#888;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
height: 40rpx;
|
|
|
|
|
|
line-height: 40rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.oinfo{
|
|
|
|
|
|
padding:20rpx;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
margin-bottom: 20rpx;
|
|
|
|
|
|
|
|
|
|
|
|
.ozc{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
background-color: #becba0 ;
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
.ozstate{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 10rpx 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
.oztip{
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 0 0 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.owc{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
background-color: #00a89b ;
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
.ozstate{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #FFF;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 6rpx 0 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
.oztip{
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
color: #FFF;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 0 0 6rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.oztgray{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
background-color: #ddd;
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
.ozstate{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #333;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 6rpx 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
.oztip{
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
color: #747474;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 0 0 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.oztorange{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
background-color: #faa755;
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
border-radius: 16rpx;
|
|
|
|
|
|
.ozstate{
|
|
|
|
|
|
font-size: 28rpx;
|
|
|
|
|
|
color: #FFF;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 6rpx 0;
|
|
|
|
|
|
}
|
|
|
|
|
|
.oztip{
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
color: #FFF;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin: 0 0 20rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.yycon{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
background-color: #FFFFFF;
|
|
|
|
|
|
margin-top: 20rpx;
|
|
|
|
|
|
padding: 20rpx 20rpx;
|
|
|
|
|
|
.atitle{
|
|
|
|
|
|
padding: 10rpx 0 10rpx;
|
|
|
|
|
|
color:#303133;
|
|
|
|
|
|
font-size: 30rpx;
|
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
.price{
|
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.olist{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
padding: 0;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
.ocell{
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
color:#747474;
|
|
|
|
|
|
padding: 10rpx 0 10rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
.ocell1{
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
color:#747474;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.sqcon{
|
|
|
|
|
|
padding: 20rpx;
|
|
|
|
|
|
margin: 20rpx 0;
|
|
|
|
|
|
background-color: #f5f5f5;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
border-radius: 10rpx;
|
|
|
|
|
|
.sqlist{
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
color: #333333;
|
|
|
|
|
|
font-size: 26rpx;
|
|
|
|
|
|
line-height: 50rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
::v-deep.uni-radio-input-checked{
|
|
|
|
|
|
background-color: #00a89b !important;
|
|
|
|
|
|
border-color: #00a89b !important;
|
|
|
|
|
|
background-clip: content-box!important;
|
|
|
|
|
|
box-sizing: border-box;
|
|
|
|
|
|
}
|
|
|
|
|
|
::v-deep.uni-radio-input-checked::before{
|
|
|
|
|
|
display: none!important;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.pcon{
|
|
|
|
|
|
width: 690rpx;
|
|
|
|
|
|
padding-top:30rpx;
|
|
|
|
|
|
padding-bottom:50rpx;
|
|
|
|
|
|
background: #FCFCFD;
|
|
|
|
|
|
box-shadow: 0rpx 128rpx 128rpx 2rpx rgba(31,47,70,0.12);
|
|
|
|
|
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
|
|
|
|
position: relative;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: column;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
.phtxt{
|
|
|
|
|
|
width: 600rpx;
|
|
|
|
|
|
margin: 20rpx auto 10rpx;
|
|
|
|
|
|
font-size: 36rpx;
|
|
|
|
|
|
font-family: PingFang SC-Regular, PingFang SC;
|
|
|
|
|
|
font-weight: 600;
|
|
|
|
|
|
color: #23262F;
|
|
|
|
|
|
}
|
|
|
|
|
|
.ptxt
|
|
|
|
|
|
{
|
|
|
|
|
|
width: 620rpx;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
align-items: center;
|
|
|
|
|
|
justify-content: center;
|
|
|
|
|
|
margin: 30rpx auto;
|
|
|
|
|
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
|
|
|
|
|
opacity: 1;
|
|
|
|
|
|
border: 2rpx solid #F7F8FA;
|
|
|
|
|
|
padding: 30rpx;
|
|
|
|
|
|
.qrimg{
|
|
|
|
|
|
width: 400rpx;
|
|
|
|
|
|
height: 400rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
.btn{
|
|
|
|
|
|
width: 520rpx;
|
|
|
|
|
|
height: 80rpx;
|
|
|
|
|
|
line-height: 80rpx;
|
|
|
|
|
|
background: #00A99A;
|
|
|
|
|
|
box-shadow: 0rpx 12rpx 64rpx 2rpx rgba(0,169,154,0.4);
|
|
|
|
|
|
border-radius: 254rpx 254rpx 254rpx 254rpx;
|
|
|
|
|
|
text-align: center;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
color: #FCFCFD;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.bottom{
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
margin-bottom: 148rpx;
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
.submitcon{
|
|
|
|
|
|
position: fixed;
|
|
|
|
|
|
bottom: 0;
|
|
|
|
|
|
left: 0;
|
|
|
|
|
|
width: 100%;
|
|
|
|
|
|
height: 148rpx;
|
|
|
|
|
|
background: #FFFFFF;
|
|
|
|
|
|
box-shadow: 0rpx -4rpx 60rpx 2rpx rgba(1,31,63,0.1);
|
|
|
|
|
|
opacity: 1;
|
|
|
|
|
|
display: flex;
|
|
|
|
|
|
flex-direction: row;
|
|
|
|
|
|
}
|
|
|
|
|
|
.bbtn{
|
|
|
|
|
|
margin: 20rpx 50rpx 50rpx;
|
|
|
|
|
|
font-size: 32rpx;
|
|
|
|
|
|
font-family: PingFang SC-Medium, PingFang SC;
|
|
|
|
|
|
font-weight: 500;
|
|
|
|
|
|
color: #FCFCFD;
|
|
|
|
|
|
width: 650rpx;
|
|
|
|
|
|
height: 76rpx;
|
|
|
|
|
|
line-height: 76rpx;
|
|
|
|
|
|
background: #00a89b;
|
|
|
|
|
|
box-shadow: 0rpx 12rpx 64rpx 2rpx rgba(137,150,95,0.4);
|
|
|
|
|
|
border-radius: 10rpx;
|
|
|
|
|
|
opacity: 1;
|
|
|
|
|
|
&::after{
|
|
|
|
|
|
border:none;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</style>
|