87fb7ca7 by 杨炀

no message

1 parent f48a867f
...@@ -34,3 +34,17 @@ export function newsSubmitOrderHotel(data) { ...@@ -34,3 +34,17 @@ export function newsSubmitOrderHotel(data) {
34 data: data 34 data: data
35 }) 35 })
36 } 36 }
37 export function getRoomBilldetailbyId(params) {
38 return request({
39 url: `/ota/orderRoom/getRoomOrderInfoByOrderId`,
40 method: 'get',
41 params: params
42 })
43 }
44 export function getActivityCarList(params) {
45 return request({
46 url: `/ota/activityVehicle/wxList`,
47 method: 'get',
48 params: params
49 })
50 }
......
...@@ -362,6 +362,12 @@ export const constantRoutes = [ ...@@ -362,6 +362,12 @@ export const constantRoutes = [
362 meta: { title: 'Hotel Reservation' } 362 meta: { title: 'Hotel Reservation' }
363 }, 363 },
364 { 364 {
365 path: 'car/:cptId/:id',
366 component: () => import('@/viewsPc/booking/carOrder'),
367 name: 'carOrder',
368 meta: { title: 'Car Reservation' }
369 },
370 {
365 path: 'hotel/:cptId/:hotelId/:roomId', 371 path: 'hotel/:cptId/:hotelId/:roomId',
366 component: () => import('@/viewsPc/booking/hotelOrder'), 372 component: () => import('@/viewsPc/booking/hotelOrder'),
367 name: 'hotelOrder', 373 name: 'hotelOrder',
......
1 <template> 1 <template>
2 <div> 2 <div>
3 <div class="banner"> 3 <div class="banner">
4 <img src="@/assets/booking/jd_text.png"> 4 <img src="@/assets/booking/cl_text.png">
5 </div> 5 </div>
6 <div class="box"> 6 <div class="box">
7 <div class="searchBar"> 7 <div class="searchBar">
...@@ -13,32 +13,64 @@ ...@@ -13,32 +13,64 @@
13 </div> 13 </div>
14 14
15 <div class="box" v-loading="loading"> 15 <div class="box" v-loading="loading">
16 <el-card v-for="(h,index) in list" class="mb20" @click="goDetail(h)"> 16 <el-collapse v-model="activeName" accordion style="--el-collapse-header-height:'auto'">
17 <!-- che列表--> 17 <el-collapse-item :name="index" v-for="(h,index) in list" class="hotel">
18 <el-row class="hotel" align="middle" :gutter="20"> 18 <template #title>
19 <el-col :span="6"> 19 <el-row align="middle" :gutter="20" class="w100">
20 <img class="w100" :src="fillImgUrl(h.photos?.split(',')[0])"/> 20 <el-col :span="4">
21 </el-col> 21 <div class="index">路线{{index+1}}
22 <el-col :span="10"> 22 <img src="@/assets/booking/arrow.png"/>
23 <h3 class="esp">{{h.name}}</h3> 23 </div>
24 <div class="starBox"> 24 </el-col>
25 <img v-for="i in Number(h.starLevel||0)" src="@/assets/booking/star.png"> 25 <el-col :span="7">
26 </div> 26 <p class="esp">{{h.checkIn}}</p>
27 <div class="tagbox"> 27 </el-col>
28 <span v-for="(t,index) in h.label?.split(',')" v-show="index<4">{{t}}</span> 28 <el-col :span="4" class="text-center">
29 <a v-show="h.label?.split(',').length>4">{{ language==0?'更多':'MORE' }} ></a> 29 <img class="mauto w40px" src="@/assets/booking/wf.png"/>
30 </el-col>
31 <el-col :span="7">
32 <p class="esp ">{{h.checkOut}}</p>
33 </el-col>
34 </el-row>
35 </template>
36
37 <div class="plr20">
38 <div v-for="(r,index) in h.carVoList" :key="index" class="room">
39 <el-row :gutter="30" align="middle">
40 <el-col :span="4">
41 <div class="roomImg">
42 <img :src="fillImgUrl(r.photos?.split(',')[0])">
43 </div>
44 </el-col>
45 <el-col :span="14">
46 <h3 class="name">{{ r.carType }}
47 <div class="tagbox">
48 <span class="tag">{{r.carColor}}</span>
49 <span class="tag" v-show="r.checkOut==1">可送车</span>
50 <span class="tag" v-show="r.checkIn==1">可接车</span>
51 </div>
52 </h3>
53 <el-row :gutter="10">
54 <el-col :span="8">{{ language==0?'座位数':'Seats' }}: {{r.carSeat}}</el-col>
55 <el-col :span="8">{{ language==0?'运营时间':'Servers Time' }}: {{r.operStart}} ~ {{r.operEnd}}</el-col>
56 </el-row>
57 </el-col>
58 <el-col :span="3">
59 <div class="price">{{ language==0?'¥':'€' }}<span>{{language==0?r.inPrice:r.inPriceEn}}</span></div>
60 </el-col>
61 <el-col :span="3">
62 <el-button class="btn-lineG w100" round type="primary" @click="goOrder(h,r)">{{ language==0?'我要预定':'Select' }}</el-button>
63 </el-col>
64 </el-row>
30 </div> 65 </div>
31 <p class="esp addr"> 66
32 <el-icon size="16" style="position: relative;top: 2px" color="#929AA0"><LocationFilled /></el-icon> 67 <el-empty v-if="list.length == 0" :image="`/img/order_no.png`" :image-size="228" description=""/>
33 {{h.address}} 68 </div>
34 </p> 69
35 </el-col> 70 </el-collapse-item>
36 <el-col :span="8" class="text-right"> 71 </el-collapse>
37 <div class="price">¥<span>{{ h.price }}</span><i v-if="language==0"></i></div> 72
38 <el-button class="btn-lineG w200px" round type="primary" size="large">{{ language==0?'立即预约':'Select' }}</el-button> 73
39 </el-col>
40 </el-row>
41 </el-card>
42 <el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description="" /> 74 <el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description="" />
43 <div style="height: 50px"></div> 75 <div style="height: 50px"></div>
44 </div> 76 </div>
...@@ -51,12 +83,14 @@ import {onMounted} from "@vue/runtime-core" ...@@ -51,12 +83,14 @@ import {onMounted} from "@vue/runtime-core"
51 import * as booking from "@/apiPc/booking" 83 import * as booking from "@/apiPc/booking"
52 import {useRouter,useRoute} from "vue-router"; 84 import {useRouter,useRoute} from "vue-router";
53 import {useStorage} from "@vueuse/core/index"; 85 import {useStorage} from "@vueuse/core/index";
86 import {getActivityCarList} from "@/apiPc/booking";
54 const router = useRouter() 87 const router = useRouter()
55 const route = useRoute() 88 const route = useRoute()
56 const language= useStorage('language',0) 89 const language= useStorage('language',0)
57 const query = ref({ 90 const query = ref({
58 name:'' 91 name:''
59 }) 92 })
93 const activeName = ref(0)
60 const cptId = ref('') 94 const cptId = ref('')
61 const list = ref([]) 95 const list = ref([])
62 const loading = ref(false) 96 const loading = ref(false)
...@@ -67,40 +101,50 @@ onMounted(()=>{ ...@@ -67,40 +101,50 @@ onMounted(()=>{
67 101
68 function getList() { 102 function getList() {
69 loading.value = true 103 loading.value = true
70 booking.getHotelList(query.value).then(res=>{ 104 booking.getActivityCarList(query.value).then(res=>{
71 list.value = res.rows 105 list.value = res.rows
72 loading.value = false 106 loading.value = false
73 }).catch(e=>{ 107 }).catch(e=>{
74 loading.value = false 108 loading.value = false
75 }) 109 })
76 } 110 }
77 function goDetail(item) { 111 function goOrder(item,car) {
78 router.push({ 112 router.push({
79 name:'hotelDetail', 113 name:'carOrder',
80 params:{ 114 params:{
81 hotelId:item.hotelId, 115 id:item.id,
82 }, 116 },
83 query:{ 117 query:{
84 id:item.id 118 item:encodeURIComponent(JSON.stringify(item)),
119 car:encodeURIComponent(JSON.stringify(car)),
85 } 120 }
86
87 }) 121 })
88 } 122 }
89 </script> 123 </script>
90 124
91 <style scoped lang="scss"> 125 <style scoped lang="scss">
92 .hotel{ 126 .w40px{width: 40px}
93 h3{margin: 0 0 20px;} 127 .plr20{padding: 0 20px}
94 img.w100{object-fit: cover;aspect-ratio: 16/9} 128 .hotel{margin-bottom: 20px;cursor: pointer;
95 .addr{font-size: 16px;color: #929AA0;font-weight: 400;} 129 .index{display: flex;font-weight: 500;padding-left: 20px;
96 .price{margin: 0 0 25px; 130 font-size: 18px;align-items: center;
97 color: #FF8124;font-size: 18px; 131 img{margin-left: 15px;}
98 span{font-size: 24px;margin: 0 8px;font-family: 'DINAlternate-Bold';font-weight: 600;}
99 i{font-style: normal;color: #929AA0;}
100 } 132 }
133 p{font-weight: 500;
134 font-size: 24px;
135 color: #000000;}
136 &:hover .el-card{box-shadow: 0 0 10px #aaa;}
101 } 137 }
138 .hotel:nth-child(7n) .index{color: #009E96;}
139 .hotel:nth-child(7n+1) .index{color: #FF8124;}
140 .hotel:nth-child(7n+2) .index{color: #E4007F;}
141 .hotel:nth-child(7n+3) .index{color: #0068B7;}
142 .hotel:nth-child(7n+4) .index{color: #32B16C;}
143 .hotel:nth-child(7n+5) .index{color: #920783;}
144 .hotel:nth-child(7n+6) .index{color: #00B7EE;}
145
102 .banner{height: 140px;background-size: cover;text-align: center; 146 .banner{height: 140px;background-size: cover;text-align: center;
103 background: url("@/assets/booking/jd_bg.png") center;display: flex;align-items: center; 147 background: url("@/assets/booking/cl_bg.png") center;display: flex;align-items: center;
104 justify-content: center; 148 justify-content: center;
105 img{display: block;margin:-30px auto 0;width: auto;} 149 img{display: block;margin:-30px auto 0;width: auto;}
106 } 150 }
...@@ -121,4 +165,21 @@ function goDetail(item) { ...@@ -121,4 +165,21 @@ function goDetail(item) {
121 span:nth-child(4n+2){background: rgba(0, 160, 233, 0.2);color: rgba(0, 160, 233, 1);} 165 span:nth-child(4n+2){background: rgba(0, 160, 233, 0.2);color: rgba(0, 160, 233, 1);}
122 span:nth-child(4n+3){background: rgba(247, 64, 166, 0.2);color:rgba(247, 64, 166, 1);} 166 span:nth-child(4n+3){background: rgba(247, 64, 166, 0.2);color:rgba(247, 64, 166, 1);}
123 } 167 }
168 .room {
169 background: #FAFBFD;margin: 20px 0 0;padding: 20px;
170 border: 1px solid #E5E5E5;
171 .name{font-size: 20px;margin: 0 0 10px;}
172 .roomImg{aspect-ratio: 16/9;border-radius: 10px;overflow: hidden;
173 img{width: 100%;object-fit: cover;object-position: center;height: 100%;}
174 }
175 .price{color: #FF8124;font-size: 24px;
176 span{font-size: 36px;font-family: "DIN Alternate"}
177 }
178 .bg-lineg{margin: auto;border-radius: 10px;text-align: center;padding: 7px 2px 2px;
179 font-size: 24px;width:66px;cursor: pointer;
180 div{background: #fff;font-size: 13px;border-radius: 20px;padding: 0 10px;
181 color: #453DEA;font-weight: 500;}
182 }
183 }
184
124 </style> 185 </style>
......
1 <template>
2 <div>
3 <div class="box">
4 <el-card class="mt30">
5 <div class="flex">
6 <p class="esp">{{car.checkIn}}</p>
7 <img src="@/assets/booking/wf.png"/>
8 <p class="esp text-right">{{car.checkOut}}</p>
9 </div>
10 </el-card>
11 <el-card class="mt30 mb60">
12 <div class="lineHead">
13 <ul>
14 <li>{{ language == 0 ? '车型选择' : 'Available Cars' }}</li>
15 </ul>
16 </div>
17
18 <div>
19 <div v-for="(r,index) in list" :key="index" class="room">
20 <el-row :gutter="30" align="middle">
21 <el-col :span="4">
22 <div class="roomImg">
23 <img :src="fillImgUrl(r.photo?.split(',')[0])">
24 </div>
25 </el-col>
26 <el-col :span="14">
27 <h3 class="name">{{ r.roomType }}</h3>
28 <el-row :gutter="10">
29 <el-col :span="8">{{ r.area }}</el-col>
30 <el-col :span="8" v-show="r.windowFlag==1"> {{ language==0?'有窗':'With windows' }}</el-col>
31 <el-col :span="8" v-show="r.windowFlag==0"> {{ language==0?'无窗':'Windowless' }}</el-col>
32 <el-col :span="8" v-show="r.bathroomFlag==1"> {{ language==0?'热水洗浴':'Shower' }}</el-col>
33 <!-- <text v-show="r.bathroomFlag==0"> </text> -->
34 <el-col :span="8" v-show="r.addBedFlag==1"> {{ language==0?'允许加床':'Extra bed' }} </el-col>
35 <el-col :span="8" v-if="r.breakfastNum&&r.breakfastNum > '0'">
36 {{ r.breakfastNum }}{{ language==0?'份早餐':' breakfasts' }}
37 </el-col>
38 <el-col :span="8" v-else>{{ language==0?'无早餐':'No breakfast' }}</el-col>
39 </el-row>
40 </el-col>
41 <el-col :span="3">
42 <div class="price">{{ language==0?'¥':'€' }}<span>{{language==0?r.roomPrice:r.roomPriceEn}}</span></div>
43 </el-col>
44 <el-col :span="3">
45 <div class="bg-lineg" v-if="language==0" @click="goOrder(r)">
46
47 <div>{{ language==0?'在线付':'Online' }}</div>
48 </div>
49 <el-button v-else class="btn-lineG w100" round type="primary" @click="goOrder(r)">Select</el-button>
50 <div class="text-center text-primary mt10 fontsize14 pointer" v-if="language == 0">
51 剩余 {{(r.roomCount - (r.useCount||0)).toFixed()}}
52 </div>
53 <div class="text-center text-primary mt10 fontsize14" v-else>
54 {{(r.roomCount - (r.useCount||0)).toFixed()}} Remaining rooms
55 </div>
56 </el-col>
57 </el-row>
58 </div>
59
60 <el-empty v-if="list.length == 0" :image="`/img/order_no.png`" :image-size="228" description=""/>
61 </div>
62 </el-card>
63 </div>
64 </div>
65 </template>
66
67 <script setup>
68 import {useRouter} from "vue-router";
69 import {ref, reactive, onMounted} from "vue";
70 import {useRoute} from "vue-router";
71
72 import {useStorage} from "@vueuse/core/index";
73 import useUserStore from "@/store/modules/user";
74 const user = useUserStore().user
75 const language = useStorage('language', 0)
76 const router = useRouter()
77 const route = useRoute()
78 const form = ref({})
79 const car = ref({})
80 const query = ref({
81 id: route.query.id
82 })
83 const loading = ref(false)
84 const list = ref([])
85 onMounted(()=>{
86 car.value = JSON.parse(decodeURIComponent(route.query.detail))
87 list.value = car.value.carVoList
88 })
89
90
91 </script>
92
93 <style scoped>
94
95 </style>
...@@ -112,7 +112,8 @@ import {useRoute} from "vue-router"; ...@@ -112,7 +112,8 @@ import {useRoute} from "vue-router";
112 import {getHotelById, getHotelRooms} from "@/apiPc/booking" 112 import {getHotelById, getHotelRooms} from "@/apiPc/booking"
113 113
114 import {useStorage} from "@vueuse/core/index"; 114 import {useStorage} from "@vueuse/core/index";
115 115 import useUserStore from "@/store/modules/user";
116 const user = useUserStore().user
116 const language = useStorage('language', 0) 117 const language = useStorage('language', 0)
117 const router = useRouter() 118 const router = useRouter()
118 const route = useRoute() 119 const route = useRoute()
...@@ -185,6 +186,10 @@ function initMap() { ...@@ -185,6 +186,10 @@ function initMap() {
185 } 186 }
186 187
187 function goOrder(room) { 188 function goOrder(room) {
189 if(!user){
190 useUserStore().setReLogin()
191 return
192 }
188 router.push({ 193 router.push({
189 name:'hotelOrder', 194 name:'hotelOrder',
190 params:{ 195 params:{
......
...@@ -27,8 +27,8 @@ ...@@ -27,8 +27,8 @@
27 27
28 <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> 28 <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div>
29 <div class="border-rr mt20 pd20"> 29 <div class="border-rr mt20 pd20">
30 <el-form :model="form" :label-width="language == 0 ?'100':'150'"> 30 <el-form :model="form" :label-width="language == 0 ?'100':'150'" :rules="rules" ref="formRef">
31 <el-form-item :label="language==0?'入住日期':'Check-in date'"> 31 <el-form-item :label="language==0?'入住日期':'Check-in date'" required>
32 <el-date-picker @change="getDaysBetween" 32 <el-date-picker @change="getDaysBetween"
33 v-model="rzRange" 33 v-model="rzRange"
34 type="daterange" 34 type="daterange"
...@@ -36,17 +36,17 @@ ...@@ -36,17 +36,17 @@
36 value-format="YYYY-MM-DD"/> 36 value-format="YYYY-MM-DD"/>
37 <!-- :picker-options="pickerOptions"--> 37 <!-- :picker-options="pickerOptions"-->
38 </el-form-item> 38 </el-form-item>
39 <el-form-item :label="language==0?'房间数':'Rooms'"> 39 <el-form-item :label="language==0?'房间数':'Rooms'" required prop="roomNum">
40 <el-input-number v-model="form.roomNum" :min="0" :max="canOrderNum" @change="changeRoomNum"/> 40 <el-input-number v-model="form.roomNum" :min="0" :max="canOrderNum" @change="changeRoomNum"/>
41 <div class="red ml20" v-if="rzRange[1]"> 41 <div class="red ml20" v-if="rzRange[1]">
42 <span v-if="language == 0">剩余房间数:{{ canOrderNum }}</span> 42 <span v-if="language == 0">剩余房间数:{{ canOrderNum }}</span>
43 <span v-else>{{ canOrderNum }} Remaining rooms</span> 43 <span v-else>{{ canOrderNum }} Remaining rooms</span>
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}`" required>
47 <el-input v-model="rzUserArr[index]" :placeholder="language==0?'每间填一位住客姓名':'Each room fill in one name of the guest'"/> 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'" required>
50 <el-select v-model="form.ddDate" 50 <el-select v-model="form.ddDate"
51 :placeholder="language==0?'请选择预计到店时间':'Please select the expected check-in time'"> 51 :placeholder="language==0?'请选择预计到店时间':'Please select the expected check-in time'">
52 <el-option 52 <el-option
...@@ -57,24 +57,25 @@ ...@@ -57,24 +57,25 @@
57 /> 57 />
58 </el-select> 58 </el-select>
59 </el-form-item> 59 </el-form-item>
60 <el-form-item :label="language==0?'联系电话':'Contact phone'"> 60 <el-form-item :label="language==0?'联系电话':'Contact phone'" required prop="phone">
61 <el-input v-model="form.phone"/> 61 <el-input v-model="form.phone"/>
62 </el-form-item> 62 </el-form-item>
63 63
64 <div v-if="room.addBedFlag=='1'"> 64 <div v-if="room.addBedFlag=='1'">
65 <el-form-item :label="language==0?'是否加床':'Extra bed'"> 65 <el-form-item :label="language==0?'是否加床':'Extra bed'" required>
66 <el-radio-group v-model="form.isAddbed"> 66 <el-radio-group v-model="form.isAddbed">
67 <el-radio label="1">{{ language == 0 ? '是' : 'Yes' }}</el-radio> 67 <el-radio label="1">{{ language == 0 ? '是' : 'Yes' }}</el-radio>
68 <el-radio label="0">{{ language == 0 ? '否' : 'No' }}</el-radio> 68 <el-radio label="0">{{ language == 0 ? '否' : 'No' }}</el-radio>
69 </el-radio-group> 69 </el-radio-group>
70 </el-form-item> 70 </el-form-item>
71 <el-form-item :label="language==0?'加床张数':'Extra bed num'"> 71 <el-form-item :label="language==0?'加床张数':'Extra bed num'" required>
72 <el-input-number v-model="form.addNum" :min="0" :max="1" @change="changeBed"/> 72 <el-input-number v-model="form.addNum" :min="0" :max="1" @change="changeBed"/>
73 </el-form-item> 73
74 <div class="tip" v-if="form.isAddbed=='1'">* 74 <div class="tip" v-if="form.isAddbed=='1'">*
75 <span v-if="language == 0">一个房间最多加一张床</span> 75 <span v-if="language == 0">一个房间最多加一张床</span>
76 <span v-else>A room can only add one bed</span> 76 <span v-else>A room can only add one bed</span>
77 </div> 77 </div>
78 </el-form-item>
78 </div> 79 </div>
79 </el-form> 80 </el-form>
80 </div> 81 </div>
...@@ -156,7 +157,9 @@ const canOrderNum = ref(0) ...@@ -156,7 +157,9 @@ const canOrderNum = ref(0)
156 const form = ref({ 157 const form = ref({
157 isAddbed: '0', 158 isAddbed: '0',
158 roomNum: 0, 159 roomNum: 0,
159 addNum: 0 160 addNum: 1,
161 ddDate:'14:00',
162 phone: user.phonenumber||'',
160 }) 163 })
161 const rzRange = ref([]) 164 const rzRange = ref([])
162 const rzUserArr = ref([]) 165 const rzUserArr = ref([])
...@@ -232,6 +235,8 @@ const ddDateArr = ref([ ...@@ -232,6 +235,8 @@ const ddDateArr = ref([
232 label: '00:00' 235 label: '00:00'
233 } 236 }
234 ]) 237 ])
238 const rules = ref({})
239
235 let usedays = 0 240 let usedays = 0
236 onMounted(() => { 241 onMounted(() => {
237 console.log(route.query) 242 console.log(route.query)
...@@ -327,6 +332,7 @@ function countMoney() { ...@@ -327,6 +332,7 @@ function countMoney() {
327 function submit() { 332 function submit() {
328 if(!user){ 333 if(!user){
329 useUserStore().setReLogin() 334 useUserStore().setReLogin()
335 return
330 } 336 }
331 337
332 if (usedays == 0) { 338 if (usedays == 0) {
...@@ -466,4 +472,5 @@ function submit() { ...@@ -466,4 +472,5 @@ function submit() {
466 .red { 472 .red {
467 color: #FF8124; 473 color: #FF8124;
468 } 474 }
475 .tip{font-size: 14px;color: #666;padding: 0 10px;}
469 </style> 476 </style>
......
1 <template> 1 <template>
2 <div style="min-height: 100vh"> 2 <div style="min-height: 100vh">
3 <div class="box" v-if="!errorBox"> 3 <div class="box" v-if="!errorBox">
4 <el-card :body-style="{ padding: '0px' }" class="mt20"> 4 <el-card :body-style="{ padding: '0px' }" class="mt20 mb60">
5 <div slot="header"> 5 <div slot="header">
6 <div class="bg-lineg">{{ language == 0 ? '缴费清单' : 'Payment List' }}</div> 6 <div class="bg-lineg">{{ language == 0 ? '缴费清单' : 'Payment List' }}</div>
7 </div> 7 </div>
8 <div v-if="isLogin"> 8 <div v-if="isLogin">
9 <div class="pd20">
10 <div class="leftboderTT">{{ language == 0 ? '酒店信息' : 'Hotel Infomation' }}</div>
11 <div class="border-info mt20">
12 <h3>{{ form.hotelName }}</h3>
13 <el-row>
14 <el-col>
15 地址:{{ form.provinceName }} {{ form.cityName }} {{ form.areaName }} {{ form.address }}
16 </el-col>
17 <el-col>
18 入住信息:{{ form.messageObj?.roomStayDate }}
19 </el-col>
20 <el-col>
21 房间信息:{{ form.messageObj?.roomName }}{{ form.roomNum }}
22 </el-col>
23 </el-row>
24 </div>
25
26 <div class="leftboderTT">{{ language == 0 ? '预订信息' : 'Hotel Infomation' }}</div>
27 <div class="border-info mt20">
28 <el-row>
29 <el-col :lg="8" :md="12" :sm="12" :xs="24">
30 <div>入住人:{{ form.rzUsers }}</div>
31 </el-col>
32 <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ form.phone }}</el-col>
33 <el-col :lg="8" :md="12" :sm="12" :xs="24"></el-col>
34 </el-row>
35
36 </div>
37
38 <el-row justify="end">
39 <el-col :lg="12" :xs="24">
40 <div class="text-right">
41 <div class="item"><label>{{ language == 0 ? '费用总计' : 'Total Cost' }}</label>
42 <span class="size26 wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.total }}</span>
43 </div>
44 </div>
45 </el-col>
46 </el-row>
47 </div>
9 48
10 <el-row class="priceBar">
11 <el-col :lg="12" :xs="24" class="pl-15">
12 49
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> 50 </div>
23 <div v-else class="pd20 skeletonBox"> 51 <div v-else class="pd20 skeletonBox">
24 <el-skeleton :rows="8"/> 52 <el-skeleton :rows="8"/>
25 <el-button type="primary" class="btn-lineG" size="large" :style="language == 0 ?'width:200px':'width:400px'" round @click="showLogin"> 53 <el-button type="primary" class="btn-lineG" size="large" :style="language == 0 ?'width:200px':'width:400px'"
26 {{ language == 0 ?'登录后查看明细':'View detailed information after logging in' }} 54 round @click="showLogin">
55 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }}
27 </el-button> 56 </el-button>
28 </div> 57 </div>
29 </el-card>
30 58
31 <el-card class="mt20 mb20">
32 <el-row class="result"> 59 <el-row class="result">
33 <el-col :lg="12"> 60 <el-col :lg="12">
34
35 </el-col> 61 </el-col>
36 <el-col :lg="12" v-if="Number(form.totalFee)>0"> 62 <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> 63 <div class="priceb" v-if="form.viewStatus=='0'">{{ language == 0 ? '待支付金额' : 'Amount Due' }}<span
38 <div class="priceb" v-if="form.payStatus=='1'">{{ language==0?'已支付金额':'Amount Due' }}<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div> 64 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> 65 <div class="priceb" v-if="form.viewStatus=='1'">{{ language == 0 ? '已支付金额' : 'Amount Due' }}<span
66 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
67 <div class="priceb" v-if="form.viewStatus=='4'">{{ language == 0 ? '已退订' : 'Refunded' }}<span
68 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
69 <div class="priceb" v-if="form.viewStatus=='2'">{{ language == 0 ? '已取消' : 'Canceled' }}<span
70 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
71 <div class="priceb" v-if="form.viewStatus=='7'">{{ language == 0 ? '退款审核中' : '退款审核中' }}<span
72 class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
40 </el-col> 73 </el-col>
41 </el-row> 74 </el-row>
42 </el-card> 75
43 <el-card class="mb60" v-if="form.auditStatus=='2'&&form.payStatus=='0'&&Number(form.totalFee)>0"> 76 <div class="pd20" v-if="form.status == '0'&&(form.surplus!='0,0'&&form.surplus!='0')">
44 <div class="leftboderTT">{{ language==0?'选择支付方式':'Choose payment method' }}</div> 77
45 <div class="mt20"> 78 <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div>
46 <el-radio-group v-model="payType" @change="changePaytype"> 79 <div class="mt20">
47 <!-- 0 线下 1 支付宝 2 微信 3 paypal--> 80 <el-radio-group v-model="payType">
48 <!-- <el-radio label="1" border>--> 81 <el-radio label="2" v-if="language==0" 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>--> 82 <!-- 微信-->
50 <!-- </el-radio>--> 83 <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1"
51 <el-radio label="2" v-if="language==0" border> 84 xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40">
52 <!-- 微信--> 85 <path
53 <svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1" 86 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"
54 xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40"> 87 fill="#09BB07" p-id="24748"></path>
55 <path 88 <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" 89 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"
57 fill="#09BB07" p-id="24748"></path> 90 fill="#595757" p-id="24749"></path>
58 <path 91 </svg>
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" 92 </el-radio>
60 fill="#595757" p-id="24749"></path> 93 <el-radio label="3" v-if="language==1" border>
61 </svg> 94 <!-- paypal-->
62 </el-radio> 95 <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1"
63 96 xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40">
64 <el-radio label="4" v-if="language==1" border> 97 <path
65 <!-- paypal--> 98 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"
66 <svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1" 99 fill="#009CDE" p-id="22655"></path>
67 xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40"> 100 <path
68 <path 101 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"
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" 102 fill="#003087" p-id="22656"></path>
70 fill="#009CDE" p-id="22655"></path> 103 <path
71 <path 104 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"
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" 105 fill="#009CDE" p-id="22657"></path>
73 fill="#003087" p-id="22656"></path> 106 <path
74 <path 107 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"
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" 108 fill="#003087" p-id="22658"></path>
76 fill="#009CDE" p-id="22657"></path> 109 <path
77 <path 110 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"
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" 111 fill="#009CDE" p-id="22659"></path>
79 fill="#003087" p-id="22658"></path> 112 <path
80 <path 113 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"
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" 114 fill="#009CDE" p-id="22660"></path>
82 fill="#009CDE" p-id="22659"></path> 115 <path
83 <path 116 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"
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" 117 fill="#012169" p-id="22661"></path>
85 fill="#009CDE" p-id="22660"></path> 118 <path
86 <path 119 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"
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" 120 fill="#003087" p-id="22662"></path>
88 fill="#012169" p-id="22661"></path> 121 </svg>
89 <path 122 </el-radio>
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" 123 </el-radio-group>
91 fill="#003087" p-id="22662"></path> 124
92 </svg> 125 <div v-if="payType == '2'&&wePayCodeUrl">
93 </el-radio> 126 <div class="payImgbox flexCenter">
94 </el-radio-group> 127 <div>
95 128 <img width="260" class="border" :src="wePayCodeUrl"/>
96 <div v-if="payType == '2'&&wePayCodeUrl"> 129 <img class="mt20" src="@/assets/img/sm.png"/>
97 <div class="payImgbox flexCenter"> 130 </div>
98 <div> 131 <div class="ml20">
99 <img width="260" class="border" :src="wePayCodeUrl"/> 132 <img height="360" src="@/assets/img/rr.jpg"/>
100 <img class="mt20" src="@/assets/img/sm.png"/> 133 </div>
101 </div> 134 </div>
102 <div class="ml20"> 135 <div class="tip text-center text-danger" v-if="language==0">
103 <img height="360" src="@/assets/img/rr.jpg"/> 136 支付后不要关闭此窗口,等待确认支付成功.
137 若长时间未收到支付成功提醒,请刷新页面
138 </div>
139 <div class="tip text-center text-danger" v-else>
140 After payment, do not close this window and wait for confirmation of successful payment.
141 <br/>
142 If you have not received a notification of successful payment for a long time,
143 please refresh the page
104 </div> 144 </div>
105 </div> 145 </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 146
117 <div class="text-center mt20"> 147 <el-row class="mt20" align="middle" justify="center">
118 <el-button v-if="!hideconfirmbtn" type="primary" @click="goPay" round class="btn-lineG w200px"> 148 <el-col :span="24" class="text-center">
119 {{ language==0?'确定':'Submit' }}</el-button> 149 <el-button v-if="!hideconfirmbtn" type="primary" @click="goPay" round class="btn-lineG w200px">
150 {{ language == 0 ? '确定' : 'Submit' }}
151 </el-button>
152 <el-button round @click="unsubscribe" v-if="form.viewStatus == '5'"> 退订</el-button>
153 <el-button link class="underline" @click="cancel" v-if="form.viewStatus == '0'" disabled> 取消订单</el-button>
154
155
156 </el-col>
157 </el-row>
120 </div> 158 </div>
121 </div> 159 </div>
122 </el-card> 160 <div v-if="form.payStatus == '3'">
123 <el-card class="mb60" v-if="form.payStatus == '3'"> 161 <div class="text-center">
124 <div class="text-center"> 162 <el-icon color="#32B16C" size="80">
125 <el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon> 163 <SuccessFilled/>
126 <p class="text-success">{{ language==0?'支付成功':'successful!' }}</p> 164 </el-icon>
127 <h3 class="wePrice">{{ language==0?'¥':'€' }}{{form.totalFee || 0}}</h3> 165 <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p>
166 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ form.totalFee || 0 }}</h3>
167 </div>
128 </div> 168 </div>
129 </el-card> 169 </el-card>
170
171
172
130 </div> 173 </div>
131 174
132 175
...@@ -137,7 +180,9 @@ ...@@ -137,7 +180,9 @@
137 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'" 180 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
138 > 181 >
139 <template #extra> 182 <template #extra>
140 <el-button type="primary" @click="goHome" class="btn-lineG w200px" round>{{ language==0?'返回首页':'Home' }}</el-button> 183 <el-button type="primary" @click="goHome" class="btn-lineG w200px" round>
184 {{ language == 0 ? '返回首页' : 'Home' }}
185 </el-button>
141 </template> 186 </template>
142 </el-result> 187 </el-result>
143 </div> 188 </div>
...@@ -148,9 +193,11 @@ ...@@ -148,9 +193,11 @@
148 import {Search} from "@element-plus/icons-vue" 193 import {Search} from "@element-plus/icons-vue"
149 import {getCurrentInstance, ref} from 'vue' 194 import {getCurrentInstance, ref} from 'vue'
150 import {onMounted} from "@vue/runtime-core" 195 import {onMounted} from "@vue/runtime-core"
151 import {useRoute,useRouter} from "vue-router" 196 import {useRoute, useRouter} from "vue-router"
197 import * as booking from "@/apiPc/booking"
152 import * as match from "@/apiPc/match" 198 import * as match from "@/apiPc/match"
153 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; 199 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row";
200
154 const {proxy} = getCurrentInstance() 201 const {proxy} = getCurrentInstance()
155 const route = useRoute() 202 const route = useRoute()
156 const router = useRouter() 203 const router = useRouter()
...@@ -161,34 +208,19 @@ const payType = ref('2') ...@@ -161,34 +208,19 @@ const payType = ref('2')
161 const orderId = ref(route.query.orderId) 208 const orderId = ref(route.query.orderId)
162 const matchId = ref() 209 const matchId = ref()
163 const groupId = ref() 210 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"; 211 import useUserStore from "@/store/modules/user";
169 import FileUpload from "@/components/FileUpload"; 212 import FileUpload from "@/components/FileUpload";
170 import {useStorage} from "@vueuse/core/index"; 213 import {useStorage} from "@vueuse/core/index";
171 import {ElMessage} from "element-plus"; 214 import {ElMessage} from "element-plus";
215
172 const isLogin = ref(false) 216 const isLogin = ref(false)
173 const language= useStorage('language',0) 217 const language = useStorage('language', 0)
174 const signInfoList = ref([])
175 const zuTableList = ref([])
176 const totalFee = ref('') 218 const totalFee = ref('')
177 const wePayCodeUrl = ref('') 219 const wePayCodeUrl = ref('')
178 const form = ref({}) 220 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) 221 const errorBox = ref(false)
185 const hideconfirmbtn = ref(false) 222 const hideconfirmbtn = ref(false)
186 const insuranceFeeTotal = ref(0) 223
187 const serviceFeeTotal = ref(0)
188 const zuQuery = ref({
189 cptId: matchId.value,
190 groupId: groupId.value
191 })
192 const user = useUserStore().user 224 const user = useUserStore().user
193 console.log(route.query.orderId) 225 console.log(route.query.orderId)
194 // 1763462073870237698 226 // 1763462073870237698
...@@ -196,169 +228,92 @@ getData() ...@@ -196,169 +228,92 @@ getData()
196 if (useUserStore().user) { 228 if (useUserStore().user) {
197 isLogin.value = true 229 isLogin.value = true
198 } 230 }
231 onMounted(() => {
232 if (language.value == 0) {
233 payType.value = '2'
234 } else {
235 payType.value = '3'
236 }
237 })
238
199 function getData() { 239 function getData() {
200 return match.getMyOrderDetail({orderId:orderId.value}).then(res => { 240 return booking.getRoomBilldetailbyId({orderId: orderId.value}).then(res => {
201 totalFee.value = res.data.totalFee 241 totalFee.value = res.data.total
202 form.value = res.data 242 form.value = res.data
203 form.value.payTypeArr = res.data.payType.split(',') 243 form.value.messageObj = JSON.parse(form.value.message)
204 matchId.value = form.value.cptId 244 form.value.extJsonObj = JSON.parse(form.value.extJson)
205 groupId.value = form.value.groupId || 0 245 matchId.value = form.value.extJsonObj?.activeId
206 zuQuery.value.groupId = groupId.value 246 }).catch(err => {
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) 247 console.log(err)
216 errorBox.value = true 248 errorBox.value = true
217 }) 249 })
218 } 250 }
219 function getMyMemberTable() { 251
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() { 252 function goHome() {
254 router.push('/') 253 router.push('/')
255 } 254 }
256 function changePaytype() { 255
257 hideconfirmbtn.value = false 256 function goPay() {
258 wePayCodeUrl.value = '' 257 if (payType.value == '2') {
259 if(handle) { 258 match.createWePay({orderId: orderId.value}).then(res => {
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 259 wePayCodeUrl.value = res.data
268 hideconfirmbtn.value = true 260 hideconfirmbtn.value = true
269 startforGetData() 261 startforGetData()
270 }) 262 })
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 } 263 }
275 if(payType.value=='4'){ 264 if (payType.value == '3') {
276 match.createPalPay({orderId:orderId.value}).then(res=>{ 265 match.createPalPay({orderId: orderId.value}).then(res => {
277 if(res.data){ 266 if (res.data) {
278 location.href=res.data 267 location.href = res.data
279 } 268 }
280 }) 269 })
281 } 270 }
282 } 271 }
272
283 let handle; 273 let handle;
274
284 function startforGetData() { 275 function startforGetData() {
285 handle= setTimeout(()=>{ 276 handle = setTimeout(() => {
286 getData().then(()=>{ 277 getData().then(() => {
287 if( form.value.payTime){ 278 if (form.value.payTime) {
288 if(handle) { 279 if (handle) {
289 clearTimeout(handle) 280 clearTimeout(handle)
290 handle=null 281 handle = null
291 } 282 }
292 }else{ 283 } else {
293 startforGetData() 284 startforGetData()
294 } 285 }
295 }) 286 })
296 },2000) 287 }, 2000)
297 } 288 }
298 289
299 function showLogin(){ 290 function showLogin() {
300 useUserStore().setReLogin() 291 useUserStore().setReLogin()
301 } 292 }
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 293
329 } 294 const cancel = () => {
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 295
348 } 296 }
349 function copy(str) { 297 const unsubscribe = () => {
350 navigator.clipboard.writeText(str).then(() => { 298
351 ElMessage.success(language.value==0?'复制成功':'Copy successfully')
352 })
353 } 299 }
354 </script> 300 </script>
355 301
356 <style scoped lang="scss"> 302 <style scoped lang="scss">
357 .wePrice{font-size: 24px;font-weight: 400;} 303 .underline{text-decoration: underline;}
304 .wePrice {
305 font-size: 24px;font-family: "DIN Alternate";
306 font-weight: 400;
307 }
308
358 .el-radio.is-bordered { 309 .el-radio.is-bordered {
359 height: 40px; 310 height: 40px;
360 } 311 }
361 .border{border: 1px solid #e1e1e1;} 312
313 .border {
314 border: 1px solid #e1e1e1;
315 }
316
362 .leftboderTT { 317 .leftboderTT {
363 font-weight: 600; 318 font-weight: 600;
364 font-size: 16px; 319 font-size: 16px;
...@@ -440,22 +395,60 @@ function copy(str) { ...@@ -440,22 +395,60 @@ function copy(str) {
440 } 395 }
441 } 396 }
442 } 397 }
443 .skeletonBox{position: relative;overflow: hidden; 398
444 .btn-lineG{position: absolute;left: 0;right: 0;margin: auto;top: 0;bottom: 0; 399 .skeletonBox {
445 width: 200px;box-shadow: 0 0 1000px 500px rgba(255,255,255,0.5); 400 position: relative;
401 overflow: hidden;
402
403 .btn-lineG {
404 position: absolute;
405 left: 0;
406 right: 0;
407 margin: auto;
408 top: 0;
409 bottom: 0;
410 width: 200px;
411 box-shadow: 0 0 1000px 500px rgba(255, 255, 255, 0.5);
446 412
447 } 413 }
448 } 414 }
449 415
450 .payImgbox{text-align: center;border: 1px solid #fff;padding: 20px;} 416 .payImgbox {
451 .priceBar{padding: 0 0 20px; 417 text-align: center;
452 .flex{display: flex;justify-content: right;align-items: baseline; 418 border: 1px solid #fff;
453 .item{font-size: 16px;margin-right: 15px; 419 padding: 20px;
454 label{color: #95A1A6;} 420 }
455 span{font-family: DIN Alternate;} 421
422 .priceBar {
423 padding: 0 0 20px;
424
425 .flex {
426 display: flex;
427 justify-content: right;
428 align-items: baseline;
429
430 .item {
431 font-size: 16px;
432 margin-right: 15px;
433
434 label {
435 color: #95A1A6;
436 }
437
438 span {
439 font-family: DIN Alternate;
440 }
456 } 441 }
457 } 442 }
458 .size26{font-size: 26px;} 443
444 .size26 {
445 font-size: 26px;
446 }
447 }
448
449 .rre {
450 color: #333;
451 font-size: 16px;
452 margin-top: 10px
459 } 453 }
460 .rre{color: #333;font-size: 16px;margin-top: 10px}
461 </style> 454 </style>
......
1 <template> 1 <template>
2 <div> 2 <div>
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">
5 <h3 class="leftboderTT">{{ language==0?'我的预订':'My reservation' }}
6 </h3>
7
8 <el-button class="fr" type="primary" plain @click="toInvoice">发票开具</el-button>
9 </div>
5 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0"/> 10 <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="list?.length == 0"/>
6 <div class="pd20"> 11 <div class="pd20">
7 <div v-for="b in list" class="item"> 12 <div v-for="b in list" class="item">
...@@ -33,9 +38,9 @@ ...@@ -33,9 +38,9 @@
33 38
34 <el-col :lg="8"> 39 <el-col :lg="8">
35 <div class="text-right"> 40 <div class="text-right">
36 <el-button class="mb10" plain round type="primary" @click="goDetail(n)"> 41 <el-button class="mb10" plain round type="primary" @click="goDetail(b)">
37 {{ language==0?'详情':'Detail' }}</el-button> 42 {{ language==0?'详情':'Detail' }}</el-button>
38 <el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" @click="goPay(b)" 43 <el-button v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" @click="goDetail(b)"
39 class="mb10" plain round type="primary" > 44 class="mb10" plain round type="primary" >
40 {{ language==0?'支付':'Pay' }}</el-button> 45 {{ language==0?'支付':'Pay' }}</el-button>
41 </div> 46 </div>
...@@ -55,6 +60,7 @@ ...@@ -55,6 +60,7 @@
55 import {onMounted} from "@vue/runtime-core"; 60 import {onMounted} from "@vue/runtime-core";
56 import {useStorage} from "@vueuse/core/index"; 61 import {useStorage} from "@vueuse/core/index";
57 import {newbilllist} from "@/apiPc/common"; 62 import {newbilllist} from "@/apiPc/common";
63 const router = useRouter()
58 const language= useStorage('language',0) 64 const language= useStorage('language',0)
59 const list = ref([]) 65 const list = ref([])
60 66
...@@ -69,6 +75,18 @@ function getList() { ...@@ -69,6 +75,18 @@ function getList() {
69 } 75 }
70 }) 76 })
71 } 77 }
78 function goDetail(b) {
79 router.push({
80 name: 'bookingPay',
81 query: {
82 orderId: b.id
83 }
84 })
85 }
86 function toInvoice(){
87
88 }
89
72 </script> 90 </script>
73 91
74 <style scoped lang="scss"> 92 <style scoped lang="scss">
...@@ -84,11 +102,11 @@ function getList() { ...@@ -84,11 +102,11 @@ function getList() {
84 .bg-blue{background: #00a0e9} 102 .bg-blue{background: #00a0e9}
85 } 103 }
86 .indexTitle { 104 .indexTitle {
87 margin: 20px 0 12px; 105 margin: 20px 0 12px; overflow: visible;
88 padding: 0 20px 15px; 106 padding: 0 20px 15px;
89 border-bottom: 1px solid #e5e5e5; 107 border-bottom: 1px solid #e5e5e5;
90 108 .fr{margin: -8px 0 0}
91 h3 { 109 h3 {display: inline-block;
92 font-size: 16px; 110 font-size: 16px;
93 color: var(--el-color-primary); 111 color: var(--el-color-primary);
94 } 112 }
......
...@@ -225,7 +225,7 @@ ...@@ -225,7 +225,7 @@
225 </div> 225 </div>
226 </div> 226 </div>
227 227
228 <div> 228 <div hidden>
229 <div class="box"> 229 <div class="box">
230 <div class="indexTitle"> 230 <div class="indexTitle">
231 <h3 class="leftboderTT">评委介绍</h3> 231 <h3 class="leftboderTT">评委介绍</h3>
......
...@@ -220,7 +220,7 @@ ...@@ -220,7 +220,7 @@
220 </div> 220 </div>
221 </div> 221 </div>
222 222
223 <div> 223 <div hidden>
224 <div class="box"> 224 <div class="box">
225 <div class="indexTitle"> 225 <div class="indexTitle">
226 <h3 class="leftboderTT">INTRODUCTION OF ADJUDICATORS</h3> 226 <h3 class="leftboderTT">INTRODUCTION OF ADJUDICATORS</h3>
...@@ -710,7 +710,7 @@ const goGuide = () => { ...@@ -710,7 +710,7 @@ const goGuide = () => {
710 p{margin: 13px 0 0;} 710 p{margin: 13px 0 0;}
711 } 711 }
712 .logobox{background: #fff;height: 180px;border-radius: 10px;margin: 0 0 30px; 712 .logobox{background: #fff;height: 180px;border-radius: 10px;margin: 0 0 30px;
713 img{width: 100%} 713 img{width: 100%;height: 100%;object-fit: contain;}
714 } 714 }
715 .swiperPic{background: #F3F1FE;position: relative; height: 100%; 715 .swiperPic{background: #F3F1FE;position: relative; height: 100%;
716 padding: 20px 45px; 716 padding: 20px 45px;
......
...@@ -82,7 +82,7 @@ export default defineConfig(({ mode, command }) => { ...@@ -82,7 +82,7 @@ export default defineConfig(({ mode, command }) => {
82 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 82 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
83 }, 83 },
84 '/dev-api': { 84 '/dev-api': {
85 target: 'http://192.168.1.27:8081/', 85 target: 'http://192.168.1.118:8081/',
86 // target: 'https://dance.itechtop.cn/stage-api', 86 // target: 'https://dance.itechtop.cn/stage-api',
87 // target: 'https://wdsfwuxicenter.com/stage-api', 87 // target: 'https://wdsfwuxicenter.com/stage-api',
88 changeOrigin: true, 88 changeOrigin: true,
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!