d7b0a1d3 by 杨炀

no message

1 parent 83f70075
...@@ -40,3 +40,10 @@ export function getIndexScheduleList(params) { ...@@ -40,3 +40,10 @@ export function getIndexScheduleList(params) {
40 params: params 40 params: params
41 }) 41 })
42 } 42 }
43 export function newbilllist(query) {
44 return request({
45 url: `/ota/norder/list`,
46 method: 'get',
47 params: query
48 })
49 }
......
...@@ -391,6 +391,12 @@ export const constantRoutes = [ ...@@ -391,6 +391,12 @@ export const constantRoutes = [
391 name: 'photography', 391 name: 'photography',
392 meta: { title: 'Photography Appointment' } 392 meta: { title: 'Photography Appointment' }
393 }, 393 },
394 {
395 path: 'pay',
396 component: () => import('@/viewsPc/booking/pay'),
397 name: 'bookingPay',
398 meta: { title: 'pay' }
399 }
394 ] 400 ]
395 }, 401 },
396 { 402 {
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
44 </div> 44 </div>
45 </el-form-item> 45 </el-form-item>
46 <el-form-item v-for="(n,index) in form.roomNum" :key="index" :label="`入住人${index+1}`"> 46 <el-form-item v-for="(n,index) in form.roomNum" :key="index" :label="`入住人${index+1}`">
47 <el-input v-model="rzUserArr[index]" placeholder="每间填一位住客姓名"/> 47 <el-input v-model="rzUserArr[index]" :placeholder="language==0?'每间填一位住客姓名':'Each room fill in one name of the guest'"/>
48 </el-form-item> 48 </el-form-item>
49 <el-form-item :label="language==0?'预计到店':'Expected check-in'"> 49 <el-form-item :label="language==0?'预计到店':'Expected check-in'">
50 <el-select v-model="form.ddDate" 50 <el-select v-model="form.ddDate"
...@@ -143,8 +143,9 @@ import {ref, reactive, onMounted} from "vue"; ...@@ -143,8 +143,9 @@ import {ref, reactive, onMounted} from "vue";
143 import {useStorage} from "@vueuse/core/index"; 143 import {useStorage} from "@vueuse/core/index";
144 import {checkResidueRoom, newsSubmitOrderHotel} from "@/apiPc/booking" 144 import {checkResidueRoom, newsSubmitOrderHotel} from "@/apiPc/booking"
145 import dayjs from 'dayjs' 145 import dayjs from 'dayjs'
146 import {ElMessage} from "element-plus"; 146 import {ElMessage,ElMessageBox} from "element-plus";
147 147 import useUserStore from "@/store/modules/user";
148 const user = useUserStore().user
148 const language = useStorage('language', 0) 149 const language = useStorage('language', 0)
149 const router = useRouter() 150 const router = useRouter()
150 const route = useRoute() 151 const route = useRoute()
...@@ -324,6 +325,10 @@ function countMoney() { ...@@ -324,6 +325,10 @@ function countMoney() {
324 } 325 }
325 326
326 function submit() { 327 function submit() {
328 if(!user){
329 useUserStore().setReLogin()
330 }
331
327 if (usedays == 0) { 332 if (usedays == 0) {
328 ElMessage.error(language.value == 0 ? '入住时间跨度需大于一天' : 'Check-in time must be greater than one day') 333 ElMessage.error(language.value == 0 ? '入住时间跨度需大于一天' : 'Check-in time must be greater than one day')
329 return 334 return
...@@ -365,7 +370,7 @@ function submit() { ...@@ -365,7 +370,7 @@ function submit() {
365 console.log(form.value.room) 370 console.log(form.value.room)
366 371
367 // 提交确认 372 // 提交确认
368 ElMessage.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { 373 ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', {
369 confirmButtonText: language.value == 0 ? '确定' : 'Confirm', 374 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
370 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 375 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
371 type: 'warning' 376 type: 'warning'
...@@ -377,6 +382,13 @@ function submit() { ...@@ -377,6 +382,13 @@ function submit() {
377 checkreRooms() 382 checkreRooms()
378 } else { 383 } else {
379 //去付钱 384 //去付钱
385 router.push({
386 name: 'bookingPay',
387 query: {
388 orderId:res.data.orderId,
389 money:res.data.total
390 }
391 })
380 } 392 }
381 } else { 393 } else {
382 ElMessage.warning(language.value == 0 ? '无可预定的房间' : 'No rooms available to book') 394 ElMessage.warning(language.value == 0 ? '无可预定的房间' : 'No rooms available to book')
...@@ -385,21 +397,6 @@ function submit() { ...@@ -385,21 +397,6 @@ function submit() {
385 }) 397 })
386 } 398 }
387 399
388 function pay() {
389 //确认付款
390 ElMessage.confirm(language.value == 0 ? '确认付款吗?' : 'Confirm payment?', {
391 confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
392 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
393 type: 'warning'
394 }).then(() => {
395 newsSubmitOrderHotel(form.value).then(res => {
396 if (res.data) {
397 if (res.data.roomNum == -100) {
398 }
399 }
400 })
401 })
402 }
403 </script> 400 </script>
404 401
405 <style scoped lang="scss"> 402 <style scoped lang="scss">
......
1 <template>
2 <div style="min-height: 100vh">
3 <div class="box" v-if="!errorBox">
4 <el-card :body-style="{ padding: '0px' }" class="mt20">
5 <div slot="header">
6 <div class="bg-lineg">{{ language == 0 ? '缴费清单' : 'Payment List' }}</div>
7 </div>
8 <div v-if="isLogin">
9
10 <el-row class="priceBar">
11 <el-col :lg="12" :xs="24" class="pl-15">
12
13 </el-col>
14 <el-col :lg="12" :xs="24">
15 <div class="flex" v-if="Number(form.totalFee)>0">
16 <div class="item" v-if="signInfoList?.length>0"><label>{{ language==0?'报名费':'REGISTRATION FEE' }}</label><span>{{ language==0?'¥':'€' }}{{serviceFeeTotal}}</span></div>
17 <div class="item" v-if="zuTableList?.length>0"><label>{{ language==0?'保险费':'INSURANCE' }}</label><span>{{ language==0?'¥':'€' }}{{insuranceFeeTotal}}</span></div>
18 <div class="item"><label>{{ language==0?'费用总计':'Total Cost' }}</label><span class="size26">{{ language==0?'¥':'€' }}{{form.totalFee}}</span></div>
19 </div>
20 </el-col>
21 </el-row>
22 </div>
23 <div v-else class="pd20 skeletonBox">
24 <el-skeleton :rows="8"/>
25 <el-button type="primary" class="btn-lineG" size="large" :style="language == 0 ?'width:200px':'width:400px'" round @click="showLogin">
26 {{ language == 0 ?'登录后查看明细':'View detailed information after logging in' }}
27 </el-button>
28 </div>
29 </el-card>
30
31 <el-card class="mt20 mb20">
32 <el-row class="result">
33 <el-col :lg="12">
34
35 </el-col>
36 <el-col :lg="12" v-if="Number(form.totalFee)>0">
37 <div class="priceb" v-if="form.payStatus=='0'">{{ language==0?'待支付金额':'Amount Due' }}<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
38 <div class="priceb" v-if="form.payStatus=='1'">{{ language==0?'已支付金额':'Amount Due' }}<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
39 <div class="priceb" v-if="form.payStatus=='5'">{{ language==0?'已退款':'Refunded' }}<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
40 </el-col>
41 </el-row>
42 </el-card>
43 <el-card class="mb60" v-if="form.auditStatus=='2'&&form.payStatus=='0'&&Number(form.totalFee)>0">
44 <div class="leftboderTT">{{ language==0?'选择支付方式':'Choose payment method' }}</div>
45 <div class="mt20">
46 <el-radio-group v-model="payType" @change="changePaytype">
47 <!-- 0 线下 1 支付宝 2 微信 3 paypal-->
48 <!-- <el-radio label="1" border>-->
49 <!-- <svg t="1709003181386" class="icon" viewBox="0 0 3283 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31015" width="100" height="40"><path d="M1163.122759 94.631724H593.92A133.826207 133.826207 0 0 0 459.034483 228.457931v567.084138a133.473103 133.473103 0 0 0 133.826207 133.826207h570.262069a133.826207 133.826207 0 0 0 134.17931-133.826207v-5.296552s-217.864828-90.394483-328.033103-143.36c-73.445517 90.747586-168.783448 145.478621-267.652414 145.478621-167.017931 0-223.514483-145.831724-144.419311-241.875862a169.136552 169.136552 0 0 1 92.16-51.906207c70.62069-17.302069 184.32 10.946207 290.604138 45.903448A587.211034 587.211034 0 0 0 988.689655 429.373793h-328.73931v-32.838621h168.783448V337.213793h-204.446896v-33.191724h204.446896V219.630345a14.124138 14.124138 0 0 1 14.477241-14.477242h82.273104v98.868966h202.328276v33.191724h-202.328276v59.321379h165.252414a677.605517 677.605517 0 0 1-70.62069 176.551725c50.14069 18.008276 94.984828 35.310345 128.529655 46.256551a930.427586 930.427586 0 0 0 147.950345 42.725518V228.457931a133.826207 133.826207 0 0 0-133.473103-133.826207z" fill="#089fe8" p-id="31016"></path><path d="M663.481379 548.016552a162.78069 162.78069 0 0 0-81.566896 30.366896c-64.617931 55.790345-26.129655 158.190345 104.165517 158.190345 75.917241 0 151.481379-48.375172 211.862069-125.704827-85.804138-40.96-156.424828-70.267586-234.46069-62.852414zM2488.673103 225.28h239.757242v47.668966h85.804138V216.805517a22.951724 22.951724 0 0 0-21.892414-23.304827h-139.122759V149.009655h-89.335172v44.137931h-160.662069v79.80138h85.451034zM1882.394483 360.518621h67.442758v247.172413h73.798621V280.011034h-26.835862l55.437241-126.764137H1970.317241l-87.922758 207.271724zM2824.827586 596.391724l-26.835862-90.747586a13.771034 13.771034 0 0 0-13.064827-10.24h-70.62069l20.48 70.62069H2648.275862v-135.944828h164.546207v-32.132414H2648.275862v-63.55862h164.546207v-32.132414h-409.6v32.132414h164.546207v63.55862h-164.546207v32.132414h164.546207V564.965517h-164.546207v32.132414H2824.827586zM2158.521379 323.442759a16.595862 16.595862 0 0 0-15.183448-9.886897h-63.558621l49.434483 156.424828h75.564138z" fill="#089fe8" p-id="31017"></path><path d="M2319.889655 156.777931h-76.623448v80.154483h-188.557241v32.132414h188.557241v287.426206a13.064828 13.064828 0 0 1-12.358621 12.005518h-38.841379v31.77931h99.222069a30.013793 30.013793 0 0 0 28.601379-29.66069V269.064828h31.073104v-32.132414h-31.073104zM1871.448276 577.677241a913.831724 913.831724 0 0 1-168.783448-80.507586 357.34069 357.34069 0 0 0 141.241379-194.56H1694.896552V249.997241h170.195862v-32.83862H1694.896552V150.422069h-75.211035a15.536552 15.536552 0 0 0-15.183448 15.536552v51.2h-169.136552v32.83862h169.136552v52.612414h-141.241379v32.838621h284.248276a278.951724 278.951724 0 0 1-93.572414 127.470345 360.871724 360.871724 0 0 1-93.572414-94.984828H1483.034483a423.724138 423.724138 0 0 0 122.173793 130.295173 662.775172 662.775172 0 0 1-172.667586 77.329655v39.194482A773.296552 773.296552 0 0 0 1653.230345 529.655172 781.771034 781.771034 0 0 0 1871.448276 614.753103zM1553.655172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.188966-79.095172 26.482758 79.095172zM1796.237241 674.78069h-34.251034v190.675862h115.464827v-26.129655h-81.213793v-164.546207zM2003.155862 674.78069h34.251035v190.322758h-34.251035zM2250.328276 674.78069h-74.151724v190.675862h35.310345v-73.445518h39.900689a58.615172 58.615172 0 1 0 0-117.230344z m-2.118621 91.100689H2210.427586v-64.971034h37.782069a31.073103 31.073103 0 0 1 30.366897 32.485517 30.72 30.72 0 0 1-30.366897 32.485517zM2465.015172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.542069-79.095172 27.188966 79.095172zM2716.071724 755.994483l-38.135172-81.213793H2641.213793l57.555862 112.286896v78.388966h33.897931v-78.388966l0.353104-0.353103 57.555862-111.933793h-37.075862l-37.428966 81.213793z" fill="#089fe8" p-id="31018"></path></svg>-->
50 <!-- </el-radio>-->
51 <el-radio label="2" v-if="language==0" border>
52 <!-- 微信-->
53 <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1"
54 xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40">
55 <path
56 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z"
57 fill="#09BB07" p-id="24748"></path>
58 <path
59 d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z"
60 fill="#595757" p-id="24749"></path>
61 </svg>
62 </el-radio>
63
64 <el-radio label="4" v-if="language==1" border>
65 <!-- paypal-->
66 <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1"
67 xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40">
68 <path
69 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z"
70 fill="#009CDE" p-id="22655"></path>
71 <path
72 d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
73 fill="#003087" p-id="22656"></path>
74 <path
75 d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
76 fill="#009CDE" p-id="22657"></path>
77 <path
78 d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z"
79 fill="#003087" p-id="22658"></path>
80 <path
81 d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z"
82 fill="#009CDE" p-id="22659"></path>
83 <path
84 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175"
85 fill="#009CDE" p-id="22660"></path>
86 <path
87 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857"
88 fill="#012169" p-id="22661"></path>
89 <path
90 d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z"
91 fill="#003087" p-id="22662"></path>
92 </svg>
93 </el-radio>
94 </el-radio-group>
95
96 <div v-if="payType == '2'&&wePayCodeUrl">
97 <div class="payImgbox flexCenter">
98 <div>
99 <img width="260" class="border" :src="wePayCodeUrl"/>
100 <img class="mt20" src="@/assets/img/sm.png"/>
101 </div>
102 <div class="ml20">
103 <img height="360" src="@/assets/img/rr.jpg"/>
104 </div>
105 </div>
106 <div class="tip text-center text-danger" v-if="language==0">
107 支付后不要关闭此窗口,等待确认支付成功.
108 若长时间未收到支付成功提醒,请刷新页面</div>
109 <div class="tip text-center text-danger" v-else>
110 After payment, do not close this window and wait for confirmation of successful payment.
111 <br/>
112 If you have not received a notification of successful payment for a long time,
113 please refresh the page
114 </div>
115 </div>
116
117 <div class="text-center mt20">
118 <el-button v-if="!hideconfirmbtn" type="primary" @click="goPay" round class="btn-lineG w200px">
119 {{ language==0?'确定':'Submit' }}</el-button>
120 </div>
121 </div>
122 </el-card>
123 <el-card class="mb60" v-if="form.payStatus == '3'">
124 <div class="text-center">
125 <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon>
126 <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p>
127 <h3 class="wePrice">{{ language==0?'¥':'€' }}{{form.totalFee || 0}}</h3>
128 </div>
129 </el-card>
130 </div>
131
132
133 <div class="box" v-if="errorBox">
134 <el-result
135 icon="error"
136 :title="language==0?'未找到对应订单':'No corresponding order found'"
137 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
138 >
139 <template #extra>
140 <el-button type="primary" @click="goHome" class="btn-lineG w200px" round>{{ language==0?'返回首页':'Home' }}</el-button>
141 </template>
142 </el-result>
143 </div>
144 </div>
145 </template>
146
147 <script setup>
148 import {Search} from "@element-plus/icons-vue"
149 import {getCurrentInstance, ref} from 'vue'
150 import {onMounted} from "@vue/runtime-core"
151 import {useRoute,useRouter} from "vue-router"
152 import * as match from "@/apiPc/match"
153 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row";
154 const {proxy} = getCurrentInstance()
155 const route = useRoute()
156 const router = useRouter()
157 const matchInfo = ref({})
158 const approved = ref(true)
159 const tableData = ref([])
160 const payType = ref('2')
161 const orderId = ref(route.query.orderId)
162 const matchId = ref()
163 const groupId = ref()
164 import GroupInfoRow from "@/viewsPc/match/components/groupInfo-row";
165 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row";
166 import SignInfoTable from "@/viewsPc/match/components/signInfo-table"
167 import ZuTable from "@/viewsPc/match/components/zu-table";
168 import useUserStore from "@/store/modules/user";
169 import FileUpload from "@/components/FileUpload";
170 import {useStorage} from "@vueuse/core/index";
171 import {ElMessage} from "element-plus";
172 const isLogin = ref(false)
173 const language= useStorage('language',0)
174 const signInfoList = ref([])
175 const zuTableList = ref([])
176 const totalFee = ref('')
177 const wePayCodeUrl = ref('')
178 const form = ref({})
179 const voucherObj = ref([])
180 const myMemberTable = ref([])
181 const upForm = ref({
182 orderId:orderId.value
183 })
184 const errorBox = ref(false)
185 const hideconfirmbtn = ref(false)
186 const insuranceFeeTotal = ref(0)
187 const serviceFeeTotal = ref(0)
188 const zuQuery = ref({
189 cptId: matchId.value,
190 groupId: groupId.value
191 })
192 const user = useUserStore().user
193 console.log(route.query.orderId)
194 // 1763462073870237698
195 getData()
196 if (useUserStore().user) {
197 isLogin.value = true
198 }
199 function getData() {
200 return match.getMyOrderDetail({orderId:orderId.value}).then(res => {
201 totalFee.value = res.data.totalFee
202 form.value = res.data
203 form.value.payTypeArr = res.data.payType.split(',')
204 matchId.value = form.value.cptId
205 groupId.value = form.value.groupId || 0
206 zuQuery.value.groupId = groupId.value
207 zuQuery.value.cptId = matchId.value
208 if(isLogin.value){
209 getSignList()
210 if(user.utype=='1'){
211 getMyMemberTable()
212 }
213 }
214 }).catch(err=>{
215 console.log(err)
216 errorBox.value = true
217 })
218 }
219 function getMyMemberTable() {
220 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => {
221 myMemberTable.value = res.rows
222 })
223 }
224 function upRR() {
225 if(voucherObj.value.length==0){
226 ElMessage.warning(language.value==0?'请上传凭证':'Please upload the voucher')
227 return
228 }
229 upForm.value.voucher = voucherObj.value[0].url
230 match.upReceipt(upForm.value).then(res=>{
231 getData()
232 })
233 }
234 function getSignList() {
235 match.getMySignInfoList(zuQuery.value).then(res => {
236 insuranceFeeTotal.value = 0
237 serviceFeeTotal.value = 0
238 signInfoList.value = res.data?.singleData || []
239 zuTableList.value = res.data?.zuData || []
240 for(var s of signInfoList.value){
241 insuranceFeeTotal.value = insuranceFeeTotal.value + Number(s.insuranceFee)
242 }
243 for(var z of zuTableList.value){
244 serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee)
245 }
246 }).catch(err=>{
247 if(isLogin.value){
248 router.push({name:'myMatch'})
249 return
250 }
251 })
252 }
253 function goHome() {
254 router.push('/')
255 }
256 function changePaytype() {
257 hideconfirmbtn.value = false
258 wePayCodeUrl.value = ''
259 if(handle) {
260 clearTimeout(handle)
261 handle=null
262 }
263 }
264 function goPay(){
265 if(payType.value=='2' && form.value.payTypeArr.indexOf('2')>-1){
266 match.createWePay({orderId:orderId.value}).then(res=>{
267 wePayCodeUrl.value = res.data
268 hideconfirmbtn.value = true
269 startforGetData()
270 })
271 } else if(payType.value=='2' && form.value.payTypeArr.indexOf('2')==-1){
272 ElMessage.warning(language.value == 0 ? '请选择支付方式' : 'Please select payment method')
273 return
274 }
275 if(payType.value=='4'){
276 match.createPalPay({orderId:orderId.value}).then(res=>{
277 if(res.data){
278 location.href=res.data
279 }
280 })
281 }
282 }
283 let handle;
284 function startforGetData() {
285 handle= setTimeout(()=>{
286 getData().then(()=>{
287 if( form.value.payTime){
288 if(handle) {
289 clearTimeout(handle)
290 handle=null
291 }
292 }else{
293 startforGetData()
294 }
295 })
296 },2000)
297 }
298
299 function showLogin(){
300 useUserStore().setReLogin()
301 }
302 function exportSignList(n) {
303 var obj = {
304 cptId: matchId.value,
305 groupId: groupId.value,
306 type:n
307 }
308 var fileName
309 if(language.value==0){
310 if(n==1){
311 fileName = '参赛人员清单'
312 }else {
313 fileName = '设项报名清单'
314 }
315 proxy.download('/league/sign/exportCn', {
316 ...obj
317 }, `${fileName}_${new Date().getTime()}.xlsx`)
318 } else {
319 if(n==1){
320 fileName = 'Participant List'
321 }else {
322 fileName = 'LIST OF REGISTERED COMPETITIONS'
323 }
324 proxy.download('/league/sign/exportEn', {
325 ...obj
326 }, `${fileName}_${new Date().getTime()}.xlsx`)
327 }
328
329 }
330 function exportPdf() {
331 var obj = {
332 cptId: matchId.value,
333 groupId: groupId.value
334 }
335 var fileName
336 if(language.value==0){
337 fileName = '设项报名清单'
338 proxy.download('/pdf/exportMySignInfoList', {
339 ...obj
340 }, `${fileName}_${new Date().getTime()}.pdf`)
341 } else {
342 fileName = 'LIST OF REGISTERED COMPETITIONS'
343 proxy.download('/pdf/exportMySignInfoList', {
344 ...obj
345 }, `${fileName}_${new Date().getTime()}.pdf`)
346 }
347
348 }
349 function copy(str) {
350 navigator.clipboard.writeText(str).then(() => {
351 ElMessage.success(language.value==0?'复制成功':'Copy successfully')
352 })
353 }
354 </script>
355
356 <style scoped lang="scss">
357 .wePrice{font-size: 24px;font-weight: 400;}
358 .el-radio.is-bordered {
359 height: 40px;
360 }
361 .border{border: 1px solid #e1e1e1;}
362 .leftboderTT {
363 font-weight: 600;
364 font-size: 16px;
365 color: #453DEA;
366 }
367
368 .bg-lineg {
369 height: 40px;
370 line-height: 40px;
371 font-size: 18px;
372 text-align: center;
373 }
374
375 .table {
376 width: 100%;
377 max-width: 1000px;
378 margin: 20px auto;
379
380 .head {
381 background: #EFF2F7;
382 height: 50px;
383 font-size: 16px;
384 font-weight: 400;
385 }
386
387 th {
388 background: #FAFBFD;
389 font-size: 14px;
390 border-bottom: 1px solid #E5E5E5;
391 border-right: 1px solid #E5E5E5;
392 }
393
394 td {
395 border-bottom: 1px solid #E5E5E5;
396 border-right: 1px solid #E5E5E5;
397 padding: 10px;
398 }
399
400 &.table-border {
401 border-top: 1px solid #E5E5E5;
402 border-left: 1px solid #E5E5E5;
403 }
404 }
405
406 .text-gray {
407 font-weight: 400;
408 font-size: 12px;
409 color: #929AA0;
410 }
411
412 .size12 {
413 font-size: 12px;
414 }
415
416 .result {
417 font-size: 22px;
418
419 .flex {
420 display: flex;
421 align-items: center;
422 font-weight: 500;
423
424 img {
425 margin-right: 10px
426 }
427 }
428
429 .priceb {
430 color: #7B7F83;
431 font-size: 16px;
432 text-align: right;
433 line-height: 50px;
434
435 span {
436 font-weight: bold;
437 font-size: 22px;
438 font-family: DIN Alternate;
439 color: #EB6100;
440 }
441 }
442 }
443 .skeletonBox{position: relative;overflow: hidden;
444 .btn-lineG{position: absolute;left: 0;right: 0;margin: auto;top: 0;bottom: 0;
445 width: 200px;box-shadow: 0 0 1000px 500px rgba(255,255,255,0.5);
446
447 }
448 }
449
450 .payImgbox{text-align: center;border: 1px solid #fff;padding: 20px;}
451 .priceBar{padding: 0 0 20px;
452 .flex{display: flex;justify-content: right;align-items: baseline;
453 .item{font-size: 16px;margin-right: 15px;
454 label{color: #95A1A6;}
455 span{font-family: DIN Alternate;}
456 }
457 }
458 .size26{font-size: 26px;}
459 }
460 .rre{color: #333;font-size: 16px;margin-top: 10px}
461 </style>
...@@ -3,7 +3,25 @@ ...@@ -3,7 +3,25 @@
3 <el-card :body-style="{'padding':'0'}"> 3 <el-card :body-style="{'padding':'0'}">
4 <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'我的预订':'My reservation' }}</h3></div> 4 <div class="indexTitle"><h3 class="leftboderTT">{{ language==0?'我的预订':'My reservation' }}</h3></div>
5 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0"/> 5 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0"/>
6 <div v-for="b in list">
7 <h3>{{b.name}}</h3>
6 8
9 <div v-if="b.orderType == 0">
10 <div><label class="blueTag"> 酒店订单</label>
11 订单编号:
12 {{ b.id }}</div>
13 <div>
14 {{b.messageObj?.roomStayDate}}
15 </div>
16 <div>
17 {{b.messageObj?.roomName}}
18 </div>
19 <div>
20 {{b.messageObj?.roomInfo}}
21 </div>
22 </div>
23 {{b}}
24 </div>
7 <div class="pd20"></div> 25 <div class="pd20"></div>
8 </el-card> 26 </el-card>
9 </div> 27 </div>
...@@ -12,8 +30,21 @@ ...@@ -12,8 +30,21 @@
12 <script setup> 30 <script setup>
13 import {onMounted} from "@vue/runtime-core"; 31 import {onMounted} from "@vue/runtime-core";
14 import {useStorage} from "@vueuse/core/index"; 32 import {useStorage} from "@vueuse/core/index";
33 import {newbilllist} from "@/apiPc/common";
15 const language= useStorage('language',0) 34 const language= useStorage('language',0)
16 const list = ref([]) 35 const list = ref([])
36
37 onMounted(()=>{
38 getList()
39 })
40 function getList() {
41 newbilllist().then(res=>{
42 list.value = res.rows
43 for (var b of list.value) {
44 b.messageObj = JSON.parse(b.message)
45 }
46 })
47 }
17 </script> 48 </script>
18 49
19 <style scoped lang="scss"> 50 <style scoped lang="scss">
......
...@@ -68,8 +68,8 @@ const props = defineProps({ ...@@ -68,8 +68,8 @@ const props = defineProps({
68 }) 68 })
69 const language= useStorage('language',0) 69 const language= useStorage('language',0)
70 function goBooking(n) { 70 function goBooking(n) {
71 ElMessage.warning(language.value==0?'建设中,敬请期待':'Building!') 71 // ElMessage.warning(language.value==0?'建设中,敬请期待':'Building!')
72 return 72 // return
73 switch (n) { 73 switch (n) {
74 case 0: 74 case 0:
75 // 票务 75 // 票务
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!