no message
Showing
15 changed files
with
516 additions
and
317 deletions
| ... | @@ -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 | } | ... | ... |
src/assets/booking/arrow.png
0 → 100644
868 Bytes
src/assets/booking/cl_bg.png
0 → 100644
87.7 KB
src/assets/booking/cl_text.png
0 → 100644
13.1 KB
src/assets/booking/wf.png
0 → 100644
3.6 KB
| ... | @@ -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> | ... | ... |
src/viewsPc/booking/carOrder.vue
0 → 100644
| 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 }}m²</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, | ... | ... |
-
Please register or sign in to post a comment