a0288c1b by zhangmeng

Merge branch '线上版本修复' into devmatch

2 parents 42f91580 fd3f4520
...@@ -469,11 +469,11 @@ ...@@ -469,11 +469,11 @@
469 <div v-if="payType == '2'&&wePayCodeUrl"> 469 <div v-if="payType == '2'&&wePayCodeUrl">
470 <div class="payImgbox flexCenter"> 470 <div class="payImgbox flexCenter">
471 <div> 471 <div>
472 <img :src="wePayCodeUrl" class="border" width="260"> 472 <img :src="wePayCodeUrl" class="border payImg1" width="260">
473 <img class="mt20" src="@/assets/img/sm.png"> 473 <img class="mt20 payImg2" src="@/assets/img/sm.png">
474 </div> 474 </div>
475 <div class="ml20"> 475 <div class="ml20">
476 <img height="360" src="@/assets/img/rr.jpg"> 476 <img class="payImg3" height="360" src="@/assets/img/rr.jpg">
477 </div> 477 </div>
478 </div> 478 </div>
479 <div v-if="language==0" class="tip text-center text-danger"> 479 <div v-if="language==0" class="tip text-center text-danger">
...@@ -1186,4 +1186,24 @@ const showSJ = () => { ...@@ -1186,4 +1186,24 @@ const showSJ = () => {
1186 .price { 1186 .price {
1187 color: orange; 1187 color: orange;
1188 } 1188 }
1189
1190
1191 @media screen and (max-width: 768px) {
1192 .payImgbox {
1193 width: 100%;
1194
1195 .payImg1 {
1196 width: 40vw;
1197 }
1198
1199 .payImg2 {
1200 width: 40vw;
1201 }
1202
1203 .payImg3 {
1204 width: 40vw;
1205 height: auto;
1206 }
1207 }
1208 }
1189 </style> 1209 </style>
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
22 <div> 22 <div>
23 <p>票档:{{ ticketForm.extJson?.atName }}</p> 23 <p>票档:{{ ticketForm.extJson?.atName }}</p>
24 <p>场馆:{{ ticketForm.extJson?.atsName }}</p> 24 <p>场馆:{{ ticketForm.extJson?.atsName }}</p>
25 <p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p> 25 <p>场次:{{ ticketForm.extJson?.sessionType == '1000' ? '日间场' : '夜间场' }}</p>
26 <p>票型:{{ ticketForm.extJson?.atstName }}</p> 26 <p>票型:{{ ticketForm.extJson?.atstName }}</p>
27 </div> 27 </div>
28 <div> 28 <div>
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
34 <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }} 34 <el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }}
35 </el-col> 35 </el-col>
36 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 36 <el-col :lg="8" :md="12" :sm="12" :xs="24">
37 共计:{{ (totalMoney*1).toFixed(2) }}{{ 37 共计:{{ (totalMoney * 1).toFixed(2) }}{{
38 paymentType == 1 ? '¥' : '€' 38 paymentType == 1 ? '¥' : '€'
39 }} 39 }}
40 </el-col> 40 </el-col>
...@@ -51,7 +51,9 @@ ...@@ -51,7 +51,9 @@
51 class="mw500" 51 class="mw500"
52 > 52 >
53 <el-form-item :label="language==0 ?'开票金额':'Amount'"> 53 <el-form-item :label="language==0 ?'开票金额':'Amount'">
54 <span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ paymentType != 3?ticketForm.total:ticketForm.totalEn }}</span> 54 <span class="bigprice">{{
55 paymentType != 3 ? '¥' : '€'
56 }}{{ paymentType != 3 ? ticketForm.total : ticketForm.totalEn }}</span>
55 </el-form-item> 57 </el-form-item>
56 58
57 <el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required> 59 <el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required>
...@@ -475,4 +477,5 @@ function goBack() { ...@@ -475,4 +477,5 @@ function goBack() {
475 line-height: 1; 477 line-height: 1;
476 font-family: "DIN Alternate"; 478 font-family: "DIN Alternate";
477 } 479 }
480
478 </style> 481 </style>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
23 </div> 23 </div>
24 24
25 <div class="form"> 25 <div class="form">
26 <el-form ref="formRef" :model="orderForm" :rules="rules" label-width="140px"> 26 <el-form ref="formRef" :model="orderForm" :rules="rules" label-position="top" label-width="130px">
27 <div v-if="TickForm2.ticketType == '1'"> 27 <div v-if="TickForm2.ticketType == '1'">
28 <el-form-item :label="language == 0 ? '桌号' : 'Table'"> 28 <el-form-item :label="language == 0 ? '桌号' : 'Table'">
29 29
...@@ -725,12 +725,6 @@ div { ...@@ -725,12 +725,6 @@ div {
725 cursor: pointer 725 cursor: pointer
726 } 726 }
727 727
728 @media screen and (max-width: 768px) {
729 .container {
730 width: 100%;
731 }
732 }
733
734 .rightBox { 728 .rightBox {
735 .info { 729 .info {
736 background: rgba(69, 61, 234, 0.04); 730 background: rgba(69, 61, 234, 0.04);
...@@ -741,4 +735,49 @@ div { ...@@ -741,4 +735,49 @@ div {
741 margin-top: 30px; 735 margin-top: 30px;
742 } 736 }
743 } 737 }
738
739 @media screen and (max-width: 768px) {
740 .container {
741 width: 100%;
742
743 :deep(.form) {
744 padding: 30px 0 !important;
745
746 form {
747 padding: 10px;
748 }
749 }
750
751 .footer {
752 display: block;
753 width: 100%;
754 height: auto;
755 padding: 20px;
756
757 div {
758 width: 100%;
759 }
760
761 .goBack {
762 width: 140px;
763 position: relative;
764 height: 40px;
765 top: 0;
766 left: 0%;
767 margin: 10px 0;
768 }
769
770 .pay {
771 width: 140px;
772 position: relative;
773 height: 40px;
774 top: -50px;
775 left: 55%;
776 }
777 }
778
779 }
780
781
782 }
744 </style> 783 </style>
......
...@@ -2,7 +2,11 @@ ...@@ -2,7 +2,11 @@
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top "> 4 <div class="container top ">
5 <el-row :gutter="20" style="width: 100%">
6 <el-col :lg="12" :md="12" :sm="24" :xs="24">
5 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img"> 7 <img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img">
8 </el-col>
9 <el-col :lg="12" :md="12" :sm="24" :xs="24">
6 <div class="info"> 10 <div class="info">
7 <div class="title">{{ matchForm.name }}</div> 11 <div class="title">{{ matchForm.name }}</div>
8 <div class="time"> 12 <div class="time">
...@@ -231,6 +235,10 @@ ...@@ -231,6 +235,10 @@
231 </template> 235 </template>
232 </div> 236 </div>
233 </div> 237 </div>
238 </el-col>
239 </el-row>
240
241
234 </div> 242 </div>
235 243
236 <div class="container bottom"> 244 <div class="container bottom">
...@@ -430,7 +438,6 @@ function selectTick(v) { ...@@ -430,7 +438,6 @@ function selectTick(v) {
430 selectForm.value.latstId = v.id 438 selectForm.value.latstId = v.id
431 selectForm.value.price = v.price 439 selectForm.value.price = v.price
432 selectForm.value.priceEn = v.priceEn 440 selectForm.value.priceEn = v.priceEn
433
434 // vip票 441 // vip票
435 if (currTick.value.ticketType == '1') { 442 if (currTick.value.ticketType == '1') {
436 showUrl.value = v.images 443 showUrl.value = v.images
...@@ -438,10 +445,12 @@ function selectTick(v) { ...@@ -438,10 +445,12 @@ function selectTick(v) {
438 leftCount.value = -999 445 leftCount.value = -999
439 } else { 446 } else {
440 checkNonPayment().then(res => { 447 checkNonPayment().then(res => {
448 // debugger
441 if (res.data) { 449 if (res.data) {
442 getListByAtstId({ 450 getListByAtstId({
443 atstId: selectForm.value.latstId 451 atstId: selectForm.value.latstId
444 }).then(res => { 452 }).then(res => {
453 console.log(res.data)
445 leftCount.value = res.data 454 leftCount.value = res.data
446 if (leftCount.value > 0) { 455 if (leftCount.value > 0) {
447 showUrl.value = v.images 456 showUrl.value = v.images
...@@ -544,7 +553,7 @@ getmatchData() ...@@ -544,7 +553,7 @@ getmatchData()
544 width: 500px; 553 width: 500px;
545 height: 667px; 554 height: 667px;
546 object-fit: fill; 555 object-fit: fill;
547 margin-right: 36px; 556 //margin-right: 36px;
548 } 557 }
549 558
550 .info { 559 .info {
...@@ -696,78 +705,6 @@ getmatchData() ...@@ -696,78 +705,6 @@ getmatchData()
696 } 705 }
697 } 706 }
698 707
699 @media screen and (max-width: 768px) {
700 .container {
701 width: 100%;
702 }
703 .forWei {
704 display: block
705 }
706 .top {
707 //transform: scale(0.5);transform-origin: left top;
708 .cover_img {
709 width: 120px;
710 height: 160px;
711 margin-right: 15px;
712 }
713
714 .info {
715 padding: 0;
716
717 .title {
718 font-size: 14px;
719 margin: 0;
720 }
721
722 .time, .address, .label, .tip {
723 font-size: 12px;
724 }
725
726 .title, .time, .address, .tip, .select_item_box {
727 margin-bottom: 3px;
728 }
729
730 .select_item_box {
731 .label {
732 font-size: 12px;
733 }
734
735 .select_item .tag {
736 padding: 2px 10px;
737 font-size: 12px;
738 }
739
740 .select_item .tagActive {
741 padding: 2px 10px;
742 font-size: 12px;
743 }
744
745 .select_item .tagDisabled {
746 padding: 2px 10px;
747 font-size: 12px;
748 }
749 }
750
751 .btn {
752 display: inline-block;
753 margin: 10px 0 0;
754 background: linear-gradient(270deg, #493ceb 0%, #8623fc 100%);
755 border-radius: 20px;
756 line-height: 40px;
757 text-align: center;
758 font-weight: 500;
759 font-size: 16px;
760 color: #ffffff;
761 cursor: pointer;
762 }
763 }
764 }
765 .bottom {
766 padding: 0
767 }
768
769
770 }
771 708
772 .countDownTitle { 709 .countDownTitle {
773 text-align: center; 710 text-align: center;
...@@ -850,4 +787,85 @@ getmatchData() ...@@ -850,4 +787,85 @@ getmatchData()
850 color: #4a4a4a !important; 787 color: #4a4a4a !important;
851 cursor: no-drop !important; 788 cursor: no-drop !important;
852 } 789 }
790
791
792 @media screen and (max-width: 768px) {
793 .container {
794 width: 100%;
795 }
796 .forWei {
797 display: block
798 }
799 .top {
800 //transform: scale(0.5);transform-origin: left top;
801 .cover_img {
802 width: 120px;
803 height: 160px;
804 margin-right: 15px;
805 }
806
807 .info {
808 padding: 0;
809
810 .title {
811 font-size: 14px;
812 margin: 0;
813 }
814
815 .time, .address, .label, .tip {
816 font-size: 12px;
817 }
818
819 .title, .time, .address, .tip, .select_item_box {
820 margin-bottom: 3px;
821 }
822
823 .select_item_box {
824 .label {
825 font-size: 12px;
826 }
827
828 .select_item .tag {
829 padding: 2px 10px;
830 font-size: 12px;
831 }
832
833 .select_item .tagActive {
834 padding: 2px 10px;
835 font-size: 12px;
836 }
837
838 .select_item .tagDisabled {
839 padding: 2px 10px;
840 font-size: 12px;
841 }
842 }
843
844 .btn {
845 display: inline-block;
846 margin: 10px 0 0;
847 background: linear-gradient(270deg, #493ceb 0%, #8623fc 100%);
848 border-radius: 20px;
849 line-height: 40px;
850 text-align: center;
851 font-weight: 500;
852 font-size: 16px;
853 color: #ffffff;
854 cursor: pointer;
855 }
856 }
857 }
858 .bottom {
859 padding: 0
860 }
861
862 .father {
863 .son {
864 width: 85px !important;
865 height: 67.5px !important;
866 left: 50px;
867 top: 10px;
868 }
869 }
870 }
853 </style> 871 </style>
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
30 v-model="show" 30 v-model="show"
31 :title="language==0?'新增观影人':'New moviegoers'" 31 :title="language==0?'新增观影人':'New moviegoers'"
32 center 32 center
33 width="700" 33 style="max-width: 700px;min-width: 350px;"
34 > 34 >
35 <el-form 35 <el-form
36 ref="formRef" :model="form" :rules="rules" label-width="100px" size="large" 36 ref="formRef" :model="form" :rules="rules" label-width="100px" size="large"
...@@ -51,12 +51,19 @@ ...@@ -51,12 +51,19 @@
51 </el-form-item> 51 </el-form-item>
52 </el-form> 52 </el-form>
53 53
54 <span class="dialog-footer"> 54 <div class="dialog-footer">
55 <div style="text-align: center"> 55 <div style="text-align: center">
56 <el-button class="can_pay" @click="show = false">{{ language == 0 ? '取 消' : 'cancel' }}</el-button> 56 <el-button class="can_pay marginBtn" @click="show = false">{{
57 <el-button class="pay" type="primary" @click="submit">{{ language == 0 ? '确 定' : 'confirm' }}</el-button> 57 language == 0 ? '取 消' : 'cancel'
58 }}
59 </el-button>
60 <el-button class="pay marginBtn" type="primary" @click="submit">{{
61 language == 0 ? '确 定' : 'confirm'
62 }}
63 </el-button>
58 </div> 64 </div>
59 </span> 65 </div>
66 <br>
60 </el-dialog> 67 </el-dialog>
61 </el-card> 68 </el-card>
62 69
...@@ -302,5 +309,12 @@ div { ...@@ -302,5 +309,12 @@ div {
302 .container { 309 .container {
303 width: 100%; 310 width: 100%;
304 } 311 }
312 form {
313 margin: 20px 20px 0 0 !important;
314 }
315 }
316
317 .marginBtn {
318 margin: 5px
305 } 319 }
306 </style> 320 </style>
......
1 <template> 1 <template>
2 <el-dialog v-model="show" :title="title" destroy-on-close width="400px" @close="close"> 2 <el-dialog
3 v-model="show" :title="title" destroy-on-close style="min-width: 350px;max-width: 450px"
4 @close="close"
5 >
3 <div> 6 <div>
4 <h2 v-if="cptName" class="text-warning text-center">{{ cptName }}</h2> 7 <h2 v-if="cptName" class="text-warning text-center">{{ cptName }}</h2>
5 8
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
25 </el-button> 25 </el-button>
26 </div> 26 </div>
27 27
28 <div v-if="list.length>0"> 28 <div v-if="list.length>0" class="rollY">
29 <div v-for="(form, index) in list" :key="index" class="nowteamItem"> 29 <div v-for="(form, index) in list" :key="index" class="nowteamItem">
30 <div class="info"> 30 <div class="info">
31 <div class="nowName text-center"> 31 <div class="nowName text-center">
...@@ -69,7 +69,7 @@ ...@@ -69,7 +69,7 @@
69 <div v-if="showGroupList" class="text-danger text-center"> 69 <div v-if="showGroupList" class="text-danger text-center">
70 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }} 70 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }}
71 </div> 71 </div>
72 <div v-if="showGroupList" class="groupList"> 72 <div v-if="showGroupList" class="groupList rollY">
73 <ul> 73 <ul>
74 <li v-for="(item, index) in groupList" :key="index" @click="showDetail(item)">{{ item }} 74 <li v-for="(item, index) in groupList" :key="index" @click="showDetail(item)">{{ item }}
75 <el-icon class="fr"> 75 <el-icon class="fr">
...@@ -83,6 +83,7 @@ ...@@ -83,6 +83,7 @@
83 <el-collapse-item 83 <el-collapse-item
84 v-for="(team,index) in teamlist" :key="index" :name="index" 84 v-for="(team,index) in teamlist" :key="index" :name="index"
85 :title="team[0][0].groupName" 85 :title="team[0][0].groupName"
86 class="rollY"
86 > 87 >
87 <div v-for="(p,jndex) in team" :key="jndex" class="nowteamItem"> 88 <div v-for="(p,jndex) in team" :key="jndex" class="nowteamItem">
88 <div class="fontSize14 text-bold">{{ p[0].zuInfo }}</div> 89 <div class="fontSize14 text-bold">{{ p[0].zuInfo }}</div>
...@@ -289,8 +290,13 @@ function showDetail(name) { ...@@ -289,8 +290,13 @@ function showDetail(name) {
289 } 290 }
290 291
291 .searchBox { 292 .searchBox {
292 height: 50vh; 293 //height: 50vh;
293 //overflow: hidden; 294 //overflow: hidden;
294 overflow-y: hidden; 295 overflow-y: hidden;
295 } 296 }
297
298 .rollY {
299 height: 45vh;
300 overflow-y: auto;
301 }
296 </style> 302 </style>
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
26 </el-button> 26 </el-button>
27 </div> 27 </div>
28 28
29 <div v-if="list.length>0" class="mt30"> 29 <div v-if="list.length>0" class="mt30 rollY">
30 <el-timeline> 30 <el-timeline>
31 <el-timeline-item 31 <el-timeline-item
32 v-for="(form, index) in list" 32 v-for="(form, index) in list"
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
66 <div v-if="showGroupList" class="text-danger text-center"> 66 <div v-if="showGroupList" class="text-danger text-center">
67 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }} 67 {{ language == 0 ? '找到多个团体' : 'Found multiple teams' }}
68 </div> 68 </div>
69 <div v-if="showGroupList" class="groupList"> 69 <div v-if="showGroupList" class="groupList rollY">
70 <ul> 70 <ul>
71 <li v-for="(item, index) in groupList" :key="index" @click="showDetail(item)">{{ item }} 71 <li v-for="(item, index) in groupList" :key="index" @click="showDetail(item)">{{ item }}
72 <el-icon class="fr"> 72 <el-icon class="fr">
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
75 </li> 75 </li>
76 </ul> 76 </ul>
77 </div> 77 </div>
78 <div v-if="teamlist.length>0" class="temell mt20"> 78 <div v-if="teamlist.length>0" class="temell mt20 rollY">
79 <el-collapse accordion> 79 <el-collapse accordion>
80 <el-collapse-item v-for="(team,index) in teamlist" :key="index" :name="index" :title="team[0].title"> 80 <el-collapse-item v-for="(team,index) in teamlist" :key="index" :name="index" :title="team[0].title">
81 <el-timeline> 81 <el-timeline>
...@@ -109,7 +109,7 @@ ...@@ -109,7 +109,7 @@
109 }} 109 }}
110 </el-button> 110 </el-button>
111 </div> 111 </div>
112 <div v-if="list.length>0" class="temell mt20"> 112 <div v-if="list.length>0" class="temell mt20 rollY">
113 <el-timeline> 113 <el-timeline>
114 <el-timeline-item v-for="(team,j) in list" :key="j" placement="top"> 114 <el-timeline-item v-for="(team,j) in list" :key="j" placement="top">
115 <div v-for="(form, index) in team" v-show="index==0" :key="index"> 115 <div v-for="(form, index) in team" v-show="index==0" :key="index">
...@@ -362,6 +362,11 @@ function showDetail(name) { ...@@ -362,6 +362,11 @@ function showDetail(name) {
362 362
363 .searchBox { 363 .searchBox {
364 height: 50vh; 364 height: 50vh;
365 //overflow-y: auto;
366 }
367
368 .rollY {
369 height: 45vh;
365 overflow-y: auto; 370 overflow-y: auto;
366 } 371 }
367 </style> 372 </style>
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
9 class="pcloginpop" 9 class="pcloginpop"
10 close-icon="CircleClose" 10 close-icon="CircleClose"
11 destroy-on-close 11 destroy-on-close
12 width="450px" 12 style="max-width: 450px;min-width: 350px"
13 @close="close" 13 @close="close"
14 > 14 >
15 <div class="pd10" /> 15 <div class="pd10" />
...@@ -589,7 +589,8 @@ const goPolicy = () => { ...@@ -589,7 +589,8 @@ const goPolicy = () => {
589 .rItem { 589 .rItem {
590 height: 130px; 590 height: 130px;
591 cursor: pointer; 591 cursor: pointer;
592 width: 350px; 592 max-width: 350px;
593 min-width: 300px;
593 padding: 1px; 594 padding: 1px;
594 margin: 20px auto; 595 margin: 20px auto;
595 596
......
1 <template> 1 <template>
2 <el-dialog v-model="show" :title="language==0?'快捷注册':'Quick Login'" close-icon="CircleClose" 2 <el-dialog
3 width="480" :append-to-body="true" destroy-on-close @close="close"> 3 v-model="show" :append-to-body="true" :title="language==0?'快捷注册':'Quick Login'"
4 close-icon="CircleClose" destroy-on-close style="max-width: 480px;min-width: 350px"
5 @close="close"
6 >
4 <div> 7 <div>
5 <el-form class="d-form" size="large" :label-width="language==0?80:150" :label-position="language==0?'right':'top'" style="max-width: 500px;margin: auto"> 8 <el-form
9 :label-position="language==0?'right':'top'" :label-width="language==0?80:150" class="d-form" size="large"
10 style="max-width: 500px;margin: auto"
11 >
6 <el-form-item :label="language==0?'邮箱':'E-mail'" required> 12 <el-form-item :label="language==0?'邮箱':'E-mail'" required>
7 <el-input type="text" v-model="form.account" @change="resetCode" @blur="verifyCode" 13 <el-input v-model="form.account" type="text" @blur="verifyCode" @change="resetCode" />
8 /> 14 <div v-if="language==0" class="tip">
9 <div class="tip" v-if="language==0">
10 (请填写正确的邮箱信息,邮箱信息在注册完成后无法修改。 15 (请填写正确的邮箱信息,邮箱信息在注册完成后无法修改。
11 该邮箱后续会作为您登录的账户, 16 该邮箱后续会作为您登录的账户,
12 并接收报名审核结果、支付账单、签证邀请函等相关信息。) 17 并接收报名审核结果、支付账单、签证邀请函等相关信息。)
13 </div> 18 </div>
14 <div v-else class="tip"> 19 <div v-else class="tip">
15 Please fill in the correct email, which cannot be changed after the registration is completed. The email will be used as your login account and to receive relevant information including results of registration review, payment bills, visa invitation letters, etc. 20 Please fill in the correct email, which cannot be changed after the registration is completed. The email
21 will be used as your login account and to receive relevant information including results of registration
22 review, payment bills, visa invitation letters, etc.
16 </div> 23 </div>
17 </el-form-item> 24 </el-form-item>
18 <el-form-item :label="language==0?'验证码':'Code'" required> 25 <el-form-item :label="language==0?'验证码':'Code'" required>
19 <el-input v-model="form.code"> 26 <el-input v-model="form.code">
20 <template #append> 27 <template #append>
21 <el-button type="primary" plain style="width: 110px" @click="sendsmsMsg"> 28 <el-button plain style="width: 110px" type="primary" @click="sendsmsMsg">
22 <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false"> 29 <count-down v-if="counting" v-slot="{ totalSeconds }" :time="60000" @end="counting=false">
23 {{ totalSeconds }} {{ language == 0 ? '秒' : 's' }} 30 {{ totalSeconds }} {{ language == 0 ? '秒' : 's' }}
24 </count-down> 31 </count-down>
...@@ -28,26 +35,36 @@ ...@@ -28,26 +35,36 @@
28 </el-button> 35 </el-button>
29 </template> 36 </template>
30 </el-input> 37 </el-input>
31 <div class="vcodeBox" :style="isShow?'height:240px':'height:0'"> 38 <div :style="isShow?'height:240px':'height:0'" class="vcodeBox">
32 <Vcode :show="isShow" :successText="successVcode" :failText="failVcode" :slider-text="sliderText" 39 <Vcode
33 type="inside" @success="codeSuccess"></Vcode> 40 :fail-text="failVcode" :show="isShow" :slider-text="sliderText" :success-text="successVcode"
41 type="inside" @success="codeSuccess"
42 />
34 </div> 43 </div>
35 </el-form-item> 44 </el-form-item>
36 <el-form-item :label="language==0?'密码':'Password'" required> 45 <el-form-item :label="language==0?'密码':'Password'" required>
37 <el-input type="password" show-password v-model="form.password" 46 <el-input
38 :placeholder="language==0?'6-16位密码。区分大小写':''"/> 47 v-model="form.password" :placeholder="language==0?'6-16位密码。区分大小写':''" show-password
48 type="password"
49 />
39 </el-form-item> 50 </el-form-item>
40 <el-form-item :label="language==0?'确认密码':'Confirm Password'" required> 51 <el-form-item :label="language==0?'确认密码':'Confirm Password'" required>
41 <el-input type="password" show-password v-model="form.password2" @blur="vconfirmPassword" 52 <el-input
42 :placeholder="language==0?'再次输入密码':''"/> 53 v-model="form.password2" :placeholder="language==0?'再次输入密码':''" show-password type="password"
54 @blur="vconfirmPassword"
55 />
43 </el-form-item> 56 </el-form-item>
44 </el-form> 57 </el-form>
45 58
46 </div> 59 </div>
47 <template #footer> 60 <template #footer>
48 <div class="dialog-footer text-center"> 61 <div class="dialog-footer text-center">
49 <el-button type="primary" class="btn-lineG w200px" round @click="register">{{language==0?'登录':'Confirm'}}</el-button> 62 <el-button class="btn-lineG w200px" round type="primary" @click="register">
50 <div class="text-primary underline mt20 pointer" @click="goLogin">{{language==0?'已有账号去登录':'Already have an account? Login'}}</div> 63 {{ language == 0 ? '登录' : 'Confirm' }}
64 </el-button>
65 <div class="text-primary underline mt20 pointer" @click="goLogin">
66 {{ language == 0 ? '已有账号去登录' : 'Already have an account? Login' }}
67 </div>
51 68
52 </div> 69 </div>
53 </template> 70 </template>
...@@ -55,16 +72,16 @@ ...@@ -55,16 +72,16 @@
55 </template> 72 </template>
56 73
57 <script setup> 74 <script setup>
58 import {reactive, toRefs} from 'vue' 75 import { reactive, toRefs } from 'vue'
59 import Vcode from "vue3-puzzle-vcode" 76 import Vcode from 'vue3-puzzle-vcode'
60 import {ElMessage} from 'element-plus' 77 import { ElMessage } from 'element-plus'
61 import CountDown from '@chenfengyuan/vue-countdown' 78 import CountDown from '@chenfengyuan/vue-countdown'
62 import {getCaptchaSms} from "@/apiPc/match"; 79 import { getCaptchaSms } from '@/apiPc/match'
63 import {onMounted} from "@vue/runtime-core"; 80 import { onMounted } from '@vue/runtime-core'
64 import {useStorage} from "@vueuse/core/index"; 81 import { useStorage } from '@vueuse/core/index'
65 import {vistorRegister} from "@/apiPc/common"; 82 import { vistorRegister } from '@/apiPc/common'
66 import {setToken} from "@/utils/auth"; 83 import { setToken } from '@/utils/auth'
67 import useUserStore from "@/store/modules/user"; 84 import useUserStore from '@/store/modules/user'
68 85
69 const language = useStorage('language', 0) 86 const language = useStorage('language', 0)
70 87
...@@ -77,9 +94,9 @@ const data = reactive({ ...@@ -77,9 +94,9 @@ const data = reactive({
77 failVcode: '验证失败,请重试', 94 failVcode: '验证失败,请重试',
78 successVcode: '验证通过!', 95 successVcode: '验证通过!',
79 sliderText: '拖动滑块完成拼图', 96 sliderText: '拖动滑块完成拼图',
80 show:false 97 show: false
81 }) 98 })
82 const {isShow, isCodeTrue, counting, form, activeStep, failVcode, successVcode, sliderText,show} = toRefs(data) 99 const { isShow, isCodeTrue, counting, form, activeStep, failVcode, successVcode, sliderText, show } = toRefs(data)
83 const emit = defineEmits(['submit']) 100 const emit = defineEmits(['submit'])
84 onMounted(() => { 101 onMounted(() => {
85 if (language.value == 1) { 102 if (language.value == 1) {
...@@ -113,7 +130,7 @@ function sendsmsMsg() { ...@@ -113,7 +130,7 @@ function sendsmsMsg() {
113 return 130 return
114 } 131 }
115 if (counting.value) { 132 if (counting.value) {
116 return 133
117 } else { 134 } else {
118 isShow.value = true 135 isShow.value = true
119 } 136 }
...@@ -124,29 +141,31 @@ function verifyCode() { ...@@ -124,29 +141,31 @@ function verifyCode() {
124 return 141 return
125 } 142 }
126 if (form.value.account.indexOf('@') > -1) { 143 if (form.value.account.indexOf('@') > -1) {
127 //邮箱 144 // 邮箱
128 } 145 }
129 } 146 }
130 147
131 function codeSuccess(msg) { 148 function codeSuccess(msg) {
132 console.log('验证通过' + msg); 149 console.log('验证通过' + msg)
133 isShow.value = false 150 isShow.value = false
134 getCaptchaSms({account: form.value.account}).then(res => { 151 getCaptchaSms({ account: form.value.account }).then(res => {
135 counting.value = true 152 counting.value = true
136 isCodeTrue.value = true 153 isCodeTrue.value = true
137 ElMessage.success(language.value == 0 ? '发送成功,请关注邮箱邮件' :'Send success, please check your email') 154 ElMessage.success(language.value == 0 ? '发送成功,请关注邮箱邮件' : 'Send success, please check your email')
138 }) 155 })
139 } 156 }
140 157
141 function resetCode() { 158 function resetCode() {
142 isCodeTrue.value = false 159 isCodeTrue.value = false
143 } 160 }
161
144 function goLogin() { 162 function goLogin() {
145 show.value = false 163 show.value = false
146 useUserStore().setReLogin() 164 useUserStore().setReLogin()
147 } 165 }
166
148 function register() { 167 function register() {
149 //游客注册 168 // 游客注册
150 if (!form.value.account) { 169 if (!form.value.account) {
151 if (language.value == 0) { 170 if (language.value == 0) {
152 ElMessage.warning('请填写邮箱') 171 ElMessage.warning('请填写邮箱')
...@@ -164,29 +183,33 @@ function register() { ...@@ -164,29 +183,33 @@ function register() {
164 return 183 return
165 } 184 }
166 if (!form.value.password) { 185 if (!form.value.password) {
167 ElMessage.warning(language.value == 0?'请输入密码':'Please enter password') 186 ElMessage.warning(language.value == 0 ? '请输入密码' : 'Please enter password')
168 return 187 return
169 } 188 }
170 if (!form.value.password2) { 189 if (!form.value.password2) {
171 ElMessage.warning(language.value == 0?'请再次输入密码':'Please enter password') 190 ElMessage.warning(language.value == 0 ? '请再次输入密码' : 'Please enter password')
172 return 191 return
173 } 192 }
174 delete form.value.password2 193 delete form.value.password2
175 vistorRegister(form.value).then(res=>{ 194 vistorRegister(form.value).then(res => {
176 setToken(res.data.token) 195 setToken(res.data.token)
177 emit('submitForm') 196 emit('submitForm')
178 }) 197 })
179 } 198 }
199
180 const vconfirmPassword = () => { 200 const vconfirmPassword = () => {
181 if (form.value.password !== form.value.password2) { 201 if (form.value.password !== form.value.password2) {
182 ElMessage.warning(language.value == 0 ? '两次输入的密码不一致' :'The two passwords entered are inconsistent') 202 ElMessage.warning(language.value == 0 ? '两次输入的密码不一致' : 'The two passwords entered are inconsistent')
183 } 203 }
184 } 204 }
205
185 function close() { 206 function close() {
186 show.value = false 207 show.value = false
187 } 208 }
188 </script> 209 </script>
189 210
190 <style scoped lang="scss"> 211 <style lang="scss" scoped>
191 .tip{line-height: 1.6} 212 .tip {
213 line-height: 1.6
214 }
192 </style> 215 </style>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!