|
@@ -2,10 +2,12 @@
|
|
|
<template>
|
|
|
<view class="content">
|
|
|
<view class="t-header">
|
|
|
- <view class="title">待使用</view>
|
|
|
- <view class="time"><text>0017 1712 5994</text>待使用,请按课表到上课地点按时上课。</view>
|
|
|
+ <view class="title">{{ orderDetailInfo.orderStatus }}</view>
|
|
|
+ <view class="time" v-for="item in orderDetailInfo.proInfoList" :key="item.id"><text>{{ item.ticketNo
|
|
|
+ }}</text>{{ orderDetailInfo.orderStatus }}<text
|
|
|
+ v-if="orderDetailInfo.orderStatus == '待使用'">,请按课表到上课地点按时上课。</text></view>
|
|
|
</view>
|
|
|
- <view class="t-booking-card">
|
|
|
+ <view class="t-booking-card" v-if="orderPageInfo.orderType != 2">
|
|
|
<view class="booking-text">
|
|
|
<view class="b-title">请您提前联系场馆进行预约</view>
|
|
|
<view class="b-text">请提前一天预约>场馆确认>到馆消费</view>
|
|
@@ -13,7 +15,7 @@
|
|
|
<view class="booking-btn">立即预约</view>
|
|
|
</view>
|
|
|
<!-- 包场 -->
|
|
|
- <view class="c-scheduled-card" v-if="orderPageInfo.orderType!=2">
|
|
|
+ <view class="c-scheduled-card" v-if="orderPageInfo.orderType != 2">
|
|
|
<view class="title">预定信息</view>
|
|
|
<view class="schedule-address">
|
|
|
<view class="text">场馆</view>
|
|
@@ -30,11 +32,11 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="t-shoping-card">
|
|
|
- <view class="venue-address">
|
|
|
+ <view class="venue-address" v-if="orderPageInfo.orderType != 2">
|
|
|
<view class="address">
|
|
|
<zzx-icon name="venue-icon4" size="14"></zzx-icon>
|
|
|
- <view class="name">林旦综合运动馆</view>
|
|
|
- <view class="venue-tags">营业中</view>
|
|
|
+ <view class="name">{{ orderDetailInfo.siteName }}</view>
|
|
|
+ <view class="venue-tags">{{ orderDetailInfo.runStatus == 0 ? '营业中' : '休息中' }}</view>
|
|
|
</view>
|
|
|
<view class="check-all">
|
|
|
<text>查看所有可用场馆</text>
|
|
@@ -42,25 +44,28 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="t-shoping-info">
|
|
|
- <image class="shoping-img" src="https://img.shetu66.com/2023/06/13/1686646672844195.jpg" mode="">
|
|
|
+ <image class="shoping-img" :src="orderDetailInfo.appCourses.cover" mode="">
|
|
|
</image>
|
|
|
<view class="shoping-info">
|
|
|
- <view class="name">一对一篮球30分钟室内精品课程,一对...</view>
|
|
|
+ <view class="name">{{ orderDetailInfo.appCourses.name }}</view>
|
|
|
<view class="shoping-price" @click="pricePopup.open()">
|
|
|
- <view class="price">¥45.9</view>
|
|
|
+ <view class="price">¥{{ orderDetailInfo.totalPrice }}</view>
|
|
|
<view class="text">
|
|
|
<text>实付</text>
|
|
|
<text class="mini-text">¥</text>
|
|
|
- <text class="price-big">25.1</text>
|
|
|
+ <text class="price-big">{{ orderDetailInfo.price }}</text>
|
|
|
<zzx-icon name="ashRight" size="10"></zzx-icon>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="t-shoping-address">
|
|
|
- <view class="address">上课地点:观山湖区第十二小学</view>
|
|
|
- <view class="course-time" @click="torecord_page">
|
|
|
- <text>10课时 05.06-05.11</text>
|
|
|
+ <view class="t-shoping-address"
|
|
|
+ @click="RouterUtils.to_page(`/pages/index/verificationRecord/index?orderId=${orderDetailInfo.id}&ticketNo=${orderDetailInfo.proInfoList[0].ticketNo}`)">
|
|
|
+ <view class="address">上课地点:{{ orderDetailInfo.courseSiteAddress }}</view>
|
|
|
+ <view class="course-time">
|
|
|
+ <text>{{ orderDetailInfo.appCourses.classNum }}课时
|
|
|
+ {{ DateUtils.formatDateToMMDD(orderDetailInfo.appCourses.startTime) + '-' +
|
|
|
+ DateUtils.formatDateToMMDD(orderDetailInfo.appCourses.endTime) }}</text>
|
|
|
<zzx-icon name="ashRight" size="10"></zzx-icon>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -69,23 +74,24 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 待使用展示 -->
|
|
|
- <view class="t-qrcode-card" v-if="orderPageInfo.orderType==2">
|
|
|
+ <view class="t-qrcode-card" v-if="orderPageInfo.orderType == 2">
|
|
|
<view class="qrcode-box">
|
|
|
<view class="item-qrcode">
|
|
|
- <uv-qrcode ref="qrcode" size="100px" value="https://h5.uvui.cn"></uv-qrcode>
|
|
|
+ <uv-qrcode ref="qrcode" size="100px" :value="orderDetailInfo.id"></uv-qrcode>
|
|
|
</view>
|
|
|
</view>
|
|
|
<view class="download-qrcode" @click="download_qrcode">下载到手机</view>
|
|
|
<view class="t-todeused">
|
|
|
<view class="todeused">
|
|
|
<view class="text">待使用</view>
|
|
|
- <view class="time">07-25 14:25:45 到期</view>
|
|
|
+ <view class="time">{{ orderDetailInfo.appCourses.endTime }} 到期</view>
|
|
|
+ </view>
|
|
|
+ <view class="order-num" v-for="item in orderDetailInfo.proInfoList" :key="item.id">{{ item.ticketNo }}
|
|
|
</view>
|
|
|
- <view class="order-num" v-for="item in 2">0017 1712 5994</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 已使用已过期展示 -->
|
|
|
- <view class="t-qrcode-card" v-if="orderPageInfo.orderType!=2">
|
|
|
+ <view class="t-qrcode-card" v-if="orderPageInfo.orderType != 2">
|
|
|
<view class="t-todeused" v-for="item in 2" style="border-bottom: 1rpx solid #F0F0F0;">
|
|
|
<view class="todeused">
|
|
|
<view class="item-todeused">
|
|
@@ -101,7 +107,7 @@
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 学校场地预定订单详情展示 -->
|
|
|
- <view class="t-scheduled-card" v-if="orderPageInfo.orderType!=2">
|
|
|
+ <view class="t-scheduled-card" v-if="orderPageInfo.orderType != 2">
|
|
|
<view class="s-title">预定信息</view>
|
|
|
<view class="t-scheduled-list">
|
|
|
<view class="item-list">
|
|
@@ -125,14 +131,14 @@
|
|
|
<view class="t-address-card">
|
|
|
<view class="address">
|
|
|
<zzx-icon name="location"></zzx-icon>
|
|
|
- <view class="">印象城购物中心6楼</view>
|
|
|
+ <view class="">{{ orderDetailInfo.courseSiteAddress }}</view>
|
|
|
</view>
|
|
|
<view class="nav-info">
|
|
|
- <view class="nav">
|
|
|
+ <view class="nav" @click="open_map">
|
|
|
<zzx-icon name="navigation" size="14"></zzx-icon>
|
|
|
<view class="nav-text">导航</view>
|
|
|
</view>
|
|
|
- <view class="phone">
|
|
|
+ <view class="phone" @click="open_phone">
|
|
|
<zzx-icon name="phone" size="14"></zzx-icon>
|
|
|
<view class="">电话</view>
|
|
|
</view>
|
|
@@ -141,14 +147,14 @@
|
|
|
<view class="t-use-card">
|
|
|
<view class="use-tips">
|
|
|
<view class="title">使用须知</view>
|
|
|
- <view class="text">请妥善保存核销券号</view>
|
|
|
+ <view class="text">{{ orderDetailInfo.reminder }}</view>
|
|
|
</view>
|
|
|
- <view class="check-all">
|
|
|
+ <!-- <view class="check-all">
|
|
|
<text>查看全部</text>
|
|
|
<zzx-icon name="ashRight" size="12"></zzx-icon>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
</view>
|
|
|
- <view class="t-use-card" v-if="orderPageInfo.orderType!=2">
|
|
|
+ <view class="t-use-card" v-if="orderPageInfo.orderType != 2">
|
|
|
<view class="use-tips">
|
|
|
<view class="title">参赛意外险</view>
|
|
|
<view class="text">实际付款:6元(3元/份×2)</view>
|
|
@@ -158,46 +164,46 @@
|
|
|
<zzx-icon name="ashRight" size="12"></zzx-icon>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="t-use-card" v-if="orderPageInfo.orderType!=2">
|
|
|
+ <view class="t-use-card" v-if="orderPageInfo.orderType == 2">
|
|
|
<view class="use-tips t-contract-list">
|
|
|
<view class="title">电子合同</view>
|
|
|
<view class="text contract-list">
|
|
|
<view class="item-no-sign">
|
|
|
<view class="sign-title">未签署:</view>
|
|
|
- <view class="sign-name">张三</view>
|
|
|
+ <view class="sign-name" v-for="item in notSignList" :key="item.id" @click="checkSign(item)">{{ item.fullName }}</view>
|
|
|
</view>
|
|
|
<view class="item-sign">
|
|
|
<view class="sign-title">已签署:</view>
|
|
|
- <view class="sign-name">李四</view>
|
|
|
+ <view class="sign-name" v-for="item in signList" :key="item.id">{{ item.fullName }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
- <view class="check-all" @click="goToContract">
|
|
|
+ <!-- <view class="check-all" @click="goToContract">
|
|
|
<text>查看详情</text>
|
|
|
<zzx-icon name="ashRight" size="12"></zzx-icon>
|
|
|
- </view>
|
|
|
+ </view> -->
|
|
|
</view>
|
|
|
<view class="t-order-info-card">
|
|
|
<view class="title">订单信息</view>
|
|
|
<view class="info-list">
|
|
|
<view class="item-left">实际付款</view>
|
|
|
- <view class="item-right">¥25.9</view>
|
|
|
+ <view class="item-right">¥{{ orderDetailInfo.price }}</view>
|
|
|
</view>
|
|
|
<view class="info-list">
|
|
|
<view class="item-left">手机号码</view>
|
|
|
- <view class="item-right">189****5960</view>
|
|
|
+ <view class="item-right">{{ orderDetailInfo.phoneNumber }}</view>
|
|
|
</view>
|
|
|
<view class="info-list">
|
|
|
<view class="item-left">订单编号</view>
|
|
|
- <view class="item-right">46476465456464156486</view>
|
|
|
+ <view class="item-right">{{ orderDetailInfo.orderCode }}</view>
|
|
|
</view>
|
|
|
<view class="info-list">
|
|
|
<view class="item-left">下单时间</view>
|
|
|
- <view class="item-right">2023-7-25 14:25:45</view>
|
|
|
+ <view class="item-right">{{ orderDetailInfo.createTime }}</view>
|
|
|
</view>
|
|
|
<view class="info-list">
|
|
|
<view class="item-left">付款时间</view>
|
|
|
- <view class="item-right">2023-7-25 14:25:45</view>
|
|
|
+ <view class="item-right">{{ orderDetailInfo.payTime || '--' }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 已使用展示 -->
|
|
@@ -212,15 +218,15 @@
|
|
|
<view class="price-list">
|
|
|
<view class="price-total">
|
|
|
<view class="text">商品总价(共2件)</view>
|
|
|
- <view class="price">¥45.9</view>
|
|
|
+ <view class="price">¥{{ orderDetailInfo.totalPrice }}</view>
|
|
|
</view>
|
|
|
<view class="price-total">
|
|
|
<view class="text">团购优惠</view>
|
|
|
- <view class="price">-¥2</view>
|
|
|
+ <view class="price">-¥{{ orderDetailInfo.tdiscounts || '0' }}</view>
|
|
|
</view>
|
|
|
<view class="price-total">
|
|
|
<view class="text">实付金额</view>
|
|
|
- <view class="price">¥45.9</view>
|
|
|
+ <view class="price">¥{{ orderDetailInfo.price }}</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
@@ -290,20 +296,20 @@
|
|
|
</template>
|
|
|
|
|
|
<script lang="ts" setup>
|
|
|
-import { ref,onMounted } from 'vue';
|
|
|
-import { TipsUtils, RouterUtils } from '@/utils/util'
|
|
|
+import { ref, onMounted } from 'vue';
|
|
|
+import { TipsUtils, RouterUtils, DateUtils } from '@/utils/util'
|
|
|
import { onLoad } from '@dcloudio/uni-app';
|
|
|
import { http } from '@/utils/http'
|
|
|
const qrcode = ref();
|
|
|
const pricePopup = ref() //价格
|
|
|
const refundPopup = ref() //退款
|
|
|
const selected = ref(false)
|
|
|
-const orderPageInfo=ref()
|
|
|
+const orderPageInfo = ref()
|
|
|
onLoad((option) => {
|
|
|
orderPageInfo.value = option
|
|
|
console.log(orderPageInfo.value);
|
|
|
})
|
|
|
-onMounted(()=>{
|
|
|
+onMounted(() => {
|
|
|
getOrderDetailInfo()
|
|
|
})
|
|
|
const download_qrcode = () => {//下载二维码
|
|
@@ -314,58 +320,113 @@ const download_qrcode = () => {//下载二维码
|
|
|
TipsUtils.tips_toast('下载成功')
|
|
|
},
|
|
|
fail: (err) => {
|
|
|
+ console.log(err);
|
|
|
+
|
|
|
uni.hideLoading()
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
|
|
|
-const torecord_page = () => {
|
|
|
- RouterUtils.to_page('/pages/index/verificationRecord/index')
|
|
|
-}
|
|
|
-
|
|
|
const refund_btn = () => {
|
|
|
RouterUtils.to_page('/pages/index/refundDetail/index')
|
|
|
}
|
|
|
|
|
|
-const goToContract = () => {
|
|
|
- get_UserIdentityInfo()
|
|
|
+// 打开地图
|
|
|
+const open_map = () => {
|
|
|
+ uni.openLocation({
|
|
|
+ latitude: orderDetailInfo.value.latitude,
|
|
|
+ longitude: orderDetailInfo.value.longitude,
|
|
|
+ success: function () {
|
|
|
+ console.log('success');
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
-const getOrderDetailInfo=(()=>{
|
|
|
- http.get('/order/queryOrderInfo',{data:{orderId:orderPageInfo.value.orderId},loading:true}).then((res)=>{
|
|
|
+// 拨打电话
|
|
|
+const open_phone = () => {
|
|
|
+ uni.makePhoneCall({
|
|
|
+ phoneNumber: orderDetailInfo.value.phone
|
|
|
+ });
|
|
|
+}
|
|
|
|
|
|
+// 订单状态 0-待付款 1-待使用 2-已使用 3-已到期 4-已取消 5-退款中 6已退款
|
|
|
+const orderDetailInfo = ref()
|
|
|
+const getOrderDetailInfo = (() => {
|
|
|
+ http.get('/order/queryOrderInfo', { data: { orderId: orderPageInfo.value.orderId }, loading: true }).then((res) => {
|
|
|
+ switch (res.result.orderStatus) {
|
|
|
+ case 0:
|
|
|
+ res.result.orderStatus = '待付款'
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ res.result.orderStatus = '待使用'
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ res.result.orderStatus = '已使用'
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ res.result.orderStatus = '已到期'
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ res.result.orderStatus = '已取消'
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ res.result.orderStatus = '退款中'
|
|
|
+ break;
|
|
|
+ case 6:
|
|
|
+ res.result.orderStatus = '已退款'
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ orderDetailInfo.value = res.result
|
|
|
+ getQueryWaitSignList(res.result.id)
|
|
|
})
|
|
|
})
|
|
|
|
|
|
+const queryWaitSignList = ref([]) // 合同信息
|
|
|
+const notSignList = ref([]) // 未签署
|
|
|
+const signList = ref([]) // 已签署
|
|
|
+const getQueryWaitSignList = (orderId: string) => {
|
|
|
+ http.get('/esign/queryWaitSignList', { data: { orderId: orderId }, loading: true }).then((res) => {
|
|
|
+ notSignList.value = res.result.filter((item:any) => item.isSign == 0)
|
|
|
+ signList.value = res.result.filter((item:any) => item.isSign == 1)
|
|
|
+ queryWaitSignList.value = res.result
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+const checkSign = (e) => {
|
|
|
+ get_UserIdentityInfo(e.familyId)
|
|
|
+}
|
|
|
+
|
|
|
// 查询授权
|
|
|
-const get_UserIdentityInfo = () => {
|
|
|
- http.get('/esign/getUserIdentityInfo', { data: { phoneNumber: '17585167187' }, loading: true }).then((res) => {
|
|
|
+const get_UserIdentityInfo = (familyId:string) => {
|
|
|
+ http.get('/esign/getUserIdentityInfo', { data: { familyId: familyId }, loading: true }).then((res) => {
|
|
|
if (res.result) {
|
|
|
- get_createSign()
|
|
|
+ get_createSign(familyId)
|
|
|
} else {
|
|
|
- getAuthUrl()
|
|
|
+ getAuthUrl(familyId)
|
|
|
}
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// 发起签署
|
|
|
-const get_createSign = () => {
|
|
|
- http.get('/esign/createSign', { data: { orderCode: '234' }, loading: true }).then((res) => {
|
|
|
+const get_createSign = (familyId:string) => {
|
|
|
+ http.get('/esign/createSign', { data: { orderCode: orderDetailInfo.value.orderCode,familyId:familyId }, loading: true }).then((res) => {
|
|
|
getSignUrl()
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// 未授权跳转链接
|
|
|
-const getAuthUrl = () => {
|
|
|
- http.get('/esign/getAuthUrl', { loading: true }).then((res) => {
|
|
|
- RouterUtils.to_page(`/pages/index/signWebview/index?url=${res.result}`)
|
|
|
+const getAuthUrl = (familyId:string) => {
|
|
|
+ http.get('/esign/getAuthUrl', {data:{familyId: familyId}, loading: true }).then((res) => {
|
|
|
+ RouterUtils.to_page(`/pages/index/signWebview/index?url=${encodeURIComponent(res.result)}`)
|
|
|
})
|
|
|
}
|
|
|
|
|
|
// 获取签署链接
|
|
|
const getSignUrl = () => {
|
|
|
http.get('/esign/getSignUrl', { data: { signFlowId: '8d143f604578435db064c04ddaa1fc48' }, loading: true }).then((res) => {
|
|
|
- RouterUtils.to_page(`/pages/index/signWebview/index?url=${res.result}`)
|
|
|
+ RouterUtils.to_page(`/pages/index/signWebview/index?url=${encodeURIComponent(res.result)}`)
|
|
|
})
|
|
|
}
|
|
|
</script>
|