票务
Showing
3 changed files
with
189 additions
and
138 deletions
| 1 | <template> | 1 | <template> |
| 2 | <el-card class="container"> | 2 | <el-card class="container"> |
| 3 | <div v-loading="loading"> | 3 | <div v-loading="loading"> |
| 4 | <div class="title"> | 4 | <div class="title father"> |
| 5 | {{ languageFormat(language, "订单确认", "Order confirmation") }} | 5 | {{ languageFormat(language, "订单确认", "Order confirmation") }} |
| 6 | <span class="son" @click="handelUp">上一步</span> | ||
| 6 | </div> | 7 | </div> |
| 7 | <div class="content pd20"> | 8 | <div class="content pd20"> |
| 8 | <el-row gutter="20"> | 9 | <el-row gutter="20"> |
| ... | @@ -11,7 +12,7 @@ | ... | @@ -11,7 +12,7 @@ |
| 11 | <div class="name">{{ TickForm.name }}</div> | 12 | <div class="name">{{ TickForm.name }}</div> |
| 12 | <div class="address">{{ TickForm.address }}</div> | 13 | <div class="address">{{ TickForm.address }}</div> |
| 13 | </div> | 14 | </div> |
| 14 | 15 | ||
| 15 | <div class="info"> | 16 | <div class="info"> |
| 16 | <div class="name">{{ TickForm2.ticketTypeName }}</div> | 17 | <div class="name">{{ TickForm2.ticketTypeName }}</div> |
| 17 | <div class="address"> | 18 | <div class="address"> |
| ... | @@ -20,67 +21,76 @@ | ... | @@ -20,67 +21,76 @@ |
| 20 | <span v-else>{{ language == 0 ? '夜间场' : 'Night' }}</span> | 21 | <span v-else>{{ language == 0 ? '夜间场' : 'Night' }}</span> |
| 21 | | {{ TickForm2.ticketName }} | 22 | | {{ TickForm2.ticketName }} |
| 22 | </div> | 23 | </div> |
| 23 | 24 | ||
| 24 | <div v-if="TickForm2.ticketType=='0'" class="address">{{ language==0?'剩余数量':'Remaining Quantity' }}: {{ leftCount }}</div> | 25 | <div v-if="TickForm2.ticketType=='0'" class="address">{{ |
| 26 | language == 0 ? '剩余数量' : 'Remaining Quantity' | ||
| 27 | }}: {{ leftCount }} | ||
| 28 | </div> | ||
| 25 | </div> | 29 | </div> |
| 26 | 30 | ||
| 27 | <div class="ticket_info mb20"> | 31 | <div class="ticket_info mb20"> |
| 28 | <div class="tit_box"> | 32 | <div class="tit_box"> |
| 29 | <div class="line"/> | 33 | <div class="line" /> |
| 30 | <div class="txt"> | 34 | <div class="txt"> |
| 31 | {{ languageFormat(language, "订票信息", "Ticket Info") }} | 35 | {{ languageFormat(language, "订票信息", "Ticket Info") }} |
| 32 | </div> | 36 | </div> |
| 33 | </div> | 37 | </div> |
| 34 | 38 | ||
| 35 | <div class="form"> | 39 | <div class="form"> |
| 36 | <el-form ref="formRef" :model="orderForm" :rules="rules" label-width="140px"> | 40 | <el-form ref="formRef" :model="orderForm" :rules="rules" label-width="140px"> |
| 37 | <div v-if="TickForm2.ticketType == '1'"> | 41 | <div v-if="TickForm2.ticketType == '1'"> |
| 38 | <el-form-item :label="language == 0 ? '桌号' : 'Table'"> | 42 | <el-form-item :label="language == 0 ? '桌号' : 'Table'"> |
| 39 | 43 | ||
| 40 | <el-popover placement="right" :width="400" trigger="hover"> | 44 | <el-popover :width="400" placement="right" trigger="hover"> |
| 41 | <template #reference> | 45 | <template #reference> |
| 42 | <div class="text-primary underline pointer" @click="showImg"> | 46 | <div class="text-primary underline pointer" @click="showImg"> |
| 43 | {{ language == 0 ? '查看区域布局' : ' View Area Layout' }} | 47 | {{ language == 0 ? '查看区域布局' : ' View Area Layout' }} |
| 44 | </div> | 48 | </div> |
| 45 | </template> | 49 | </template> |
| 46 | <el-image :src="fillImgUrl(tickImg)" style="width: 100%;" | 50 | <el-image |
| 47 | :preview-src-list="[fillImgUrl(tickImg)]"/> | 51 | :preview-src-list="[fillImgUrl(tickImg)]" :src="fillImgUrl(tickImg)" |
| 52 | style="width: 100%;" | ||
| 53 | /> | ||
| 48 | </el-popover> | 54 | </el-popover> |
| 49 | 55 | ||
| 50 | 56 | ||
| 51 | <el-radio-group v-model="currDesk"> | 57 | <el-radio-group v-model="currDesk"> |
| 52 | <el-radio-button v-for="(it, index) in deskList" :key="index" :label="it.deskNo" :value="it" | 58 | <el-radio-button |
| 53 | :disabled="it.status!=0"/> | 59 | v-for="(it, index) in deskList" :key="index" :disabled="it.status!=0" :label="it.deskNo" |
| 60 | :value="it" | ||
| 61 | /> | ||
| 54 | </el-radio-group> | 62 | </el-radio-group> |
| 55 | </el-form-item> | 63 | </el-form-item> |
| 56 | <el-form-item :label="language == 0 ? '座位号' : 'Seat'"> | 64 | <el-form-item :label="language == 0 ? '座位号' : 'Seat'"> |
| 57 | <el-checkbox-group v-model="currSeat"> | 65 | <el-checkbox-group v-model="currSeat"> |
| 58 | <el-checkbox-button v-for="(it, index) in currDesk?.seatList" :key="index" :label="it.seatNo" | 66 | <el-checkbox-button |
| 59 | :value="it" :disabled="it.status!=0"/> | 67 | v-for="(it, index) in currDesk?.seatList" :key="index" :disabled="it.status!=0" |
| 68 | :label="it.seatNo" :value="it" | ||
| 69 | /> | ||
| 60 | </el-checkbox-group> | 70 | </el-checkbox-group> |
| 61 | </el-form-item> | 71 | </el-form-item> |
| 62 | <el-form-item :label="language == 0 ?'已选座位号':'Selected Seat'"> | 72 | <el-form-item :label="language == 0 ?'已选座位号':'Selected Seat'"> |
| 63 | <el-tag class="mr10" v-for="(s,index) in currSeat" :key="s.id" closable @close="delSeat(s,index)"> | 73 | <el-tag v-for="(s,index) in currSeat" :key="s.id" class="mr10" closable @close="delSeat(s,index)"> |
| 64 | {{ s.deskNo }} - {{ s.seatNo }} | 74 | {{ s.deskNo }} - {{ s.seatNo }} |
| 65 | </el-tag> | 75 | </el-tag> |
| 66 | </el-form-item> | 76 | </el-form-item> |
| 67 | </div> | 77 | </div> |
| 68 | <el-form-item | 78 | <el-form-item |
| 69 | :label="language == 0 ? '联系人' : 'contact person'" prop="contacts" | 79 | :label="language == 0 ? '联系人' : 'contact person'" prop="contacts" |
| 70 | > | 80 | > |
| 71 | <el-input | 81 | <el-input |
| 72 | v-model="orderForm.contacts" | 82 | v-model="orderForm.contacts" |
| 73 | :placeholder=" language == 0 ? '请输入联系人' : 'Please enter the contact person'" | 83 | :placeholder=" language == 0 ? '请输入联系人' : 'Please enter the contact person'" |
| 74 | style="width: 320px" | 84 | style="width: 320px" |
| 75 | /> | 85 | /> |
| 76 | </el-form-item> | 86 | </el-form-item> |
| 77 | <el-form-item | 87 | <el-form-item |
| 78 | :label="language == 0 ? '联系电话' : 'contact phone'" prop="phone" | 88 | :label="language == 0 ? '联系电话' : 'contact phone'" prop="phone" |
| 79 | > | 89 | > |
| 80 | <el-input | 90 | <el-input |
| 81 | v-model="orderForm.phone" | 91 | v-model="orderForm.phone" |
| 82 | :placeholder=" language == 0 ? '请输入联系电话' : 'Please enter the contact phone number'" | 92 | :placeholder=" language == 0 ? '请输入联系电话' : 'Please enter the contact phone number'" |
| 83 | style="width: 320px" | 93 | style="width: 320px" |
| 84 | /> | 94 | /> |
| 85 | </el-form-item> | 95 | </el-form-item> |
| 86 | <el-form-item :label="language == 0 ? '观看人' : 'Viewer'" prop="customerIds"> | 96 | <el-form-item :label="language == 0 ? '观看人' : 'Viewer'" prop="customerIds"> |
| ... | @@ -96,7 +106,7 @@ | ... | @@ -96,7 +106,7 @@ |
| 96 | </div> | 106 | </div> |
| 97 | <div class="idcard">{{ it.idCard }}</div> | 107 | <div class="idcard">{{ it.idCard }}</div> |
| 98 | </div> | 108 | </div> |
| 99 | <el-checkbox :value="it.id" :disabled="!!it.disabled"/> | 109 | <el-checkbox :disabled="!!it.disabled" :value="it.id" /> |
| 100 | </div> | 110 | </div> |
| 101 | </el-checkbox-group> | 111 | </el-checkbox-group> |
| 102 | </div> | 112 | </div> |
| ... | @@ -109,21 +119,21 @@ | ... | @@ -109,21 +119,21 @@ |
| 109 | </div> | 119 | </div> |
| 110 | </div> | 120 | </div> |
| 111 | </el-col> | 121 | </el-col> |
| 112 | 122 | ||
| 113 | <el-col :lg="8" class="right"> | 123 | <el-col :lg="8" class="right"> |
| 114 | <div class="tit_box"> | 124 | <div class="tit_box"> |
| 115 | <div class="line"/> | 125 | <div class="line" /> |
| 116 | <div class="txt"> | 126 | <div class="txt"> |
| 117 | {{ languageFormat(language, "订单明细", "Order summary") }} | 127 | {{ languageFormat(language, "订单明细", "Order summary") }} |
| 118 | </div> | 128 | </div> |
| 119 | </div> | 129 | </div> |
| 120 | 130 | ||
| 121 | <div class="detail"> | 131 | <div class="detail"> |
| 122 | <div class="detail_top"> | 132 | <div class="detail_top"> |
| 123 | <div class="time"> | 133 | <div class="time"> |
| 124 | {{ language == 0 ? '票价' : 'Cost Ticket' }} | 134 | {{ language == 0 ? '票价' : 'Cost Ticket' }} |
| 125 | </div> | 135 | </div> |
| 126 | <p/> | 136 | <p /> |
| 127 | <div class="ticket"> | 137 | <div class="ticket"> |
| 128 | {{ language == 0 ? TickForm2.price : TickForm2.priceEn }} | 138 | {{ language == 0 ? TickForm2.price : TickForm2.priceEn }} |
| 129 | <span> {{ language == 0 ? '元' : 'Euro' }}</span> | 139 | <span> {{ language == 0 ? '元' : 'Euro' }}</span> |
| ... | @@ -143,6 +153,15 @@ | ... | @@ -143,6 +153,15 @@ |
| 143 | </div> | 153 | </div> |
| 144 | </div> | 154 | </div> |
| 145 | </div> | 155 | </div> |
| 156 | <!-- 场馆布局图--> | ||
| 157 | |||
| 158 | <div style="margin-top: 95px"> | ||
| 159 | <el-image | ||
| 160 | :preview-src-list="[fillImgUrl(tickImg)]" | ||
| 161 | :src="fillImgUrl(tickImg)" | ||
| 162 | style="width: 100%;" | ||
| 163 | /> | ||
| 164 | </div> | ||
| 146 | </el-col> | 165 | </el-col> |
| 147 | </el-row> | 166 | </el-row> |
| 148 | </div> | 167 | </div> |
| ... | @@ -166,7 +185,7 @@ | ... | @@ -166,7 +185,7 @@ |
| 166 | </template> | 185 | </template> |
| 167 | 186 | ||
| 168 | <script setup> | 187 | <script setup> |
| 169 | import {ref, computed, onMounted} from 'vue' | 188 | import { ref, computed, onMounted } from 'vue' |
| 170 | import { | 189 | import { |
| 171 | customerListApi, | 190 | customerListApi, |
| 172 | submitOrderTicket, | 191 | submitOrderTicket, |
| ... | @@ -176,12 +195,12 @@ import { | ... | @@ -176,12 +195,12 @@ import { |
| 176 | checkPurchasedCustomers, | 195 | checkPurchasedCustomers, |
| 177 | getDeskInfo | 196 | getDeskInfo |
| 178 | } from '@/apiPc/booking' | 197 | } from '@/apiPc/booking' |
| 179 | import {ElMessage, ElMessageBox} from 'element-plus' | 198 | import { ElMessage, ElMessageBox } from 'element-plus' |
| 180 | import {languageFormat} from '@/viewsPc/seat/utils/language.js' | 199 | import { languageFormat } from '@/viewsPc/seat/utils/language.js' |
| 181 | import useUserStore from '/@/store/modules/user' | 200 | import useUserStore from '/@/store/modules/user' |
| 182 | import {useStorage} from '@vueuse/core/index' | 201 | import { useStorage } from '@vueuse/core/index' |
| 183 | import _ from 'lodash' | 202 | import _ from 'lodash' |
| 184 | import {useRoute, useRouter} from 'vue-router' | 203 | import { useRoute, useRouter } from 'vue-router' |
| 185 | 204 | ||
| 186 | const useStore = useUserStore() | 205 | const useStore = useUserStore() |
| 187 | 206 | ||
| ... | @@ -232,7 +251,7 @@ onMounted(() => { | ... | @@ -232,7 +251,7 @@ onMounted(() => { |
| 232 | tickImg.value = route.query.tickImg | 251 | tickImg.value = route.query.tickImg |
| 233 | customerList() | 252 | customerList() |
| 234 | getDetail() | 253 | getDetail() |
| 235 | 254 | ||
| 236 | getActivityTypeVoById({ | 255 | getActivityTypeVoById({ |
| 237 | id: route.params.latstId | 256 | id: route.params.latstId |
| 238 | }).then((res) => { | 257 | }).then((res) => { |
| ... | @@ -270,12 +289,12 @@ function changeGroup(e) { | ... | @@ -270,12 +289,12 @@ function changeGroup(e) { |
| 270 | }).then(res => { | 289 | }).then(res => { |
| 271 | if (res.data.length > 0) { | 290 | if (res.data.length > 0) { |
| 272 | const names = _.map(res.data, (d) => d.name).join(',') | 291 | const names = _.map(res.data, (d) => d.name).join(',') |
| 273 | 292 | ||
| 274 | ElMessage({ | 293 | ElMessage({ |
| 275 | message: language.value == 0 ? `${names} 已购买该票` : 'The user has purchased the ticket', | 294 | message: language.value == 0 ? `${names} 已购买该票` : 'The user has purchased the ticket', |
| 276 | type: 'error' | 295 | type: 'error' |
| 277 | }) | 296 | }) |
| 278 | 297 | ||
| 279 | _.each(res.data, (d) => { | 298 | _.each(res.data, (d) => { |
| 280 | _.remove(orderForm.value.customerIds, (c) => c == d.id) | 299 | _.remove(orderForm.value.customerIds, (c) => c == d.id) |
| 281 | _.find(personnelList.value, (p) => p.id == d.id).disabled = true | 300 | _.find(personnelList.value, (p) => p.id == d.id).disabled = true |
| ... | @@ -297,7 +316,7 @@ async function paymentHandle() { | ... | @@ -297,7 +316,7 @@ async function paymentHandle() { |
| 297 | useStore().setVisitor() | 316 | useStore().setVisitor() |
| 298 | return | 317 | return |
| 299 | } | 318 | } |
| 300 | 319 | ||
| 301 | if (TickForm2.value.ticketType == '1') { | 320 | if (TickForm2.value.ticketType == '1') { |
| 302 | if (currSeat.value.length == 0) { | 321 | if (currSeat.value.length == 0) { |
| 303 | ElMessage({ | 322 | ElMessage({ |
| ... | @@ -314,14 +333,14 @@ async function paymentHandle() { | ... | @@ -314,14 +333,14 @@ async function paymentHandle() { |
| 314 | return | 333 | return |
| 315 | } | 334 | } |
| 316 | } | 335 | } |
| 317 | 336 | ||
| 318 | await formRef.value.validate() | 337 | await formRef.value.validate() |
| 319 | 338 | ||
| 320 | await ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { | 339 | await ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', { |
| 321 | confirmButtonText: language.value == 0 ? '确定' : 'Confirm', | 340 | confirmButtonText: language.value == 0 ? '确定' : 'Confirm', |
| 322 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | 341 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', |
| 323 | type: 'warning' | 342 | type: 'warning' |
| 324 | }).then(async () => { | 343 | }).then(async() => { |
| 325 | try { | 344 | try { |
| 326 | const orderCustomerList = [] | 345 | const orderCustomerList = [] |
| 327 | _.each(orderForm.value.customerIds, (id, index) => { | 346 | _.each(orderForm.value.customerIds, (id, index) => { |
| ... | @@ -337,7 +356,7 @@ async function paymentHandle() { | ... | @@ -337,7 +356,7 @@ async function paymentHandle() { |
| 337 | seatNo: tempSeat.seatNo | 356 | seatNo: tempSeat.seatNo |
| 338 | }) | 357 | }) |
| 339 | }) | 358 | }) |
| 340 | 359 | ||
| 341 | const res = await submitOrderTicket({ | 360 | const res = await submitOrderTicket({ |
| 342 | activeId: orderForm.value.activeId, | 361 | activeId: orderForm.value.activeId, |
| 343 | orderName: TickForm2.value.ticketTypeName, | 362 | orderName: TickForm2.value.ticketTypeName, |
| ... | @@ -384,13 +403,13 @@ async function paymentHandle() { | ... | @@ -384,13 +403,13 @@ async function paymentHandle() { |
| 384 | } catch (e) { | 403 | } catch (e) { |
| 385 | ElMessage.error(language.value == 0 ? '下单失败,' : 'Order failure') | 404 | ElMessage.error(language.value == 0 ? '下单失败,' : 'Order failure') |
| 386 | } finally { | 405 | } finally { |
| 387 | 406 | ||
| 388 | } | 407 | } |
| 389 | }) | 408 | }) |
| 390 | } | 409 | } |
| 391 | 410 | ||
| 392 | async function getDetail() { | 411 | async function getDetail() { |
| 393 | const res = await getTicketInfoByActivityId({activityId: orderForm.value.activeId}) | 412 | const res = await getTicketInfoByActivityId({ activityId: orderForm.value.activeId }) |
| 394 | TickForm.value = res.data | 413 | TickForm.value = res.data |
| 395 | } | 414 | } |
| 396 | 415 | ||
| ... | @@ -402,7 +421,11 @@ function addPeopl() { | ... | @@ -402,7 +421,11 @@ function addPeopl() { |
| 402 | } | 421 | } |
| 403 | 422 | ||
| 404 | const showImg = () => { | 423 | const showImg = () => { |
| 424 | |||
| 425 | } | ||
| 405 | 426 | ||
| 427 | function handelUp() { | ||
| 428 | router.go(-1) | ||
| 406 | } | 429 | } |
| 407 | </script> | 430 | </script> |
| 408 | 431 | ||
| ... | @@ -428,7 +451,7 @@ div { | ... | @@ -428,7 +451,7 @@ div { |
| 428 | //padding: 20px 0; | 451 | //padding: 20px 0; |
| 429 | width: 1200px; | 452 | width: 1200px; |
| 430 | margin: 20px auto; | 453 | margin: 20px auto; |
| 431 | 454 | ||
| 432 | .tag_t { | 455 | .tag_t { |
| 433 | padding: 1px 10px; | 456 | padding: 1px 10px; |
| 434 | font-weight: 400; | 457 | font-weight: 400; |
| ... | @@ -438,7 +461,7 @@ div { | ... | @@ -438,7 +461,7 @@ div { |
| 438 | border: 1px solid #453dea; | 461 | border: 1px solid #453dea; |
| 439 | margin-left: 5px; | 462 | margin-left: 5px; |
| 440 | } | 463 | } |
| 441 | 464 | ||
| 442 | .title { | 465 | .title { |
| 443 | padding: 11px; | 466 | padding: 11px; |
| 444 | text-align: center; | 467 | text-align: center; |
| ... | @@ -446,18 +469,18 @@ div { | ... | @@ -446,18 +469,18 @@ div { |
| 446 | font-size: 18px; | 469 | font-size: 18px; |
| 447 | color: #ffffff; | 470 | color: #ffffff; |
| 448 | } | 471 | } |
| 449 | 472 | ||
| 450 | .content { | 473 | .content { |
| 451 | background-color: #fff; | 474 | background-color: #fff; |
| 452 | } | 475 | } |
| 453 | 476 | ||
| 454 | .line { | 477 | .line { |
| 455 | width: 4px; | 478 | width: 4px; |
| 456 | height: 18px; | 479 | height: 18px; |
| 457 | background: linear-gradient(180deg, #493ceb 0%, #8623fc 100%); | 480 | background: linear-gradient(180deg, #493ceb 0%, #8623fc 100%); |
| 458 | border-radius: 4px; | 481 | border-radius: 4px; |
| 459 | } | 482 | } |
| 460 | 483 | ||
| 461 | .left { | 484 | .left { |
| 462 | .info { | 485 | .info { |
| 463 | background: rgba(69, 61, 234, 0.04); | 486 | background: rgba(69, 61, 234, 0.04); |
| ... | @@ -465,54 +488,54 @@ div { | ... | @@ -465,54 +488,54 @@ div { |
| 465 | border: 1px solid #d3d1f6; | 488 | border: 1px solid #d3d1f6; |
| 466 | padding: 20px 0 28px 33px; | 489 | padding: 20px 0 28px 33px; |
| 467 | margin-bottom: 20px; | 490 | margin-bottom: 20px; |
| 468 | 491 | ||
| 469 | .name { | 492 | .name { |
| 470 | font-weight: 500; | 493 | font-weight: 500; |
| 471 | font-size: 18px; | 494 | font-size: 18px; |
| 472 | color: #000000; | 495 | color: #000000; |
| 473 | margin-bottom: 20px; | 496 | margin-bottom: 20px; |
| 474 | } | 497 | } |
| 475 | 498 | ||
| 476 | .address { | 499 | .address { |
| 477 | font-weight: 400; | 500 | font-weight: 400; |
| 478 | font-size: 14px; | 501 | font-size: 14px; |
| 479 | color: #929aa0; | 502 | color: #929aa0; |
| 480 | } | 503 | } |
| 481 | } | 504 | } |
| 482 | 505 | ||
| 483 | .ticket_info { | 506 | .ticket_info { |
| 484 | .tit_box { | 507 | .tit_box { |
| 485 | display: flex; | 508 | display: flex; |
| 486 | align-items: center; | 509 | align-items: center; |
| 487 | gap: 10px; | 510 | gap: 10px; |
| 488 | margin-bottom: 14px; | 511 | margin-bottom: 14px; |
| 489 | 512 | ||
| 490 | .txt { | 513 | .txt { |
| 491 | font-weight: bold; | 514 | font-weight: bold; |
| 492 | font-size: 16px; | 515 | font-size: 16px; |
| 493 | color: #493ceb; | 516 | color: #493ceb; |
| 494 | } | 517 | } |
| 495 | } | 518 | } |
| 496 | 519 | ||
| 497 | .form { | 520 | .form { |
| 498 | min-height: 464px; | 521 | min-height: 464px; |
| 499 | padding: 20px 60px; | 522 | padding: 20px 60px; |
| 500 | border-radius: 5px; | 523 | border-radius: 5px; |
| 501 | border: 1px solid #dcdfe6; | 524 | border: 1px solid #dcdfe6; |
| 502 | 525 | ||
| 503 | .p_box { | 526 | .p_box { |
| 504 | display: flex; | 527 | display: flex; |
| 505 | width: 100%; | 528 | width: 100%; |
| 506 | gap: 10px; | 529 | gap: 10px; |
| 507 | max-width: 400px; | 530 | max-width: 400px; |
| 508 | 531 | ||
| 509 | .people { | 532 | .people { |
| 510 | width: 100%; | 533 | width: 100%; |
| 511 | background: #fbfcfd; | 534 | background: #fbfcfd; |
| 512 | border-radius: 2px; | 535 | border-radius: 2px; |
| 513 | border: 1px solid #dcdfe6; | 536 | border: 1px solid #dcdfe6; |
| 514 | padding: 0 14px; | 537 | padding: 0 14px; |
| 515 | 538 | ||
| 516 | .prople_item { | 539 | .prople_item { |
| 517 | display: flex; | 540 | display: flex; |
| 518 | justify-content: space-between; | 541 | justify-content: space-between; |
| ... | @@ -521,30 +544,30 @@ div { | ... | @@ -521,30 +544,30 @@ div { |
| 521 | border-bottom: 1px solid #dcdfe6; | 544 | border-bottom: 1px solid #dcdfe6; |
| 522 | width: 100%; | 545 | width: 100%; |
| 523 | position: relative; | 546 | position: relative; |
| 524 | 547 | ||
| 525 | &:last-child { | 548 | &:last-child { |
| 526 | border: none; | 549 | border: none; |
| 527 | } | 550 | } |
| 528 | 551 | ||
| 529 | .name { | 552 | .name { |
| 530 | font-size: 16px; | 553 | font-size: 16px; |
| 531 | //color: #929aa0; | 554 | //color: #929aa0; |
| 532 | margin-bottom: 20px; | 555 | margin-bottom: 20px; |
| 533 | 556 | ||
| 534 | .tag_t { | 557 | .tag_t { |
| 535 | position: absolute; | 558 | position: absolute; |
| 536 | right: 30px; | 559 | right: 30px; |
| 537 | padding: 8px; | 560 | padding: 8px; |
| 538 | } | 561 | } |
| 539 | } | 562 | } |
| 540 | 563 | ||
| 541 | .idcard { | 564 | .idcard { |
| 542 | font-size: 10px; | 565 | font-size: 10px; |
| 543 | color: #929aa0; | 566 | color: #929aa0; |
| 544 | } | 567 | } |
| 545 | } | 568 | } |
| 546 | } | 569 | } |
| 547 | 570 | ||
| 548 | .btn { | 571 | .btn { |
| 549 | width: 90px; | 572 | width: 90px; |
| 550 | height: 40px; | 573 | height: 40px; |
| ... | @@ -563,30 +586,30 @@ div { | ... | @@ -563,30 +586,30 @@ div { |
| 563 | } | 586 | } |
| 564 | } | 587 | } |
| 565 | } | 588 | } |
| 566 | 589 | ||
| 567 | .right { | 590 | .right { |
| 568 | .tit_box { | 591 | .tit_box { |
| 569 | display: flex; | 592 | display: flex; |
| 570 | align-items: center; | 593 | align-items: center; |
| 571 | gap: 10px; | 594 | gap: 10px; |
| 572 | margin-bottom: 20px; | 595 | margin-bottom: 20px; |
| 573 | 596 | ||
| 574 | .txt { | 597 | .txt { |
| 575 | font-weight: bold; | 598 | font-weight: bold; |
| 576 | font-size: 16px; | 599 | font-size: 16px; |
| 577 | color: #493ceb; | 600 | color: #493ceb; |
| 578 | } | 601 | } |
| 579 | } | 602 | } |
| 580 | 603 | ||
| 581 | .detail { | 604 | .detail { |
| 582 | padding: 15px 26px; | 605 | padding: 15px 26px; |
| 583 | border-radius: 5px; | 606 | border-radius: 5px; |
| 584 | border: 1px solid #dcdfe6; | 607 | border: 1px solid #dcdfe6; |
| 585 | 608 | ||
| 586 | .detail_top { | 609 | .detail_top { |
| 587 | padding-bottom: 13px; | 610 | padding-bottom: 13px; |
| 588 | border-bottom: 1px solid #dcdfe6; | 611 | border-bottom: 1px solid #dcdfe6; |
| 589 | 612 | ||
| 590 | .time { | 613 | .time { |
| 591 | font-weight: 500; | 614 | font-weight: 500; |
| 592 | font-size: 20px; | 615 | font-size: 20px; |
| ... | @@ -594,13 +617,13 @@ div { | ... | @@ -594,13 +617,13 @@ div { |
| 594 | line-height: 25px; | 617 | line-height: 25px; |
| 595 | margin-bottom: 8px; | 618 | margin-bottom: 8px; |
| 596 | } | 619 | } |
| 597 | 620 | ||
| 598 | .ticket { | 621 | .ticket { |
| 599 | font-size: 16px; | 622 | font-size: 16px; |
| 600 | color: #2d373f; | 623 | color: #2d373f; |
| 601 | } | 624 | } |
| 602 | } | 625 | } |
| 603 | 626 | ||
| 604 | .detail_center { | 627 | .detail_center { |
| 605 | margin-top: 14px; | 628 | margin-top: 14px; |
| 606 | display: flex; | 629 | display: flex; |
| ... | @@ -608,26 +631,26 @@ div { | ... | @@ -608,26 +631,26 @@ div { |
| 608 | padding-bottom: 13px; | 631 | padding-bottom: 13px; |
| 609 | border-bottom: 1px solid #dcdfe6; | 632 | border-bottom: 1px solid #dcdfe6; |
| 610 | gap: 8px; | 633 | gap: 8px; |
| 611 | 634 | ||
| 612 | .ticket { | 635 | .ticket { |
| 613 | font-size: 16px; | 636 | font-size: 16px; |
| 614 | color: #2d373f; | 637 | color: #2d373f; |
| 615 | } | 638 | } |
| 616 | } | 639 | } |
| 617 | 640 | ||
| 618 | .detail_b { | 641 | .detail_b { |
| 619 | display: flex; | 642 | display: flex; |
| 620 | justify-content: space-between; | 643 | justify-content: space-between; |
| 621 | align-items: center; | 644 | align-items: center; |
| 622 | margin-top: 16px; | 645 | margin-top: 16px; |
| 623 | 646 | ||
| 624 | .sum_txt { | 647 | .sum_txt { |
| 625 | font-weight: 600; | 648 | font-weight: 600; |
| 626 | font-size: 18px; | 649 | font-size: 18px; |
| 627 | color: #2d373f; | 650 | color: #2d373f; |
| 628 | line-height: 25px; | 651 | line-height: 25px; |
| 629 | } | 652 | } |
| 630 | 653 | ||
| 631 | .price_num { | 654 | .price_num { |
| 632 | font-weight: 600; | 655 | font-weight: 600; |
| 633 | font-size: 36px; | 656 | font-size: 36px; |
| ... | @@ -637,7 +660,7 @@ div { | ... | @@ -637,7 +660,7 @@ div { |
| 637 | } | 660 | } |
| 638 | } | 661 | } |
| 639 | } | 662 | } |
| 640 | 663 | ||
| 641 | .footer { | 664 | .footer { |
| 642 | display: flex; | 665 | display: flex; |
| 643 | justify-content: space-between; | 666 | justify-content: space-between; |
| ... | @@ -647,20 +670,20 @@ div { | ... | @@ -647,20 +670,20 @@ div { |
| 647 | box-shadow: 0px 0px 46px 0px rgba(1, 16, 64, 0.08); | 670 | box-shadow: 0px 0px 46px 0px rgba(1, 16, 64, 0.08); |
| 648 | margin-top: 9px; | 671 | margin-top: 9px; |
| 649 | padding: 0 30px; | 672 | padding: 0 30px; |
| 650 | 673 | ||
| 651 | .label { | 674 | .label { |
| 652 | font-size: 16px; | 675 | font-size: 16px; |
| 653 | color: #7b7f83; | 676 | color: #7b7f83; |
| 654 | line-height: 22px; | 677 | line-height: 22px; |
| 655 | } | 678 | } |
| 656 | 679 | ||
| 657 | .value { | 680 | .value { |
| 658 | font-size: 22px; | 681 | font-size: 22px; |
| 659 | color: #ff8124; | 682 | color: #ff8124; |
| 660 | line-height: 30px; | 683 | line-height: 30px; |
| 661 | font-weight: 600; | 684 | font-weight: 600; |
| 662 | } | 685 | } |
| 663 | 686 | ||
| 664 | .pay { | 687 | .pay { |
| 665 | width: 200px; | 688 | width: 200px; |
| 666 | height: 40px; | 689 | height: 40px; |
| ... | @@ -677,6 +700,16 @@ div { | ... | @@ -677,6 +700,16 @@ div { |
| 677 | } | 700 | } |
| 678 | } | 701 | } |
| 679 | 702 | ||
| 703 | .father { | ||
| 704 | position: relative; | ||
| 705 | } | ||
| 706 | |||
| 707 | .son { | ||
| 708 | position: absolute; | ||
| 709 | left: 10px; | ||
| 710 | cursor: pointer | ||
| 711 | } | ||
| 712 | |||
| 680 | @media screen and (max-width: 768px) { | 713 | @media screen and (max-width: 768px) { |
| 681 | .container { | 714 | .container { |
| 682 | width: 100%; | 715 | width: 100%; | ... | ... |
| ... | @@ -2,7 +2,7 @@ | ... | @@ -2,7 +2,7 @@ |
| 2 | <div> | 2 | <div> |
| 3 | <!-- top --> | 3 | <!-- top --> |
| 4 | <div class="container top"> | 4 | <div class="container top"> |
| 5 | <img :src="fillImgUrl(matchForm.ticketImg)" class="cover_img"> | 5 | <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img"> |
| 6 | <div class="info"> | 6 | <div class="info"> |
| 7 | <div class="title">{{ matchForm.name }}</div> | 7 | <div class="title">{{ matchForm.name }}</div> |
| 8 | <div class="time"> | 8 | <div class="time"> |
| ... | @@ -37,11 +37,11 @@ | ... | @@ -37,11 +37,11 @@ |
| 37 | <div class="address"> | 37 | <div class="address"> |
| 38 | {{ triggerLanguage(language, "地址", "Location") }}:{{ matchForm.address }} | 38 | {{ triggerLanguage(language, "地址", "Location") }}:{{ matchForm.address }} |
| 39 | </div> | 39 | </div> |
| 40 | 40 | ||
| 41 | 41 | ||
| 42 | <div v-if="timeData>0"> | 42 | <div v-if="timeData>0"> |
| 43 | <!-- 倒计时--> | 43 | <!-- 倒计时--> |
| 44 | 44 | ||
| 45 | <p class="countDownTitle"> | 45 | <p class="countDownTitle"> |
| 46 | <span v-if="language==0">售票倒计时</span> | 46 | <span v-if="language==0">售票倒计时</span> |
| 47 | <span v-else>TICKET COUNTDOWN</span> | 47 | <span v-else>TICKET COUNTDOWN</span> |
| ... | @@ -60,7 +60,7 @@ | ... | @@ -60,7 +60,7 @@ |
| 60 | </van-count-down> | 60 | </van-count-down> |
| 61 | </div> | 61 | </div> |
| 62 | <div v-else> | 62 | <div v-else> |
| 63 | 63 | ||
| 64 | <!-- 票档 --> | 64 | <!-- 票档 --> |
| 65 | <div class="select_item_box"> | 65 | <div class="select_item_box"> |
| 66 | <div class="label"> | 66 | <div class="label"> |
| ... | @@ -83,7 +83,7 @@ | ... | @@ -83,7 +83,7 @@ |
| 83 | </div> | 83 | </div> |
| 84 | </div> | 84 | </div> |
| 85 | </div> | 85 | </div> |
| 86 | 86 | ||
| 87 | <!-- 场馆 --> | 87 | <!-- 场馆 --> |
| 88 | <div class="select_item_box"> | 88 | <div class="select_item_box"> |
| 89 | <div class="label"> | 89 | <div class="label"> |
| ... | @@ -93,7 +93,7 @@ | ... | @@ -93,7 +93,7 @@ |
| 93 | <span | 93 | <span |
| 94 | v-if="currVenue?.images" | 94 | v-if="currVenue?.images" |
| 95 | style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px" | 95 | style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px" |
| 96 | @click="showUrl=currVenue.images; show=true" | 96 | @click="handleImage" |
| 97 | > <span style="color: red;font-size: 18px">*</span> | 97 | > <span style="color: red;font-size: 18px">*</span> |
| 98 | {{ | 98 | {{ |
| 99 | language == 0 ? '点击查看场馆布局' : 'View Venue Layout' | 99 | language == 0 ? '点击查看场馆布局' : 'View Venue Layout' |
| ... | @@ -116,7 +116,7 @@ | ... | @@ -116,7 +116,7 @@ |
| 116 | </div> | 116 | </div> |
| 117 | </div> | 117 | </div> |
| 118 | </div> | 118 | </div> |
| 119 | 119 | ||
| 120 | <!-- 场次 --> | 120 | <!-- 场次 --> |
| 121 | <div class="select_item_box"> | 121 | <div class="select_item_box"> |
| 122 | <div class="label"> | 122 | <div class="label"> |
| ... | @@ -140,11 +140,11 @@ | ... | @@ -140,11 +140,11 @@ |
| 140 | <span v-else>{{ | 140 | <span v-else>{{ |
| 141 | language == 0 ? '夜间场' : 'Night' | 141 | language == 0 ? '夜间场' : 'Night' |
| 142 | }}</span> | 142 | }}</span> |
| 143 | <!-- {{ key=='1000'?'日间场':'夜间场' }}--> | 143 | <!-- {{ key=='1000'?'日间场':'夜间场' }}--> |
| 144 | </div> | 144 | </div> |
| 145 | </div> | 145 | </div> |
| 146 | </div> | 146 | </div> |
| 147 | 147 | ||
| 148 | <!-- 票型 --> | 148 | <!-- 票型 --> |
| 149 | <div class="select_item_box"> | 149 | <div class="select_item_box"> |
| 150 | <div class="label"> | 150 | <div class="label"> |
| ... | @@ -177,8 +177,8 @@ | ... | @@ -177,8 +177,8 @@ |
| 177 | </div> | 177 | </div> |
| 178 | </div> | 178 | </div> |
| 179 | </div> | 179 | </div> |
| 180 | 180 | ||
| 181 | 181 | ||
| 182 | <!-- 价格 --> | 182 | <!-- 价格 --> |
| 183 | <div class="select_item_box"> | 183 | <div class="select_item_box"> |
| 184 | <div class="label"> | 184 | <div class="label"> |
| ... | @@ -205,7 +205,7 @@ | ... | @@ -205,7 +205,7 @@ |
| 205 | {{ matchForm.ticketRemark }} | 205 | {{ matchForm.ticketRemark }} |
| 206 | </div> | 206 | </div> |
| 207 | </div> | 207 | </div> |
| 208 | 208 | ||
| 209 | <div | 209 | <div |
| 210 | v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px" | 210 | v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px" |
| 211 | @click="toSelectClosed" | 211 | @click="toSelectClosed" |
| ... | @@ -219,20 +219,23 @@ | ... | @@ -219,20 +219,23 @@ |
| 219 | triggerLanguage(language, "立即购票", "Buy tickets now") | 219 | triggerLanguage(language, "立即购票", "Buy tickets now") |
| 220 | }} | 220 | }} |
| 221 | </div> | 221 | </div> |
| 222 | 222 | ||
| 223 | </div> | 223 | </div> |
| 224 | 224 | ||
| 225 | </div> | 225 | </div> |
| 226 | </div> | 226 | </div> |
| 227 | 227 | ||
| 228 | <div class="container bottom"> | 228 | <div class="container bottom"> |
| 229 | <div style="display: flex"> | 229 | <div style="display: flex"> |
| 230 | <div :class="{'bg':active==1}" class="buBg" @click="active=1">{{ language==0?'购票说明':'Notice' }}</div> | 230 | <div :class="{'bg':active==1}" class="buBg" @click="active=1">{{ language == 0 ? '购票说明' : 'Notice' }}</div> |
| 231 | <div :class="{'bg' :active==2}" class="buBg" @click="active=2">{{ language==0?'购票须知':'Instructions' }}</div> | 231 | <div :class="{'bg' :active==2}" class="buBg" @click="active=2">{{ |
| 232 | language == 0 ? '购票须知' : 'Instructions' | ||
| 233 | }} | ||
| 234 | </div> | ||
| 232 | </div> | 235 | </div> |
| 233 | <div v-show="active==1" class="rich_content" v-html="matchForm.ticketDes" /> | 236 | <div v-show="active==1" class="rich_content" v-html="matchForm.ticketDes" /> |
| 234 | <div v-show="active==2" class="rich_content" v-html="matchForm.ticketNotice" /> | 237 | <div v-show="active==2" class="rich_content" v-html="matchForm.ticketNotice" /> |
| 235 | 238 | ||
| 236 | <el-dialog v-model="show" title="" width="1000px"> | 239 | <el-dialog v-model="show" title="" width="1000px"> |
| 237 | <div> | 240 | <div> |
| 238 | <img :src="fillImgUrl(showUrl)" alt="" style="width: 100%"> | 241 | <img :src="fillImgUrl(showUrl)" alt="" style="width: 100%"> |
| ... | @@ -250,7 +253,8 @@ import { | ... | @@ -250,7 +253,8 @@ import { |
| 250 | getTicketListApi, | 253 | getTicketListApi, |
| 251 | checkNonPayment, | 254 | checkNonPayment, |
| 252 | getStadiumList, | 255 | getStadiumList, |
| 253 | getActivityTypeVoListByLatsId | 256 | getActivityTypeVoListByLatsId, |
| 257 | getBaseInfoByActiveId | ||
| 254 | } from '@/apiPc/booking' | 258 | } from '@/apiPc/booking' |
| 255 | 259 | ||
| 256 | import { dayjs } from 'element-plus' | 260 | import { dayjs } from 'element-plus' |
| ... | @@ -290,6 +294,7 @@ const venueList = ref([]) | ... | @@ -290,6 +294,7 @@ const venueList = ref([]) |
| 290 | const tickList = ref([]) | 294 | const tickList = ref([]) |
| 291 | const currVenue = ref(null) | 295 | const currVenue = ref(null) |
| 292 | const currTick = ref(null) | 296 | const currTick = ref(null) |
| 297 | const matchData = ref({}) | ||
| 293 | 298 | ||
| 294 | watch(show, (val) => { | 299 | watch(show, (val) => { |
| 295 | if (!val) { | 300 | if (!val) { |
| ... | @@ -339,7 +344,7 @@ async function getTicketListType() { | ... | @@ -339,7 +344,7 @@ async function getTicketListType() { |
| 339 | const res = await getActivityTypeVoListByLatsId({ latsId: selectForm.value.latsId }) | 344 | const res = await getActivityTypeVoListByLatsId({ latsId: selectForm.value.latsId }) |
| 340 | tickList.value = res.data | 345 | tickList.value = res.data |
| 341 | selectForm.value.sessionType = Object.keys(res.data)[0] | 346 | selectForm.value.sessionType = Object.keys(res.data)[0] |
| 342 | 347 | ||
| 343 | currTick.value = tickList.value[selectForm.value.sessionType][0] | 348 | currTick.value = tickList.value[selectForm.value.sessionType][0] |
| 344 | selectForm.value.latstId = currTick.value?.id | 349 | selectForm.value.latstId = currTick.value?.id |
| 345 | selectForm.value.price = currTick.value?.price | 350 | selectForm.value.price = currTick.value?.price |
| ... | @@ -354,7 +359,7 @@ function select(v) { | ... | @@ -354,7 +359,7 @@ function select(v) { |
| 354 | selectForm.value.id = null | 359 | selectForm.value.id = null |
| 355 | selectForm.value.price = '--' | 360 | selectForm.value.price = '--' |
| 356 | selectForm.value.priceEn = '--' | 361 | selectForm.value.priceEn = '--' |
| 357 | 362 | ||
| 358 | getVenueList() | 363 | getVenueList() |
| 359 | } | 364 | } |
| 360 | 365 | ||
| ... | @@ -366,13 +371,13 @@ function selectVenue(v) { | ... | @@ -366,13 +371,13 @@ function selectVenue(v) { |
| 366 | selectForm.value.id = null | 371 | selectForm.value.id = null |
| 367 | selectForm.value.price = '--' | 372 | selectForm.value.price = '--' |
| 368 | selectForm.value.priceEn = '--' | 373 | selectForm.value.priceEn = '--' |
| 369 | 374 | ||
| 370 | getTicketListType() | 375 | getTicketListType() |
| 371 | } | 376 | } |
| 372 | 377 | ||
| 373 | function selectSessionType(key) { | 378 | function selectSessionType(key) { |
| 374 | selectForm.value.sessionType = key | 379 | selectForm.value.sessionType = key |
| 375 | 380 | ||
| 376 | currTick.value = tickList.value[selectForm.value.sessionType][0] | 381 | currTick.value = tickList.value[selectForm.value.sessionType][0] |
| 377 | selectForm.value.latstId = currTick.value?.id | 382 | selectForm.value.latstId = currTick.value?.id |
| 378 | selectForm.value.price = currTick.value?.price | 383 | selectForm.value.price = currTick.value?.price |
| ... | @@ -418,6 +423,20 @@ function toSelectClosed() { | ... | @@ -418,6 +423,20 @@ function toSelectClosed() { |
| 418 | type: 'warning' | 423 | type: 'warning' |
| 419 | }) | 424 | }) |
| 420 | } | 425 | } |
| 426 | |||
| 427 | async function getmatchData() { | ||
| 428 | const res = await getBaseInfoByActiveId(route.params.activeId) | ||
| 429 | matchData.value = res.data | ||
| 430 | console.log(res) | ||
| 431 | } | ||
| 432 | |||
| 433 | function handleImage() { | ||
| 434 | // ticketImg | ||
| 435 | showUrl.value = matchData.value.ticketLayout | ||
| 436 | show.value = true | ||
| 437 | } | ||
| 438 | |||
| 439 | getmatchData() | ||
| 421 | </script> | 440 | </script> |
| 422 | 441 | ||
| 423 | <style lang="scss" scoped> | 442 | <style lang="scss" scoped> |
| ... | @@ -453,18 +472,17 @@ function toSelectClosed() { | ... | @@ -453,18 +472,17 @@ function toSelectClosed() { |
| 453 | display: flex; | 472 | display: flex; |
| 454 | padding: 19px; | 473 | padding: 19px; |
| 455 | margin-top: 26px; | 474 | margin-top: 26px; |
| 456 | 475 | ||
| 457 | .cover_img { | 476 | .cover_img { |
| 458 | width: 390px; | 477 | width: 500px; |
| 459 | height: 517px; | ||
| 460 | object-fit: fill; | 478 | object-fit: fill; |
| 461 | margin-right: 36px; | 479 | margin-right: 36px; |
| 462 | } | 480 | } |
| 463 | 481 | ||
| 464 | .info { | 482 | .info { |
| 465 | padding-top: 12px; | 483 | padding-top: 12px; |
| 466 | width: 100%; | 484 | width: 100%; |
| 467 | 485 | ||
| 468 | .title { | 486 | .title { |
| 469 | font-weight: bold; | 487 | font-weight: bold; |
| 470 | font-size: 28px; | 488 | font-size: 28px; |
| ... | @@ -472,7 +490,7 @@ function toSelectClosed() { | ... | @@ -472,7 +490,7 @@ function toSelectClosed() { |
| 472 | line-height: 1.6; | 490 | line-height: 1.6; |
| 473 | margin-bottom: 15px; | 491 | margin-bottom: 15px; |
| 474 | } | 492 | } |
| 475 | 493 | ||
| 476 | .time { | 494 | .time { |
| 477 | font-weight: 600; | 495 | font-weight: 600; |
| 478 | font-size: 16px; | 496 | font-size: 16px; |
| ... | @@ -480,7 +498,7 @@ function toSelectClosed() { | ... | @@ -480,7 +498,7 @@ function toSelectClosed() { |
| 480 | line-height: 24px; | 498 | line-height: 24px; |
| 481 | margin-bottom: 16px; | 499 | margin-bottom: 16px; |
| 482 | } | 500 | } |
| 483 | 501 | ||
| 484 | .address { | 502 | .address { |
| 485 | font-weight: 600; | 503 | font-weight: 600; |
| 486 | font-size: 16px; | 504 | font-size: 16px; |
| ... | @@ -488,15 +506,15 @@ function toSelectClosed() { | ... | @@ -488,15 +506,15 @@ function toSelectClosed() { |
| 488 | line-height: 24px; | 506 | line-height: 24px; |
| 489 | margin-bottom: 15px; | 507 | margin-bottom: 15px; |
| 490 | } | 508 | } |
| 491 | 509 | ||
| 492 | .select_item_box { | 510 | .select_item_box { |
| 493 | display: flex; | 511 | display: flex; |
| 494 | margin-bottom: 10px; | 512 | margin-bottom: 10px; |
| 495 | 513 | ||
| 496 | &:last-child { | 514 | &:last-child { |
| 497 | margin-bottom: 0; | 515 | margin-bottom: 0; |
| 498 | } | 516 | } |
| 499 | 517 | ||
| 500 | .label { | 518 | .label { |
| 501 | font-weight: 600; | 519 | font-weight: 600; |
| 502 | font-size: 16px; | 520 | font-size: 16px; |
| ... | @@ -505,18 +523,18 @@ function toSelectClosed() { | ... | @@ -505,18 +523,18 @@ function toSelectClosed() { |
| 505 | margin-right: 12px; | 523 | margin-right: 12px; |
| 506 | flex-shrink: 0; | 524 | flex-shrink: 0; |
| 507 | } | 525 | } |
| 508 | 526 | ||
| 509 | .forbid { | 527 | .forbid { |
| 510 | opacity: 0.5 !important; | 528 | opacity: 0.5 !important; |
| 511 | cursor: not-allowed !important; | 529 | cursor: not-allowed !important; |
| 512 | } | 530 | } |
| 513 | 531 | ||
| 514 | .select_item { | 532 | .select_item { |
| 515 | display: flex; | 533 | display: flex; |
| 516 | flex-wrap: wrap; | 534 | flex-wrap: wrap; |
| 517 | gap: 10px; | 535 | gap: 10px; |
| 518 | user-select: none; | 536 | user-select: none; |
| 519 | 537 | ||
| 520 | .tag_t { | 538 | .tag_t { |
| 521 | padding: 1px 15px; | 539 | padding: 1px 15px; |
| 522 | font-weight: 400; | 540 | font-weight: 400; |
| ... | @@ -526,7 +544,7 @@ function toSelectClosed() { | ... | @@ -526,7 +544,7 @@ function toSelectClosed() { |
| 526 | border: 1px solid #453dea; | 544 | border: 1px solid #453dea; |
| 527 | margin-left: 5px; | 545 | margin-left: 5px; |
| 528 | } | 546 | } |
| 529 | 547 | ||
| 530 | .tag { | 548 | .tag { |
| 531 | display: flex; | 549 | display: flex; |
| 532 | padding: 12px 18px; | 550 | padding: 12px 18px; |
| ... | @@ -537,7 +555,7 @@ function toSelectClosed() { | ... | @@ -537,7 +555,7 @@ function toSelectClosed() { |
| 537 | color: #4a4a4a; | 555 | color: #4a4a4a; |
| 538 | cursor: pointer; | 556 | cursor: pointer; |
| 539 | } | 557 | } |
| 540 | 558 | ||
| 541 | .tagActive { | 559 | .tagActive { |
| 542 | display: flex; | 560 | display: flex; |
| 543 | padding: 12px 18px; | 561 | padding: 12px 18px; |
| ... | @@ -548,14 +566,14 @@ function toSelectClosed() { | ... | @@ -548,14 +566,14 @@ function toSelectClosed() { |
| 548 | color: #493ceb; | 566 | color: #493ceb; |
| 549 | cursor: pointer; | 567 | cursor: pointer; |
| 550 | } | 568 | } |
| 551 | 569 | ||
| 552 | .tao { | 570 | .tao { |
| 553 | border: 1px solid #493ceb; | 571 | border: 1px solid #493ceb; |
| 554 | font-size: 14px; | 572 | font-size: 14px; |
| 555 | color: #493ceb; | 573 | color: #493ceb; |
| 556 | margin-left: 10px; | 574 | margin-left: 10px; |
| 557 | } | 575 | } |
| 558 | 576 | ||
| 559 | .tagDisabled { | 577 | .tagDisabled { |
| 560 | padding: 12px 18px; | 578 | padding: 12px 18px; |
| 561 | background: #878787; | 579 | background: #878787; |
| ... | @@ -567,7 +585,7 @@ function toSelectClosed() { | ... | @@ -567,7 +585,7 @@ function toSelectClosed() { |
| 567 | } | 585 | } |
| 568 | } | 586 | } |
| 569 | } | 587 | } |
| 570 | 588 | ||
| 571 | .btn { | 589 | .btn { |
| 572 | width: 175px; | 590 | width: 175px; |
| 573 | height: 40px; | 591 | height: 40px; |
| ... | @@ -587,7 +605,7 @@ function toSelectClosed() { | ... | @@ -587,7 +605,7 @@ function toSelectClosed() { |
| 587 | padding: 50px; | 605 | padding: 50px; |
| 588 | margin-top: 30px; | 606 | margin-top: 30px; |
| 589 | margin-bottom: 30px; | 607 | margin-bottom: 30px; |
| 590 | 608 | ||
| 591 | .title { | 609 | .title { |
| 592 | padding: 20px 30px; | 610 | padding: 20px 30px; |
| 593 | background: linear-gradient(270deg, #493ceb 0%, #8623fc 100%); | 611 | background: linear-gradient(270deg, #493ceb 0%, #8623fc 100%); |
| ... | @@ -597,15 +615,15 @@ function toSelectClosed() { | ... | @@ -597,15 +615,15 @@ function toSelectClosed() { |
| 597 | line-height: 30px; | 615 | line-height: 30px; |
| 598 | margin-bottom: 30px; | 616 | margin-bottom: 30px; |
| 599 | } | 617 | } |
| 600 | 618 | ||
| 601 | .rich_content { | 619 | .rich_content { |
| 602 | margin-top: 30px; | 620 | margin-top: 30px; |
| 603 | 621 | ||
| 604 | :deep(img) { | 622 | :deep(img) { |
| 605 | width: 100% !important; | 623 | width: 100% !important; |
| 606 | height: auto !important; | 624 | height: auto !important; |
| 607 | } | 625 | } |
| 608 | 626 | ||
| 609 | } | 627 | } |
| 610 | } | 628 | } |
| 611 | 629 | ||
| ... | @@ -623,44 +641,44 @@ function toSelectClosed() { | ... | @@ -623,44 +641,44 @@ function toSelectClosed() { |
| 623 | height: 160px; | 641 | height: 160px; |
| 624 | margin-right: 15px; | 642 | margin-right: 15px; |
| 625 | } | 643 | } |
| 626 | 644 | ||
| 627 | .info { | 645 | .info { |
| 628 | padding: 0; | 646 | padding: 0; |
| 629 | 647 | ||
| 630 | .title { | 648 | .title { |
| 631 | font-size: 14px; | 649 | font-size: 14px; |
| 632 | margin: 0; | 650 | margin: 0; |
| 633 | } | 651 | } |
| 634 | 652 | ||
| 635 | .time, .address, .label, .tip { | 653 | .time, .address, .label, .tip { |
| 636 | font-size: 12px; | 654 | font-size: 12px; |
| 637 | } | 655 | } |
| 638 | 656 | ||
| 639 | .title, .time, .address, .tip, .select_item_box { | 657 | .title, .time, .address, .tip, .select_item_box { |
| 640 | margin-bottom: 3px; | 658 | margin-bottom: 3px; |
| 641 | } | 659 | } |
| 642 | 660 | ||
| 643 | .select_item_box { | 661 | .select_item_box { |
| 644 | .label { | 662 | .label { |
| 645 | font-size: 12px; | 663 | font-size: 12px; |
| 646 | } | 664 | } |
| 647 | 665 | ||
| 648 | .select_item .tag { | 666 | .select_item .tag { |
| 649 | padding: 2px 10px; | 667 | padding: 2px 10px; |
| 650 | font-size: 12px; | 668 | font-size: 12px; |
| 651 | } | 669 | } |
| 652 | 670 | ||
| 653 | .select_item .tagActive { | 671 | .select_item .tagActive { |
| 654 | padding: 2px 10px; | 672 | padding: 2px 10px; |
| 655 | font-size: 12px; | 673 | font-size: 12px; |
| 656 | } | 674 | } |
| 657 | 675 | ||
| 658 | .select_item .tagDisabled { | 676 | .select_item .tagDisabled { |
| 659 | padding: 2px 10px; | 677 | padding: 2px 10px; |
| 660 | font-size: 12px; | 678 | font-size: 12px; |
| 661 | } | 679 | } |
| 662 | } | 680 | } |
| 663 | 681 | ||
| 664 | .btn { | 682 | .btn { |
| 665 | display: inline-block; | 683 | display: inline-block; |
| 666 | margin: 10px 0 0; | 684 | margin: 10px 0 0; |
| ... | @@ -678,8 +696,8 @@ function toSelectClosed() { | ... | @@ -678,8 +696,8 @@ function toSelectClosed() { |
| 678 | .bottom { | 696 | .bottom { |
| 679 | padding: 0 | 697 | padding: 0 |
| 680 | } | 698 | } |
| 681 | 699 | ||
| 682 | 700 | ||
| 683 | } | 701 | } |
| 684 | 702 | ||
| 685 | .countDownTitle { | 703 | .countDownTitle { | ... | ... |
| ... | @@ -81,8 +81,8 @@ export default defineConfig(({ mode, command }) => { | ... | @@ -81,8 +81,8 @@ export default defineConfig(({ mode, command }) => { |
| 81 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') | 81 | rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') |
| 82 | }, | 82 | }, |
| 83 | '/dev-api': { | 83 | '/dev-api': { |
| 84 | target: 'http://192.168.1.118:8081/', | 84 | // target: 'http://192.168.1.118:8081/', |
| 85 | // target: 'http://192.168.1.130:8081', | 85 | target: 'http://192.168.1.118:8081', |
| 86 | // target: 'https://jijin.wtwuxicenter.com/stage-api', | 86 | // target: 'https://jijin.wtwuxicenter.com/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