bff2a6ed by 杨炀

Merge commit 'f6e7ec6a' into dev

2 parents bbc19bcb f6e7ec6a
...@@ -15,6 +15,7 @@ export function getMatchById(params) { ...@@ -15,6 +15,7 @@ export function getMatchById(params) {
15 params: params 15 params: params
16 }) 16 })
17 } 17 }
18
18 export function refundApply(orderId) { 19 export function refundApply(orderId) {
19 return request({ 20 return request({
20 url: `/league/signOrder/refundApply?orderId=${orderId}`, 21 url: `/league/signOrder/refundApply?orderId=${orderId}`,
...@@ -39,7 +40,7 @@ export function getMySignDetailById(params) { ...@@ -39,7 +40,7 @@ export function getMySignDetailById(params) {
39 } 40 }
40 41
41 // 获取赛事下的已报团队 42 // 获取赛事下的已报团队
42 export function getGroupListByCptId(cptId,query) { 43 export function getGroupListByCptId(cptId, query) {
43 return request({ 44 return request({
44 // url: `/league/group/getGroupListByCptId/${cptId}`, 45 // url: `/league/group/getGroupListByCptId/${cptId}`,
45 url: `/league/sign/getSignInfoDataByCptId/${cptId}`, 46 url: `/league/sign/getSignInfoDataByCptId/${cptId}`,
...@@ -85,6 +86,7 @@ export function getCaptchaSms(data) { ...@@ -85,6 +86,7 @@ export function getCaptchaSms(data) {
85 data: data 86 data: data
86 }) 87 })
87 } 88 }
89
88 // 发送手机验证码 90 // 发送手机验证码
89 export function getCaptchaSms2(data) { 91 export function getCaptchaSms2(data) {
90 return request({ 92 return request({
...@@ -93,6 +95,7 @@ export function getCaptchaSms2(data) { ...@@ -93,6 +95,7 @@ export function getCaptchaSms2(data) {
93 data: data 95 data: data
94 }) 96 })
95 } 97 }
98
96 export function checkRegisterCode(data) { 99 export function checkRegisterCode(data) {
97 return request({ 100 return request({
98 url: `/checkRegisterCode`, 101 url: `/checkRegisterCode`,
...@@ -107,32 +110,36 @@ export function getMyGroupList() { ...@@ -107,32 +110,36 @@ export function getMyGroupList() {
107 method: 'get' 110 method: 'get'
108 }) 111 })
109 } 112 }
113
110 export function checkWdsf(query) { 114 export function checkWdsf(query) {
111 return request({ 115 return request({
112 url: `/league/wdsf/check`, 116 url: `/league/wdsf/check`,
113 method: 'get', 117 method: 'get',
114 params:query 118 params: query
115 }) 119 })
116 } 120 }
121
117 export function checkWdsfAthletes(query) { 122 export function checkWdsfAthletes(query) {
118 return request({ 123 return request({
119 url: `/league/wdsf/checkForGroup`, 124 url: `/league/wdsf/checkForGroup`,
120 method: 'get', 125 method: 'get',
121 params:query 126 params: query
122 }) 127 })
123 } 128 }
129
124 export function registerSingle(data) { 130 export function registerSingle(data) {
125 return request({ 131 return request({
126 url: `/pcRegisterSingleAboard`, 132 url: `/pcRegisterSingleAboard`,
127 method: 'post', 133 method: 'post',
128 data:data 134 data: data
129 }) 135 })
130 } 136 }
137
131 export function loginSingle(data) { 138 export function loginSingle(data) {
132 return request({ 139 return request({
133 url: `/userLoginAboard`, 140 url: `/userLoginAboard`,
134 method: 'post', 141 method: 'post',
135 data:data 142 data: data
136 }) 143 })
137 } 144 }
138 145
...@@ -159,6 +166,7 @@ export function saveMyGroup(data) { ...@@ -159,6 +166,7 @@ export function saveMyGroup(data) {
159 data: data 166 data: data
160 }) 167 })
161 } 168 }
169
162 export function saveMyGroupForCpt(data) { 170 export function saveMyGroupForCpt(data) {
163 return request({ 171 return request({
164 url: `/league/group/saveMyGroupForCpt`, 172 url: `/league/group/saveMyGroupForCpt`,
...@@ -166,6 +174,7 @@ export function saveMyGroupForCpt(data) { ...@@ -166,6 +174,7 @@ export function saveMyGroupForCpt(data) {
166 data: data 174 data: data
167 }) 175 })
168 } 176 }
177
169 export function commitAudit(data) { 178 export function commitAudit(data) {
170 return request({ 179 return request({
171 url: `/league/group/commitAudit`, 180 url: `/league/group/commitAudit`,
...@@ -236,12 +245,14 @@ export function saveMyTeam(data) { ...@@ -236,12 +245,14 @@ export function saveMyTeam(data) {
236 data: data 245 data: data
237 }) 246 })
238 } 247 }
248
239 export function withDrawByOrderId(orderId) { 249 export function withDrawByOrderId(orderId) {
240 return request({ 250 return request({
241 url: `/league/signOrder/withDraw/${orderId}`, 251 url: `/league/signOrder/withDraw/${orderId}`,
242 method: 'post' 252 method: 'post'
243 }) 253 })
244 } 254 }
255
245 export function recoverMySignFromCancel(cptId) { 256 export function recoverMySignFromCancel(cptId) {
246 return request({ 257 return request({
247 url: `/league/sign/recoverMySignFromCancel`, 258 url: `/league/sign/recoverMySignFromCancel`,
...@@ -317,14 +328,15 @@ export function getMyGroupForCptFilter(groupId, cptId, query) { ...@@ -317,14 +328,15 @@ export function getMyGroupForCptFilter(groupId, cptId, query) {
317 }) 328 })
318 } 329 }
319 330
320 export function getGroupPersonList(query,groupId) { 331 export function getGroupPersonList(query, groupId) {
321 return request({ 332 return request({
322 url: `/systemj/personInfo/getPersonInfoListByGroupIdNoLabel/${groupId}`, 333 url: `/systemj/personInfo/getPersonInfoListByGroupIdNoLabel/${groupId}`,
323 method: 'get', 334 method: 'get',
324 params: query 335 params: query
325 }) 336 })
326 } 337 }
327 export function getPerPersonList(query,userId) { 338
339 export function getPerPersonList(query, userId) {
328 return request({ 340 return request({
329 url: `/systemj/personInfo/getPersonInfoListByPersonIdNoLabel/${userId}`, 341 url: `/systemj/personInfo/getPersonInfoListByPersonIdNoLabel/${userId}`,
330 method: 'get', 342 method: 'get',
...@@ -364,6 +376,7 @@ export function savePersonForMyPerson(data) { ...@@ -364,6 +376,7 @@ export function savePersonForMyPerson(data) {
364 data: data 376 data: data
365 }) 377 })
366 } 378 }
379
367 export function savePersonForMyPerson2(data) { 380 export function savePersonForMyPerson2(data) {
368 return request({ 381 return request({
369 url: `/systemj/personInfo/savePersonForMyPerson2`, 382 url: `/systemj/personInfo/savePersonForMyPerson2`,
...@@ -388,6 +401,7 @@ export function delPerson(id) { ...@@ -388,6 +401,7 @@ export function delPerson(id) {
388 method: 'delete' 401 method: 'delete'
389 }) 402 })
390 } 403 }
404
391 //个人账号 405 //个人账号
392 export function delPersonForPersonal(id) { 406 export function delPersonForPersonal(id) {
393 return request({ 407 return request({
...@@ -432,12 +446,14 @@ export function getCanSignlevelListFromSelectPerson(groupId, personId) { ...@@ -432,12 +446,14 @@ export function getCanSignlevelListFromSelectPerson(groupId, personId) {
432 method: 'get' 446 method: 'get'
433 }) 447 })
434 } 448 }
449
435 export function delRank(id) { 450 export function delRank(id) {
436 return request({ 451 return request({
437 url: `/league/team/${id}`, 452 url: `/league/team/${id}`,
438 method: 'delete' 453 method: 'delete'
439 }) 454 })
440 } 455 }
456
441 export function getCanSignLevelPerson(data) { 457 export function getCanSignLevelPerson(data) {
442 return request({ 458 return request({
443 url: `/league/competitionLevel/getCanSignLevelPerson`, 459 url: `/league/competitionLevel/getCanSignLevelPerson`,
...@@ -445,6 +461,7 @@ export function getCanSignLevelPerson(data) { ...@@ -445,6 +461,7 @@ export function getCanSignLevelPerson(data) {
445 data: data 461 data: data
446 }) 462 })
447 } 463 }
464
448 export function sportsmanDone(data) { 465 export function sportsmanDone(data) {
449 return request({ 466 return request({
450 url: `/league/sign/signUp`, 467 url: `/league/sign/signUp`,
...@@ -452,6 +469,7 @@ export function sportsmanDone(data) { ...@@ -452,6 +469,7 @@ export function sportsmanDone(data) {
452 data: data 469 data: data
453 }) 470 })
454 } 471 }
472
455 // 删除报名接口 473 // 删除报名接口
456 export function deleteSign(id) { 474 export function deleteSign(id) {
457 return request({ 475 return request({
...@@ -459,6 +477,7 @@ export function deleteSign(id) { ...@@ -459,6 +477,7 @@ export function deleteSign(id) {
459 method: 'post' 477 method: 'post'
460 }) 478 })
461 } 479 }
480
462 // 选择运动员的补充信息表头 481 // 选择运动员的补充信息表头
463 export function getCptExtraInfo(cptId) { 482 export function getCptExtraInfo(cptId) {
464 return request({ 483 return request({
...@@ -466,6 +485,7 @@ export function getCptExtraInfo(cptId) { ...@@ -466,6 +485,7 @@ export function getCptExtraInfo(cptId) {
466 method: 'get' 485 method: 'get'
467 }) 486 })
468 } 487 }
488
469 export function recoverMySign(data) { 489 export function recoverMySign(data) {
470 return request({ 490 return request({
471 url: `/league/sign/recoverMySign`, 491 url: `/league/sign/recoverMySign`,
...@@ -473,6 +493,7 @@ export function recoverMySign(data) { ...@@ -473,6 +493,7 @@ export function recoverMySign(data) {
473 data: data 493 data: data
474 }) 494 })
475 } 495 }
496
476 // 生成订单 497 // 生成订单
477 export function commitSign(data) { 498 export function commitSign(data) {
478 return request({ 499 return request({
...@@ -481,24 +502,28 @@ export function commitSign(data) { ...@@ -481,24 +502,28 @@ export function commitSign(data) {
481 data: data 502 data: data
482 }) 503 })
483 } 504 }
505
484 export function getTotalFee(data) { 506 export function getTotalFee(data) {
485 return request({ 507 return request({
486 url: `/league/expenseConfig/getTotalFee/${data.cptId}/${data.entryId}`, 508 url: `/league/expenseConfig/getTotalFee/${data.cptId}/${data.entryId}`,
487 method: 'get' 509 method: 'get'
488 }) 510 })
489 } 511 }
512
490 export function getMemberInfoByCptId(cptId) { 513 export function getMemberInfoByCptId(cptId) {
491 return request({ 514 return request({
492 url: `/systemj/member/editMemberCode/${cptId}`, 515 url: `/systemj/member/editMemberCode/${cptId}`,
493 method: 'get' 516 method: 'get'
494 }) 517 })
495 } 518 }
519
496 export function getTemplate() { 520 export function getTemplate() {
497 return request({ 521 return request({
498 url: `/systemj/personInfo/getTemplate`, 522 url: `/systemj/personInfo/getTemplate`,
499 method: 'get' 523 method: 'get'
500 }) 524 })
501 } 525 }
526
502 // 支付 orderId,payType 527 // 支付 orderId,payType
503 export function payMatch(data) { 528 export function payMatch(data) {
504 return request({ 529 return request({
...@@ -507,12 +532,14 @@ export function payMatch(data) { ...@@ -507,12 +532,14 @@ export function payMatch(data) {
507 data: data 532 data: data
508 }) 533 })
509 } 534 }
535
510 export function cancelMyUnPayedOrder(orderId) { 536 export function cancelMyUnPayedOrder(orderId) {
511 return request({ 537 return request({
512 url: `/league/signOrder/cancelMyUnPayedOrder/${orderId}`, 538 url: `/league/signOrder/cancelMyUnPayedOrder/${orderId}`,
513 method: 'post' 539 method: 'post'
514 }) 540 })
515 } 541 }
542
516 export function getMySignListFromBaoXiang(data) { 543 export function getMySignListFromBaoXiang(data) {
517 return request({ 544 return request({
518 url: `/league/sign/getMySignListFromBaoXiang`, 545 url: `/league/sign/getMySignListFromBaoXiang`,
...@@ -520,12 +547,14 @@ export function getMySignListFromBaoXiang(data) { ...@@ -520,12 +547,14 @@ export function getMySignListFromBaoXiang(data) {
520 data: data 547 data: data
521 }) 548 })
522 } 549 }
550
523 export function deleteMyGroup(groupId) { 551 export function deleteMyGroup(groupId) {
524 return request({ 552 return request({
525 url: `/league/group/deleteMyGroup/${groupId}`, 553 url: `/league/group/deleteMyGroup/${groupId}`,
526 method: 'post' 554 method: 'post'
527 }) 555 })
528 } 556 }
557
529 export function checkPerson(data) { 558 export function checkPerson(data) {
530 return request({ 559 return request({
531 url: `/systemj/personInfo/checkPersonInfoExist`, 560 url: `/systemj/personInfo/checkPersonInfoExist`,
...@@ -533,12 +562,14 @@ export function checkPerson(data) { ...@@ -533,12 +562,14 @@ export function checkPerson(data) {
533 data: data 562 data: data
534 }) 563 })
535 } 564 }
565
536 export function getMySignListTree(cptId, personId, teamId) { 566 export function getMySignListTree(cptId, personId, teamId) {
537 return request({ 567 return request({
538 url: `/league/competitionProject/getAllInfoFromSelectPerson/${cptId}/${personId}/${teamId || 0}`, 568 url: `/league/competitionProject/getAllInfoFromSelectPerson/${cptId}/${personId}/${teamId || 0}`,
539 method: 'get' 569 method: 'get'
540 }) 570 })
541 } 571 }
572
542 export function getMySignInfoList(data) { 573 export function getMySignInfoList(data) {
543 return request({ 574 return request({
544 url: `/league/sign/getMySignInfoList`, 575 url: `/league/sign/getMySignInfoList`,
...@@ -546,6 +577,7 @@ export function getMySignInfoList(data) { ...@@ -546,6 +577,7 @@ export function getMySignInfoList(data) {
546 params: data 577 params: data
547 }) 578 })
548 } 579 }
580
549 export function exportCn(data) { 581 export function exportCn(data) {
550 return request({ 582 return request({
551 url: `/league/sign/exportCn`, 583 url: `/league/sign/exportCn`,
...@@ -553,37 +585,44 @@ export function exportCn(data) { ...@@ -553,37 +585,44 @@ export function exportCn(data) {
553 params: data 585 params: data
554 }) 586 })
555 } 587 }
588
556 export function saveMyGroupExtraInfo(data) { 589 export function saveMyGroupExtraInfo(data) {
557 return request({ 590 return request({
558 url: `/league/competitionGroupInfo/saveMyGroupExtraInfo`, 591 url: `/league/competitionGroupInfo/saveMyGroupExtraInfo`,
559 method: 'post', 592 method: 'post',
560 data: data 593 data: data
561 }) 594 })
562 }export function pcRegisterTeam(data) { 595 }
596
597 export function pcRegisterTeam(data) {
563 return request({ 598 return request({
564 url: `/pcRegisterTeam`, 599 url: `/pcRegisterTeam`,
565 method: 'post', 600 method: 'post',
566 data: data 601 data: data
567 }) 602 })
568 } 603 }
604
569 export function getMySignIds(cptId, personId, teamId) { 605 export function getMySignIds(cptId, personId, teamId) {
570 return request({ 606 return request({
571 url: `/league/sign/getSignEntityByPersonId/${cptId}/${personId}/${teamId || 0}`, 607 url: `/league/sign/getSignEntityByPersonId/${cptId}/${personId}/${teamId || 0}`,
572 method: 'get' 608 method: 'get'
573 }) 609 })
574 } 610 }
611
575 export function querySonLevel(parentId) { 612 export function querySonLevel(parentId) {
576 return request({ 613 return request({
577 url: `/league/competitionSonLevel/querySonLevelByParentId/${parentId}`, 614 url: `/league/competitionSonLevel/querySonLevelByParentId/${parentId}`,
578 method: 'get' 615 method: 'get'
579 }) 616 })
580 } 617 }
618
581 export function getPayedOrderPdf(cptId, groupId) { 619 export function getPayedOrderPdf(cptId, groupId) {
582 return request({ 620 return request({
583 url: `/pdf/getPayedOrderPdf/${cptId}/${groupId}`, 621 url: `/pdf/getPayedOrderPdf/${cptId}/${groupId}`,
584 method: 'get' 622 method: 'get'
585 }) 623 })
586 } 624 }
625
587 export function checkNoRepeat(query) { 626 export function checkNoRepeat(query) {
588 return request({ 627 return request({
589 url: `/league/wdsf/checkNoRepeat`, 628 url: `/league/wdsf/checkNoRepeat`,
...@@ -592,20 +631,22 @@ export function checkNoRepeat(query) { ...@@ -592,20 +631,22 @@ export function checkNoRepeat(query) {
592 }) 631 })
593 } 632 }
594 633
595 export function saveWdsfMin(obj,groupId) { 634 export function saveWdsfMin(obj, groupId) {
596 return request({ 635 return request({
597 url: `systemj/personInfo/bindWdsfForGroup/${groupId}`, 636 url: `systemj/personInfo/bindWdsfForGroup/${groupId}`,
598 method: 'post', 637 method: 'post',
599 data:obj 638 data: obj
600 }) 639 })
601 } 640 }
641
602 //todo 642 //todo
603 export function bindWdsf(perId,card) { 643 export function bindWdsf(perId, card) {
604 return request({ 644 return request({
605 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`, 645 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`,
606 method: 'post' 646 method: 'post'
607 }) 647 })
608 } 648 }
649
609 export function getProjectPageByPerIds(query) { 650 export function getProjectPageByPerIds(query) {
610 return request({ 651 return request({
611 url: `/league/competitionProject/getProjectPageByPerIds/${query.cptId}/${query.perIds}`, 652 url: `/league/competitionProject/getProjectPageByPerIds/${query.cptId}/${query.perIds}`,
...@@ -613,6 +654,7 @@ export function getProjectPageByPerIds(query) { ...@@ -613,6 +654,7 @@ export function getProjectPageByPerIds(query) {
613 params: query 654 params: query
614 }) 655 })
615 } 656 }
657
616 export function getMatchNewslistByCode(query) { 658 export function getMatchNewslistByCode(query) {
617 return request({ 659 return request({
618 url: `/ztx/notesort/listByCode`, 660 url: `/ztx/notesort/listByCode`,
...@@ -625,67 +667,76 @@ export function createWePay(data) { ...@@ -625,67 +667,76 @@ export function createWePay(data) {
625 return request({ 667 return request({
626 url: `/league/signOrder/wxPay`, 668 url: `/league/signOrder/wxPay`,
627 method: 'post', 669 method: 'post',
628 data:data 670 data: data
629 }) 671 })
630 } 672 }
673
631 export function createWePayPhone(data) { 674 export function createWePayPhone(data) {
632 return request({ 675 return request({
633 url: `/league/signOrder/wxH5Pay`, 676 url: `/league/signOrder/wxH5Pay`,
634 method: 'post', 677 method: 'post',
635 data:data 678 data: data
636 }) 679 })
637 } 680 }
681
638 export function createPalPay(data) { 682 export function createPalPay(data) {
639 return request({ 683 return request({
640 url: `/league/signOrder/palPay`, 684 url: `/league/signOrder/palPay`,
641 method: 'post', 685 method: 'post',
642 data:data 686 data: data
643 }) 687 })
644 } 688 }
689
645 export function callbackPalPay(tradeNo) { 690 export function callbackPalPay(tradeNo) {
646 return request({ 691 return request({
647 url: `/league/signOrder/palPay/callback`, 692 url: `/league/signOrder/palPay/callback`,
648 method: 'post', 693 method: 'post',
649 data:{ 694 data: {
650 tradeNo:tradeNo 695 tradeNo: tradeNo
651 } 696 }
652 }) 697 })
653 } 698 }
699
654 export function upReceipt(data) { 700 export function upReceipt(data) {
655 return request({ 701 return request({
656 url: `/league/signOrder/offlinePay`, 702 url: `/league/signOrder/offlinePay`,
657 method: 'post', 703 method: 'post',
658 data:data 704 data: data
659 }) 705 })
660 } 706 }
707
661 export function signgetSignInfoConflict(query) { 708 export function signgetSignInfoConflict(query) {
662 return request({ 709 return request({
663 url: `/league/sign/getSignInfoConflict`, 710 url: `/league/sign/getSignInfoConflict`,
664 method: 'get', 711 method: 'get',
665 params:query 712 params: query
666 }) 713 })
667 } 714 }
715
668 export function checkMate(query) { 716 export function checkMate(query) {
669 return request({ 717 return request({
670 url: `/systemj/personInfo/checkMate`, 718 url: `/systemj/personInfo/checkMate`,
671 method: 'get', 719 method: 'get',
672 params:query 720 params: query
673 }) 721 })
674 } 722 }
723
675 export function checkIdcCode(query) { 724 export function checkIdcCode(query) {
676 return request({ 725 return request({
677 url: `/systemj/personInfo/extractInfo`, 726 url: `/systemj/personInfo/extractInfo`,
678 method: 'get', 727 method: 'get',
679 params:query 728 params: query
680 }) 729 })
681 } 730 }
682 export function getProjectByCptId(cptId,query) { 731
732 export function getProjectByCptId(cptId, query) {
683 return request({ 733 return request({
684 url: `/league/competitionProject/getTableByLanguageSourceAndCptId/${cptId}`, 734 url: `/league/competitionProject/getTableByLanguageSourceAndCptId/${cptId}`,
685 method: 'get', 735 method: 'get',
686 params: query 736 params: query
687 }) 737 })
688 } 738 }
739
689 export function addInvitation(data) { 740 export function addInvitation(data) {
690 return request({ 741 return request({
691 url: `/league/person`, 742 url: `/league/person`,
...@@ -693,3 +744,21 @@ export function addInvitation(data) { ...@@ -693,3 +744,21 @@ export function addInvitation(data) {
693 data: data 744 data: data
694 }) 745 })
695 } 746 }
747
748 // 酒店预约查询
749 export function hotelList(params) {
750 return request({
751 url: `/ota/reservedRoom/query`,
752 method: 'get',
753 params
754 })
755 }
756
757 // 飞机预约查询
758 export function aircraft(params) {
759 return request({
760 url: `/league/pickup/query`,
761 method: 'get',
762 params
763 })
764 }
......
...@@ -313,6 +313,12 @@ export const constantRoutes = [ ...@@ -313,6 +313,12 @@ export const constantRoutes = [
313 component: () => import('@/viewsPc/match/detail_en'), 313 component: () => import('@/viewsPc/match/detail_en'),
314 name: 'matchDetail', 314 name: 'matchDetail',
315 meta: {title: '赛事详情'} 315 meta: {title: '赛事详情'}
316 },
317 {
318 path: 'list/reservationSearch',
319 component: () => import('@/viewsPc/match/reservationSearch.vue'),
320 name: 'reservationSearch',
321 meta: {title: '预订查询'}
316 } 322 }
317 ] 323 ]
318 }, 324 },
......
...@@ -6,30 +6,31 @@ ...@@ -6,30 +6,31 @@
6 </div> 6 </div>
7 <div class="box"> 7 <div class="box">
8 <div class="searchBar"> 8 <div class="searchBar">
9 <el-input :placeholder="language==0?'请输入关键字搜索':'Search'" v-model="query.name" class="no-border"> 9 <el-input v-model="query.name" :placeholder="language==0?'请输入关键字搜索':'Search'" class="no-border">
10 </el-input> 10 </el-input>
11 <el-button size="large" type="primary" class="btn-lineG" icon="search" @click="getList"> 11 <el-button class="btn-lineG" icon="search" size="large" type="primary" @click="getList">
12 {{ language==0?'搜索':'Search' }}</el-button> 12 {{ language == 0 ? '搜索' : 'Search' }}
13 </el-button>
13 </div> 14 </div>
14 </div> 15 </div>
15 <div class="box" v-loading="loading"> 16 <div v-loading="loading" class="box">
16 <el-collapse v-model="activeName" accordion style="--el-collapse-header-height:'auto'"> 17 <el-collapse v-model="activeName" accordion style="--el-collapse-header-height:'auto'">
17 <el-collapse-item :name="index" v-for="(h,index) in list" class="hotel"> 18 <el-collapse-item v-for="(h,index) in list" :name="index" class="hotel">
18 <template #title> 19 <template #title>
19 <el-row align="middle" :gutter="20" class="w100"> 20 <el-row :gutter="20" align="middle" class="w100">
20 <el-col :span="4"> 21 <el-col :span="4">
21 <div class="index">{{ language==0?'路线':'Route' }}{{index+1}} 22 <div class="index">{{ language == 0 ? '路线' : 'Route' }}{{ index + 1 }}
22 <img src="@/assets/booking/arrow.png"/> 23 <img src="@/assets/booking/arrow.png"/>
23 </div> 24 </div>
24 </el-col> 25 </el-col>
25 <el-col :span="7"> 26 <el-col :span="7">
26 <p class="esp">{{h.checkIn}}</p> 27 <p class="esp">{{ h.checkIn }}</p>
27 </el-col> 28 </el-col>
28 <el-col :span="4" class="text-center"> 29 <el-col :span="4" class="text-center">
29 <img class="mauto w40px" src="@/assets/booking/wf.png"/> 30 <img class="mauto w40px" src="@/assets/booking/wf.png"/>
30 </el-col> 31 </el-col>
31 <el-col :span="7"> 32 <el-col :span="7">
32 <p class="esp ">{{h.checkOut}}</p> 33 <p class="esp ">{{ h.checkOut }}</p>
33 </el-col> 34 </el-col>
34 </el-row> 35 </el-row>
35 </template> 36 </template>
...@@ -45,34 +46,40 @@ ...@@ -45,34 +46,40 @@
45 <el-col :span="14"> 46 <el-col :span="14">
46 <h3 class="name flex">{{ r.carType }} 47 <h3 class="name flex">{{ r.carType }}
47 <div class="tagbox"> 48 <div class="tagbox">
48 <span class="tag">{{r.carColor}}</span> 49 <span class="tag">{{ r.carColor }}</span>
49 <span class="tag" v-show="r.checkOut==1">{{ language==0?'可送车':'drop-off' }}</span> 50 <span v-show="r.checkOut==1" class="tag">{{ language == 0 ? '可送车' : 'drop-off' }}</span>
50 <span class="tag" v-show="r.checkIn==1">{{ language==0?'可接车':'pick-up' }}</span> 51 <span v-show="r.checkIn==1" class="tag">{{ language == 0 ? '可接车' : 'pick-up' }}</span>
51 </div> 52 </div>
52 </h3> 53 </h3>
53 <div class="text-gray mt20"> 54 <div class="text-gray mt20">
54 <span class="mr20">{{ language==0?'座位数':'Seats' }}: {{r.carSeat}}</span> 55 <span class="mr20">{{ language == 0 ? '座位数' : 'Seats' }}: {{ r.carSeat }}</span>
55 <span class="mr20">|</span> 56 <span class="mr20">|</span>
56 <span :span="8">{{ language==0?'运营时间':'Servers Time' }}: {{r.operStart}} ~ {{r.operEnd}}</span> 57 <span :span="8">{{
58 language == 0 ? '运营时间' : 'Servers Time'
59 }}: {{ r.operStart }} ~ {{ r.operEnd }}</span>
57 </div> 60 </div>
58 </el-col> 61 </el-col>
59 <el-col :span="3"> 62 <el-col :span="3">
60 <div class="price" v-if="language==0">¥ 63 <div v-if="language==0" class="price">¥
61 <span v-if="r.outPrice&&r.inPrice">{{Number(r.inPrice) > Number(r.outPrice)?r.outPrice:r.inPrice}}</span> 64 <span
62 <span v-else-if="r.inPrice>0">{{r.inPrice}}</span> 65 v-if="r.outPrice&&r.inPrice">{{ Number(r.inPrice) > Number(r.outPrice) ? r.outPrice : r.inPrice }}</span>
63 <span v-else>{{r.outPrice}}</span> 66 <span v-else-if="r.inPrice>0">{{ r.inPrice }}</span>
67 <span v-else>{{ r.outPrice }}</span>
64 68
65 </div> 69 </div>
66 <div class="price" v-else> 70 <div v-else class="price">
67 71
68 <span v-if="r.outPriceEn&&r.inPriceEn">{{(Number(r.inPriceEn)||0) > Number(r.outPriceEn)?r.outPriceEn:r.inPriceEn}}</span> 72 <span
69 <span v-else-if="r.inPriceEn>0">{{r.inPriceEn}}</span> 73 v-if="r.outPriceEn&&r.inPriceEn">{{ (Number(r.inPriceEn) || 0) > Number(r.outPriceEn) ? r.outPriceEn : r.inPriceEn }}</span>
70 <span v-else>{{r.outPriceEn}}</span> 74 <span v-else-if="r.inPriceEn>0">{{ r.inPriceEn }}</span>
75 <span v-else>{{ r.outPriceEn }}</span>
71 </div> 76 </div>
72 77
73 </el-col> 78 </el-col>
74 <el-col :span="3"> 79 <el-col :span="3">
75 <el-button class="btn-lineG w100" round type="primary" @click="goOrder(h,r)">{{ language==0?'我要预订':'Select' }}</el-button> 80 <el-button class="btn-lineG w100" round type="primary" @click="goOrder(h,r)">
81 {{ language == 0 ? '我要预订' : 'Select' }}
82 </el-button>
76 </el-col> 83 </el-col>
77 </el-row> 84 </el-row>
78 </div> 85 </div>
...@@ -84,7 +91,7 @@ ...@@ -84,7 +91,7 @@
84 </el-collapse> 91 </el-collapse>
85 92
86 93
87 <el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description="" /> 94 <el-empty v-show="!loading&&list.length==0" :image="`/img/order_no.png`" :image-size="228" description=""/>
88 <div style="height: 50px"></div> 95 <div style="height: 50px"></div>
89 </div> 96 </div>
90 97
...@@ -94,111 +101,252 @@ ...@@ -94,111 +101,252 @@
94 <script setup> 101 <script setup>
95 import {onMounted} from "@vue/runtime-core" 102 import {onMounted} from "@vue/runtime-core"
96 import * as booking from "@/apiPc/booking" 103 import * as booking from "@/apiPc/booking"
97 import {useRouter,useRoute} from "vue-router"; 104 import {useRouter, useRoute} from "vue-router";
98 import {useStorage} from "@vueuse/core/index"; 105 import {useStorage} from "@vueuse/core/index";
99 import useUserStore from "@/store/modules/user"; 106 import useUserStore from "@/store/modules/user";
107
100 const user = useUserStore().user 108 const user = useUserStore().user
101 const router = useRouter() 109 const router = useRouter()
102 const route = useRoute() 110 const route = useRoute()
103 const language= useStorage('language',0) 111 const language = useStorage('language', 0)
104 const query = ref({ 112 const query = ref({
105 name:'' 113 name: ''
106 }) 114 })
107 const activeName = ref(0) 115 const activeName = ref(0)
108 const cptId = ref('') 116 const cptId = ref('')
109 const list = ref([]) 117 const list = ref([])
110 const loading = ref(false) 118 const loading = ref(false)
111 onMounted(()=>{ 119 onMounted(() => {
112 query.value.activityId = route.params.cptId 120 query.value.activityId = route.params.cptId
113 if (language.value==0) getList() 121 // if (language.value==0)
122 getList()
114 }) 123 })
115 124
116 function getList() { 125 function getList() {
117 if (language.value!=0)return 126 // if (language.value!=0)return
118 loading.value = true 127 loading.value = true
119 booking.getActivityCarList(query.value).then(res=>{ 128 booking.getActivityCarList(query.value).then(res => {
120 list.value = res.rows 129 list.value = res.rows
121 loading.value = false 130 loading.value = false
122 }).catch(e=>{ 131 }).catch(e => {
123 loading.value = false 132 loading.value = false
124 }) 133 })
125 } 134 }
126 function goOrder(item,car) { 135
127 if(!user){ 136 function goOrder(item, car) {
137 if (!user) {
128 useUserStore().setReLogin() 138 useUserStore().setReLogin()
129 return 139 return
130 } 140 }
131 router.push({ 141 router.push({
132 name:'carOrder', 142 name: 'carOrder',
133 params:{ 143 params: {
134 id:item.id, 144 id: item.id,
135 }, 145 },
136 query:{ 146 query: {
137 item:encodeURIComponent(JSON.stringify(item)), 147 item: encodeURIComponent(JSON.stringify(item)),
138 car:encodeURIComponent(JSON.stringify(car)), 148 car: encodeURIComponent(JSON.stringify(car)),
139 } 149 }
140 }) 150 })
141 } 151 }
142 </script> 152 </script>
143 153
144 <style scoped lang="scss"> 154 <style lang="scss" scoped>
155
156 .hotel {
157 margin-bottom: 20px;
158 cursor: pointer;
145 159
146 .hotel{margin-bottom: 20px;cursor: pointer; 160 .index {
147 .index{display: flex;font-weight: 500;padding-left: 20px; 161 display: flex;
148 font-size: 18px;align-items: center; 162 font-weight: 500;
149 img{margin-left: 15px;} 163 padding-left: 20px;
164 font-size: 18px;
165 align-items: center;
166
167 img {
168 margin-left: 15px;
169 }
150 } 170 }
151 p{font-weight: 500; 171
172 p {
173 font-weight: 500;
152 font-size: 24px; 174 font-size: 24px;
153 color: #000000;} 175 color: #000000;
154 &:hover .el-card{box-shadow: 0 0 10px #aaa;} 176 }
155 } 177
156 .hotel:nth-child(7n) .index{color: #009E96;} 178 &:hover .el-card {
157 .hotel:nth-child(7n+1) .index{color: #FF8124;} 179 box-shadow: 0 0 10px #aaa;
158 .hotel:nth-child(7n+2) .index{color: #E4007F;} 180 }
159 .hotel:nth-child(7n+3) .index{color: #0068B7;} 181 }
160 .hotel:nth-child(7n+4) .index{color: #32B16C;} 182
161 .hotel:nth-child(7n+5) .index{color: #920783;} 183 .hotel:nth-child(7n) .index {
162 .hotel:nth-child(7n+6) .index{color: #00B7EE;} 184 color: #009E96;
163 185 }
164 .banner{height: 140px;background-size: cover;text-align: center; 186
165 background: url("@/assets/booking/cl_bg.png") center;display: flex;align-items: center; 187 .hotel:nth-child(7n+1) .index {
188 color: #FF8124;
189 }
190
191 .hotel:nth-child(7n+2) .index {
192 color: #E4007F;
193 }
194
195 .hotel:nth-child(7n+3) .index {
196 color: #0068B7;
197 }
198
199 .hotel:nth-child(7n+4) .index {
200 color: #32B16C;
201 }
202
203 .hotel:nth-child(7n+5) .index {
204 color: #920783;
205 }
206
207 .hotel:nth-child(7n+6) .index {
208 color: #00B7EE;
209 }
210
211 .banner {
212 height: 140px;
213 background-size: cover;
214 text-align: center;
215 background: url("@/assets/booking/cl_bg.png") center;
216 display: flex;
217 align-items: center;
166 justify-content: center; 218 justify-content: center;
167 img{display: block;margin:-30px auto 0;width: auto;} 219
168 } 220 img {
169 .searchBar{position: relative;top: -30px; 221 display: block;
170 background: #FFFFFF;display: flex;padding: 20px; 222 margin: -30px auto 0;
171 border-radius: 10px;} 223 width: auto;
172 .no-border{border: none;background: #F5F7F9; 224 }
173 :deep(.el-input__wrapper){border: none;box-shadow: none;background: #F5F7F9;} 225 }
174 } 226
175 .starBox{ 227 .searchBar {
176 img{display: inline-block;margin-right: 4px} 228 position: relative;
177 } 229 top: -30px;
178 .tagbox{margin: 15px 0; 230 background: #FFFFFF;
179 a{color: #AFB5B9;font-size: 12px;} 231 display: flex;
180 span{border-radius: 13px;font-size: 12px;padding: 4px 10px;margin-right:10px;font-weight: 400;} 232 padding: 20px;
181 span:nth-child(4n){background: rgba(50, 177, 108, 0.2);color: rgba(50, 177, 108, 1);} 233 border-radius: 10px;
182 span:nth-child(4n+1){background:rgba(243, 152, 0, 0.2);color: rgba(243, 152, 0, 1);} 234 }
183 span:nth-child(4n+2){background: rgba(0, 160, 233, 0.2);color: rgba(0, 160, 233, 1);} 235
184 span:nth-child(4n+3){background: rgba(247, 64, 166, 0.2);color:rgba(247, 64, 166, 1);} 236 .no-border {
185 } 237 border: none;
186 .name.flex{align-items: center;} 238 background: #F5F7F9;
187 .name .tagbox{margin: 0 0 0 15px;} 239
240 :deep(.el-input__wrapper) {
241 border: none;
242 box-shadow: none;
243 background: #F5F7F9;
244 }
245 }
246
247 .starBox {
248 img {
249 display: inline-block;
250 margin-right: 4px
251 }
252 }
253
254 .tagbox {
255 margin: 15px 0;
256
257 a {
258 color: #AFB5B9;
259 font-size: 12px;
260 }
261
262 span {
263 border-radius: 13px;
264 font-size: 12px;
265 padding: 4px 10px;
266 margin-right: 10px;
267 font-weight: 400;
268 }
269
270 span:nth-child(4n) {
271 background: rgba(50, 177, 108, 0.2);
272 color: rgba(50, 177, 108, 1);
273 }
274
275 span:nth-child(4n+1) {
276 background: rgba(243, 152, 0, 0.2);
277 color: rgba(243, 152, 0, 1);
278 }
279
280 span:nth-child(4n+2) {
281 background: rgba(0, 160, 233, 0.2);
282 color: rgba(0, 160, 233, 1);
283 }
284
285 span:nth-child(4n+3) {
286 background: rgba(247, 64, 166, 0.2);
287 color: rgba(247, 64, 166, 1);
288 }
289 }
290
291 .name.flex {
292 align-items: center;
293 }
294
295 .name .tagbox {
296 margin: 0 0 0 15px;
297 }
298
188 .room { 299 .room {
189 background: #FAFBFD;margin: 20px 0 0;padding: 20px; 300 background: #FAFBFD;
301 margin: 20px 0 0;
302 padding: 20px;
190 border: 1px solid #E5E5E5; 303 border: 1px solid #E5E5E5;
191 .name{font-size: 20px;margin: 0 0 10px;} 304
192 .roomImg{aspect-ratio: 16/9;border-radius: 10px;overflow: hidden; 305 .name {
193 img{width: 100%;object-fit: cover;object-position: center;height: 100%;} 306 font-size: 20px;
307 margin: 0 0 10px;
308 }
309
310 .roomImg {
311 aspect-ratio: 16/9;
312 border-radius: 10px;
313 overflow: hidden;
314
315 img {
316 width: 100%;
317 object-fit: cover;
318 object-position: center;
319 height: 100%;
320 }
194 } 321 }
195 .price{color: #FF8124;font-size: 24px; 322
196 span{font-size: 36px;font-family: "DIN Alternate"} 323 .price {
324 color: #FF8124;
325 font-size: 24px;
326
327 span {
328 font-size: 36px;
329 font-family: "DIN Alternate"
330 }
331 }
332
333 .bg-lineg {
334 margin: auto;
335 border-radius: 10px;
336 text-align: center;
337 padding: 7px 2px 2px;
338 font-size: 24px;
339 width: 66px;
340 cursor: pointer;
341
342 div {
343 background: #fff;
344 font-size: 13px;
345 border-radius: 20px;
346 padding: 0 10px;
347 color: #453DEA;
348 font-weight: 500;
197 } 349 }
198 .bg-lineg{margin: auto;border-radius: 10px;text-align: center;padding: 7px 2px 2px;
199 font-size: 24px;width:66px;cursor: pointer;
200 div{background: #fff;font-size: 13px;border-radius: 20px;padding: 0 10px;
201 color: #453DEA;font-weight: 500;}
202 } 350 }
203 } 351 }
204 352
......
...@@ -8,22 +8,22 @@ ...@@ -8,22 +8,22 @@
8 }} 8 }}
9 </div> 9 </div>
10 </div> 10 </div>
11 <el-row class="pd20" :gutter="20"> 11 <el-row :gutter="20" class="pd20">
12 <el-col :span="14"> 12 <el-col :span="14">
13 <div class="border-info"> 13 <div class="border-info">
14 <div class="flex aic"> 14 <div class="flex aic">
15 <h3 class="esp">{{ item.checkIn }}</h3> 15 <h3 class="esp">{{ item.checkIn }}</h3>
16 <img class="w40px mlr20 " style="height: 40px;" src="@/assets/booking/wf.png"/> 16 <img class="w40px mlr20 " src="@/assets/booking/wf.png" style="height: 40px;"/>
17 <h3 class="esp">{{ item.checkOut }}</h3> 17 <h3 class="esp">{{ item.checkOut }}</h3>
18 </div> 18 </div>
19 <div class="flex"> 19 <div class="flex">
20 <el-image class="w150px br10 as16_9" fit="cover" :src="fillImgUrl(car.photos?.split(',')[0])"/> 20 <el-image :src="fillImgUrl(car.photos?.split(',')[0])" class="w150px br10 as16_9" fit="cover"/>
21 <div class="ml20"> 21 <div class="ml20">
22 <div class="roomType">{{ car.carType }}</div> 22 <div class="roomType">{{ car.carType }}</div>
23 <div class="tagbox"> 23 <div class="tagbox">
24 <span class="tag">{{ car.carColor }}</span> 24 <span class="tag">{{ car.carColor }}</span>
25 <span class="tag" v-show="car.checkOut==1">{{ language == 0 ?'可送车':'Can send car' }}</span> 25 <span v-show="car.checkOut==1" class="tag">{{ language == 0 ? '可送车' : 'Can send car' }}</span>
26 <span class="tag" v-show="car.checkIn==1">{{ language == 0 ?'可接车':'Can pick up' }}</span> 26 <span v-show="car.checkIn==1" class="tag">{{ language == 0 ? '可接车' : 'Can pick up' }}</span>
27 </div> 27 </div>
28 <div class="room"> 28 <div class="room">
29 <span>{{ language == 0 ? '座位数' : 'Seats' }}: {{ car.carSeat }}</span> 29 <span>{{ language == 0 ? '座位数' : 'Seats' }}: {{ car.carSeat }}</span>
...@@ -38,86 +38,86 @@ ...@@ -38,86 +38,86 @@
38 38
39 <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div> 39 <div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div>
40 <div class="border-rr mt20 pd20"> 40 <div class="border-rr mt20 pd20">
41 <el-form :model="form" :label-width="language == 0 ?'120':'200'" :rules="rules" ref="formRef"> 41 <el-form ref="formRef" :label-width="language == 0 ?'120':'200'" :model="form" :rules="rules">
42 <el-form-item :label="language==0?'车辆数量':'cars'" required prop="num"> 42 <el-form-item :label="language==0?'车辆数量':'cars'" prop="num" required>
43 <el-input-number v-model="form.num" :min="1" @change="changecarNum"/> 43 <el-input-number v-model="form.num" :min="1" @change="changecarNum"/>
44 </el-form-item> 44 </el-form-item>
45 <el-form-item :label="language==0?'是否接送':'use Type'" required prop="useType"> 45 <el-form-item :label="language==0?'是否接送':'use Type'" prop="useType" required>
46 <el-checkbox-group v-model="form.useType" @change="changeUseType"> 46 <el-checkbox-group v-model="form.useType" @change="changeUseType">
47 <el-checkbox value="0" v-if="car.checkIn == 1"> 47 <el-checkbox v-if="car.checkIn == 1" value="0">
48 {{ language == 0 ? '接站' : 'Pick up' }} 48 {{ language == 0 ? '接站' : 'Pick up' }}
49 </el-checkbox> 49 </el-checkbox>
50 <el-checkbox value="1" v-if="car.checkOut == 1">{{ language == 0 ? '送站' : 'Drop off' }} 50 <el-checkbox v-if="car.checkOut == 1" value="1">{{ language == 0 ? '送站' : 'Drop off' }}
51 </el-checkbox> 51 </el-checkbox>
52 </el-checkbox-group> 52 </el-checkbox-group>
53 </el-form-item> 53 </el-form-item>
54 54
55 <div v-show="form.useType?.indexOf('0')> -1"> 55 <div v-show="form.useType?.indexOf('0')> -1">
56 <h3 class="afterLine">{{ language==0?'接站信息':'Pick up information' }}</h3> 56 <h3 class="afterLine">{{ language == 0 ? '接站信息' : 'Pick up information' }}</h3>
57 <el-form-item :label="language==0?'用车日期':'Date'" required> 57 <el-form-item :label="language==0?'用车日期':'Date'" required>
58 <el-date-picker v-model="date1" :disabled-date="disabledDate" 58 <el-date-picker v-model="date1" :disabled-date="disabledDate"
59 type="date" 59 :placeholder="language==0?'选择日期':'Select date'"
60 :placeholder="language==0?'选择日期':'Select date'" format="YYYY-MM-DD" 60 format="YYYY-MM-DD" type="date"
61 value-format="YYYY-MM-DD"/> 61 value-format="YYYY-MM-DD"/>
62 <!-- :picker-options="pickerOptions"--> 62 <!-- :picker-options="pickerOptions"-->
63 </el-form-item> 63 </el-form-item>
64 <el-form-item :label="language==0?'用车时间':'Time'" required> 64 <el-form-item :label="language==0?'用车时间':'Time'" required>
65 <el-time-picker 65 <el-time-picker
66 v-model="revTime1" :start="car.operStart" :end="car.operEnd" 66 v-model="revTime1" :end="car.operEnd" :start="car.operStart"
67 format="HH:mm" value-format="HH:mm" @change="bindTimeChange" 67 format="HH:mm" value-format="HH:mm" @change="bindTimeChange"
68 /> 68 />
69 </el-form-item> 69 </el-form-item>
70 <el-form-item :label="language==0?'联系人':'Contacts'" required> 70 <el-form-item :label="language==0?'联系人':'Contacts'" required>
71 <el-input type="text" v-model="form.pickUpBo.contacts"/> 71 <el-input v-model="form.pickUpBo.contacts" type="text"/>
72 </el-form-item> 72 </el-form-item>
73 <el-form-item :label="language==0?'联系电话':'Phone'" required> 73 <el-form-item :label="language==0?'联系电话':'Phone'" required>
74 <el-input type="text" v-model="form.pickUpBo.phone"/> 74 <el-input v-model="form.pickUpBo.phone" type="text"/>
75 </el-form-item> 75 </el-form-item>
76 <el-form-item :label="language==0?'人数':'Person Count'" required> 76 <el-form-item :label="language==0?'人数':'Person Count'" required>
77 <el-input type="text" v-model="form.pickUpBo.count"/> 77 <el-input-number v-model="form.pickUpBo.count" type="text"/>
78 </el-form-item> 78 </el-form-item>
79 <el-form-item :label="language==0?'航班/火车班次:':'Flight/Train No'" required> 79 <el-form-item :label="language==0?'航班/火车班次:':'Flight/Train No'" required>
80 <el-input type="text" v-model="form.pickUpBo.no"/> 80 <el-input v-model="form.pickUpBo.no" type="text"/>
81 </el-form-item> 81 </el-form-item>
82 <el-form-item :label="language==0?'接机/接站地点':'Pick up/Drop off Address'" required> 82 <el-form-item :label="language==0?'接机/接站地点':'Pick up/Drop off Address'" required>
83 <el-input type="text" v-model="form.pickUpBo.noAddress"/> 83 <el-input v-model="form.pickUpBo.noAddress" type="text"/>
84 </el-form-item> 84 </el-form-item>
85 <el-form-item :label="language==0?'送达地点':'Delivery Address'" required> 85 <el-form-item :label="language==0?'送达地点':'Delivery Address'" required>
86 <el-input type="text" v-model="form.pickUpBo.deliveryAddress"/> 86 <el-input v-model="form.pickUpBo.deliveryAddress" type="text"/>
87 </el-form-item> 87 </el-form-item>
88 <el-form-item :label="language==0?'备注':'Remarks'"> 88 <el-form-item :label="language==0?'备注':'Remarks'">
89 <el-input type="textarea" rows="3" v-model="form.pickUpBo.remarks"/> 89 <el-input v-model="form.pickUpBo.remarks" rows="3" type="textarea"/>
90 </el-form-item> 90 </el-form-item>
91 </div> 91 </div>
92 <div v-show="form.useType?.indexOf('1')> -1"> 92 <div v-show="form.useType?.indexOf('1')> -1">
93 <h3 class="afterLine">{{ language==0?'送站信息':'Drop off information' }}</h3> 93 <h3 class="afterLine">{{ language == 0 ? '送站信息' : 'Drop off information' }}</h3>
94 <el-form-item :label="language==0?'用车日期':'Date'" required> 94 <el-form-item :label="language==0?'用车日期':'Date'" required>
95 <el-date-picker v-model="date2" :disabled-date="disabledDate" 95 <el-date-picker v-model="date2" :disabled-date="disabledDate"
96 type="date" 96 :placeholder="language==0?'选择日期':'Select date'"
97 :placeholder="language==0?'选择日期':'Select date'" format="YYYY-MM-DD" 97 format="YYYY-MM-DD" type="date"
98 value-format="YYYY-MM-DD"/> 98 value-format="YYYY-MM-DD"/>
99 <!-- :picker-options="pickerOptions"--> 99 <!-- :picker-options="pickerOptions"-->
100 </el-form-item> 100 </el-form-item>
101 <el-form-item :label="language==0?'用车时间':'Time'" required> 101 <el-form-item :label="language==0?'用车时间':'Time'" required>
102 <el-time-picker 102 <el-time-picker
103 v-model="revTime2" :start="car.operStart" :end="car.operEnd" 103 v-model="revTime2" :end="car.operEnd" :start="car.operStart"
104 format="HH:mm" value-format="HH:mm" @change="bindTimeChange2" 104 format="HH:mm" value-format="HH:mm" @change="bindTimeChange2"
105 /> 105 />
106 </el-form-item> 106 </el-form-item>
107 <el-form-item :label="language==0?'联系人':'Contacts'" required> 107 <el-form-item :label="language==0?'联系人':'Contacts'" required>
108 <el-input type="text" v-model="form.dropOffBo.contacts"/> 108 <el-input v-model="form.dropOffBo.contacts" type="text"/>
109 </el-form-item> 109 </el-form-item>
110 <el-form-item :label="language==0?'联系电话':'Phone'" required> 110 <el-form-item :label="language==0?'联系电话':'Phone'" required>
111 <el-input type="text" v-model="form.dropOffBo.phone"/> 111 <el-input v-model="form.dropOffBo.phone" type="text"/>
112 </el-form-item> 112 </el-form-item>
113 <el-form-item label="人数" required> 113 <el-form-item label="人数" required>
114 <el-input type="text" v-model="form.dropOffBo.count"/> 114 <el-input v-model="form.dropOffBo.count" type="text"/>
115 </el-form-item> 115 </el-form-item>
116 <el-form-item label="送达地点" required> 116 <el-form-item label="送达地点" required>
117 <el-input type="text" v-model="form.dropOffBo.deliveryAddress"/> 117 <el-input v-model="form.dropOffBo.deliveryAddress" type="text"/>
118 </el-form-item> 118 </el-form-item>
119 <el-form-item :label="language==0?'备注':'Remarks'"> 119 <el-form-item :label="language==0?'备注':'Remarks'">
120 <el-input type="textarea" rows="3" v-model="form.dropOffBo.remarks"/> 120 <el-input v-model="form.dropOffBo.remarks" rows="3" type="textarea"/>
121 </el-form-item> 121 </el-form-item>
122 </div> 122 </div>
123 </el-form> 123 </el-form>
...@@ -127,14 +127,14 @@ ...@@ -127,14 +127,14 @@
127 <div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div> 127 <div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div>
128 <div class="border-rr mt20 pd20 ccitemBox"> 128 <div class="border-rr mt20 pd20 ccitemBox">
129 <label v-show="form.useType.indexOf('0')>-1"> {{ language == 0 ? '接站车辆费' : 'Room fee' }} 129 <label v-show="form.useType.indexOf('0')>-1"> {{ language == 0 ? '接站车辆费' : 'Room fee' }}
130 <span class="fr">{{language == 0 ? '¥' : '€'}}{{form.pickUpBo.total}}</span> 130 <span class="fr">{{ language == 0 ? '¥' : '€' }}{{ form.pickUpBo.total }}</span>
131 </label> 131 </label>
132 <div v-show="form.useType.indexOf('0')>-1" class="ccitem"> 132 <div v-show="form.useType.indexOf('0')>-1" class="ccitem">
133 {{ car.name }} 133 {{ car.name }}
134 <span >{{form.num}} *{{ language == 0 ? '¥' : '€' }}{{ car.inPrice }}</span> 134 <span>{{ form.num }} *{{ language == 0 ? '¥' : '€' }}{{ car.inPrice }}</span>
135 </div> 135 </div>
136 <label v-show="form.useType.indexOf('1')>-1">{{ language == 0 ? '送站车辆费' : 'Extra bed fee' }} 136 <label v-show="form.useType.indexOf('1')>-1">{{ language == 0 ? '送站车辆费' : 'Extra bed fee' }}
137 <span class="fr">{{language == 0 ? '¥' : '€'}}{{ form.dropOffBo.total }}</span> 137 <span class="fr">{{ language == 0 ? '¥' : '€' }}{{ form.dropOffBo.total }}</span>
138 </label> 138 </label>
139 139
140 <div v-show="form.useType.indexOf('1')>-1" class="ccitem"> 140 <div v-show="form.useType.indexOf('1')>-1" class="ccitem">
...@@ -151,14 +151,18 @@ ...@@ -151,14 +151,18 @@
151 </el-card> 151 </el-card>
152 152
153 <el-card class="mt30"> 153 <el-card class="mt30">
154 <el-row justify="space-between" align="middle"> 154 <el-row align="middle" justify="space-between">
155 <el-col :span="12"> 155 <el-col :span="12">
156 <label>{{ language == 0 ? '共计金额' : 'Total' }} 156 <label>{{ language == 0 ? '共计金额' : 'Total' }}
157 <span class=" text-warning"> {{ language == 0 ? '¥' : '€' }}<span class="bigMoney">{{ money }}</span></span> 157 <span class=" text-warning"> {{ language == 0 ? '¥' : '€' }}<span class="bigMoney">{{
158 money
159 }}</span></span>
158 </label> 160 </label>
159 </el-col> 161 </el-col>
160 <el-col :span="12" class="text-right"> 162 <el-col :span="12" class="text-right">
161 <el-button type="primary" class="btn-lineG w200px" @click="submit" round :loading="payLoading">{{ language == 0 ?'确认付款':'Pay' }}</el-button> 163 <el-button :loading="payLoading" class="btn-lineG w200px" round type="primary" @click="submit">
164 {{ language == 0 ? '确认付款' : 'Pay' }}
165 </el-button>
162 </el-col> 166 </el-col>
163 </el-row> 167 </el-row>
164 </el-card> 168 </el-card>
...@@ -175,6 +179,7 @@ import {checkResidueRoom, getBaseInfoByActiveId, newsSubmitOrderHotel, submitOrd ...@@ -175,6 +179,7 @@ import {checkResidueRoom, getBaseInfoByActiveId, newsSubmitOrderHotel, submitOrd
175 import dayjs from 'dayjs' 179 import dayjs from 'dayjs'
176 import {ElMessage, ElMessageBox} from "element-plus"; 180 import {ElMessage, ElMessageBox} from "element-plus";
177 import useUserStore from "@/store/modules/user"; 181 import useUserStore from "@/store/modules/user";
182
178 const payLoading = ref(false) 183 const payLoading = ref(false)
179 const user = useUserStore().user 184 const user = useUserStore().user
180 const language = useStorage('language', 0) 185 const language = useStorage('language', 0)
...@@ -189,11 +194,11 @@ const date2 = ref('') ...@@ -189,11 +194,11 @@ const date2 = ref('')
189 const form = ref({ 194 const form = ref({
190 num: 1, 195 num: 1,
191 pickUpBo: { 196 pickUpBo: {
192 carsList:[], 197 carsList: [],
193 total: 0 198 total: 0
194 }, 199 },
195 dropOffBo: { 200 dropOffBo: {
196 carsList:[], 201 carsList: [],
197 total: 0 202 total: 0
198 }, 203 },
199 useType: [] 204 useType: []
...@@ -224,10 +229,19 @@ function changecarNum(e) { ...@@ -224,10 +229,19 @@ function changecarNum(e) {
224 var m1 = 0 229 var m1 = 0
225 var m2 = 0 230 var m2 = 0
226 if (form.value.useType.indexOf('0') > -1) { 231 if (form.value.useType.indexOf('0') > -1) {
232 if (language.value == 0) {
227 m1 = form.value.num * car.value.inPrice 233 m1 = form.value.num * car.value.inPrice
234 } else {
235 m1 = form.value.num * car.value.inPriceEn
236 }
228 } 237 }
229 if (form.value.useType.indexOf('1') > -1) { 238 if (form.value.useType.indexOf('1') > -1) {
239 if (language.value == 0) {
230 m2 = form.value.num * car.value.outPrice 240 m2 = form.value.num * car.value.outPrice
241 } else {
242 m2 = form.value.num * car.value.outPriceEn
243
244 }
231 } 245 }
232 form.value.pickUpBo.total = m1.toFixed(2) 246 form.value.pickUpBo.total = m1.toFixed(2)
233 form.value.dropOffBo.total = m2.toFixed(2) 247 form.value.dropOffBo.total = m2.toFixed(2)
...@@ -243,21 +257,24 @@ function bindTimeChange(e) { ...@@ -243,21 +257,24 @@ function bindTimeChange(e) {
243 function bindTimeChange2(e) { 257 function bindTimeChange2(e) {
244 revTime2.value = e 258 revTime2.value = e
245 } 259 }
260
246 function initDays() { 261 function initDays() {
247 getBaseInfoByActiveId(route.params.cptId).then(res=>{ 262 getBaseInfoByActiveId(route.params.cptId).then(res => {
248 lform.value = res.data 263 lform.value = res.data
249 }).catch(err=>{ 264 }).catch(err => {
250 console.log(err) 265 console.log(err)
251 }) 266 })
252 } 267 }
268
253 function disabledDate(date) { 269 function disabledDate(date) {
254 // const today = dayjs().format('YYYY-MM-DD') 270 // const today = dayjs().format('YYYY-MM-DD')
255 if (lform.value.carStart) { 271 if (lform.value.carStart) {
256 return (date.getTime() < dayjs(lform.value.carStart).valueOf())||(date.getTime() > dayjs(lform.value.carEnd).valueOf()) 272 return (date.getTime() < dayjs(lform.value.carStart).valueOf()) || (date.getTime() > dayjs(lform.value.carEnd).valueOf())
257 273
258 } 274 }
259 return true 275 return true
260 } 276 }
277
261 function submit() { 278 function submit() {
262 if (!user) { 279 if (!user) {
263 useUserStore().setReLogin() 280 useUserStore().setReLogin()
...@@ -276,6 +293,7 @@ function submit() { ...@@ -276,6 +293,7 @@ function submit() {
276 pushFrom() 293 pushFrom()
277 }) 294 })
278 } 295 }
296
279 function pushFrom() { 297 function pushFrom() {
280 payLoading.value = true 298 payLoading.value = true
281 var obj = { 299 var obj = {
...@@ -314,15 +332,15 @@ function pushFrom() { ...@@ -314,15 +332,15 @@ function pushFrom() {
314 form.value.lavId = item.value.id 332 form.value.lavId = item.value.id
315 form.value.checkIn = item.value.checkIn 333 form.value.checkIn = item.value.checkIn
316 form.value.checkOut = item.value.checkOut 334 form.value.checkOut = item.value.checkOut
317 submitOrderCar(form.value).then(res=>{ 335 submitOrderCar(form.value).then(res => {
318 payLoading.value = false 336 payLoading.value = false
319 if (res.data && res.data.total != -100) { 337 if (res.data && res.data.total != -100) {
320 router.push({ 338 router.push({
321 name: 'bookingPay', 339 name: 'bookingPay',
322 query: { 340 query: {
323 orderId:res.data.orderId, 341 orderId: res.data.orderId,
324 money:res.data.total, 342 money: res.data.total,
325 type:'car' 343 type: 'car'
326 } 344 }
327 }) 345 })
328 } else { 346 } else {
...@@ -332,7 +350,7 @@ function pushFrom() { ...@@ -332,7 +350,7 @@ function pushFrom() {
332 } 350 }
333 </script> 351 </script>
334 352
335 <style scoped lang="scss"> 353 <style lang="scss" scoped>
336 .bigMoney { 354 .bigMoney {
337 font-size: 36px !important; 355 font-size: 36px !important;
338 font-family: 'DIN Alternate'; 356 font-family: 'DIN Alternate';
......
...@@ -196,9 +196,9 @@ ...@@ -196,9 +196,9 @@
196 {{ form.pickUpBo.noAddress }} 196 {{ form.pickUpBo.noAddress }}
197 </div> 197 </div>
198 <div>{{ language == 0 ? '送达地点' : 'Delivery Place' }} {{ form.pickUpBo.deliveryAddress }}</div> 198 <div>{{ language == 0 ? '送达地点' : 'Delivery Place' }} {{ form.pickUpBo.deliveryAddress }}</div>
199 <div>{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.dropOffBo.contacts }}</div> 199 <div>{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.pickUpBo.contacts }}</div>
200 <div>{{ language == 0 ? '联系电话' : 'Contact Phone' }}{{ form.dropOffBo.phone }}</div> 200 <div>{{ language == 0 ? '联系电话' : 'Contact Phone' }}{{ form.pickUpBo.phone }}</div>
201 <div>{{ language == 0 ? '备注' : 'Remarks' }}{{ form.dropOffBo.remarks || '-' }}</div> 201 <div>{{ language == 0 ? '备注' : 'Remarks' }}{{ form.pickUpBo.remarks || '-' }}</div>
202 </div> 202 </div>
203 </el-col> 203 </el-col>
204 <el-col v-if="form.dropOffBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24"> 204 <el-col v-if="form.dropOffBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24">
......
1 <template>
2 <div class="collapsebox">
3 <div class="pd20">
4 <div class="fl mb20" style="display: flex;">
5 <el-input
6 v-model.trim="query.text"
7 :placeholder="language==0?'请输入邮箱或联系方式':'Please enter email or contact information'"
8 :prefix-icon="Search"
9 clearable
10 size="small"
11 style="width: 260px"/>
12 <el-button size="small" style="margin-left: 20px" type="primary" @click="getList">
13 {{ language == 0 ? '查询' : 'SEARCH' }}
14 </el-button>
15 </div>
16 <el-table :data="list" border>
17 <el-table-column :label="language==0?'序号':'Serial'" :min-width="language==0?60:80" align="center"
18 type="index"/>
19 <el-table-column :label="language==0?'服务类型':'Type Of Service'" :min-width="language==0? 90:150"
20 align="center"
21 prop="serviceTypeStr">
22 <template #default="{row}">
23 {{ row.serviceType == 1 ? language == 0 ? '接机' : 'Pick-up' : language == 0 ? '送机' : 'Drop-off' }}
24 </template>
25 </el-table-column>
26 <el-table-column :label="language==0?'联系人':'Contacts'" align="center" prop="name" width="110">
27 </el-table-column>
28 <el-table-column :label="language==0?'联系方式':'Contact Way'" :min-width="language==0?100:130" align="center"
29 prop="phone">
30 </el-table-column>
31 <el-table-column :label="language==0?'抵达时间':'Time Of Arrival'" align="center" width="180">
32 <template #default="{row}">
33 {{ row.arrivalDate + ' ' + row.arrivaTime }}
34 </template>
35 </el-table-column>
36 <el-table-column :label="language==0?'人数':'Number Of People'" :min-width="language==0?120:170" align="center"
37 prop="counts">
38 </el-table-column>
39 <el-table-column :label="language==0?'航班 / 车次':'Flight / train number'" :min-width="language==0?120:190"
40 align="center"
41 prop="flight">
42 </el-table-column>
43 <el-table-column :label="language==0?'机场 / 火车站':'Airport / Train station'" :min-width="language==0?120:200"
44 align="center"
45 prop="stationName">
46 </el-table-column>
47 <el-table-column :label="language==0?'航站楼':'Terminal'" align="center" prop="terminal" width="160">
48 </el-table-column>
49 <el-table-column :label="language==0?'出发地':' Place Of Departure'" :min-width="language==0?120:200"
50 align="center" prop="hotle">
51 <template #default="{row}">
52 {{ row.serviceType != 1 ? row.hotle : row.stationName }}
53 </template>
54 </el-table-column>
55 <el-table-column :label="language==0?'目的地':'Destination'" :min-width="language==0?120:200"
56 align="center" prop="hotle">
57 <template #default="{row}">
58 {{ row.serviceType == 1 ? row.hotle : row.stationName }}
59 </template>
60 </el-table-column>
61 </el-table>
62 <PaginationPc
63 v-show="total>0"
64 v-model:limit="query.pageSize"
65 v-model:page="query.pageNum"
66 :total="total"
67 @pagination="getList"
68 />
69 </div>
70 </div>
71 </template>
72
73 <script setup>
74 import {Search} from "@element-plus/icons-vue";
75 import {useStorage} from "@vueuse/core/index"
76 import {aircraft} from "@/apiPc/match";
77 import PaginationPc from "@/components/PaginationPc";
78 import {useRoute} from 'vue-router'
79
80 const language = useStorage('language', 0)
81 const list = ref([])
82 const total = ref(0)
83 const route = useRoute()
84 const query = ref({
85 text: '',
86 pageSize: 10,
87 pageNum: 1,
88 cptId: route.query.matchId
89 })
90
91 function getList() {
92 aircraft(query.value).then(res => {
93 list.value = res
94 total.value = res.total
95 })
96 }
97 </script>
98
99 <style lang="scss" scoped>
100 .table {
101 width: 100%;
102 border-left: 1px solid #e1e1e1;
103 border-top: 1px solid #e1e1e1;
104
105 th {
106 background: #eee;
107 padding: 6px 10px;
108 text-transform: uppercase;
109 border-right: 1px solid #e1e1e1;
110 border-bottom: 1px solid #e1e1e1;
111 font-size: 15px;
112 }
113
114 td {
115 padding: 6px 10px;
116 border-right: 1px solid #e1e1e1;
117 font-size: 15px;
118 border-bottom: 1px solid #e1e1e1;
119 vertical-align: middle;
120 text-align: center;
121
122 span {
123 margin-right: 10px
124 }
125
126 span::after {
127 content: ','
128 }
129
130 span:last-child::after {
131 content: ''
132 }
133 }
134 }
135 </style>
1 <template>
2 <div class="collapsebox">
3 <div class="pd20">
4 <div class="fl mb20" style="display: flex;">
5 <el-input
6 v-model.trim="query.text"
7 :placeholder="language==0?'请输入邮箱或联系方式':'Please enter email or contact information'"
8 :prefix-icon="Search"
9 clearable
10 size="small"
11 style="width: 260px;"/>
12 <el-button size="small" style="margin-left: 20px" type="primary" @click="getList">
13 {{ language == 0 ? '查询' : 'SEARCH' }}
14 </el-button>
15 </div>
16 <el-table :data="list" border>
17 <el-table-column :label="language==0?'序号':'Serial'" :min-width="language==0?60:80" align="center"
18 type="index"/>
19 <el-table-column :label="language==0?'酒店名称':'Hotel Name'" align="center" min-width="150"
20 prop="hotelName"></el-table-column>
21 <el-table-column :label="language==0?'联系人':'Contacts'" align="center" min-width="110" prop="contacts">
22 </el-table-column>
23 <el-table-column :label="language==0?'联系方式':'Contact Way'" align="center" prop="phone"
24 width="120">
25 </el-table-column>
26
27 <el-table-column :label="language==0?'预留日期':'Reservation Date'" align="center" min-width="120"
28 prop="reservationDate">
29 </el-table-column>
30 <el-table-column :label="language==0?'房型':'Room Type'" :min-width="isNational?120:240" align="center"
31 prop="roomType">
32 </el-table-column>
33 <el-table-column :label="language==0?'数量':'Quantity'" align="center" prop="num" width="160">
34 </el-table-column>
35 <el-table-column :label="language==0?'状态':'State'" align="center" prop="status" width="160">
36 <template #default="{row}">
37 {{ language == 0 ? '已预留' : 'Reserved' }}
38 </template>
39 </el-table-column>
40 </el-table>
41 <PaginationPc
42 v-show="total>0"
43 v-model:limit="query.pageSize"
44 v-model:page="query.pageNum"
45 :total="total"
46 @pagination="getList"
47 />
48 </div>
49 </div>
50 </template>
51
52 <script setup>
53 import {Search} from "@element-plus/icons-vue";
54 import {useStorage} from "@vueuse/core/index"
55 import {hotelList} from "@/apiPc/match";
56 import PaginationPc from "@/components/PaginationPc";
57 import {useRoute} from 'vue-router'
58
59 const language = useStorage('language', 0)
60 const list = ref([])
61 const total = ref(0)
62 const route = useRoute()
63 const query = ref({
64 projectName: '',
65 pageSize: 10,
66 pageNum: 1,
67 activeId: route.query.matchId
68 })
69
70 function getList() {
71 // query.value.text = encodeURIComponent(query.value.text1)
72 hotelList(query.value).then(res => {
73 list.value = res
74 total.value = res.total
75 })
76 }
77 </script>
78
79 <style lang="scss" scoped>
80 .table {
81 width: 100%;
82 border-left: 1px solid #e1e1e1;
83 border-top: 1px solid #e1e1e1;
84
85 th {
86 background: #eee;
87 padding: 6px 10px;
88 text-transform: uppercase;
89 border-right: 1px solid #e1e1e1;
90 border-bottom: 1px solid #e1e1e1;
91 font-size: 15px;
92 }
93
94 td {
95 padding: 6px 10px;
96 border-right: 1px solid #e1e1e1;
97 font-size: 15px;
98 border-bottom: 1px solid #e1e1e1;
99 vertical-align: middle;
100 text-align: center;
101
102 span {
103 margin-right: 10px
104 }
105
106 span::after {
107 content: ','
108 }
109
110 span:last-child::after {
111 content: ''
112 }
113 }
114 }
115 </style>
1 <template> 1 <template>
2 <div style="filter: opacity(1)"> 2 <div style="filter: opacity(1)">
3 <el-row :gutter="14" v-if="language==0"> 3 <el-row v-if="language==0" class="btnbox" justify='space-between'>
4 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 4 <el-col :lg="3" :md="7" :sm="11" :xs="11">
5 <div class="funcBtn" @click="popRemark(0)"> 5 <div class="funcBtn" @click="popRemark(0)">
6 <img src="@/assets/dance/btn04.png"/> 6 <img src="@/assets/dance/btn04.png"/>
7 <h4>票务预订</h4> 7 <h4>票务预订</h4>
8 </div> 8 </div>
9 </el-col> 9 </el-col>
10 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 10 <el-col :lg="3" :md="7" :sm="11" :xs="11">
11 <div class="funcBtn" @click="popRemark(1)"> 11 <div class="funcBtn" @click="popRemark(1)">
12 <img src="@/assets/dance/btn01.png"/> 12 <img src="@/assets/dance/btn01.png"/>
13 <h4>酒店预订</h4> 13 <h4>酒店预订</h4>
14 </div> 14 </div>
15 </el-col> 15 </el-col>
16 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 16 <el-col :lg="3" :md="7" :sm="11" :xs="11">
17 <div class="funcBtn" @click="popRemark(2)"> 17 <div class="funcBtn" @click="popRemark(2)">
18 <img src="@/assets/dance/btn02.png"/> 18 <img src="@/assets/dance/btn02.png"/>
19 <h4>车辆预订</h4> 19 <h4>车辆预订</h4>
20 </div> 20 </div>
21 </el-col> 21 </el-col>
22 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 22 <el-col :lg="3" :md="7" :sm="11" :xs="11">
23 <div class="funcBtn" @click="popRemark(6)">
24 <img src="@/assets/dance/btn07.png"/>
25 <h4>预订查询</h4>
26 </div>
27 </el-col>
28 <el-col :lg="3" :md="7" :sm="11" :xs="11">
23 <div class="funcBtn" @click="popRemark(3)"> 29 <div class="funcBtn" @click="popRemark(3)">
24 <img src="@/assets/dance/btn03.png"/> 30 <img src="@/assets/dance/btn03.png"/>
25 <h4>餐饮预订</h4> 31 <h4>餐饮预订</h4>
26 </div> 32 </div>
27 </el-col> 33 </el-col>
28 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 34 <el-col :lg="3" :md="7" :sm="11" :xs="11">
29 <div class="funcBtn" @click="popRemark(4)"> 35 <div class="funcBtn" @click="popRemark(4)">
30 <img src="@/assets/dance/btn05.png"/> 36 <img src="@/assets/dance/btn05.png"/>
31 <h4>化妆预约</h4> 37 <h4>化妆预约</h4>
32 </div> 38 </div>
33 </el-col> 39 </el-col>
34 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 40 <el-col :lg="3" :md="7" :sm="11" :xs="11">
35 <div class="funcBtn" @click="popRemark(5)"> 41 <div class="funcBtn" @click="popRemark(5)">
36 <img src="@/assets/dance/btn06.png"/> 42 <img src="@/assets/dance/btn06.png"/>
37 <h4>拍照预约</h4> 43 <h4>拍照预约</h4>
38 </div> 44 </div>
39 </el-col> 45 </el-col>
40 </el-row> 46 </el-row>
41 <el-row :gutter="14" v-else> 47 <el-row v-else class="btnbox" justify='space-between'>
42 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 48 <el-col :lg="3" :md="7" :sm="11" :xs="11">
43 <div class="funcBtn" @click="popRemark(0)"> 49 <div class="funcBtn" @click="popRemark(0)">
44 <img src="@/assets/dance/btn04.png"/> 50 <img src="@/assets/dance/btn04.png"/>
45 <h4>TICKET BOOKING</h4> 51 <h4>TICKET BOOKING</h4>
46 </div> 52 </div>
47 </el-col> 53 </el-col>
48 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 54 <el-col :lg="3" :md="7" :sm="11" :xs="11">
49 <div class="funcBtn" @click="popRemark(1)"> 55 <div class="funcBtn" @click="popRemark(1)">
50 <img src="@/assets/dance/btn01.png"/> 56 <img src="@/assets/dance/btn01.png"/>
51 <h4>HOTEL RESERVATION</h4> 57 <h4>HOTEL RESERVATION</h4>
52 </div> 58 </div>
53 </el-col> 59 </el-col>
54 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 60 <el-col :lg="3" :md="7" :sm="11" :xs="11">
55 <div class="funcBtn" @click="popRemark(2)"> 61 <div class="funcBtn" @click="popRemark(2)">
56 <img src="@/assets/dance/btn02.png"/> 62 <img src="@/assets/dance/btn02.png"/>
57 <h4>TRANSPORTATION RESERVATION</h4> 63 <h4>TRANSPORTATION RESERVATION</h4>
58 </div> 64 </div>
59 </el-col> 65 </el-col>
60 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 66 <el-col :lg="3" :md="7" :sm="11" :xs="11">
67 <div class="funcBtn" @click="popRemark(6)">
68 <img src="@/assets/dance/btn07.png"/>
69 <h4>RESERVATION SEARCH</h4>
70 </div>
71 </el-col>
72 <el-col :lg="3" :md="7" :sm="11" :xs="11">
61 <div class="funcBtn" @click="popRemark(3)"> 73 <div class="funcBtn" @click="popRemark(3)">
62 <img src="@/assets/dance/btn03.png"/> 74 <img src="@/assets/dance/btn03.png"/>
63 <h4>DINING RESERVATION</h4> 75 <h4>DINING RESERVATION</h4>
64 </div> 76 </div>
65 </el-col> 77 </el-col>
66 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 78 <el-col :lg="3" :md="7" :sm="11" :xs="11">
67 <div class="funcBtn" @click="popRemark(4)"> 79 <div class="funcBtn" @click="popRemark(4)">
68 <img src="@/assets/dance/btn05.png"/> 80 <img src="@/assets/dance/btn05.png"/>
69 <h4>MAKEUP APPOINTMENT</h4> 81 <h4>MAKEUP APPOINTMENT</h4>
70 </div> 82 </div>
71 </el-col> 83 </el-col>
72 <el-col :lg="4" :md="8" :sm="12" :xs="12"> 84 <el-col :lg="3" :md="7" :sm="11" :xs="11">
73 <div class="funcBtn" @click="popRemark(5)"> 85 <div class="funcBtn" @click="popRemark(5)">
74 <img src="@/assets/dance/btn06.png"/> 86 <img src="@/assets/dance/btn06.png"/>
75 <h4>PHOTOGRAPHY APPOINTMENT</h4> 87 <h4>PHOTOGRAPHY APPOINTMENT</h4>
...@@ -79,10 +91,10 @@ ...@@ -79,10 +91,10 @@
79 </div> 91 </div>
80 <order-remark ref="orderRemarkRef" @submit="goBooking"/> 92 <order-remark ref="orderRemarkRef" @submit="goBooking"/>
81 93
82 <!-- <div class="fixedKP" @click="addInvoice">--> 94 <!-- <div class="fixedKP" @click="addInvoice">-->
83 <!-- <img src="@/assets/img/kp.svg"/>--> 95 <!-- <img src="@/assets/img/kp.svg"/>-->
84 <!-- 开票--> 96 <!-- 开票-->
85 <!-- </div>--> 97 <!-- </div>-->
86 </template> 98 </template>
87 99
88 <script setup> 100 <script setup>
...@@ -122,10 +134,19 @@ onMounted(() => { ...@@ -122,10 +134,19 @@ onMounted(() => {
122 134
123 function building() { 135 function building() {
124 ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.') 136 ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.')
125 return 137
126 } 138 }
127 139
128 function popRemark(type) { 140 function popRemark(type) {
141 if (type == 6) {
142 return router.push({
143 path: '/match/list/reservationSearch',
144 query: {
145 matchId: props.matchId,
146 }
147 })
148 }
149
129 if (!form.value) { 150 if (!form.value) {
130 building() 151 building()
131 return 152 return
...@@ -135,10 +156,9 @@ function popRemark(type) { ...@@ -135,10 +156,9 @@ function popRemark(type) {
135 || (form.value.isCarView == 0 && type == '2') 156 || (form.value.isCarView == 0 && type == '2')
136 || (form.value.isFoodView == 0 && type == '3') 157 || (form.value.isFoodView == 0 && type == '3')
137 || (form.value.isMealView == 0 && type == '4') 158 || (form.value.isMealView == 0 && type == '4')
138 || (form.value.isPhotoView == 0&&type == '5') 159 || (form.value.isPhotoView == 0 && type == '5')
139 || (form.value.isTicket==0 &type == '0') 160 || (form.value.isTicket == 0 && type == '0')
140 ) 161 ) {
141 {
142 building() 162 building()
143 return 163 return
144 } 164 }
...@@ -184,7 +204,7 @@ function goBooking(n) { ...@@ -184,7 +204,7 @@ function goBooking(n) {
184 } 204 }
185 } 205 }
186 206
187 function addInvoice(){ 207 function addInvoice() {
188 router.push({ 208 router.push({
189 name: 'invoice', 209 name: 'invoice',
190 query: { 210 query: {
...@@ -194,15 +214,38 @@ function addInvoice(){ ...@@ -194,15 +214,38 @@ function addInvoice(){
194 } 214 }
195 </script> 215 </script>
196 216
197 <style scoped lang="scss"> 217 <style lang="scss" scoped>
198 h4 { 218 h4 {
199 padding: 0 10px; 219 padding: 0 10px;
200 } 220 }
201 .fixedKP{position: fixed;background: linear-gradient(-90deg, #8623FC, #453DEA);left: 0; 221
202 top:450px;cursor: pointer; 222 //.btnbox {
203 color: #fff;border-radius: 50%;width: 60px;height: 60px;text-align: center; 223 // .el-col-lg-4 {
204 img{width: 26px;height: 26px;display: block;margin:10px auto 0px;} 224 // max-width: 14.28%;
225 // flex: 0 0 14.28%;
226 // }
227 //}
228
229 .fixedKP {
230 position: fixed;
231 background: linear-gradient(-90deg, #8623FC, #453DEA);
232 left: 0;
233 top: 450px;
234 cursor: pointer;
235 color: #fff;
236 border-radius: 50%;
237 width: 60px;
238 height: 60px;
239 text-align: center;
240
241 img {
242 width: 26px;
243 height: 26px;
244 display: block;
245 margin: 10px auto 0px;
246 }
247
205 font-size: 13px; 248 font-size: 13px;
206 box-shadow: 0 0 10px rgba(0,0,0,0.6); 249 box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
207 } 250 }
208 </style> 251 </style>
......
1 <template>
2 <div class="box mb20">
3 <el-card :body-style="{'padding':'0'}">
4 <div class="lineHead">
5 <ul>
6 <li v-for="(l,i) in menu" :key="l.name" :class="active==i?'active':''" @click="changeMenu(l,i)">
7 {{ language == 0 ? l.cn : l.en }}
8 </li>
9 </ul>
10 </div>
11
12 <HotTable v-if="active==0"/>
13 <AirportPickupTable v-if="active==1"/>
14 </el-card>
15
16 </div>
17 </template>
18 <script lang="ts" setup>
19 import {useStorage} from "@vueuse/core/index";
20 import HotTable from '@/viewsPc/match/components/hotTable.vue'
21 import AirportPickupTable from '@/viewsPc/match/components/airportPickupTable.vue'
22
23 const language = useStorage('language', 0)
24 const active = ref(0)
25 const menu = ref([
26 {cn: '酒店预订查询', active: 0, en: 'Hotel Reservation Summary'},
27 {cn: '接送机预订查询', active: 1, en: 'Transfer Reservation Summary'}
28 ])
29
30
31 function changeMenu(v, i) {
32 active.value = i
33 }
34 </script>
35
36 <style lang="scss" scoped>
37 .box {
38 width: 1600px;
39 margin-top: 40px;
40 }
41 </style>
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!