Merge remote-tracking branch 'origin/devmatch' into devmatch
Showing
5 changed files
with
113 additions
and
175 deletions
| ... | @@ -20,43 +20,12 @@ | ... | @@ -20,43 +20,12 @@ |
| 20 | <label class="blueTag">{{ paymentType != 3 ? '票务订单' : 'Ticket' }}</label> | 20 | <label class="blueTag">{{ paymentType != 3 ? '票务订单' : 'Ticket' }}</label> |
| 21 | <h3>{{ matchForm.name }}</h3> | 21 | <h3>{{ matchForm.name }}</h3> |
| 22 | <div> | 22 | <div> |
| 23 | <p>地址:{{ matchForm.address }}</p> | 23 | <p>票档:{{ ticketForm.extJson?.atName }}</p> |
| 24 | <p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p> | 24 | <p>场馆:{{ ticketForm.extJson?.atsName }}</p> |
| 25 | <p>时间:{{ ticketForm.extJson?.ticketDate.name }}</p> | 25 | <p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p> |
| 26 | <p>通票:{{ | 26 | <p>票型:{{ ticketForm.extJson?.atstName }}</p> |
| 27 | paymentType != 3 ? '¥' : '€' | ||
| 28 | }} | ||
| 29 | {{ | ||
| 30 | paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn | ||
| 31 | }} | ||
| 32 | /1张</p> | ||
| 33 | <p>优惠票:{{ | ||
| 34 | paymentType != 3 ? '¥' : '€' | ||
| 35 | }} | ||
| 36 | {{ | ||
| 37 | paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn | ||
| 38 | }} | ||
| 39 | /1张</p> | ||
| 40 | |||
| 41 | <p class="poPrice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</p> | ||
| 42 | </div> | 27 | </div> |
| 43 | <div> | 28 | <div> |
| 44 | <el-row v-for="v in message" style="width: 100%"> | ||
| 45 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | ||
| 46 | <div>{{ v.name }} | ||
| 47 | </div> | ||
| 48 | </el-col> | ||
| 49 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | ||
| 50 | <div>{{ !v.discount ? '通票' : '优惠票' }} | ||
| 51 | </div> | ||
| 52 | </el-col> | ||
| 53 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | ||
| 54 | {{ | ||
| 55 | !v.discount ? paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn : paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn | ||
| 56 | }} | ||
| 57 | {{ paymentType != 3 ? '¥' : '€' }}/张 | ||
| 58 | </el-col> | ||
| 59 | </el-row> | ||
| 60 | <el-row style="width: 100%"> | 29 | <el-row style="width: 100%"> |
| 61 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | 30 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> |
| 62 | <div>购票数量:{{ ticketForm.num }}张 | 31 | <div>购票数量:{{ ticketForm.num }}张 |
| ... | @@ -65,14 +34,14 @@ | ... | @@ -65,14 +34,14 @@ |
| 65 | <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }} | 34 | <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }} |
| 66 | </el-col> | 35 | </el-col> |
| 67 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | 36 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> |
| 68 | 共计:{{ (totalMoney * 1).toFixed(2) }}{{ | 37 | 共计:{{ (totalMoney*1).toFixed(2) }}{{ |
| 69 | paymentType != 3 ? '¥' : '€' | 38 | paymentType == 1 ? '¥' : '€' |
| 70 | }} | 39 | }} |
| 71 | </el-col> | 40 | </el-col> |
| 72 | </el-row> | 41 | </el-row> |
| 73 | </div> | 42 | </div> |
| 74 | </div> | 43 | </div> |
| 75 | 44 | ||
| 76 | <div class="leftboderTT"> | 45 | <div class="leftboderTT"> |
| 77 | {{ paymentType != 3 ? '开票信息' : 'Invoice information' }} | 46 | {{ paymentType != 3 ? '开票信息' : 'Invoice information' }} |
| 78 | </div> | 47 | </div> |
| ... | @@ -82,15 +51,15 @@ | ... | @@ -82,15 +51,15 @@ |
| 82 | class="mw500" | 51 | class="mw500" |
| 83 | > | 52 | > |
| 84 | <el-form-item :label="language==0 ?'开票金额':'Amount'"> | 53 | <el-form-item :label="language==0 ?'开票金额':'Amount'"> |
| 85 | <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span> | 54 | <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ paymentType != 3?ticketForm.total:ticketForm.totalEn }}</span> |
| 86 | </el-form-item> | 55 | </el-form-item> |
| 87 | 56 | ||
| 88 | <el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required> | 57 | <el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required> |
| 89 | <el-radio-group v-model="form.invoiceForm"> | 58 | <el-radio-group v-model="form.invoiceForm"> |
| 90 | <el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio> | 59 | <el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio> |
| 91 | </el-radio-group> | 60 | </el-radio-group> |
| 92 | </el-form-item> | 61 | </el-form-item> |
| 93 | 62 | ||
| 94 | <el-form-item :label="language==0 ?`发票类型`:'Invoice Type'" prop="invoiceType" required> | 63 | <el-form-item :label="language==0 ?`发票类型`:'Invoice Type'" prop="invoiceType" required> |
| 95 | <el-radio-group v-model="form.invoiceType"> | 64 | <el-radio-group v-model="form.invoiceType"> |
| 96 | <el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio> | 65 | <el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio> |
| ... | @@ -132,7 +101,7 @@ | ... | @@ -132,7 +101,7 @@ |
| 132 | </el-form-item> | 101 | </el-form-item> |
| 133 | </div> | 102 | </div> |
| 134 | </el-form> | 103 | </el-form> |
| 135 | 104 | ||
| 136 | <div v-if="remark" class="tip"> | 105 | <div v-if="remark" class="tip"> |
| 137 | <label>{{ paymentType != 3 ? '开票须知' : 'Invoice Notice' }}:</label> | 106 | <label>{{ paymentType != 3 ? '开票须知' : 'Invoice Notice' }}:</label> |
| 138 | <div v-html="remark" /> | 107 | <div v-html="remark" /> |
| ... | @@ -140,7 +109,7 @@ | ... | @@ -140,7 +109,7 @@ |
| 140 | </div> | 109 | </div> |
| 141 | </el-col> | 110 | </el-col> |
| 142 | </el-row> | 111 | </el-row> |
| 143 | 112 | ||
| 144 | <el-row align="middle" class="pd20" justify="center"> | 113 | <el-row align="middle" class="pd20" justify="center"> |
| 145 | <el-col :span="12" class="text-center"> | 114 | <el-col :span="12" class="text-center"> |
| 146 | <el-button class="btn-lineG w200px" round size="large" type="primary" @click="submit"> | 115 | <el-button class="btn-lineG w200px" round size="large" type="primary" @click="submit"> |
| ... | @@ -150,7 +119,7 @@ | ... | @@ -150,7 +119,7 @@ |
| 150 | </el-row> | 119 | </el-row> |
| 151 | </el-card> | 120 | </el-card> |
| 152 | <div style="height: 60px;" /> | 121 | <div style="height: 60px;" /> |
| 153 | 122 | ||
| 154 | </div> | 123 | </div> |
| 155 | </div> | 124 | </div> |
| 156 | <address-list-dialog ref="dialogAddressListRef" @submit="getAddress" /> | 125 | <address-list-dialog ref="dialogAddressListRef" @submit="getAddress" /> |
| ... | @@ -248,27 +217,27 @@ async function getTickInfo() { | ... | @@ -248,27 +217,27 @@ async function getTickInfo() { |
| 248 | ticketForm.value = res.data | 217 | ticketForm.value = res.data |
| 249 | try { | 218 | try { |
| 250 | ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson) | 219 | ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson) |
| 251 | ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate) | 220 | // ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate) |
| 252 | ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType) | 221 | // ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType) |
| 253 | cptId = ticketForm.value.extJson.ticketDate.activityId | 222 | cptId = ticketForm.value.activeId |
| 254 | totalMoney.value.val = ticketForm.value.extJson.total | 223 | totalMoney.value = ticketForm.value.paymentType != 3 ? ticketForm.value.total : ticketForm.value.totalEn |
| 255 | message.value = JSON.parse(ticketForm.value.extJson.message) | 224 | // message.value = JSON.parse(ticketForm.value.extJson.message) |
| 256 | console.log(message.value) | 225 | // console.log(message.value) |
| 257 | paymentType.value = ticketForm.value.paymentType | 226 | paymentType.value = ticketForm.value.paymentType |
| 258 | totalMoney.value = paymentType.value == 3 ? ticketForm.value.totalEn : ticketForm.value.total | 227 | |
| 259 | await getDetail(ticketForm.value.extJson.ticketDate.activityId) | 228 | await getDetail(ticketForm.value.activeId) |
| 260 | console.log(ticketForm.value) | 229 | // console.log(ticketForm.value) |
| 261 | } catch (e) { | 230 | } catch (e) { |
| 262 | console.log(e) | 231 | console.log(e) |
| 263 | } finally { | 232 | } finally { |
| 264 | 233 | ||
| 265 | } | 234 | } |
| 266 | } | 235 | } |
| 267 | 236 | ||
| 268 | async function getDetail(activeId) { | 237 | async function getDetail(activeId) { |
| 269 | const res = await getTicketInfoByActivityId({ activityId: activeId }) | 238 | const res = await getTicketInfoByActivityId({ activityId: activeId }) |
| 270 | matchForm.value = res.data | 239 | matchForm.value = res.data |
| 271 | console.log(matchForm.value) | 240 | // console.log(matchForm.value) |
| 272 | } | 241 | } |
| 273 | 242 | ||
| 274 | function getList() { | 243 | function getList() { |
| ... | @@ -370,7 +339,7 @@ function goBack() { | ... | @@ -370,7 +339,7 @@ function goBack() { |
| 370 | 339 | ||
| 371 | .border-info { | 340 | .border-info { |
| 372 | position: relative; | 341 | position: relative; |
| 373 | 342 | ||
| 374 | & > label { | 343 | & > label { |
| 375 | position: absolute; | 344 | position: absolute; |
| 376 | right: 0; | 345 | right: 0; |
| ... | @@ -380,7 +349,7 @@ function goBack() { | ... | @@ -380,7 +349,7 @@ function goBack() { |
| 380 | padding: 5px 15px; | 349 | padding: 5px 15px; |
| 381 | font-size: 14px; | 350 | font-size: 14px; |
| 382 | } | 351 | } |
| 383 | 352 | ||
| 384 | .poPrice { | 353 | .poPrice { |
| 385 | position: absolute; | 354 | position: absolute; |
| 386 | bottom: 0px; | 355 | bottom: 0px; |
| ... | @@ -435,12 +404,12 @@ function goBack() { | ... | @@ -435,12 +404,12 @@ function goBack() { |
| 435 | 404 | ||
| 436 | .ccitemBox { | 405 | .ccitemBox { |
| 437 | overflow: auto; | 406 | overflow: auto; |
| 438 | 407 | ||
| 439 | label { | 408 | label { |
| 440 | margin: 10px 0; | 409 | margin: 10px 0; |
| 441 | display: block; | 410 | display: block; |
| 442 | min-height: 30px; | 411 | min-height: 30px; |
| 443 | 412 | ||
| 444 | span { | 413 | span { |
| 445 | color: #FF8124; | 414 | color: #FF8124; |
| 446 | font-family: DIN Alternate; | 415 | font-family: DIN Alternate; |
| ... | @@ -455,12 +424,12 @@ function goBack() { | ... | @@ -455,12 +424,12 @@ function goBack() { |
| 455 | font-size: 15px; | 424 | font-size: 15px; |
| 456 | color: #666; | 425 | color: #666; |
| 457 | margin: 5px 0 10px; | 426 | margin: 5px 0 10px; |
| 458 | 427 | ||
| 459 | label { | 428 | label { |
| 460 | font-size: 16px; | 429 | font-size: 16px; |
| 461 | color: #000; | 430 | color: #000; |
| 462 | } | 431 | } |
| 463 | 432 | ||
| 464 | span { | 433 | span { |
| 465 | font-size: 13px; | 434 | font-size: 13px; |
| 466 | } | 435 | } | ... | ... |
| ... | @@ -6,7 +6,7 @@ | ... | @@ -6,7 +6,7 @@ |
| 6 | <div class="bg-lineg"> | 6 | <div class="bg-lineg"> |
| 7 | <div class="pl-back" @click="goBack"> | 7 | <div class="pl-back" @click="goBack"> |
| 8 | <el-icon> | 8 | <el-icon> |
| 9 | <ArrowLeftBold/> | 9 | <ArrowLeftBold /> |
| 10 | </el-icon> | 10 | </el-icon> |
| 11 | 返回 | 11 | 返回 |
| 12 | </div> | 12 | </div> |
| ... | @@ -21,52 +21,22 @@ | ... | @@ -21,52 +21,22 @@ |
| 21 | <label class="blueTag">票务订单</label> | 21 | <label class="blueTag">票务订单</label> |
| 22 | <h3>{{ matchForm.name }}</h3> | 22 | <h3>{{ matchForm.name }}</h3> |
| 23 | <div> | 23 | <div> |
| 24 | <p>地址:{{ matchForm.address }}</p> | 24 | <p>票档:{{ ticketForm.extJson?.atName }}</p> |
| 25 | <p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p> | 25 | <p>场馆:{{ ticketForm.extJson?.atsName }}</p> |
| 26 | <p>时间:{{ ticketForm.extJson?.ticketDate.name }}</p> | 26 | <p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p> |
| 27 | <p>通票:{{ paymentType != 3 ? '¥' : '€' }} | 27 | <p>票型:{{ ticketForm.extJson?.atstName }}</p> |
| 28 | {{ | ||
| 29 | paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn | ||
| 30 | }} | ||
| 31 | /1张</p> | ||
| 32 | <p>优惠票:{{ paymentType != 3 ? '¥' : '€' }} | ||
| 33 | {{ | ||
| 34 | paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn | ||
| 35 | }} | ||
| 36 | /1张</p> | ||
| 37 | <p class="poPrice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</p> | ||
| 38 | </div> | 28 | </div> |
| 39 | <div> | 29 | <div> |
| 40 | <el-row v-for="v in message" style="width: 100%"> | ||
| 41 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | ||
| 42 | <div>{{ v.name }} | ||
| 43 | </div> | ||
| 44 | </el-col> | ||
| 45 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | ||
| 46 | <div>{{ !v.discount ? '通票' : '优惠票' }} | ||
| 47 | </div> | ||
| 48 | </el-col> | ||
| 49 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | ||
| 50 | {{ | ||
| 51 | !v.discount ? paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn : paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn | ||
| 52 | }} | ||
| 53 | {{ paymentType != 3 ? '¥' : '€' }}/张 | ||
| 54 | </el-col> | ||
| 55 | </el-row> | ||
| 56 | <el-row style="width: 100%"> | 30 | <el-row style="width: 100%"> |
| 57 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | 31 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> |
| 58 | <div>{{ | 32 | <div>购票数量:{{ ticketForm.num }}张 |
| 59 | language == 0 ? '购票数量' : 'Number of tickets purchased' | ||
| 60 | }}:{{ ticketForm.num }}张 | ||
| 61 | </div> | 33 | </div> |
| 62 | </el-col> | 34 | </el-col> |
| 63 | <el-col :lg="8" :md="12" :sm="12" :xs="24">{{ | 35 | <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }} |
| 64 | language == 0 ? '联系方式' : 'Contact Information' | ||
| 65 | }}:{{ ticketForm.phone }} | ||
| 66 | </el-col> | 36 | </el-col> |
| 67 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> | 37 | <el-col :lg="8" :md="12" :sm="12" :xs="24"> |
| 68 | 共计:{{ (totalMoney * 1).toFixed(2) }}{{ | 38 | 共计:{{ (totalMoney*1).toFixed(2) }}{{ |
| 69 | paymentType != 3 ? '¥' : '€' | 39 | paymentType == 1 ? '¥' : '€' |
| 70 | }} | 40 | }} |
| 71 | </el-col> | 41 | </el-col> |
| 72 | </el-row> | 42 | </el-row> |
| ... | @@ -74,8 +44,10 @@ | ... | @@ -74,8 +44,10 @@ |
| 74 | </div> | 44 | </div> |
| 75 | <div class="leftboderTT">{{ language == 0 ? '开票信息' : 'Invoice information' }}</div> | 45 | <div class="leftboderTT">{{ language == 0 ? '开票信息' : 'Invoice information' }}</div> |
| 76 | <div class="border-rr mt20 pd20"> | 46 | <div class="border-rr mt20 pd20"> |
| 77 | <el-form ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules" | 47 | <el-form |
| 78 | class="mw500"> | 48 | ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules" |
| 49 | class="mw500" | ||
| 50 | > | ||
| 79 | <el-form-item :label="'开票金额'"> | 51 | <el-form-item :label="'开票金额'"> |
| 80 | <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span> | 52 | <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span> |
| 81 | </el-form-item> | 53 | </el-form-item> |
| ... | @@ -124,27 +96,27 @@ | ... | @@ -124,27 +96,27 @@ |
| 124 | <el-button plain round type="primary" @click="backList">返回</el-button> | 96 | <el-button plain round type="primary" @click="backList">返回</el-button> |
| 125 | </div> | 97 | </div> |
| 126 | </el-card> | 98 | </el-card> |
| 127 | <div style="height: 60px;"></div> | 99 | <div style="height: 60px;" /> |
| 128 | </div> | 100 | </div> |
| 129 | </div> | 101 | </div> |
| 130 | </template> | 102 | </template> |
| 131 | 103 | ||
| 132 | <script setup> | 104 | <script setup> |
| 133 | import {useRouter, useRoute} from "vue-router"; | 105 | import { useRouter, useRoute } from 'vue-router' |
| 134 | import {ref, onMounted} from "vue"; | 106 | import { ref, onMounted } from 'vue' |
| 135 | import {useStorage} from "@vueuse/core/index"; | 107 | import { useStorage } from '@vueuse/core/index' |
| 136 | import dayjs from 'dayjs' | 108 | import dayjs from 'dayjs' |
| 137 | import {ElMessage, ElMessageBox} from "element-plus"; | 109 | import { ElMessage, ElMessageBox } from 'element-plus' |
| 138 | import useUserStore from "@/store/modules/user"; | 110 | import useUserStore from '@/store/modules/user' |
| 139 | import {getCurrentInstance} from "@vue/runtime-core"; | 111 | import { getCurrentInstance } from '@vue/runtime-core' |
| 140 | import { | 112 | import { |
| 141 | getInvoiceDetail, | 113 | getInvoiceDetail, |
| 142 | getTicketOrderInfo, | 114 | getTicketOrderInfo, |
| 143 | getTicketInfoByActivityId | 115 | getTicketInfoByActivityId |
| 144 | } from "@/apiPc/booking"; | 116 | } from '@/apiPc/booking' |
| 145 | import {getOrderDetail} from "@/viewsPc/seat/api/index"; | 117 | import { getOrderDetail } from '@/viewsPc/seat/api/index' |
| 146 | 118 | ||
| 147 | const {proxy} = getCurrentInstance() | 119 | const { proxy } = getCurrentInstance() |
| 148 | 120 | ||
| 149 | const user = useUserStore().user | 121 | const user = useUserStore().user |
| 150 | const language = useStorage('language', 0) | 122 | const language = useStorage('language', 0) |
| ... | @@ -164,58 +136,57 @@ const invoiceId = ref() | ... | @@ -164,58 +136,57 @@ const invoiceId = ref() |
| 164 | 136 | ||
| 165 | const rules = ref({ | 137 | const rules = ref({ |
| 166 | invoiceType: [ | 138 | invoiceType: [ |
| 167 | {required: true, message: language.value == 0 ? '请选择发票类型' : 'Please select invoice type', trigger: 'change'} | 139 | { required: true, message: language.value == 0 ? '请选择发票类型' : 'Please select invoice type', trigger: 'change' } |
| 168 | ], | 140 | ], |
| 169 | invoiceEmail: [ | 141 | invoiceEmail: [ |
| 170 | {required: true, message: language.value == 0 ? '请输入邮箱' : 'Please enter email', trigger: 'blur'} | 142 | { required: true, message: language.value == 0 ? '请输入邮箱' : 'Please enter email', trigger: 'blur' } |
| 171 | ], | 143 | ], |
| 172 | invoiceForm: [ | 144 | invoiceForm: [ |
| 173 | {required: true, message: language.value == 0 ? '请选择发票形式' : 'Please select invoice form', trigger: 'change'} | 145 | { required: true, message: language.value == 0 ? '请选择发票形式' : 'Please select invoice form', trigger: 'change' } |
| 174 | ], | 146 | ], |
| 175 | invoiceTitle: [ | 147 | invoiceTitle: [ |
| 176 | {required: true, message: language.value == 0 ? '请输入发票抬头' : 'Please enter invoice title', trigger: 'blur'} | 148 | { required: true, message: language.value == 0 ? '请输入发票抬头' : 'Please enter invoice title', trigger: 'blur' } |
| 177 | ], | 149 | ], |
| 178 | invoiceTfn: [ | 150 | invoiceTfn: [ |
| 179 | {required: true, message: language.value == 0 ? '请输入税号' : 'Please enter TFN', trigger: 'blur'} | 151 | { required: true, message: language.value == 0 ? '请输入税号' : 'Please enter TFN', trigger: 'blur' } |
| 180 | ], | 152 | ], |
| 181 | invoiceAddress: [ | 153 | invoiceAddress: [ |
| 182 | {required: true, message: language.value == 0 ? '请输入地址' : 'Please enter address', trigger: 'blur'} | 154 | { required: true, message: language.value == 0 ? '请输入地址' : 'Please enter address', trigger: 'blur' } |
| 183 | ], | 155 | ], |
| 184 | invoicePhone: [ | 156 | invoicePhone: [ |
| 185 | {required: true, message: language.value == 0 ? '请输入电话' : 'Please enter phone', trigger: 'blur'} | 157 | { required: true, message: language.value == 0 ? '请输入电话' : 'Please enter phone', trigger: 'blur' } |
| 186 | ], | 158 | ], |
| 187 | invoiceBank: [ | 159 | invoiceBank: [ |
| 188 | {required: true, message: language.value == 0 ? '请输入开户行' : 'Please enter bank', trigger: 'blur'} | 160 | { required: true, message: language.value == 0 ? '请输入开户行' : 'Please enter bank', trigger: 'blur' } |
| 189 | ], | 161 | ], |
| 190 | invoiceAccount: [ | 162 | invoiceAccount: [ |
| 191 | {required: true, message: language.value == 0 ? '请输入账户' : 'Please enter account', trigger: 'blur'} | 163 | { required: true, message: language.value == 0 ? '请输入账户' : 'Please enter account', trigger: 'blur' } |
| 192 | ], | 164 | ] |
| 193 | }) | 165 | }) |
| 194 | onMounted(() => { | 166 | onMounted(() => { |
| 195 | if (route.query.invoiceId) { | 167 | if (route.query.invoiceId) { |
| 196 | invoiceId.value = route.query.invoiceId | 168 | invoiceId.value = route.query.invoiceId |
| 197 | getList() | 169 | getList() |
| 198 | } | 170 | } |
| 199 | // 获取票务订单信息 | 171 | // 获取票务订单信息 |
| 200 | getTickInfo() | 172 | getTickInfo() |
| 201 | }) | 173 | }) |
| 202 | 174 | ||
| 203 | 175 | ||
| 204 | // 票务订单详情 | 176 | // 票务订单详情 |
| 205 | async function getTickInfo() { | 177 | async function getTickInfo() { |
| 206 | const res = await getTicketOrderInfo({orderId: route.query.orderId}) | 178 | const res = await getTicketOrderInfo({ orderId: route.query.orderId }) |
| 207 | ticketForm.value = res.data | 179 | ticketForm.value = res.data |
| 208 | try { | 180 | try { |
| 209 | ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson) | 181 | ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson) |
| 210 | ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate) | 182 | // ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate) |
| 211 | ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType) | 183 | // ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType) |
| 212 | cptId = ticketForm.value.extJson.ticketDate.activityId | 184 | cptId = ticketForm.value.activeId |
| 213 | totalMoney.val = ticketForm.value.extJson.total | 185 | totalMoney.value = ticketForm.value.paymentType != 3 ? ticketForm.value.total : ticketForm.value.totalEn |
| 214 | message.value = JSON.parse(ticketForm.value.extJson.message) | 186 | // message.value = JSON.parse(ticketForm.value.extJson.message) |
| 215 | paymentType.value = ticketForm.value.paymentType | 187 | paymentType.value = ticketForm.value.paymentType |
| 216 | totalMoney.value = paymentType.value == 3 ? ticketForm.value.totalEn : ticketForm.value.total | 188 | await getDetail(cptId) |
| 217 | await getDetail(ticketForm.value.extJson.ticketDate.activityId) | 189 | // console.log(ticketForm.value) |
| 218 | console.log(ticketForm.value) | ||
| 219 | } catch (e) { | 190 | } catch (e) { |
| 220 | console.log(e) | 191 | console.log(e) |
| 221 | } finally { | 192 | } finally { |
| ... | @@ -224,19 +195,19 @@ async function getTickInfo() { | ... | @@ -224,19 +195,19 @@ async function getTickInfo() { |
| 224 | } | 195 | } |
| 225 | 196 | ||
| 226 | async function getDetail(activeId) { | 197 | async function getDetail(activeId) { |
| 227 | const res = await getTicketInfoByActivityId({activityId: activeId}) | 198 | const res = await getTicketInfoByActivityId({ activityId: activeId }) |
| 228 | matchForm.value = res.data | 199 | matchForm.value = res.data |
| 229 | console.log(matchForm.value) | 200 | console.log(matchForm.value) |
| 230 | } | 201 | } |
| 231 | 202 | ||
| 232 | async function getDataInfo() { | 203 | async function getDataInfo() { |
| 233 | const res = await getOrderDetail({orderSn: route.query.orderSn}) | 204 | const res = await getOrderDetail({ orderSn: route.query.orderSn }) |
| 234 | formDate.value = res.data | 205 | formDate.value = res.data |
| 235 | } | 206 | } |
| 236 | 207 | ||
| 237 | function getList() { | 208 | function getList() { |
| 238 | getInvoiceDetail(invoiceId.value).then(res => { | 209 | getInvoiceDetail(invoiceId.value).then(res => { |
| 239 | form.value = res.data; | 210 | form.value = res.data |
| 240 | totalMoney.value = form.value.total | 211 | totalMoney.value = form.value.total |
| 241 | }) | 212 | }) |
| 242 | } | 213 | } | ... | ... |
| ... | @@ -14,7 +14,7 @@ | ... | @@ -14,7 +14,7 @@ |
| 14 | <el-row :gutter="20" align="middle" class="hote "> | 14 | <el-row :gutter="20" align="middle" class="hote "> |
| 15 | <el-col :span="language == 0?16:24"> | 15 | <el-col :span="language == 0?16:24"> |
| 16 | <h3 class="esp flex">{{ scenicItem?.name }} | 16 | <h3 class="esp flex">{{ scenicItem?.name }} |
| 17 | 17 | ||
| 18 | <!-- <el-tag class="ml20" effect="dark">{{ scenicItem?.rank || 0 }}A</el-tag>--> | 18 | <!-- <el-tag class="ml20" effect="dark">{{ scenicItem?.rank || 0 }}A</el-tag>--> |
| 19 | </h3> | 19 | </h3> |
| 20 | <div class="info"> | 20 | <div class="info"> |
| ... | @@ -33,7 +33,7 @@ | ... | @@ -33,7 +33,7 @@ |
| 33 | <!-- ~ {{scenicItem?.workTime }}--> | 33 | <!-- ~ {{scenicItem?.workTime }}--> |
| 34 | </span> | 34 | </span> |
| 35 | </div> | 35 | </div> |
| 36 | 36 | ||
| 37 | <div class="info esp"> | 37 | <div class="info esp"> |
| 38 | <el-icon> | 38 | <el-icon> |
| 39 | <MapLocation /> | 39 | <MapLocation /> |
| ... | @@ -45,7 +45,7 @@ | ... | @@ -45,7 +45,7 @@ |
| 45 | </el-col> | 45 | </el-col> |
| 46 | </el-row> | 46 | </el-row> |
| 47 | </div> | 47 | </div> |
| 48 | 48 | ||
| 49 | <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> | 49 | <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> |
| 50 | <div class="border-rr mt20 pd20"> | 50 | <div class="border-rr mt20 pd20"> |
| 51 | <el-form | 51 | <el-form |
| ... | @@ -120,21 +120,21 @@ | ... | @@ -120,21 +120,21 @@ |
| 120 | </el-icon> | 120 | </el-icon> |
| 121 | </div> | 121 | </div> |
| 122 | </div> | 122 | </div> |
| 123 | 123 | ||
| 124 | <el-form-item :label="language==0?'联系人':'Contact'" prop="contacts"> | 124 | <el-form-item :label="language==0?'联系人':'Contact'" prop="contacts"> |
| 125 | <el-input v-model="form.contacts" /> | 125 | <el-input v-model="form.contacts" /> |
| 126 | </el-form-item> | 126 | </el-form-item> |
| 127 | <el-form-item :label="language==0?'联系电话':'Contact phone'" prop="phone" required> | 127 | <el-form-item :label="language==0?'联系电话':'Contact phone'" prop="phone" required> |
| 128 | <el-input v-model="form.phone" /> | 128 | <el-input v-model="form.phone" /> |
| 129 | </el-form-item> | 129 | </el-form-item> |
| 130 | 130 | ||
| 131 | </el-form> | 131 | </el-form> |
| 132 | </div> | 132 | </div> |
| 133 | </el-col> | 133 | </el-col> |
| 134 | <el-col :span="10"> | 134 | <el-col :span="10"> |
| 135 | <div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div> | 135 | <div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div> |
| 136 | <div class="border-rr mt20 pd20 ccitemBox"> | 136 | <div class="border-rr mt20 pd20 ccitemBox"> |
| 137 | 137 | ||
| 138 | <div v-for="(c, index) in gateList" v-show="c.count>0" :key="index" class="ccitem"> | 138 | <div v-for="(c, index) in gateList" v-show="c.count>0" :key="index" class="ccitem"> |
| 139 | {{ c.name }} | 139 | {{ c.name }} |
| 140 | <span v-if="language==0"> | 140 | <span v-if="language==0"> |
| ... | @@ -143,18 +143,18 @@ | ... | @@ -143,18 +143,18 @@ |
| 143 | <span v-else>{{ c.count }} * {{ '€' }} {{ c.priceEn }} | 143 | <span v-else>{{ c.count }} * {{ '€' }} {{ c.priceEn }} |
| 144 | </span> | 144 | </span> |
| 145 | </div> | 145 | </div> |
| 146 | 146 | ||
| 147 | <label>{{ language == 0 ? '共计' : 'Total' }} | 147 | <label>{{ language == 0 ? '共计' : 'Total' }} |
| 148 | <span class="fr bigMoney"> | 148 | <span class="fr bigMoney"> |
| 149 | {{ language == 0 ? '¥' : '€' }} {{ money }} | 149 | {{ language == 0 ? '¥' : '€' }} {{ money }} |
| 150 | </span> | 150 | </span> |
| 151 | </label> | 151 | </label> |
| 152 | 152 | ||
| 153 | </div> | 153 | </div> |
| 154 | </el-col> | 154 | </el-col> |
| 155 | </el-row> | 155 | </el-row> |
| 156 | </el-card> | 156 | </el-card> |
| 157 | 157 | ||
| 158 | <el-card class="mt30"> | 158 | <el-card class="mt30"> |
| 159 | <el-row align="middle" justify="space-between"> | 159 | <el-row align="middle" justify="space-between"> |
| 160 | <el-col :span="12"> | 160 | <el-col :span="12"> |
| ... | @@ -176,7 +176,7 @@ | ... | @@ -176,7 +176,7 @@ |
| 176 | </el-card> | 176 | </el-card> |
| 177 | <div style="height: 60px;" /> | 177 | <div style="height: 60px;" /> |
| 178 | </div> | 178 | </div> |
| 179 | 179 | ||
| 180 | <choose-person ref="choosePersonRef" @add-person="addPerson" /> | 180 | <choose-person ref="choosePersonRef" @add-person="addPerson" /> |
| 181 | </div> | 181 | </div> |
| 182 | </template> | 182 | </template> |
| ... | @@ -319,7 +319,7 @@ function getCountInfo() { | ... | @@ -319,7 +319,7 @@ function getCountInfo() { |
| 319 | 319 | ||
| 320 | function changeNum(e) { | 320 | function changeNum(e) { |
| 321 | checkPersonNum() | 321 | checkPersonNum() |
| 322 | 322 | ||
| 323 | if (e.personArr.length < e.count) { | 323 | if (e.personArr.length < e.count) { |
| 324 | e.personArr.push({ | 324 | e.personArr.push({ |
| 325 | customerId: '', | 325 | customerId: '', |
| ... | @@ -330,7 +330,7 @@ function changeNum(e) { | ... | @@ -330,7 +330,7 @@ function changeNum(e) { |
| 330 | } else if (e.personArr.length > e.count) { | 330 | } else if (e.personArr.length > e.count) { |
| 331 | e.personArr.splice(e.count) | 331 | e.personArr.splice(e.count) |
| 332 | } | 332 | } |
| 333 | 333 | ||
| 334 | countMoney() | 334 | countMoney() |
| 335 | } | 335 | } |
| 336 | 336 | ||
| ... | @@ -343,8 +343,8 @@ const showAddPerson = (item, index, person) => { | ... | @@ -343,8 +343,8 @@ const showAddPerson = (item, index, person) => { |
| 343 | } | 343 | } |
| 344 | }) | 344 | }) |
| 345 | }) | 345 | }) |
| 346 | 346 | ||
| 347 | 347 | ||
| 348 | choosePersonRef.value.open({ | 348 | choosePersonRef.value.open({ |
| 349 | gateId: item.id, | 349 | gateId: item.id, |
| 350 | gateType: item.gateType, | 350 | gateType: item.gateType, |
| ... | @@ -361,13 +361,13 @@ const addPerson = (item) => { | ... | @@ -361,13 +361,13 @@ const addPerson = (item) => { |
| 361 | idcType: item.idcType, | 361 | idcType: item.idcType, |
| 362 | idCard: item.idCard | 362 | idCard: item.idCard |
| 363 | } | 363 | } |
| 364 | 364 | ||
| 365 | checkPersonNum() | 365 | checkPersonNum() |
| 366 | } | 366 | } |
| 367 | const delPerson = (item, index) => { | 367 | const delPerson = (item, index) => { |
| 368 | item.personArr.splice(index, 1) | 368 | item.personArr.splice(index, 1) |
| 369 | item.count-- | 369 | item.count-- |
| 370 | 370 | ||
| 371 | checkPersonNum() | 371 | checkPersonNum() |
| 372 | countMoney() | 372 | countMoney() |
| 373 | } | 373 | } |
| ... | @@ -399,7 +399,7 @@ function submit() { | ... | @@ -399,7 +399,7 @@ function submit() { |
| 399 | ElMessage.warning(language.value == 0 ? '出行人数与票数不匹配' : 'The number of people travelling does not match the number of rooms') | 399 | ElMessage.warning(language.value == 0 ? '出行人数与票数不匹配' : 'The number of people travelling does not match the number of rooms') |
| 400 | return | 400 | return |
| 401 | } | 401 | } |
| 402 | 402 | ||
| 403 | // 提交确认 | 403 | // 提交确认 |
| 404 | ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { | 404 | ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { |
| 405 | confirmButtonText: language.value == 0 ? '确定' : 'Confirm', | 405 | confirmButtonText: language.value == 0 ? '确定' : 'Confirm', |
| ... | @@ -410,7 +410,7 @@ function submit() { | ... | @@ -410,7 +410,7 @@ function submit() { |
| 410 | form.value.asId = route.query.lasId | 410 | form.value.asId = route.query.lasId |
| 411 | form.value.orderName = scenicItem.value.name | 411 | form.value.orderName = scenicItem.value.name |
| 412 | form.value.dcStart = rzRange.value | 412 | form.value.dcStart = rzRange.value |
| 413 | 413 | ||
| 414 | const personArr = [] | 414 | const personArr = [] |
| 415 | _.each(gateList.value, (item) => { | 415 | _.each(gateList.value, (item) => { |
| 416 | if (item.count > 0) { | 416 | if (item.count > 0) { |
| ... | @@ -433,7 +433,7 @@ function submit() { | ... | @@ -433,7 +433,7 @@ function submit() { |
| 433 | } | 433 | } |
| 434 | }) | 434 | }) |
| 435 | form.value.touristList = personArr | 435 | form.value.touristList = personArr |
| 436 | 436 | ||
| 437 | submitOrderScenic(form.value).then(res => { | 437 | submitOrderScenic(form.value).then(res => { |
| 438 | if (res.data) { | 438 | if (res.data) { |
| 439 | if (res.data.orderId == -400) { | 439 | if (res.data.orderId == -400) { |
| ... | @@ -495,12 +495,12 @@ function handleGo() { | ... | @@ -495,12 +495,12 @@ function handleGo() { |
| 495 | 495 | ||
| 496 | .ccitemBox { | 496 | .ccitemBox { |
| 497 | overflow: auto; | 497 | overflow: auto; |
| 498 | 498 | ||
| 499 | label { | 499 | label { |
| 500 | margin: 10px 0; | 500 | margin: 10px 0; |
| 501 | display: block; | 501 | display: block; |
| 502 | min-height: 30px; | 502 | min-height: 30px; |
| 503 | 503 | ||
| 504 | span { | 504 | span { |
| 505 | color: #FF8124; | 505 | color: #FF8124; |
| 506 | font-family: DIN Alternate; | 506 | font-family: DIN Alternate; |
| ... | @@ -515,12 +515,12 @@ function handleGo() { | ... | @@ -515,12 +515,12 @@ function handleGo() { |
| 515 | font-size: 15px; | 515 | font-size: 15px; |
| 516 | color: #666; | 516 | color: #666; |
| 517 | margin: 5px 0 10px; | 517 | margin: 5px 0 10px; |
| 518 | 518 | ||
| 519 | label { | 519 | label { |
| 520 | font-size: 16px; | 520 | font-size: 16px; |
| 521 | color: #000; | 521 | color: #000; |
| 522 | } | 522 | } |
| 523 | 523 | ||
| 524 | span { | 524 | span { |
| 525 | font-size: 13px; | 525 | font-size: 13px; |
| 526 | } | 526 | } |
| ... | @@ -533,7 +533,7 @@ function handleGo() { | ... | @@ -533,7 +533,7 @@ function handleGo() { |
| 533 | .fakeFormItem { | 533 | .fakeFormItem { |
| 534 | display: flex; | 534 | display: flex; |
| 535 | padding: 10px 0; | 535 | padding: 10px 0; |
| 536 | 536 | ||
| 537 | label { | 537 | label { |
| 538 | height: 32px; | 538 | height: 32px; |
| 539 | font-size: var(--el-form-label-font-size); | 539 | font-size: var(--el-form-label-font-size); |
| ... | @@ -559,11 +559,11 @@ function handleGo() { | ... | @@ -559,11 +559,11 @@ function handleGo() { |
| 559 | .personIt { | 559 | .personIt { |
| 560 | display: flex; | 560 | display: flex; |
| 561 | align-items: center; | 561 | align-items: center; |
| 562 | 562 | ||
| 563 | .mation { | 563 | .mation { |
| 564 | width: 200px; | 564 | width: 200px; |
| 565 | font-size: 12px; | 565 | font-size: 12px; |
| 566 | 566 | ||
| 567 | div { | 567 | div { |
| 568 | font-size: 14px; | 568 | font-size: 14px; |
| 569 | } | 569 | } |
| ... | @@ -572,7 +572,7 @@ function handleGo() { | ... | @@ -572,7 +572,7 @@ function handleGo() { |
| 572 | 572 | ||
| 573 | .father { | 573 | .father { |
| 574 | position: relative; | 574 | position: relative; |
| 575 | 575 | ||
| 576 | } | 576 | } |
| 577 | 577 | ||
| 578 | .son { | 578 | .son { | ... | ... |
| ... | @@ -86,10 +86,10 @@ | ... | @@ -86,10 +86,10 @@ |
| 86 | <el-col :lg="9" :md="12" :sm="12" :xs="24"> | 86 | <el-col :lg="9" :md="12" :sm="12" :xs="24"> |
| 87 | <h3 class="m0">{{ b.name }}</h3> | 87 | <h3 class="m0">{{ b.name }}</h3> |
| 88 | <p> {{ language == 0 ? "时间" : "Event Date & Time" }}:{{ | 88 | <p> {{ language == 0 ? "时间" : "Event Date & Time" }}:{{ |
| 89 | b.messageObj.ticketDate.name | 89 | b.messageObj.atName |
| 90 | }}</p> | 90 | }}</p> |
| 91 | <p class="common"> | 91 | <p class="common"> |
| 92 | {{ language == 0 ? "张数" : "Location" }}:{{ b.messageObj.num }}{{ language == 0 ? "张" : "tickets" }} | 92 | {{ language == 0 ? "张数" : "Location" }}:{{ b.messageObj.orderCustomerList.length }}{{ language == 0 ? "张" : "tickets" }} |
| 93 | </p> | 93 | </p> |
| 94 | </el-col> | 94 | </el-col> |
| 95 | <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> | 95 | <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> |
| ... | @@ -336,8 +336,6 @@ const getList = () => { | ... | @@ -336,8 +336,6 @@ const getList = () => { |
| 336 | list.value = res.rows | 336 | list.value = res.rows |
| 337 | for (const b of list.value) { | 337 | for (const b of list.value) { |
| 338 | b.messageObj = JSON.parse(b.extJson) | 338 | b.messageObj = JSON.parse(b.extJson) |
| 339 | b.messageObj.ticketDate = JSON.parse(b.messageObj.ticketDate) | ||
| 340 | b.messageObj.ticketType = JSON.parse(b.messageObj.ticketType) | ||
| 341 | } | 339 | } |
| 342 | loading.value = false | 340 | loading.value = false |
| 343 | console.log(list.value) | 341 | console.log(list.value) | ... | ... |
| ... | @@ -109,7 +109,7 @@ watch(matchId, (val) => { | ... | @@ -109,7 +109,7 @@ watch(matchId, (val) => { |
| 109 | }) | 109 | }) |
| 110 | 110 | ||
| 111 | onMounted(() => { | 111 | onMounted(() => { |
| 112 | 112 | ||
| 113 | }) | 113 | }) |
| 114 | 114 | ||
| 115 | function building() { | 115 | function building() { |
| ... | @@ -126,7 +126,7 @@ function popRemark(type) { | ... | @@ -126,7 +126,7 @@ function popRemark(type) { |
| 126 | (form.value.isFoodView == 0 && type == '3') || | 126 | (form.value.isFoodView == 0 && type == '3') || |
| 127 | (form.value.isMealView == 0 && type == '4') || | 127 | (form.value.isMealView == 0 && type == '4') || |
| 128 | (form.value.isPhotoView == 0 && type == '5') || | 128 | (form.value.isPhotoView == 0 && type == '5') || |
| 129 | (form.value.isTicket == 0 && type == '0') || | 129 | (form.value.isTicketView == 0 && type == '0') || |
| 130 | (form.value.isScenicView == 0 && type == '8') | 130 | (form.value.isScenicView == 0 && type == '8') |
| 131 | ) { | 131 | ) { |
| 132 | building() | 132 | building() |
| ... | @@ -186,7 +186,7 @@ function goBooking(n) { | ... | @@ -186,7 +186,7 @@ function goBooking(n) { |
| 186 | 186 | ||
| 187 | .itemBox_en { | 187 | .itemBox_en { |
| 188 | padding: 20px 40px; | 188 | padding: 20px 40px; |
| 189 | 189 | ||
| 190 | p { | 190 | p { |
| 191 | margin: 0; | 191 | margin: 0; |
| 192 | height: 40px; | 192 | height: 40px; |
| ... | @@ -205,7 +205,7 @@ function goBooking(n) { | ... | @@ -205,7 +205,7 @@ function goBooking(n) { |
| 205 | background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF; | 205 | background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF; |
| 206 | background-size: 100% 100%; | 206 | background-size: 100% 100%; |
| 207 | border-radius: 15px; | 207 | border-radius: 15px; |
| 208 | 208 | ||
| 209 | img { | 209 | img { |
| 210 | margin: 0 5%; | 210 | margin: 0 5%; |
| 211 | } | 211 | } |
| ... | @@ -226,20 +226,20 @@ function goBooking(n) { | ... | @@ -226,20 +226,20 @@ function goBooking(n) { |
| 226 | background-size: cover; | 226 | background-size: cover; |
| 227 | position: relative; | 227 | position: relative; |
| 228 | border-radius: 15px; | 228 | border-radius: 15px; |
| 229 | 229 | ||
| 230 | img { | 230 | img { |
| 231 | position: absolute; | 231 | position: absolute; |
| 232 | top: -30px; | 232 | top: -30px; |
| 233 | transition: all 0.2s; | 233 | transition: all 0.2s; |
| 234 | } | 234 | } |
| 235 | 235 | ||
| 236 | &:hover { | 236 | &:hover { |
| 237 | box-shadow: 0 0 10px #333; | 237 | box-shadow: 0 0 10px #333; |
| 238 | 238 | ||
| 239 | img { | 239 | img { |
| 240 | transform: rotateY(180deg); | 240 | transform: rotateY(180deg); |
| 241 | } | 241 | } |
| 242 | 242 | ||
| 243 | p { | 243 | p { |
| 244 | color: #000; | 244 | color: #000; |
| 245 | } | 245 | } |
| ... | @@ -252,7 +252,7 @@ function goBooking(n) { | ... | @@ -252,7 +252,7 @@ function goBooking(n) { |
| 252 | } | 252 | } |
| 253 | .item { | 253 | .item { |
| 254 | font-size: 16px; | 254 | font-size: 16px; |
| 255 | 255 | ||
| 256 | img { | 256 | img { |
| 257 | width: 50px; | 257 | width: 50px; |
| 258 | height: 50px | 258 | height: 50px | ... | ... |
-
Please register or sign in to post a comment