24c59e8d by zhangmeng

旅游

1 parent 82d4fb2e
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
3 <el-row> 3 <el-row>
4 <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> 4 <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24">
5 <div class="person-item"> 5 <div class="person-item">
6 <img v-if="d.photo" class="photo" :src="fillImgUrl(d.photo)"> 6 <img v-if="d.photo" :src="fillImgUrl(d.photo)" class="photo">
7 <img v-else class="photo" style="object-fit: contain;background: #fff;" src="@/assets/v1/default.png"> 7 <img v-else class="photo" src="@/assets/v1/default.png" style="object-fit: contain;background: #fff;">
8 <div class="info"> 8 <div class="info">
9 <div class="name">{{ d.name }} 9 <div class="name">{{ d.name }}
10 <el-image v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female" /> 10 <el-image v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female" />
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 <el-form-item label="所属省份:">{{ d.provinceName }}</el-form-item> 15 <el-form-item label="所属省份:">{{ d.provinceName }}</el-form-item>
16 </div> 16 </div>
17 <div> 17 <div>
18 <!-- <el-form-item label="有效期开始:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item>--> 18 <!-- <el-form-item label="有效期开始:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item>-->
19 <el-form-item label="有效期结束:">{{ parseTime(d.validityDate, '{y}-{m}-{d}') }}</el-form-item> 19 <el-form-item label="有效期结束:">{{ parseTime(d.validityDate, '{y}-{m}-{d}') }}</el-form-item>
20 </div> 20 </div>
21 <div> 21 <div>
...@@ -76,10 +76,11 @@ function handleQuery() { ...@@ -76,10 +76,11 @@ function handleQuery() {
76 } 76 }
77 77
78 function vipDownLoad(perId) { 78 function vipDownLoad(perId) {
79 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf') 79 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf', {}, 'application/pdf')
80 } 80 }
81 81
82 let queryParams = {} 82 let queryParams = {}
83
83 function init() { 84 function init() {
84 queryParams = { 85 queryParams = {
85 pageNum: 0, 86 pageNum: 0,
...@@ -97,7 +98,7 @@ defineExpose({ ...@@ -97,7 +98,7 @@ defineExpose({
97 }) 98 })
98 </script> 99 </script>
99 100
100 <style scoped lang="scss"> 101 <style lang="scss" scoped>
101 .flex { 102 .flex {
102 display: flex; 103 display: flex;
103 justify-content: space-between; 104 justify-content: space-between;
......
...@@ -3,13 +3,13 @@ ...@@ -3,13 +3,13 @@
3 <el-row> 3 <el-row>
4 <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> 4 <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24">
5 <div class="person-item"> 5 <div class="person-item">
6 <img v-if="d.photo" class="photo" :src="fillImgUrl(d.photo)"> 6 <img v-if="d.photo" :src="fillImgUrl(d.photo)" class="photo">
7 <img v-else class="photo" style="object-fit: contain;background: #fff;" src="@/assets/v1/default.png"> 7 <img v-else class="photo" src="@/assets/v1/default.png" style="object-fit: contain;background: #fff;">
8 <div class="info"> 8 <div class="info">
9 <div class="name">{{ d.name }} 9 <div class="name">{{ d.name }}
10 <el-image 10 <el-image
11 v-if="d.sex=='0'||d.sex=='1'" style="width: 20px;height: 20px;margin-left: 10px" 11 v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female"
12 :src="d.sex=='0'?male:female" 12 style="width: 20px;height: 20px;margin-left: 10px"
13 /> 13 />
14 </div> 14 </div>
15 <div class="flex"> 15 <div class="flex">
...@@ -18,8 +18,8 @@ ...@@ -18,8 +18,8 @@
18 <el-form-item label="所属省份:">{{ d.provinceName }}</el-form-item> 18 <el-form-item label="所属省份:">{{ d.provinceName }}</el-form-item>
19 </div> 19 </div>
20 <div> 20 <div>
21 <!-- <el-form-item label="有效期开始:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item>--> 21 <!-- <el-form-item label="有效期开始:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item>-->
22 <el-form-item label="有效期结束:">{{ parseTime(d.validityDate, '{y}-{m}-{d}')||'--' }}</el-form-item> 22 <el-form-item label="有效期结束:">{{ parseTime(d.validityDate, '{y}-{m}-{d}') || '--' }}</el-form-item>
23 </div> 23 </div>
24 <div> 24 <div>
25 <el-form-item label="考官类型:">{{ d.examinerTypeStr }}</el-form-item> 25 <el-form-item label="考官类型:">{{ d.examinerTypeStr }}</el-form-item>
...@@ -80,10 +80,11 @@ function handleQuery() { ...@@ -80,10 +80,11 @@ function handleQuery() {
80 } 80 }
81 81
82 function vipDownLoad(perId) { 82 function vipDownLoad(perId) {
83 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf') 83 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf', {}, 'application/pdf')
84 } 84 }
85 85
86 let queryParams = {} 86 let queryParams = {}
87
87 function init() { 88 function init() {
88 queryParams = { 89 queryParams = {
89 pageNum: 0, 90 pageNum: 0,
...@@ -101,7 +102,7 @@ defineExpose({ ...@@ -101,7 +102,7 @@ defineExpose({
101 }) 102 })
102 </script> 103 </script>
103 104
104 <style scoped lang="scss"> 105 <style lang="scss" scoped>
105 .flex { 106 .flex {
106 display: flex; 107 display: flex;
107 justify-content: space-between; 108 justify-content: space-between;
......
...@@ -117,7 +117,7 @@ function handleQuery() { ...@@ -117,7 +117,7 @@ function handleQuery() {
117 } 117 }
118 118
119 function vipDownLoad(perId) { 119 function vipDownLoad(perId) {
120 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf') 120 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf', {}, 'application/pdf')
121 } 121 }
122 122
123 let queryParams = {} 123 let queryParams = {}
......
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
3 <el-row> 3 <el-row>
4 <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24"> 4 <el-col v-for="(d,i) in listData" :key="i" :lg="24" :sm="24">
5 <div class="person-item"> 5 <div class="person-item">
6 <img v-if="d.photo" class="photo" :src="fillImgUrl(d.photo)"> 6 <img v-if="d.photo" :src="fillImgUrl(d.photo)" class="photo">
7 <img v-else class="photo" style="object-fit: contain;background: #fff;" src="@/assets/v1/default.png"> 7 <img v-else class="photo" src="@/assets/v1/default.png" style="object-fit: contain;background: #fff;">
8 <div class="info"> 8 <div class="info">
9 <div class="name">{{ d.name }} 9 <div class="name">{{ d.name }}
10 <el-image v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female" /> 10 <el-image v-if="d.sex=='0'||d.sex=='1'" :src="d.sex=='0'?male:female" />
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
15 <el-form-item label="所属省份:">{{ d.provinceName }}</el-form-item> 15 <el-form-item label="所属省份:">{{ d.provinceName }}</el-form-item>
16 </div> 16 </div>
17 <div> 17 <div>
18 <!-- <el-form-item label="有效期开始:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item>--> 18 <!-- <el-form-item label="有效期开始:">{{ parseTime(d.createTime, '{y}-{m}-{d}') }}</el-form-item>-->
19 <el-form-item label="有效期结束:">{{ parseTime(d.validityDate, '{y}-{m}-{d}') }}</el-form-item> 19 <el-form-item label="有效期结束:">{{ parseTime(d.validityDate, '{y}-{m}-{d}') }}</el-form-item>
20 </div> 20 </div>
21 <div> 21 <div>
...@@ -77,10 +77,11 @@ function handleQuery() { ...@@ -77,10 +77,11 @@ function handleQuery() {
77 } 77 }
78 78
79 function vipDownLoad(perId) { 79 function vipDownLoad(perId) {
80 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf') 80 proxy.download(`/person/info/downStuCert/${perId}`, {}, '会员证.pdf', {}, 'application/pdf')
81 } 81 }
82 82
83 let queryParams = {} 83 let queryParams = {}
84
84 function init() { 85 function init() {
85 queryParams = { 86 queryParams = {
86 pageNum: 0, 87 pageNum: 0,
...@@ -97,21 +98,47 @@ defineExpose({ ...@@ -97,21 +98,47 @@ defineExpose({
97 init 98 init
98 }) 99 })
99 </script> 100 </script>
100 <style scoped lang="scss"> 101 <style lang="scss" scoped>
101 .flex{display: flex;justify-content: space-between;} 102 .flex {
102 .person-item{position:relative; 103 display: flex;
103 display: flex;margin: 30px 0;background: #F5F7F9; 104 justify-content: space-between;
104 border-radius: 2px;padding: 10px 20px; 105 }
105 .photo{width: 100px; height: 130px} 106
106 .info{margin-left: 20px;width: 90%; 107 .person-item {
107 .name{font-size: 24px;display: flex;align-items: center; 108 position: relative;
108 margin: 10px 0;} 109 display: flex;
109 .el-form-item--default{margin-bottom: 0;} 110 margin: 30px 0;
111 background: #F5F7F9;
112 border-radius: 2px;
113 padding: 10px 20px;
114
115 .photo {
116 width: 100px;
117 height: 130px
118 }
119
120 .info {
121 margin-left: 20px;
122 width: 90%;
123
124 .name {
125 font-size: 24px;
126 display: flex;
127 align-items: center;
128 margin: 10px 0;
129 }
130
131 .el-form-item--default {
132 margin-bottom: 0;
110 } 133 }
111 .el-form-item__content{ 134 }
135
136 .el-form-item__content {
112 font-size: 18px; 137 font-size: 18px;
113 color: #95A1A6;} 138 color: #95A1A6;
139 }
114 } 140 }
141
115 @media (max-width: 500px) { 142 @media (max-width: 500px) {
116 .person-item { 143 .person-item {
117 margin: 15px 0; 144 margin: 15px 0;
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
33 <div class="border-info mt20"> 33 <div class="border-info mt20">
34 <div class="flex aic"> 34 <div class="flex aic">
35 <h3 class="esp">{{ form.checkIn }}</h3> 35 <h3 class="esp">{{ form.checkIn }}</h3>
36 <img class="w40px mlr20 " src="@/assets/booking/wf.png" style="height: 40px;"/> 36 <img class="w40px mlr20 " src="@/assets/booking/wf.png" style="height: 40px;">
37 <h3 class="esp">{{ form.checkOut }}</h3> 37 <h3 class="esp">{{ form.checkOut }}</h3>
38 </div> 38 </div>
39 </div> 39 </div>
...@@ -67,8 +67,10 @@ ...@@ -67,8 +67,10 @@
67 </el-col> 67 </el-col>
68 <el-col> 68 <el-col>
69 {{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.mealName }} <span 69 {{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.mealName }} <span
70 style="margin-left: 40px">{{ language == 0 ? '价格' : 'Price' }}</span><span 70 style="margin-left: 40px"
71 class="price">{{ language == 0 ? '¥' + formInfo.mealPrice : '€' + formInfo.mealPriceEn }}</span> 71 >{{ language == 0 ? '价格' : 'Price' }}</span><span
72 class="price"
73 >{{ language == 0 ? '¥' + formInfo.mealPrice : '€' + formInfo.mealPriceEn }}</span>
72 <span style="margin-left: 40px">{{ 74 <span style="margin-left: 40px">{{
73 language == 0 ? '工作室电话' : 'Studio phone number' 75 language == 0 ? '工作室电话' : 'Studio phone number'
74 }}{{ formInfo.contact }}</span> 76 }}{{ formInfo.contact }}</span>
...@@ -101,8 +103,10 @@ ...@@ -101,8 +103,10 @@
101 </el-col> 103 </el-col>
102 <el-col> 104 <el-col>
103 {{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.photoName }} <span 105 {{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.photoName }} <span
104 style="margin-left: 40px">{{ language == 0 ? '价格' : 'Price' }}</span><span 106 style="margin-left: 40px"
105 class="price">{{ language == 0 ? '¥' + formInfo.photoPrice : '€' + formInfo.photoPriceEn }}</span> 107 >{{ language == 0 ? '价格' : 'Price' }}</span><span
108 class="price"
109 >{{ language == 0 ? '¥' + formInfo.photoPrice : '€' + formInfo.photoPriceEn }}</span>
106 </el-col> 110 </el-col>
107 <el-col> 111 <el-col>
108 {{ language == 0 ? '套餐说明' : 'Package Description' }}{{ formInfo.introduction }} 112 {{ language == 0 ? '套餐说明' : 'Package Description' }}{{ formInfo.introduction }}
...@@ -171,7 +175,7 @@ ...@@ -171,7 +175,7 @@
171 language == 0 ? '联系方式' : 'Contact Information' 175 language == 0 ? '联系方式' : 'Contact Information'
172 }}{{ form.phone }} 176 }}{{ form.phone }}
173 </el-col> 177 </el-col>
174 <el-col :lg="8" :md="12" :sm="12" :xs="24"></el-col> 178 <el-col :lg="8" :md="12" :sm="12" :xs="24" />
175 </el-row> 179 </el-row>
176 <el-row v-if="type == 'car'"> 180 <el-row v-if="type == 'car'">
177 <el-col v-if="form.pickUpBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24"> 181 <el-col v-if="form.pickUpBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24">
...@@ -261,7 +265,7 @@ ...@@ -261,7 +265,7 @@
261 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 265 <el-col :lg="8" :md="12" :sm="12" :xs="24">
262 <div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div> 266 <div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
263 </el-col> 267 </el-col>
264 <el-col :lg=12 :md="12" :sm="12" :xs="24"> 268 <el-col :lg="12" :md="12" :sm="12" :xs="24">
265 <div class="mb10"> 269 <div class="mb10">
266 {{ language == 0 ? '联系方式' : 'Contact Phone' }}{{ form.phone }} 270 {{ language == 0 ? '联系方式' : 'Contact Phone' }}{{ form.phone }}
267 </div> 271 </div>
...@@ -377,12 +381,14 @@ ...@@ -377,12 +381,14 @@
377 </el-col> 381 </el-col>
378 <el-col :lg="24"> 382 <el-col :lg="24">
379 <div class="text-center"> 383 <div class="text-center">
380 <el-button v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" class="mt20 btn-lineG" 384 <el-button
385 v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" class="mt20 btn-lineG"
381 round 386 round
382 size="large" type="primary" 387 size="large" type="primary"
383 @click="exportPdf"> 388 @click="exportPdf"
389 >
384 <el-icon> 390 <el-icon>
385 <Upload/> 391 <Upload />
386 </el-icon> 392 </el-icon>
387 {{ language == 0 ? '导出酒店预订单' : 'Export PDF' }} 393 {{ language == 0 ? '导出酒店预订单' : 'Export PDF' }}
388 </el-button> 394 </el-button>
...@@ -391,9 +397,10 @@ ...@@ -391,9 +397,10 @@
391 class="mt20 btn-lineG" round 397 class="mt20 btn-lineG" round
392 size="large" 398 size="large"
393 type="primary" 399 type="primary"
394 @click="downInvoice"> 400 @click="downInvoice"
401 >
395 <el-icon> 402 <el-icon>
396 <Download/> 403 <Download />
397 </el-icon> 404 </el-icon>
398 {{ language == 0 ? '下载收据' : 'DownLoad Invoice' }} 405 {{ language == 0 ? '下载收据' : 'DownLoad Invoice' }}
399 </el-button> 406 </el-button>
...@@ -403,9 +410,11 @@ ...@@ -403,9 +410,11 @@
403 </div> 410 </div>
404 </div> 411 </div>
405 <div v-else class="pd20 skeletonBox"> 412 <div v-else class="pd20 skeletonBox">
406 <el-skeleton :rows="8"/> 413 <el-skeleton :rows="8" />
407 <el-button :style="language == 0 ?'width:200px':'width:400px'" class="btn-lineG" round size="large" 414 <el-button
408 type="primary" @click="showLogin"> 415 :style="language == 0 ?'width:200px':'width:400px'" class="btn-lineG" round size="large"
416 type="primary" @click="showLogin"
417 >
409 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }} 418 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }}
410 </el-button> 419 </el-button>
411 </div> 420 </div>
...@@ -417,55 +426,69 @@ ...@@ -417,55 +426,69 @@
417 <el-radio-group v-model="payType"> 426 <el-radio-group v-model="payType">
418 <el-radio v-if="language==0" border value="2"> 427 <el-radio v-if="language==0" border value="2">
419 <!-- 微信--> 428 <!-- 微信-->
420 <svg class="icon" height="40" p-id="24747" t="1709002960407" 429 <svg
421 version="1.1" viewBox="0 0 3152 1024" width="94" xmlns="http://www.w3.org/2000/svg"> 430 class="icon" height="40" p-id="24747" t="1709002960407"
431 version="1.1" viewBox="0 0 3152 1024" width="94" xmlns="http://www.w3.org/2000/svg"
432 >
422 <path 433 <path
423 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z" 434 d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z"
424 fill="#09BB07" p-id="24748"></path> 435 fill="#09BB07" p-id="24748"
436 />
425 <path 437 <path
426 d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z" 438 d="M1398.822642 381.998922c-9.384367 19.320755-20.424798 38.641509-32.017251 57.962264v263.866307h-31.465229V485.226954c-13.248518 18.216712-27.049057 34.225337-40.297574 48.025876-3.864151-7.17628-14.352561-23.736927-20.424798-30.361186 34.777358-33.673315 71.210782-82.803235 93.843666-131.933153l30.361186 11.040431z m-8.280324-91.63558c-22.632884 36.985445-59.066307 78.939084-91.635579 105.98814-4.416173-7.17628-13.248518-19.320755-19.320755-25.945013 29.809164-23.736927 62.378437-61.274394 78.939083-92.187601l32.017251 12.144474z m181.615094 289.811321c1.656065 7.728302 6.072237 19.320755 8.832345 24.84097-55.754178 37.537466-66.242588 46.369811-72.866846 54.650135-1.656065-7.728302-8.280323-22.080863-12.696496-28.705121 4.968194-3.312129 12.696496-10.48841 12.696496-28.705121v-54.098114h-60.17035v27.049057c0 38.641509-7.728302 91.083558-42.505661 128.069003-4.416173-7.17628-16.560647-19.320755-22.632884-23.184906 29.809164-31.465229 34.225337-72.866846 34.225337-105.436119v-54.098113h118.684636v82.251213l36.433423-22.632884z m123.100809-176.094879c-9.384367 73.970889-23.184906 136.349326-48.025876 187.687332 16.560647 36.433423 39.193531 66.242588 67.346631 83.355256-7.17628 6.072237-17.112668 18.216712-22.632884 27.049057-25.945013-18.216712-46.369811-45.265768-62.930459-78.939084-20.424798 32.017251-45.81779 59.066307-78.939083 81.699191-3.864151-6.624259-13.248518-19.872776-19.872776-25.392992 36.985445-22.632884 64.034501-52.99407 83.907277-89.979514-12.696496-34.777358-22.080863-73.418868-28.705121-115.372507-4.968194 11.040431-10.48841 22.632884-16.560647 31.465229-3.864151-4.416173-10.48841-13.248518-17.112668-20.424798v5.520216h-154.014017v-29.809165h154.014017v9.384367c24.84097-49.129919 37.537466-118.684636 44.713746-191.551483l31.465229 4.968195c-3.864151 31.465229-8.280323 61.274394-13.800539 90.531536h96.051752v29.809164h-14.904582z m-142.973585 22.632884h-145.181671v-110.404312h24.84097v82.251213h35.32938V278.770889h26.497035v119.78868h33.673316V316.308356h25.392992v110.404312z m55.202156-22.632884c-1.656065 6.624259-3.312129 12.696496-4.416172 18.768734 6.072237 46.369811 14.904582 91.083558 28.1531 130.277088 16.560647-43.057682 26.497035-91.63558 32.569272-149.045822h-56.3062zM1882.393531 289.259299c-10.48841 31.465229-24.288949 62.378437-39.193531 91.63558v324.036657h-32.017251V437.201078c-13.800539 22.632884-29.257143 42.50566-44.161725 60.170351-3.312129-7.728302-13.248518-24.288949-19.320754-32.017251 41.953639-45.265768 80.043127-114.820485 103.780053-184.927224l30.913208 8.832345z m288.707278 65.690566v29.257143h-294.779515v-29.257143h294.779515z m-267.730459 199.831806h235.713208v147.941779h-30.913208v-16.560647h-174.438814v18.216712h-30.361186v-149.597844z m231.297035-104.332075H1909.994609v-28.1531h224.672776v28.1531zM1909.994609 486.883019h224.672776v28.1531H1909.994609v-28.1531z m23.736927 96.603773V656.90566h174.438814v-73.418868h-174.438814z m81.699192-231.297035c-6.072237-16.560647-20.424798-43.057682-32.017251-61.826415l29.257143-12.144474c13.248518 19.320755 27.601078 44.161725 34.225337 60.722372l-31.465229 13.248517zM2586.221024 468.114286c-26.497035 63.48248-69.002695 111.508356-122.548787 147.941779 50.785984 25.945013 110.956334 43.609704 180.511051 52.442048-7.728302 8.280323-16.560647 23.184906-21.528841 33.673316-75.074933-11.592453-139.661456-32.569272-192.655525-64.034502-57.962264 32.017251-125.308895 52.99407-195.415634 66.794609-3.312129-9.384367-12.696496-25.392992-19.320754-33.121293 66.242588-10.48841 129.173046-28.1531 183.271159-55.202157-44.161725-32.017251-78.939084-72.866846-103.780054-123.65283l10.48841-3.864151h-49.12992v-34.225337h155.670081V383.654987h-176.6469v-34.225337h176.6469V278.770889h35.32938v70.658761h177.750944v34.225337h-177.750944v71.210781H2555.859838l7.176281-1.656064 23.184905 14.904582z m-255.033962 20.976819c23.184906 43.609704 56.858221 80.043127 100.467925 108.748248 44.161725-28.1531 80.043127-63.48248 104.332075-108.748248h-204.8zM2834.630728 292.571429c-13.800539 34.777358-30.361186 69.554717-49.129919 101.571967v308.580054h-34.225337V447.689488c-14.904582 20.976819-31.465229 40.297574-46.921833 56.306199-4.416173-7.728302-14.904582-25.945013-21.528841-34.225337 47.473854-45.265768 91.63558-115.924528 118.132614-188.239353l33.673316 11.040432z m270.490566 123.65283h-58.514286v240.12938c0 25.945013-7.728302 36.985445-24.84097 41.953639-18.216712 5.520216-49.129919 6.072237-99.915903 5.520215-1.656065-8.832345-8.280323-24.84097-13.248518-34.225337 39.193531 1.656065 77.283019 1.656065 88.32345 1.104043 10.48841-1.104043 14.352561-3.864151 14.352561-14.35256V416.224259h-187.687332v-34.225337h187.687332V283.739084h34.777359v97.707816h58.514285v34.777359z m-184.375202 178.854986c-13.800539-28.705121-43.609704-78.939084-67.346631-115.924528l29.809164-13.800539c24.288949 35.881402 55.202156 84.459299 70.106739 112.612399l-32.569272 17.112668z"
427 fill="#595757" p-id="24749"></path> 439 fill="#595757" p-id="24749"
440 />
428 </svg> 441 </svg>
429 </el-radio> 442 </el-radio>
430 <el-radio v-if="language==1" border value="3"> 443 <el-radio v-if="language==1" border value="3">
431 <!--paypal--> 444 <!--paypal-->
432 <svg class="icon" height="40" p-id="22654" t="1709002828937" 445 <svg
433 version="1.1" viewBox="0 0 4220 1024" width="94" xmlns="http://www.w3.org/2000/svg"> 446 class="icon" height="40" p-id="22654" t="1709002828937"
447 version="1.1" viewBox="0 0 4220 1024" width="94" xmlns="http://www.w3.org/2000/svg"
448 >
434 <path 449 <path
435 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z" 450 d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z"
436 fill="#009CDE" p-id="22655"></path> 451 fill="#009CDE" p-id="22655"
452 />
437 <path 453 <path
438 d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" 454 d="M1594.84684 229.409369h-232.537678c-15.641548 0-29.197556 11.470468-32.325866 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h110.533605c15.641548 0 29.197556-11.470468 32.325866-27.112017l25.026476-160.586558c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641548c41.710794 0 81.336049 0 102.191446 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731zM2288.288795 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.213849 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710794 171.014257 34.411405 39.625255 82.378819 56.309572 139.731161 56.309572 99.063136 0 153.287169-63.608961 153.287169-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480652-380.610998c2.08554-10.427699-6.256619-21.898167-18.769858-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.079429-30.240326-16.684318-19.812627-22.940937-46.924644-17.727088-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
439 fill="#003087" p-id="22656"></path> 455 fill="#003087" p-id="22656"
456 />
440 <path 457 <path
441 d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z" 458 d="M3943.164559 443.177189h-111.576375c-9.384929 0-17.727088 7.299389-18.769857 16.684318l-5.21385 31.283096-7.299389-11.470469c-23.983707-34.411405-77.164969-46.924644-131.389002-46.924643-123.046843 0-227.323829 92.806517-248.179226 223.152749-10.427699 64.651731 4.171079 127.217923 41.710795 171.014257 34.411405 39.625255 82.378819 56.309572 139.73116 56.309572 99.063136 0 153.287169-63.608961 153.28717-63.608961l-5.21385 31.283096c-2.08554 11.470468 7.299389 21.898167 18.769858 21.898167h100.105906c15.641548 0 29.197556-11.470468 32.325866-27.112017l60.480651-380.610998c2.08554-10.427699-6.256619-21.898167-18.769857-21.898167z m-154.329939 216.896131c-10.427699 63.608961-61.523422 106.362525-125.132383 106.362525-32.325866 0-58.395112-10.427699-75.07943-30.240326-16.684318-19.812627-22.940937-46.924644-17.727087-78.207739 10.427699-62.566191 61.523422-107.405295 124.089613-107.405295 31.283096 0 57.352342 10.427699 74.03666 30.240326 17.727088 20.855397 25.026477 47.967413 19.812627 79.250509z"
442 fill="#009CDE" p-id="22657"></path> 459 fill="#009CDE" p-id="22657"
460 />
443 <path 461 <path
444 d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z" 462 d="M2880.582074 443.177189h-111.576375c-10.427699 0-20.855397 5.213849-27.112016 14.598778l-154.329939 227.323829-65.694501-217.9389c-4.171079-13.556008-16.684318-22.940937-31.283096-22.940937h-109.490835c-13.556008 0-22.940937 13.556008-18.769857 26.069247l123.046843 360.79837-115.747454 162.672098c-9.384929 12.513238 0 30.240326 15.641548 30.240326h111.576375c10.427699 0 20.855397-5.213849 26.069246-13.556008l371.226069-535.983707c11.470468-13.556008 2.08554-31.283096-13.556008-31.283096z"
445 fill="#003087" p-id="22658"></path> 463 fill="#003087" p-id="22658"
464 />
446 <path 465 <path
447 d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z" 466 d="M4074.553561 245.050916l-94.892057 605.849288c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h95.934827c15.641548 0 29.197556-11.470468 32.325866-27.112017l93.849287-595.421588c2.08554-11.470468-7.299389-21.898167-18.769857-21.898167h-107.405296c-10.427699 1.04277-18.769857 7.299389-19.812627 16.684317z"
448 fill="#009CDE" p-id="22659"></path> 467 fill="#009CDE" p-id="22659"
468 />
449 <path 469 <path
450 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175" 470 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l-13.556008 85.507128c-2.08554 14.598778 9.384929 27.112016 23.983707 27.112016h165.800407c19.812627 0 36.496945-14.598778 39.625255-33.368635l2.08554-8.342159 31.283095-198.126273 2.08554-10.427699c3.12831-19.812627 19.812627-33.368635 39.625255-33.368635h25.026476c160.586558 0 285.718941-64.651731 322.215886-253.393075 15.641548-79.250509 7.299389-144.94501-33.368635-190.826884-12.513238-13.556008-28.154786-26.069246-45.881874-35.454175"
451 fill="#009CDE" p-id="22660"></path> 471 fill="#009CDE" p-id="22660"
472 />
452 <path 473 <path
453 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857" 474 d="M782.529121 259.649695c12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958-1.04277 9.384929c3.12831-21.898167 21.898167-38.582485 44.839104-38.582485h93.849287c183.527495 0 327.429735-74.03666 369.140529-289.89002l3.12831-18.769857"
454 fill="#012169" p-id="22661"></path> 475 fill="#012169" p-id="22661"
476 />
455 <path 477 <path
456 d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z" 478 d="M326.838693 260.692464c2.08554-13.556008 10.427699-23.983707 21.898167-30.240326 5.213849-2.08554 11.470468-4.171079 16.684318-4.171079h250.264766c29.197556 0 57.352342 2.08554 82.378819 6.256619 7.299389 1.04277 14.598778 2.08554 20.855397 4.17108 7.299389 1.04277 13.556008 3.12831 19.812627 5.213849l9.384929 3.128309c12.513238 4.171079 23.983707 9.384929 34.411405 14.598779 12.513238-79.250509 0-133.474542-42.753564-182.484726C691.808143 22.940937 606.301015 0 496.81018 0H178.765374c-21.898167 0-41.710794 16.684318-44.839104 38.582485L0.451728 879.05499c-3.12831 16.684318 10.427699 31.283096 27.112016 31.283096h196.040733l49.010184-312.830958L326.838693 260.692464z"
457 fill="#003087" p-id="22662"></path> 479 fill="#003087" p-id="22662"
480 />
458 </svg> 481 </svg>
459 </el-radio> 482 </el-radio>
460 </el-radio-group> 483 </el-radio-group>
461 <div v-if="payType == '2'&&wePayCodeUrl"> 484 <div v-if="payType == '2'&&wePayCodeUrl">
462 <div class="payImgbox flexCenter"> 485 <div class="payImgbox flexCenter">
463 <div> 486 <div>
464 <img :src="wePayCodeUrl" class="border" width="260"/> 487 <img :src="wePayCodeUrl" class="border" width="260">
465 <img class="mt20" src="@/assets/img/sm.png"/> 488 <img class="mt20" src="@/assets/img/sm.png">
466 </div> 489 </div>
467 <div class="ml20"> 490 <div class="ml20">
468 <img height="360" src="@/assets/img/rr.jpg"/> 491 <img height="360" src="@/assets/img/rr.jpg">
469 </div> 492 </div>
470 </div> 493 </div>
471 <div v-if="language==0" class="tip text-center text-danger"> 494 <div v-if="language==0" class="tip text-center text-danger">
...@@ -474,7 +497,7 @@ ...@@ -474,7 +497,7 @@
474 </div> 497 </div>
475 <div v-else class="tip text-center text-danger"> 498 <div v-else class="tip text-center text-danger">
476 After payment, do not close this window and wait for confirmation of successful payment. 499 After payment, do not close this window and wait for confirmation of successful payment.
477 <br/> 500 <br>
478 If you have not received a notification of successful payment for a long time, 501 If you have not received a notification of successful payment for a long time,
479 please refresh the page 502 please refresh the page
480 </div> 503 </div>
...@@ -483,8 +506,10 @@ ...@@ -483,8 +506,10 @@
483 </div> 506 </div>
484 <el-row align="middle" class="mt20 mb60" justify="center"> 507 <el-row align="middle" class="mt20 mb60" justify="center">
485 <el-col :span="24" class="text-center"> 508 <el-col :span="24" class="text-center">
486 <el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" class="btn-lineG w200px" round type="primary" 509 <el-button
487 @click="goPay"> 510 v-if="!hideconfirmbtn&&form.viewStatus == '0'" class="btn-lineG w200px" round type="primary"
511 @click="goPay"
512 >
488 {{ language == 0 ? '确定' : 'Submit' }} 513 {{ language == 0 ? '确定' : 'Submit' }}
489 </el-button> 514 </el-button>
490 <el-button v-if="form.viewStatus == '5'" round @click="unsubscribe"> 515 <el-button v-if="form.viewStatus == '5'" round @click="unsubscribe">
...@@ -499,7 +524,7 @@ ...@@ -499,7 +524,7 @@
499 <div v-if="form.payDate&&form.viewStatus=='1'"> 524 <div v-if="form.payDate&&form.viewStatus=='1'">
500 <div class="text-center"> 525 <div class="text-center">
501 <el-icon color="#32B16C" size="80"> 526 <el-icon color="#32B16C" size="80">
502 <SuccessFilled/> 527 <SuccessFilled />
503 </el-icon> 528 </el-icon>
504 <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p> 529 <p class="text-success">{{ language == 0 ? '支付成功' : 'successful!' }}</p>
505 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ totalFee || 0 }}</h3> 530 <h3 class="wePrice">{{ language == 0 ? '¥' : '€' }}{{ totalFee || 0 }}</h3>
...@@ -521,14 +546,16 @@ ...@@ -521,14 +546,16 @@
521 </template> 546 </template>
522 </el-result> 547 </el-result>
523 </div> 548 </div>
524 <Dialog ref="DialogRef"/> 549 <Dialog ref="DialogRef" />
525 550
526 <el-dialog v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false" 551 <el-dialog
527 :title="language==0?'开收据':'Issue a receipt'" width="460px"> 552 v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false"
553 :title="language==0?'开收据':'Issue a receipt'" width="460px"
554 >
528 <div class="flex"> 555 <div class="flex">
529 <el-form-item :label="language==0?'开票人':'Name'"> 556 <el-form-item :label="language==0?'开票人':'Name'">
530 <div class="flex"> 557 <div class="flex">
531 <el-input v-model="lpName" :placeholder="language==0?'请输入开票人':'Please enter your name'"></el-input> 558 <el-input v-model="lpName" :placeholder="language==0?'请输入开票人':'Please enter your name'" />
532 <el-button type="primary" @click="submitSJ">{{ language == 0 ? '提交并下载' : 'Submit' }}</el-button> 559 <el-button type="primary" @click="submitSJ">{{ language == 0 ? '提交并下载' : 'Submit' }}</el-button>
533 </div> 560 </div>
534 </el-form-item> 561 </el-form-item>
...@@ -544,16 +571,16 @@ ...@@ -544,16 +571,16 @@
544 </template> 571 </template>
545 572
546 <script setup> 573 <script setup>
547 import {Search} from "@element-plus/icons-vue" 574 import { Search } from '@element-plus/icons-vue'
548 import {getCurrentInstance, ref} from 'vue' 575 import { getCurrentInstance, ref } from 'vue'
549 import {onMounted} from "@vue/runtime-core" 576 import { onMounted } from '@vue/runtime-core'
550 import {useRoute, useRouter} from "vue-router" 577 import { useRoute, useRouter } from 'vue-router'
551 import * as booking from "@/apiPc/booking" 578 import * as booking from '@/apiPc/booking'
552 import Dialog from '@/viewsPc/booking/component/dailog.vue' 579 import Dialog from '@/viewsPc/booking/component/dailog.vue'
553 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; 580 import MatchInfoRow from '@/viewsPc/match/components/matchInfo-row'
554 581
555 582
556 const {proxy} = getCurrentInstance() 583 const { proxy } = getCurrentInstance()
557 const route = useRoute() 584 const route = useRoute()
558 const router = useRouter() 585 const router = useRouter()
559 const matchInfo = ref({}) 586 const matchInfo = ref({})
...@@ -563,19 +590,19 @@ const payType = ref('2') ...@@ -563,19 +590,19 @@ const payType = ref('2')
563 const orderId = ref(route.query.orderId) 590 const orderId = ref(route.query.orderId)
564 const matchId = ref() 591 const matchId = ref()
565 const groupId = ref() 592 const groupId = ref()
566 import useUserStore from "@/store/modules/user"; 593 import useUserStore from '@/store/modules/user'
567 import FileUpload from "@/components/FileUpload"; 594 import FileUpload from '@/components/FileUpload'
568 import {useStorage} from "@vueuse/core/index"; 595 import { useStorage } from '@vueuse/core/index'
569 import {ElMessage, ElMessageBox} from "element-plus"; 596 import { ElMessage, ElMessageBox } from 'element-plus'
570 import { 597 import {
571 cancelOrder, 598 cancelOrder,
572 cancelOrder2, getBaseInfoByActiveId, 599 cancelOrder2, getBaseInfoByActiveId,
573 getCarBilldetailbyId, 600 getCarBilldetailbyId,
574 getFoodBilldetailbyId, 601 getFoodBilldetailbyId,
575 getMealOrderInfoByLogex, getPhotoOrderInfo, getPhotoOrderInfoByLogex, getTicketInfoByActivityId, getTicketOrderInfo, 602 getMealOrderInfoByLogex, getPhotoOrderInfo, getPhotoOrderInfoByLogex, getTicketInfoByActivityId, getTicketOrderInfo
576 } from "@/apiPc/booking"; 603 } from '@/apiPc/booking'
577 import dayjs from 'dayjs' 604 import dayjs from 'dayjs'
578 import {delPerson} from "@/api/exam/person"; 605 import { delPerson } from '@/api/exam/person'
579 606
580 const isLogin = ref(false) 607 const isLogin = ref(false)
581 const language = useStorage('language', 0) 608 const language = useStorage('language', 0)
...@@ -635,7 +662,7 @@ onMounted(() => { ...@@ -635,7 +662,7 @@ onMounted(() => {
635 662
636 function getData() { 663 function getData() {
637 if (type.value == 'car') { 664 if (type.value == 'car') {
638 return booking.getCarBilldetailbyId({orderId: orderId.value}).then(res => { 665 return booking.getCarBilldetailbyId({ orderId: orderId.value }).then(res => {
639 form.value = res.data 666 form.value = res.data
640 if (language.value == 0) { 667 if (language.value == 0) {
641 totalFee.value = res.data.total 668 totalFee.value = res.data.total
...@@ -648,7 +675,7 @@ function getData() { ...@@ -648,7 +675,7 @@ function getData() {
648 }) 675 })
649 } 676 }
650 if (type.value == 'food') { 677 if (type.value == 'food') {
651 return booking.getFoodBilldetailbyId({orderId: orderId.value}).then(res => { 678 return booking.getFoodBilldetailbyId({ orderId: orderId.value }).then(res => {
652 if (language.value == 0) { 679 if (language.value == 0) {
653 totalFee.value = res.data.total 680 totalFee.value = res.data.total
654 } else { 681 } else {
...@@ -661,7 +688,7 @@ function getData() { ...@@ -661,7 +688,7 @@ function getData() {
661 }) 688 })
662 } 689 }
663 if (type.value == 'hotel') { 690 if (type.value == 'hotel') {
664 return booking.getRoomBilldetailbyId({orderId: orderId.value}).then(res => { 691 return booking.getRoomBilldetailbyId({ orderId: orderId.value }).then(res => {
665 if (language.value == 0) { 692 if (language.value == 0) {
666 totalFee.value = res.data.total 693 totalFee.value = res.data.total
667 } else { 694 } else {
...@@ -692,7 +719,7 @@ function getData() { ...@@ -692,7 +719,7 @@ function getData() {
692 719
693 // 票务订单详情 720 // 票务订单详情
694 async function getTicketOrderInfoFN() { 721 async function getTicketOrderInfoFN() {
695 const res = await getTicketOrderInfo({orderId: orderId.value}) 722 const res = await getTicketOrderInfo({ orderId: orderId.value })
696 form.value = res.data 723 form.value = res.data
697 form.value.extJson = JSON.parse(form.value.extJson) 724 form.value.extJson = JSON.parse(form.value.extJson)
698 try { 725 try {
...@@ -709,11 +736,10 @@ async function getTicketOrderInfoFN() { ...@@ -709,11 +736,10 @@ async function getTicketOrderInfoFN() {
709 736
710 } 737 }
711 console.log(form.value) 738 console.log(form.value)
712
713 } 739 }
714 740
715 async function getDetail(activeId) { 741 async function getDetail(activeId) {
716 const res = await getTicketInfoByActivityId({activityId: activeId}) 742 const res = await getTicketInfoByActivityId({ activityId: activeId })
717 matchForm.value = res.data 743 matchForm.value = res.data
718 console.log(matchForm.value) 744 console.log(matchForm.value)
719 } 745 }
...@@ -725,14 +751,14 @@ function goHome() { ...@@ -725,14 +751,14 @@ function goHome() {
725 751
726 function goPay() { 752 function goPay() {
727 if (payType.value == '2') { 753 if (payType.value == '2') {
728 booking.createWePay({orderId: orderId.value}).then(res => { 754 booking.createWePay({ orderId: orderId.value }).then(res => {
729 wePayCodeUrl.value = res.data 755 wePayCodeUrl.value = res.data
730 hideconfirmbtn.value = true 756 hideconfirmbtn.value = true
731 startforGetData() 757 startforGetData()
732 }) 758 })
733 } 759 }
734 if (payType.value == '3') { 760 if (payType.value == '3') {
735 booking.createPalPay({orderId: orderId.value}).then(res => { 761 booking.createPalPay({ orderId: orderId.value }).then(res => {
736 if (res.data) { 762 if (res.data) {
737 location.href = res.data 763 location.href = res.data
738 } 764 }
...@@ -740,7 +766,7 @@ function goPay() { ...@@ -740,7 +766,7 @@ function goPay() {
740 } 766 }
741 } 767 }
742 768
743 let handle; 769 let handle
744 770
745 function startforGetData() { 771 function startforGetData() {
746 handle = setTimeout(() => { 772 handle = setTimeout(() => {
...@@ -798,7 +824,7 @@ function showLogin() { ...@@ -798,7 +824,7 @@ function showLogin() {
798 824
799 825
800 function MakeUpOrder() { 826 function MakeUpOrder() {
801 return booking.getMealOrderInfo({orderId: orderId.value}).then(res => { 827 return booking.getMealOrderInfo({ orderId: orderId.value }).then(res => {
802 form.value = res.data 828 form.value = res.data
803 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn 829 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
804 matchId.value = form.value.activeId 830 matchId.value = form.value.activeId
...@@ -811,7 +837,7 @@ function MakeUpOrder() { ...@@ -811,7 +837,7 @@ function MakeUpOrder() {
811 } 837 }
812 838
813 function MakeUpIno() { 839 function MakeUpIno() {
814 booking.getMealOrderInfoByLogex({asmId: form.value.asmId}).then(res => { 840 booking.getMealOrderInfoByLogex({ asmId: form.value.asmId }).then(res => {
815 formInfo.value = res.data 841 formInfo.value = res.data
816 console.log(res) 842 console.log(res)
817 }) 843 })
...@@ -823,7 +849,7 @@ function MakeUpIno() { ...@@ -823,7 +849,7 @@ function MakeUpIno() {
823 849
824 850
825 function photographyOrder() { 851 function photographyOrder() {
826 return booking.getPhotoOrderInfo({orderId: orderId.value}).then(res => { 852 return booking.getPhotoOrderInfo({ orderId: orderId.value }).then(res => {
827 form.value = res.data 853 form.value = res.data
828 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn 854 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
829 photographyInfo() 855 photographyInfo()
...@@ -834,7 +860,7 @@ function photographyOrder() { ...@@ -834,7 +860,7 @@ function photographyOrder() {
834 } 860 }
835 861
836 function photographyInfo() { 862 function photographyInfo() {
837 booking.getPhotoOrderInfoByLogex({aspId: form.value.aspId}).then(res => { 863 booking.getPhotoOrderInfoByLogex({ aspId: form.value.aspId }).then(res => {
838 formInfo.value = res.data 864 formInfo.value = res.data
839 }) 865 })
840 // .catch((e) => { 866 // .catch((e) => {
...@@ -844,7 +870,7 @@ function photographyInfo() { ...@@ -844,7 +870,7 @@ function photographyInfo() {
844 } 870 }
845 871
846 const cancel = () => { 872 const cancel = () => {
847 //取消订单 873 // 取消订单
848 proxy.$modal.confirm(language.value == 0 ? '确定取消订单吗 ?' : `Are you sure to cancel the order?`).then(() => { 874 proxy.$modal.confirm(language.value == 0 ? '确定取消订单吗 ?' : `Are you sure to cancel the order?`).then(() => {
849 return cancelOrder2(orderId.value).then(res => { 875 return cancelOrder2(orderId.value).then(res => {
850 getData() 876 getData()
...@@ -874,13 +900,12 @@ function exportPdf() { ...@@ -874,13 +900,12 @@ function exportPdf() {
874 if (language.value == 0) { 900 if (language.value == 0) {
875 proxy.download('/ota/orderRoom/downRoomConfirmation', { 901 proxy.download('/ota/orderRoom/downRoomConfirmation', {
876 ...obj 902 ...obj
877 }, `订房确认书.pdf`) 903 }, `订房确认书.pdf`, {}, 'application/pdf')
878 } else { 904 } else {
879 proxy.download('/ota/orderRoom/downRoomConfirmation', { 905 proxy.download('/ota/orderRoom/downRoomConfirmation', {
880 ...obj 906 ...obj
881 }, `Hotel Reservation.pdf`) 907 }, `Hotel Reservation.pdf`, {}, 'application/pdf')
882 } 908 }
883
884 } 909 }
885 910
886 // 套餐详情 911 // 套餐详情
...@@ -938,7 +963,7 @@ const showSJ = () => { ...@@ -938,7 +963,7 @@ const showSJ = () => {
938 // 报名 963 // 报名
939 proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, { 964 proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, {
940 ...obj 965 ...obj
941 }, `Receipt_${new Date().getTime()}.pdf`) 966 }, `Receipt_${new Date().getTime()}.pdf`, {}, 'application/pdf')
942 showSJDialog.value = false 967 showSJDialog.value = false
943 getData() 968 getData()
944 } 969 }
......
...@@ -48,7 +48,9 @@ ...@@ -48,7 +48,9 @@
48 <!-- b.messageObj.ticketDate.name--> 48 <!-- b.messageObj.ticketDate.name-->
49 <!-- }}</p>--> 49 <!-- }}</p>-->
50 <p class="common"> 50 <p class="common">
51 {{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.touristList.length }}{{ language == 0 ? "张" : "tickets" }} 51 {{ language == 0 ? "张数" : "Location" }}{{
52 b.messageObj.touristList.length
53 }}{{ language == 0 ? "张" : "tickets" }}
52 </p> 54 </p>
53 </el-col> 55 </el-col>
54 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> 56 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
...@@ -89,7 +91,9 @@ ...@@ -89,7 +91,9 @@
89 b.messageObj.atName 91 b.messageObj.atName
90 }}</p> 92 }}</p>
91 <p class="common"> 93 <p class="common">
92 {{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.orderCustomerList.length }}{{ language == 0 ? "张" : "tickets" }} 94 {{ language == 0 ? "张数" : "Location" }}{{
95 b.messageObj.orderCustomerList.length
96 }}{{ language == 0 ? "张" : "tickets" }}
93 </p> 97 </p>
94 </el-col> 98 </el-col>
95 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center"> 99 <el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
...@@ -313,10 +317,12 @@ onMounted(() => { ...@@ -313,10 +317,12 @@ onMounted(() => {
313 getList() 317 getList()
314 route.query.orderSn && getDataInfo() 318 route.query.orderSn && getDataInfo()
315 }) 319 })
320
316 async function getDataInfo() { 321 async function getDataInfo() {
317 const res = await getOrderDetail({ orderSn: route.query.orderSn }) 322 const res = await getOrderDetail({ orderSn: route.query.orderSn })
318 formDate.value = res.data 323 formDate.value = res.data
319 } 324 }
325
320 const getList = () => { 326 const getList = () => {
321 loading.value = true 327 loading.value = true
322 if (query.value.orderType == '5') { 328 if (query.value.orderType == '5') {
...@@ -489,12 +495,12 @@ const showSJ = (item) => { ...@@ -489,12 +495,12 @@ const showSJ = (item) => {
489 // 预约 495 // 预约
490 proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, { 496 proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, {
491 ...obj 497 ...obj
492 }, `Receipt_${new Date().getTime()}.pdf`) 498 }, `Receipt_${new Date().getTime()}.pdf`, {}, 'application/pdf')
493 } else { 499 } else {
494 // 报名 500 // 报名
495 proxy.download(`/ota/signOrder/getReceipt/${obj.orderId}`, { 501 proxy.download(`/ota/signOrder/getReceipt/${obj.orderId}`, {
496 ...obj 502 ...obj
497 }, `Receipt_${new Date().getTime()}.pdf`) 503 }, `Receipt_${new Date().getTime()}.pdf`, {}, 'application/pdf')
498 } 504 }
499 } 505 }
500 const submitSJ = () => { 506 const submitSJ = () => {
......
...@@ -3,72 +3,80 @@ ...@@ -3,72 +3,80 @@
3 <!-- 个人报名-国外--> 3 <!-- 个人报名-国外-->
4 <div class="box ph-30"> 4 <div class="box ph-30">
5 <el-card class="mb20"> 5 <el-card class="mb20">
6 <single-sign-step :activeStep="1" :language="language"/> 6 <single-sign-step :active-step="1" :language="language" />
7 </el-card> 7 </el-card>
8 8
9 <el-card :body-style="{'padding': '0'}"> 9 <el-card :body-style="{'padding': '0'}">
10 <match-info-row :match-id="matchId"/> 10 <match-info-row :match-id="matchId" />
11 <div class="pd20"> 11 <div class="pd20">
12 <el-row :gutter="20"> 12 <el-row :gutter="20">
13 <el-col :lg="6"> 13 <el-col :lg="6">
14 <div class="panel border"> 14 <div class="panel border">
15 <div class="panel-header "> 15 <div class="panel-header ">
16 <h3 class="panel-title" v-if="language==0">完善我的信息</h3> 16 <h3 v-if="language==0" class="panel-title">完善我的信息</h3>
17 <h3 class="panel-title" v-else>My Information</h3> 17 <h3 v-else class="panel-title">My Information</h3>
18 </div> 18 </div>
19 <div class="panel-body"> 19 <div class="panel-body">
20 <div v-if="form.danceMate"> 20 <div v-if="form.danceMate">
21 <div class="text-danger fontsize14 mb10" v-if="language==0">*如果您报名双人舞项目,请勾选您的舞伴</div> 21 <div v-if="language==0" class="text-danger fontsize14 mb10">*如果您报名双人舞项目,请勾选您的舞伴
22 <div class="text-danger fontsize14 mb10" v-else> 22 </div>
23 <div v-else class="text-danger fontsize14 mb10">
23 *Please select your dance partner if you are registering for a couple event 24 *Please select your dance partner if you are registering for a couple event
24 </div> 25 </div>
25 </div> 26 </div>
26 <div class="chooseForm" style="display: flex;flex-wrap: wrap;"> 27 <div class="chooseForm" style="display: flex;flex-wrap: wrap;">
27 <div @click="editPerson" class="mb20" style="width: 50%;text-align: center;"> 28 <div class="mb20" style="width: 50%;text-align: center;" @click="editPerson">
28 <el-avatar fit="cover" v-if="form.picUrl" :size="60" :src="fillImgUrl(form.picUrl)"/> 29 <el-avatar v-if="form.picUrl" :size="60" :src="fillImgUrl(form.picUrl)" fit="cover" />
29 <div v-else> 30 <div v-else>
30 <el-avatar fit="cover" v-if="form.sex == 0" :size="60" src="/img/head1.png"/> 31 <el-avatar v-if="form.sex == 0" :size="60" fit="cover" src="/img/head1.png" />
31 <el-avatar fit="cover" v-if="form.sex == 1" :size="60" src="/img/head0.png"/> 32 <el-avatar v-if="form.sex == 1" :size="60" fit="cover" src="/img/head0.png" />
32 </div> 33 </div>
33 <div class="text-center mt10"> 34 <div class="text-center mt10">
34 <span class="mName">{{ form.realName }}</span> 35 <span class="mName">{{ form.realName }}</span>
35 <el-icon size="20"> 36 <el-icon size="20">
36 <Edit/> 37 <Edit />
37 </el-icon> 38 </el-icon>
38 </div> 39 </div>
39 </div> 40 </div>
40 <!--舞伴--> 41 <!--舞伴-->
41 <div style="width:50%;text-align: center;" v-if="form.danceMate"> 42 <div v-if="form.danceMate" style="width:50%;text-align: center;">
42 <el-checkbox-group v-model="mateChosed" @change="changeMate"> 43 <el-checkbox-group v-model="mateChosed" @change="changeMate">
43 <el-checkbox :label="form.danceMate.id"> 44 <el-checkbox :label="form.danceMate.id">
44 <div> 45 <div>
45 <el-avatar fit="cover" v-if="form.danceMate.picUrl" :size="60" :src="fillImgUrl(form.danceMate.picUrl)"/> 46 <el-avatar
46 <el-avatar fit="cover" v-else-if="form.danceMate.sex == 0" :size="60" 47 v-if="form.danceMate.picUrl" :size="60" :src="fillImgUrl(form.danceMate.picUrl)"
47 src="/img/head1.png"/> 48 fit="cover"
48 <el-avatar fit="cover" v-else-if="form.danceMate.sex == 1" :size="60" 49 />
49 src="/img/head0.png"/> 50 <el-avatar
51 v-else-if="form.danceMate.sex == 0" :size="60" fit="cover"
52 src="/img/head1.png"
53 />
54 <el-avatar
55 v-else-if="form.danceMate.sex == 1" :size="60" fit="cover"
56 src="/img/head0.png"
57 />
50 <div class="text-center mt10" @click="editMate(form.danceMate)"> 58 <div class="text-center mt10" @click="editMate(form.danceMate)">
51 <span class="mName">{{ form.danceMate.realName }}</span> 59 <span class="mName">{{ form.danceMate.realName }}</span>
52 <el-icon @click.stop="editMate(form.danceMate)" size="20"> 60 <el-icon size="20" @click.stop="editMate(form.danceMate)">
53 <Edit/> 61 <Edit />
54 </el-icon> 62 </el-icon>
55 <!-- <el-icon @click.stop="delMate(form.danceMate)">--> 63 <!-- <el-icon @click.stop="delMate(form.danceMate)">-->
56 <!-- <Delete/>--> 64 <!-- <Delete/>-->
57 <!-- </el-icon>--> 65 <!-- </el-icon>-->
58 </div> 66 </div>
59 </div> 67 </div>
60 </el-checkbox> 68 </el-checkbox>
61 </el-checkbox-group> 69 </el-checkbox-group>
62 </div> 70 </div>
63 <!-- <div style="min-width:50%;" v-else @click="addMate" hidden>--> 71 <!-- <div style="min-width:50%;" v-else @click="addMate" hidden>-->
64 <!-- <div class="addBttn" style="margin: 0 auto">+</div>--> 72 <!-- <div class="addBttn" style="margin: 0 auto">+</div>-->
65 <!-- <div class="text-center mt10 text-primary text-sm">--> 73 <!-- <div class="text-center mt10 text-primary text-sm">-->
66 <!-- Please add your partner--> 74 <!-- Please add your partner-->
67 <!-- <el-icon>--> 75 <!-- <el-icon>-->
68 <!-- <Edit/>--> 76 <!-- <Edit/>-->
69 <!-- </el-icon>--> 77 <!-- </el-icon>-->
70 <!-- </div>--> 78 <!-- </div>-->
71 <!-- </div>--> 79 <!-- </div>-->
72 </div> 80 </div>
73 </div> 81 </div>
74 </div> 82 </div>
...@@ -77,16 +85,18 @@ ...@@ -77,16 +85,18 @@
77 <el-col :lg="18"> 85 <el-col :lg="18">
78 <div class="panel border"> 86 <div class="panel border">
79 <div class="panel-header "> 87 <div class="panel-header ">
80 <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> 88 <h3 v-if="language==0" class="panel-title">可参与报名的项目</h3>
81 <h3 class="panel-title" v-else>Search Events</h3> 89 <h3 v-else class="panel-title">Search Events</h3>
82 <div class="fr"> 90 <div class="fr">
83 <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" @change="getProjectList" 91 <el-input
84 clearable/> 92 v-model="projectQuery.name" :prefix-icon="Search" clearable size="small"
93 @change="getProjectList"
94 />
85 </div> 95 </div>
86 </div> 96 </div>
87 <div v-loading="loadingProject" style="height: 55vh;overflow: auto;"> 97 <div v-loading="loadingProject" style="height: 55vh;overflow: auto;">
88 <el-checkbox-group v-model="projectIds"> 98 <el-checkbox-group v-model="projectIds">
89 <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> 99 <el-checkbox v-for="c in projectList" :key="c.id" :label="c.id" class="flexBetweenBox">
90 <div class="flexBetween w100"> 100 <div class="flexBetween w100">
91 <div class="l"> 101 <div class="l">
92 {{ c.code }}:{{ c.name }} 102 {{ c.code }}:{{ c.name }}
...@@ -96,8 +106,10 @@ ...@@ -96,8 +106,10 @@
96 </div> 106 </div>
97 </el-checkbox> 107 </el-checkbox>
98 </el-checkbox-group> 108 </el-checkbox-group>
99 <el-empty v-if="projectList.length==0" :image="`/img/order_no.png`" :image-size="228" 109 <el-empty
100 :description="language==0?'无可选项目':''"/> 110 v-if="projectList.length==0" :description="language==0?'无可选项目':''" :image="`/img/order_no.png`"
111 :image-size="228"
112 />
101 </div> 113 </div>
102 </div> 114 </div>
103 </el-col> 115 </el-col>
...@@ -106,7 +118,7 @@ ...@@ -106,7 +118,7 @@
106 <el-row class="mt20"> 118 <el-row class="mt20">
107 <el-col :span="24"> 119 <el-col :span="24">
108 <div class="text-center"> 120 <div class="text-center">
109 <el-button type="primary" class="btn-lineG w200px" round @click="signUp"> 121 <el-button class="btn-lineG w200px" round type="primary" @click="signUp">
110 {{ language == 0 ? '确定' : 'Confirm' }} 122 {{ language == 0 ? '确定' : 'Confirm' }}
111 </el-button> 123 </el-button>
112 </div> 124 </div>
...@@ -124,27 +136,29 @@ ...@@ -124,27 +136,29 @@
124 {{ language == 0 ? '按人员查看报项' : 'Check Registrations by Participant' }} 136 {{ language == 0 ? '按人员查看报项' : 'Check Registrations by Participant' }}
125 </div> 137 </div>
126 </div> 138 </div>
127 <sign-info-table v-if="tableType==0" :match-id="matchId" 139 <sign-info-table
128 :extraform="extraform" :language="language" :list="signInfoList" 140 v-if="tableType==0" :extraform="extraform"
129 @editExtra="goPersonInfo"/> 141 :language="language" :list="signInfoList" :match-id="matchId"
130 <zu-table v-else :list="zuTableList" :language="language" @delete="removeThis"/> 142 @editExtra="goPersonInfo"
143 />
144 <zu-table v-else :language="language" :list="zuTableList" @delete="removeThis" />
131 145
132 <div v-if="showPersonList||myMemberTable.length>0"> 146 <div v-if="showPersonList||myMemberTable.length>0">
133 <el-row class="mt20"> 147 <el-row class="mt20">
134 <el-col :span="24"> 148 <el-col :span="24">
135 <el-button @click="addAccompany" type="primary" plain> 149 <el-button plain type="primary" @click="addAccompany">
136 {{ language == 0 ? '添加随行人员' : 'Add accompanying personnel' }} 150 {{ language == 0 ? '添加随行人员' : 'Add accompanying personnel' }}
137 </el-button> 151 </el-button>
138 </el-col> 152 </el-col>
139 </el-row> 153 </el-row>
140 <el-table class="mt20" :data="myMemberTable" border> 154 <el-table :data="myMemberTable" border class="mt20">
141 <el-table-column type="index" :label="language==0?'序号':'Index'" width="70" align="center"/> 155 <el-table-column :label="language==0?'序号':'Index'" align="center" type="index" width="70" />
142 <el-table-column :label="language==0?'姓氏':'Surname'" prop="xing" min-width="100"/> 156 <el-table-column :label="language==0?'姓氏':'Surname'" min-width="100" prop="xing" />
143 <el-table-column :label="language==0?'名':'Name'" prop="ming" min-width="100"/> 157 <el-table-column :label="language==0?'名':'Name'" min-width="100" prop="ming" />
144 <el-table-column :label="language==0?'国家/地区':'Nationality'" prop="countryName" min-width="100"/> 158 <el-table-column :label="language==0?'国家/地区':'Nationality'" min-width="100" prop="countryName" />
145 <!-- <el-table-column :label="language==0?'证件号':'Valid Documents'" prop="idcCode" min-width="120"/>--> 159 <!-- <el-table-column :label="language==0?'证件号':'Valid Documents'" prop="idcCode" min-width="120"/>-->
146 <!-- <el-table-column label="Birthday" prop="birth"/>--> 160 <!-- <el-table-column label="Birthday" prop="birth"/>-->
147 <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/> 161 <el-table-column :label="language==0?'性别':'Gender'" prop="sexStr" />
148 <el-table-column :label="language==0?'会员角色':'Role'" min-width="160"> 162 <el-table-column :label="language==0?'会员角色':'Role'" min-width="160">
149 <template #default="scope"> 163 <template #default="scope">
150 <div class="roletd"> 164 <div class="roletd">
...@@ -171,57 +185,57 @@ ...@@ -171,57 +185,57 @@
171 </div> 185 </div>
172 186
173 <div class="text-center mt20"> 187 <div class="text-center mt20">
174 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()"> 188 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm()">
175 {{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }} 189 {{ language == 0 ? '预览报名信息' : 'Preview Registration Information' }}
176 </el-button> 190 </el-button>
177 </div> 191 </div>
178 <!-- <div class="text-center mt20">--> 192 <!-- <div class="text-center mt20">-->
179 <!-- <el-button type="primary" class="" plain round @click="submitForm(0)">--> 193 <!-- <el-button type="primary" class="" plain round @click="submitForm(0)">-->
180 <!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}--> 194 <!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}-->
181 <!-- </el-button>--> 195 <!-- </el-button>-->
182 <!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">--> 196 <!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">-->
183 <!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}--> 197 <!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}-->
184 <!-- </el-button>--> 198 <!-- </el-button>-->
185 <!-- </div>--> 199 <!-- </div>-->
186 </div> 200 </div>
187 </el-card> 201 </el-card>
188 </div> 202 </div>
189 203
190 <dialogEditWdsf ref="dialogEditWdsfRef" @submitForm="changeMeDone"/> 204 <dialogEditWdsf ref="dialogEditWdsfRef" @submitForm="changeMeDone" />
191 <dialogEditAccompany ref="dialogEditAccompanyRef" @submitForm="getMyMemberTable"/> 205 <dialogEditAccompany ref="dialogEditAccompanyRef" @submitForm="getMyMemberTable" />
192 <addCoachEn ref="dialogAddCoachEnRef" @submitForm="getMyMemberTable"/> 206 <addCoachEn ref="dialogAddCoachEnRef" @submitForm="getMyMemberTable" />
193 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> 207 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList" />
194 </div> 208 </div>
195 </template> 209 </template>
196 210
197 <script setup> 211 <script setup>
198 import {ref, reactive, toRefs} from 'vue' 212 import { ref, reactive, toRefs } from 'vue'
199 import * as match from '@/apiPc/match' 213 import * as match from '@/apiPc/match'
200 import {getCurrentInstance, onMounted} from '@vue/runtime-core' 214 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
201 import DialogEditWdsf from './components/addWdsf' 215 import DialogEditWdsf from './components/addWdsf'
202 import DialogEditAccompany from './components/addAccompany' 216 import DialogEditAccompany from './components/addAccompany'
203 import AddCoachEn from './components/addCoach_en' 217 import AddCoachEn from './components/addCoach_en'
204 import DialogAllSportsmanList from './components/allSportsmanList' 218 import DialogAllSportsmanList from './components/allSportsmanList'
205 import DialogExtraForm from './components/extraForm' 219 import DialogExtraForm from './components/extraForm'
206 import {Search, Switch} from "@element-plus/icons-vue"; 220 import { Search, Switch } from '@element-plus/icons-vue'
207 221
208 const {proxy} = getCurrentInstance() 222 const { proxy } = getCurrentInstance()
209 const router = useRouter() 223 const router = useRouter()
210 const route = useRoute() 224 const route = useRoute()
211 import _ from 'lodash' 225 import _ from 'lodash'
212 import {ElMessage, ElMessageBox} from 'element-plus' 226 import { ElMessage, ElMessageBox } from 'element-plus'
213 import cache from "@/plugins/cache" 227 import cache from '@/plugins/cache'
214 import TeamSignStep from "@/viewsPc/match/components/teamSignStep" 228 import TeamSignStep from '@/viewsPc/match/components/teamSignStep'
215 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" 229 import CoachInfoRow from '@/viewsPc/match/components/coachInfo-row'
216 import SignInfoTable from "@/viewsPc/match/components/signInfo-table" 230 import SignInfoTable from '@/viewsPc/match/components/signInfo-table'
217 import ZuTable from '@/viewsPc/match/components/zu-table' 231 import ZuTable from '@/viewsPc/match/components/zu-table'
218 import SingleSignStep from "@/viewsPc/match/components/singleSignStep"; 232 import SingleSignStep from '@/viewsPc/match/components/singleSignStep'
219 import MatchInfoRow from "@/viewsPc/match/components/matchInfo-row"; 233 import MatchInfoRow from '@/viewsPc/match/components/matchInfo-row'
220 import useUserStore from "@/store/modules/user"; 234 import useUserStore from '@/store/modules/user'
221 import {getPerPersonList} from "@/apiPc/match"; 235 import { getPerPersonList } from '@/apiPc/match'
222 import {useStorage} from "@vueuse/core/index"; 236 import { useStorage } from '@vueuse/core/index'
223 237
224 const language= useStorage('language',0) 238 const language = useStorage('language', 0)
225 239
226 const data = reactive({ 240 const data = reactive({
227 coachForm: {}, activeStep: 2, 241 coachForm: {}, activeStep: 2,
...@@ -247,7 +261,7 @@ const data = reactive({ ...@@ -247,7 +261,7 @@ const data = reactive({
247 mateChosed: [], 261 mateChosed: [],
248 projectIds: [], 262 projectIds: [],
249 projectList: [], 263 projectList: [],
250 choosed2List: [], projectQuery: {}, tableType: 1, 264 choosed2List: [], projectQuery: {}, tableType: 1
251 }) 265 })
252 const { 266 const {
253 activeTeam, 267 activeTeam,
...@@ -303,15 +317,15 @@ function getMyInfo() { ...@@ -303,15 +317,15 @@ function getMyInfo() {
303 myId.value = res.data.id 317 myId.value = res.data.id
304 getProjectList() 318 getProjectList()
305 }).catch(err => { 319 }).catch(err => {
306 router.push({name: 'home'}) 320 router.push({ name: 'home' })
307 }) 321 })
308 } 322 }
309 323
310 function getMyMemberTable() { 324 function getMyMemberTable() {
311 // 325 //
312 match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { 326 match.getPerPersonList({ cptId: matchId.value, searchLabels: '1,2,3,4,5,6' }, userId.value).then(res => {
313 myMemberTable.value = res.rows 327 myMemberTable.value = res.rows
314 if(res.rows.length > 0){ 328 if (res.rows.length > 0) {
315 showPersonList.value = true 329 showPersonList.value = true
316 } 330 }
317 }) 331 })
...@@ -378,13 +392,13 @@ function submitForm(n) { ...@@ -378,13 +392,13 @@ function submitForm(n) {
378 } 392 }
379 393
380 if (signInfoType == '1') { 394 if (signInfoType == '1') {
381 ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission', 395 ElMessageBox.confirm(language.value == 0 ? '已报项,前往我的报项' : 'Reported items, go to my submission',
382 language.value==0?'提示':'Tips', { 396 language.value == 0 ? '提示' : 'Tips', {
383 confirmButtonText: language.value==0?'确定':'OK', 397 confirmButtonText: language.value == 0 ? '确定' : 'OK',
384 cancelButtonText: language.value==0?'取消':'Cancel', 398 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
385 type: 'warning' 399 type: 'warning'
386 }).then(() => { 400 }).then(() => {
387 router.push({name: 'myMatch'}) 401 router.push({ name: 'myMatch' })
388 }) 402 })
389 return 403 return
390 } 404 }
...@@ -473,13 +487,12 @@ function commit() { ...@@ -473,13 +487,12 @@ function commit() {
473 // }) 487 // })
474 // })} 488 // })}
475 // ) 489 // )
476
477 } 490 }
478 491
479 function getProjectList() { 492 function getProjectList() {
480 projectIds.value = [] 493 projectIds.value = []
481 loadingProject.value = true 494 loadingProject.value = true
482 //根据已选人员id 获取项目列表 495 // 根据已选人员id 获取项目列表
483 var obj = {} 496 var obj = {}
484 if (mateChosed.value.length > 0 && form.value.danceMate) { 497 if (mateChosed.value.length > 0 && form.value.danceMate) {
485 obj = { 498 obj = {
...@@ -532,7 +545,7 @@ function addCoach() { ...@@ -532,7 +545,7 @@ function addCoach() {
532 } 545 }
533 546
534 function delperson(p) { 547 function delperson(p) {
535 //删除团队下的人 548 // 删除团队下的人
536 let text = '' 549 let text = ''
537 let t = '提示' 550 let t = '提示'
538 let s = '确定' 551 let s = '确定'
...@@ -569,14 +582,14 @@ function signUp() { ...@@ -569,14 +582,14 @@ function signUp() {
569 } 582 }
570 return 583 return
571 } 584 }
572 let obj = { 585 const obj = {
573 projectIds: projectIds.value.toString(), 586 projectIds: projectIds.value.toString(),
574 groupId: 0 587 groupId: 0
575 } 588 }
576 if (mateChosed.value.length > 0 && form.value.danceMate) { 589 if (mateChosed.value.length > 0 && form.value.danceMate) {
577 obj.athleteIds= `${myId.value},${form.value.danceMate?.id}` 590 obj.athleteIds = `${myId.value},${form.value.danceMate?.id}`
578 } else { 591 } else {
579 obj.athleteIds= myId.value 592 obj.athleteIds = myId.value
580 } 593 }
581 match.sportsmanDone(obj).then(res => { 594 match.sportsmanDone(obj).then(res => {
582 getSignInfoList() 595 getSignInfoList()
...@@ -624,7 +637,7 @@ const goPersonInfo = (row) => { ...@@ -624,7 +637,7 @@ const goPersonInfo = (row) => {
624 language.value == 0 ? '提示' : 'Tips', { 637 language.value == 0 ? '提示' : 'Tips', {
625 confirmButtonText: 'OK', 638 confirmButtonText: 'OK',
626 callback: (Action) => { 639 callback: (Action) => {
627 router.push({name: 'myMatch'}) 640 router.push({ name: 'myMatch' })
628 } 641 }
629 }) 642 })
630 return 643 return
...@@ -634,11 +647,11 @@ const goPersonInfo = (row) => { ...@@ -634,11 +647,11 @@ const goPersonInfo = (row) => {
634 // debugger 647 // debugger
635 const params = { 648 const params = {
636 matchId: matchId.value, 649 matchId: matchId.value,
637 title: language.value==0?'完善补充信息':'Complete the supplementary information', 650 title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information',
638 participantsInfoArr: extraform.value, 651 participantsInfoArr: extraform.value,
639 personId: row.personInfo.id, 652 personId: row.personInfo.id,
640 extraId: row.extraPersonInfo?.id || 0, 653 extraId: row.extraPersonInfo?.id || 0,
641 isNational:true 654 isNational: true
642 655
643 } 656 }
644 proxy.$refs['popExtraForm'].open(_.cloneDeep(params)) 657 proxy.$refs['popExtraForm'].open(_.cloneDeep(params))
...@@ -647,7 +660,7 @@ const goPersonInfo = (row) => { ...@@ -647,7 +660,7 @@ const goPersonInfo = (row) => {
647 function downloadVoucher() { 660 function downloadVoucher() {
648 // 下载凭证 661 // 下载凭证
649 proxy.download( 662 proxy.download(
650 `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf' 663 `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf', {}, 'application/pdf'
651 ) 664 )
652 } 665 }
653 666
...@@ -662,16 +675,17 @@ function addMate() { ...@@ -662,16 +675,17 @@ function addMate() {
662 proxy.$refs['dialogEditWdsfRef'].open({ 675 proxy.$refs['dialogEditWdsfRef'].open({
663 title: language.value == 0 ? '添加舞伴' : 'Add My Mate', 676 title: language.value == 0 ? '添加舞伴' : 'Add My Mate',
664 isMe: false, 677 isMe: false,
665 cptId:matchId.value, 678 cptId: matchId.value,
666 id: 0 679 id: 0
667 }) 680 })
668 } 681 }
682
669 function editMate(obj) { 683 function editMate(obj) {
670 proxy.$refs['dialogEditWdsfRef'].open({ 684 proxy.$refs['dialogEditWdsfRef'].open({
671 title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate', 685 title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate',
672 isMe: false, 686 isMe: false,
673 form: obj || {}, 687 form: obj || {},
674 cptId:matchId.value, 688 cptId: matchId.value,
675 id: obj?.id || 0 689 id: obj?.id || 0
676 }) 690 })
677 } 691 }
...@@ -689,19 +703,18 @@ function delMate(mate) { ...@@ -689,19 +703,18 @@ function delMate(mate) {
689 } 703 }
690 704
691 function changeMate(e) { 705 function changeMate(e) {
692 console.log(e, mateChosed.value,form.value.danceMate.passportUrl) 706 console.log(e, mateChosed.value, form.value.danceMate.passportUrl)
693 if(form.value.danceMate.passportUrl==''||!form.value.danceMate.passportUrl){ 707 if (form.value.danceMate.passportUrl == '' || !form.value.danceMate.passportUrl) {
694 mateChosed.value = [] 708 mateChosed.value = []
695 ElMessageBox.confirm(language.value == 0 ? '请先上传舞伴的有效证件' : 'Please upload the valid certificate of the teammate', 709 ElMessageBox.confirm(language.value == 0 ? '请先上传舞伴的有效证件' : 'Please upload the valid certificate of the teammate',
696 language.value == 0 ? '提示' : 'Tip', 710 language.value == 0 ? '提示' : 'Tip',
697 { 711 {
698 confirmButtonText: language.value == 0 ? '确定' : 'Yes', 712 confirmButtonText: language.value == 0 ? '确定' : 'Yes',
699 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 713 cancelButtonText: language.value == 0 ? '取消' : 'Cancel'
700 }).then(()=>{ 714 }).then(() => {
701 editMate(form.value.danceMate) 715 editMate(form.value.danceMate)
702 return 716 }).catch(() => {
703 }).catch(()=>{ 717
704 return
705 }) 718 })
706 } 719 }
707 getProjectList() 720 getProjectList()
...@@ -716,13 +729,14 @@ function switchTabletype() { ...@@ -716,13 +729,14 @@ function switchTabletype() {
716 } 729 }
717 </script> 730 </script>
718 731
719 <style scoped lang="scss"> 732 <style lang="scss" scoped>
720 :deep(.el-checkbox__label) { 733 :deep(.el-checkbox__label) {
721 flex: 1 1 auto; 734 flex: 1 1 auto;
722 } 735 }
723 736
724 .flexBetweenBox { 737 .flexBetweenBox {
725 width: 100%;margin-right: 0; 738 width: 100%;
739 margin-right: 0;
726 height: auto; 740 height: auto;
727 border-bottom: 1px solid #eee; 741 border-bottom: 1px solid #eee;
728 padding: 0 10px; 742 padding: 0 10px;
...@@ -875,6 +889,13 @@ function switchTabletype() { ...@@ -875,6 +889,13 @@ function switchTabletype() {
875 display: inline-block 889 display: inline-block
876 } 890 }
877 } 891 }
878 .mName{color: #000;font-size: 15px;display: inline-block;max-width: 6.5em;text-overflow: ellipsis; 892
879 overflow: hidden;} 893 .mName {
894 color: #000;
895 font-size: 15px;
896 display: inline-block;
897 max-width: 6.5em;
898 text-overflow: ellipsis;
899 overflow: hidden;
900 }
880 </style> 901 </style>
......
...@@ -711,7 +711,7 @@ const goPersonInfo = (row) => { ...@@ -711,7 +711,7 @@ const goPersonInfo = (row) => {
711 function downloadVoucher() { 711 function downloadVoucher() {
712 // 下载凭证 712 // 下载凭证
713 proxy.download( 713 proxy.download(
714 `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf' 714 `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf', {}, 'application/pdf'
715 ) 715 )
716 } 716 }
717 717
......
...@@ -2,32 +2,37 @@ ...@@ -2,32 +2,37 @@
2 <div> 2 <div>
3 <div class="box ph-30"> 3 <div class="box ph-30">
4 <el-card class="mb20"> 4 <el-card class="mb20">
5 <team-sign-step :activeStep="activeStep" :language="language"/> 5 <team-sign-step :active-step="activeStep" :language="language" />
6 </el-card> 6 </el-card>
7 7
8 <el-card :body-style="{'padding-top': '0'}"> 8 <el-card :body-style="{'padding-top': '0'}">
9 <el-row class="mt20" :gutter="20"> 9 <el-row :gutter="20" class="mt20">
10 <el-col :lg="8"> 10 <el-col :lg="8">
11 <div class="panel border"> 11 <div class="panel border">
12 <div class="panel-header "> 12 <div class="panel-header ">
13 <h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3> 13 <h3 v-if="language==0" class="panel-title">选择参赛运动员清单</h3>
14 <h3 class="panel-title" v-else>Select list of participating athletes</h3> 14 <h3 v-else class="panel-title">Select list of participating athletes</h3>
15 <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> 15 <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>
16 </div> 16 </div>
17 <div class="panel-body" style="padding: 10px"> 17 <div class="panel-body" style="padding: 10px">
18 <div style="margin: 0 4px 10px"> 18 <div style="margin: 0 4px 10px">
19 <el-input size="small" v-model="athletesQuery.name" :prefix-icon="Search" 19 <el-input
20 v-model="athletesQuery.name" :prefix-icon="Search" clearable
21 size="small"
20 @change="queryAthletes" 22 @change="queryAthletes"
21 clearable/> 23 />
22 </div> 24 </div>
23 <div class="noPicChooseForm" id="chooseArr"> 25 <div id="chooseArr" class="noPicChooseForm">
24 <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> 26 <el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
25 <el-button id="addRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button> 27 <el-button id="addRef" plain @click="chooseSportman">+{{
28 language == 0 ? '选择' : 'add'
29 }}
30 </el-button>
26 <el-checkbox v-for="c in choosedListBak" :value="c.id" border> 31 <el-checkbox v-for="c in choosedListBak" :value="c.id" border>
27 <p class="name">{{ c.realName }} 32 <p class="name">{{ c.realName }}
28 <!-- ({{ c.sexStr }})--> 33 <!-- ({{ c.sexStr }})-->
29 <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> 34 <img v-if="c.sex=='0'" src="@/assets/img/female.png">
30 <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> 35 <img v-if="c.sex=='1'" src="@/assets/img/male.png">
31 </p> 36 </p>
32 </el-checkbox> 37 </el-checkbox>
33 </el-checkbox-group> 38 </el-checkbox-group>
...@@ -38,25 +43,27 @@ ...@@ -38,25 +43,27 @@
38 <el-col :lg="8"> 43 <el-col :lg="8">
39 <div class="panel border"> 44 <div class="panel border">
40 <div class="panel-header "> 45 <div class="panel-header ">
41 <h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3> 46 <h3 v-if="language==0" class="panel-title">选择一个参赛组合</h3>
42 <h3 class="panel-title" v-else>Select a Participating team</h3> 47 <h3 v-else class="panel-title">Select a Participating team</h3>
43 <a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a> 48 <a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>
44 </div> 49 </div>
45 <div class="panel-body" style="padding: 10px"> 50 <div class="panel-body" style="padding: 10px">
46 <div class="mb20"> 51 <div class="mb20">
47 <el-input size="small" v-model="zuQuery.name" :prefix-icon="Search" 52 <el-input
48 @change="queryTeam" clearable/> 53 v-model="zuQuery.name" :prefix-icon="Search" clearable
54 size="small" @change="queryTeam"
55 />
49 </div> 56 </div>
50 <div class="chooseForm"> 57 <div class="chooseForm">
51 <el-checkbox-group v-model="choosedchoosed" @change="changechoosed"> 58 <el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
52 <!-- v-show="choosedchoosed.indexOf(c.id) !== -1"--> 59 <!-- v-show="choosedchoosed.indexOf(c.id) !== -1"-->
53 <el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked> 60 <el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked>
54 <el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/> 61 <el-avatar v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)" fit="cover" />
55 <el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/> 62 <el-avatar v-else-if="c.sex == 0" :size="60" fit="cover" src="/img/head1.png" />
56 <el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/> 63 <el-avatar v-else-if="c.sex == 1" :size="60" fit="cover" src="/img/head0.png" />
57 <p class="name">{{ c.realName }} 64 <p class="name">{{ c.realName }}
58 <img v-if="c.sex=='0'" src="@/assets/img/female.png"/> 65 <img v-if="c.sex=='0'" src="@/assets/img/female.png">
59 <img v-if="c.sex=='1'" src="@/assets/img/male.png"/> 66 <img v-if="c.sex=='1'" src="@/assets/img/male.png">
60 <!-- <el-icon @click.stop="editPerson(c.id)">--> 67 <!-- <el-icon @click.stop="editPerson(c.id)">-->
61 <!-- <Edit/>--> 68 <!-- <Edit/>-->
62 <!-- </el-icon>--> 69 <!-- </el-icon>-->
...@@ -70,17 +77,19 @@ ...@@ -70,17 +77,19 @@
70 <el-col :lg="8"> 77 <el-col :lg="8">
71 <div class="panel border"> 78 <div class="panel border">
72 <div class="panel-header "> 79 <div class="panel-header ">
73 <h3 class="panel-title" v-if="language==0">可参与报名的项目</h3> 80 <h3 v-if="language==0" class="panel-title">可参与报名的项目</h3>
74 <h3 class="panel-title" v-else>Search Events</h3> 81 <h3 v-else class="panel-title">Search Events</h3>
75 <div class="fr"> 82 <div class="fr">
76 <el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" 83 <el-input
84 v-model="projectQuery.name" :prefix-icon="Search" clearable
85 size="small"
77 @change="getProjectList" 86 @change="getProjectList"
78 clearable/> 87 />
79 </div> 88 </div>
80 </div> 89 </div>
81 <div v-loading="loadingProject" id="projectbox" style="height: 60vh;overflow: auto;"> 90 <div id="projectbox" v-loading="loadingProject" style="height: 60vh;overflow: auto;">
82 <el-checkbox-group v-model="projectIds" @change="changeProject"> 91 <el-checkbox-group v-model="projectIds" @change="changeProject">
83 <el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id"> 92 <el-checkbox v-for="c in projectList" :key="c.id" :value="c.id" class="flexBetweenBox">
84 <div class="flexBetween w100"> 93 <div class="flexBetween w100">
85 <div class="l"> 94 <div class="l">
86 {{ c.code }}:{{ c.name }} 95 {{ c.code }}:{{ c.name }}
...@@ -90,8 +99,10 @@ ...@@ -90,8 +99,10 @@
90 </div> 99 </div>
91 </el-checkbox> 100 </el-checkbox>
92 </el-checkbox-group> 101 </el-checkbox-group>
93 <el-empty v-if="projectList.length==0" :image="`/img/order_no.png`" :image-size="228" 102 <el-empty
94 :description="language==0?'无可选项目':''"/> 103 v-if="projectList.length==0" :description="language==0?'无可选项目':''" :image="`/img/order_no.png`"
104 :image-size="228"
105 />
95 </div> 106 </div>
96 </div> 107 </div>
97 </el-col> 108 </el-col>
...@@ -99,8 +110,10 @@ ...@@ -99,8 +110,10 @@
99 <el-row class="mt20"> 110 <el-row class="mt20">
100 <el-col :span="24"> 111 <el-col :span="24">
101 <div class="text-center"> 112 <div class="text-center">
102 <el-button type="primary" class="btn-lineG w200px" id="signUpBtn" 113 <el-button
103 :disabled="projectIds.length==0||choosedchoosed.length==0" round @click="signUp"> 114 id="signUpBtn" :disabled="projectIds.length==0||choosedchoosed.length==0" class="btn-lineG w200px"
115 round type="primary" @click="signUp"
116 >
104 {{ language == 0 ? '确定' : 'Confirm' }} 117 {{ language == 0 ? '确定' : 'Confirm' }}
105 </el-button> 118 </el-button>
106 </div> 119 </div>
...@@ -108,8 +121,8 @@ ...@@ -108,8 +121,8 @@
108 </el-row> 121 </el-row>
109 </el-card> 122 </el-card>
110 123
111 <el-card class="mt20" :body-style="{'padding': '0'}"> 124 <el-card :body-style="{'padding': '0'}" class="mt20">
112 <coach-info-row :match-id="matchId" :group-id="groupId" :language="language"/> 125 <coach-info-row :group-id="groupId" :language="language" :match-id="matchId" />
113 <div class="m20"> 126 <div class="m20">
114 <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>--> 127 <!-- <el-button type="success" @click="importSportman">批量导入人员</el-button>-->
115 <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>--> 128 <!-- <el-button type="success" @click="addCoach">新增运动员</el-button>-->
...@@ -129,15 +142,17 @@ ...@@ -129,15 +142,17 @@
129 <!-- {{ language == 0 ? '按组别查看报项' : 'Check Registrations by Group' }}--> 142 <!-- {{ language == 0 ? '按组别查看报项' : 'Check Registrations by Group' }}-->
130 <!-- </el-button>--> 143 <!-- </el-button>-->
131 <!-- </div>--> 144 <!-- </div>-->
132 <sign-info-table v-if="tableType==0" :match-id="matchId" 145 <sign-info-table
133 :extraform="extraform" :list="signInfoList" 146 v-if="tableType==0" :extraform="extraform"
134 @editExtra="goPersonInfo"/> 147 :list="signInfoList" :match-id="matchId"
135 <zu-table v-else :list="zuTableList" @delete="removeThis"/> 148 @editExtra="goPersonInfo"
149 />
150 <zu-table v-else :list="zuTableList" @delete="removeThis" />
136 <div class="text-center mt20"> 151 <div class="text-center mt20">
137 <el-button type="primary" class="w200px" plain round @click="goPrev()"> 152 <el-button class="w200px" plain round type="primary" @click="goPrev()">
138 {{ language == 0 ? "上一步" : 'Go back' }} 153 {{ language == 0 ? "上一步" : 'Go back' }}
139 </el-button> 154 </el-button>
140 <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()"> 155 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm()">
141 {{ language == 0 ? '预览报名信息' : 'Preview registration information' }} 156 {{ language == 0 ? '预览报名信息' : 'Preview registration information' }}
142 </el-button> 157 </el-button>
143 </div> 158 </div>
...@@ -145,11 +160,11 @@ ...@@ -145,11 +160,11 @@
145 </el-card> 160 </el-card>
146 </div> 161 </div>
147 162
148 <dialogAddCoach ref="dialogAddCoachRef"/> 163 <dialogAddCoach ref="dialogAddCoachRef" />
149 <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @transfer="getChoosed" @submitForm="getSignInfoList"/> 164 <dialogAllSportsmanList ref="dialogAllSportsmanListRef" @submitForm="getSignInfoList" @transfer="getChoosed" />
150 <dialogImport ref="dialogImportProps" @submitForm="getMySignInfo"/> 165 <dialogImport ref="dialogImportProps" @submitForm="getMySignInfo" />
151 <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false"> 166 <el-dialog v-model="showResult" :close-on-click-modal="false" :show-close="false">
152 <el-result icon="success" :title="language==0?'报名成功':'Sign up successful'"> 167 <el-result :title="language==0?'报名成功':'Sign up successful'" icon="success">
153 <template #extra> 168 <template #extra>
154 <el-button type="primary" @click="downloadVoucher">下载凭证</el-button> 169 <el-button type="primary" @click="downloadVoucher">下载凭证</el-button>
155 <el-button type="primary" @click="goMySign">{{ language == 0 ? '查看报项' : 'View Entries' }}</el-button> 170 <el-button type="primary" @click="goMySign">{{ language == 0 ? '查看报项' : 'View Entries' }}</el-button>
...@@ -157,43 +172,45 @@ ...@@ -157,43 +172,45 @@
157 </el-result> 172 </el-result>
158 173
159 </el-dialog> 174 </el-dialog>
160 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/> 175 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList" />
161 <dialogWdsf ref="popWdsf" @submitForm="getSignInfoList"/> 176 <dialogWdsf ref="popWdsf" @submitForm="getSignInfoList" />
162 <el-tour v-model="openTour" :current="tourCurrent"> 177 <el-tour v-model="openTour" :current="tourCurrent">
163 <el-tour-step target="#addRef" title="第一步" description="点击选择运动员" :next-button-props="nextButtonProps"/> 178 <el-tour-step :next-button-props="nextButtonProps" description="点击选择运动员" target="#addRef" title="第一步" />
164 <el-tour-step v-if="choosedList.length>0" target="#chooseArr" title="第二步" description="勾选报项运动员"/> 179 <el-tour-step v-if="choosedList.length>0" description="勾选报项运动员" target="#chooseArr" title="第二步" />
165 <el-tour-step v-if="projectList.length>0" target="#projectbox" title="第三步" description="选择报名项目"/> 180 <el-tour-step v-if="projectList.length>0" description="选择报名项目" target="#projectbox" title="第三步" />
166 <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/> 181 <el-tour-step v-if="projectIds.length>0" description="点击报项" target="#signUpBtn" title="第四步" />
167 </el-tour> 182 </el-tour>
168 </div> 183 </div>
169 </template> 184 </template>
170 185
171 <script setup> 186 <script setup>
172 import {ref, reactive, toRefs, watch} from 'vue' 187 import { ref, reactive, toRefs, watch } from 'vue'
173 import * as match from '@/apiPc/match' 188 import * as match from '@/apiPc/match'
174 import {getCurrentInstance, onMounted} from '@vue/runtime-core' 189 import { getCurrentInstance, onMounted } from '@vue/runtime-core'
175 import DialogAddCoach from './components/addCoach' 190 import DialogAddCoach from './components/addCoach'
176 import DialogAllSportsmanList from './components/allSportsmanList' 191 import DialogAllSportsmanList from './components/allSportsmanList'
177 import DialogImport from './components/import' 192 import DialogImport from './components/import'
178 import DialogExtraForm from './components/extraForm' 193 import DialogExtraForm from './components/extraForm'
179 import DialogWdsf from './components/wdsfForm' 194 import DialogWdsf from './components/wdsfForm'
180 import {Search, Switch} from "@element-plus/icons-vue"; 195 import { Search, Switch } from '@element-plus/icons-vue'
181 const {proxy} = getCurrentInstance() 196
197 const { proxy } = getCurrentInstance()
182 const router = useRouter() 198 const router = useRouter()
183 const route = useRoute() 199 const route = useRoute()
184 import _ from 'lodash' 200 import _ from 'lodash'
185 import {ElMessage, ElMessageBox} from 'element-plus' 201 import { ElMessage, ElMessageBox } from 'element-plus'
186 import cache from "@/plugins/cache" 202 import cache from '@/plugins/cache'
187 import TeamSignStep from "@/viewsPc/match/components/teamSignStep" 203 import TeamSignStep from '@/viewsPc/match/components/teamSignStep'
188 import CoachInfoRow from "@/viewsPc/match/components/coachInfo-row" 204 import CoachInfoRow from '@/viewsPc/match/components/coachInfo-row'
189 import SignInfoTable from "@/viewsPc/match/components/signInfo-table" 205 import SignInfoTable from '@/viewsPc/match/components/signInfo-table'
190 import ZuTable from '@/viewsPc/match/components/zu-table' 206 import ZuTable from '@/viewsPc/match/components/zu-table'
191 import {signgetSignInfoConflict} from "@/apiPc/match"; 207 import { signgetSignInfoConflict } from '@/apiPc/match'
192 import {useStorage} from "@vueuse/core/index"; 208 import { useStorage } from '@vueuse/core/index'
193 const language= useStorage('language',0) 209
210 const language = useStorage('language', 0)
194 const data = reactive({ 211 const data = reactive({
195 coachForm: {}, activeStep: 2, 212 coachForm: {}, activeStep: 2,
196 tourCurrent:0, 213 tourCurrent: 0,
197 tableData: [], 214 tableData: [],
198 signInfoList: [], 215 signInfoList: [],
199 zuTableList: [], 216 zuTableList: [],
...@@ -223,12 +240,35 @@ const data = reactive({ ...@@ -223,12 +240,35 @@ const data = reactive({
223 choosed2List: [], 240 choosed2List: [],
224 choosed2Listbak: [], 241 choosed2Listbak: [],
225 projectQuery: {}, tableType: 1, 242 projectQuery: {}, tableType: 1,
226 openTour:false 243 openTour: false
227 }) 244 })
228 const { 245 const {
229 activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak, 246 activeTeam,
230 extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject, 247 names,
231 projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent 248 tableData,
249 signInfoList,
250 zuTableList,
251 choosedList,
252 choosedListBak,
253 extraform,
254 groupId,
255 signType,
256 coachOrLeaderFlag,
257 showResult,
258 noPhotoCanSign,
259 projectIds,
260 choosedchoosed,
261 activeStep,
262 projectList,
263 choosed2List,
264 choosed2Listbak,
265 loadingProject,
266 projectQuery,
267 tableType,
268 athletesQuery,
269 zuQuery,
270 openTour,
271 tourCurrent
232 } = toRefs(data) 272 } = toRefs(data)
233 const nextButtonProps = ref({}) 273 const nextButtonProps = ref({})
234 const matchId = ref(route.query.matchId) 274 const matchId = ref(route.query.matchId)
...@@ -283,7 +323,7 @@ function submitForm() { ...@@ -283,7 +323,7 @@ function submitForm() {
283 cancelButtonText: language.value == 0 ? '取消' : 'Cancel', 323 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
284 type: 'warning' 324 type: 'warning'
285 }).then(() => { 325 }).then(() => {
286 router.push({name: 'myMatch'}) 326 router.push({ name: 'myMatch' })
287 }) 327 })
288 return 328 return
289 } 329 }
...@@ -362,13 +402,13 @@ function getProjectList() { ...@@ -362,13 +402,13 @@ function getProjectList() {
362 return 402 return
363 } 403 }
364 loadingProject.value = true 404 loadingProject.value = true
365 //根据已选人员id 获取项目列表 405 // 根据已选人员id 获取项目列表
366 projectQuery.value.cptId = matchId.value 406 projectQuery.value.cptId = matchId.value
367 projectQuery.value.perIds = choosedchoosed.value.toString() 407 projectQuery.value.perIds = choosedchoosed.value.toString()
368 match.getProjectPageByPerIds(projectQuery.value).then(res => { 408 match.getProjectPageByPerIds(projectQuery.value).then(res => {
369 projectList.value = res.rows 409 projectList.value = res.rows
370 loadingProject.value = false 410 loadingProject.value = false
371 if(choosed2Listbak.value.length>0 && projectList.value.length>0){ 411 if (choosed2Listbak.value.length > 0 && projectList.value.length > 0) {
372 tourCurrent.value = 2 412 tourCurrent.value = 2
373 } 413 }
374 }).catch(err => { 414 }).catch(err => {
...@@ -403,7 +443,7 @@ function getChoosed(list) { ...@@ -403,7 +443,7 @@ function getChoosed(list) {
403 console.log(list) 443 console.log(list)
404 choosedList.value = list 444 choosedList.value = list
405 choosedListBak.value = list 445 choosedListBak.value = list
406 if(list.length>0){ 446 if (list.length > 0) {
407 // openTour.value = false 447 // openTour.value = false
408 tourCurrent.value = 1 448 tourCurrent.value = 1
409 } 449 }
...@@ -516,7 +556,7 @@ const goPersonInfo = (row) => { ...@@ -516,7 +556,7 @@ const goPersonInfo = (row) => {
516 ElMessageBox.alert('已报项,前往我的报项', '提示', { 556 ElMessageBox.alert('已报项,前往我的报项', '提示', {
517 confirmButtonText: 'OK', 557 confirmButtonText: 'OK',
518 callback: (Action) => { 558 callback: (Action) => {
519 router.push({name: 'myMatch'}) 559 router.push({ name: 'myMatch' })
520 } 560 }
521 }) 561 })
522 return 562 return
...@@ -525,7 +565,7 @@ const goPersonInfo = (row) => { ...@@ -525,7 +565,7 @@ const goPersonInfo = (row) => {
525 console.log(row) 565 console.log(row)
526 // debugger 566 // debugger
527 const params = { 567 const params = {
528 matchId:matchId.value, 568 matchId: matchId.value,
529 title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information', 569 title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information',
530 participantsInfoArr: extraform.value, 570 participantsInfoArr: extraform.value,
531 personId: row.personInfo.id, 571 personId: row.personInfo.id,
...@@ -537,7 +577,7 @@ const goPersonInfo = (row) => { ...@@ -537,7 +577,7 @@ const goPersonInfo = (row) => {
537 function downloadVoucher() { 577 function downloadVoucher() {
538 // 下载凭证 578 // 下载凭证
539 proxy.download( 579 proxy.download(
540 `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf' 580 `/pdf/getPayedOrderPdf/${matchId.value}/${groupId.value || 0}`, {}, '报项凭证.pdf', {}, 'application/pdf'
541 ) 581 )
542 } 582 }
543 583
...@@ -558,45 +598,45 @@ function switchTabletype() { ...@@ -558,45 +598,45 @@ function switchTabletype() {
558 } 598 }
559 599
560 function changeProject(e) { 600 function changeProject(e) {
561 console.log(projectIds.value,e) 601 console.log(projectIds.value, e)
562 var obj 602 var obj
563 obj = _.find(projectList.value, (c) => { 603 obj = _.find(projectList.value, (c) => {
564 return e.indexOf(c.id)>-1 604 return e.indexOf(c.id) > -1
565 }) 605 })
566 // if(obj.majorFlag==1){ 606 // if(obj.majorFlag==1){
567 // 需要填wdsf 607 // 需要填wdsf
568 const params = { 608 const params = {
569 title: '验证WDSF', 609 title: '验证WDSF',
570 list:choosed2Listbak.value 610 list: choosed2Listbak.value
571 } 611 }
572 proxy.$refs['popWdsf'].open(_.cloneDeep(params)) 612 proxy.$refs['popWdsf'].open(_.cloneDeep(params))
573 // } 613 // }
574 } 614 }
615
575 watch(choosedchoosed, (newVal, oldVal) => { 616 watch(choosedchoosed, (newVal, oldVal) => {
576 // console.log(choosedchoosed.value) 617 // console.log(choosedchoosed.value)
577 if(newVal.length>oldVal.length){ 618 if (newVal.length > oldVal.length) {
578 match.signgetSignInfoConflict({ 619 match.signgetSignInfoConflict({
579 cptId: matchId.value, 620 cptId: matchId.value,
580 perId: _.last(newVal), 621 perId: _.last(newVal),
581 groupId: groupId.value 622 groupId: groupId.value
582 }).then(res => { 623 }).then(res => {
583 if(!res.data){ 624 if (!res.data) {
584 ElMessage.warning(language.value==0?'该人员已在其他团队中报名,请重新选择':'This person has already registered in another team, please select again') 625 ElMessage.warning(language.value == 0 ? '该人员已在其他团队中报名,请重新选择' : 'This person has already registered in another team, please select again')
585 choosedchoosed.value = _.without(choosedchoosed.value,_.last(newVal)) 626 choosedchoosed.value = _.without(choosedchoosed.value, _.last(newVal))
586 627
587 for(var c of choosed2List.value){ 628 for (var c of choosed2List.value) {
588 if(c.id == _.last(newVal)){ 629 if (c.id == _.last(newVal)) {
589 choosed2List.value = _.without(choosed2List.value,c) 630 choosed2List.value = _.without(choosed2List.value, c)
590 } 631 }
591 } 632 }
592 for(var c of choosed2Listbak.value){ 633 for (var c of choosed2Listbak.value) {
593 if(c.id == _.last(newVal)){ 634 if (c.id == _.last(newVal)) {
594 choosed2Listbak.value = _.without(choosed2Listbak.value,c) 635 choosed2Listbak.value = _.without(choosed2Listbak.value, c)
595 } 636 }
596 } 637 }
597 projectList.value = [] 638 projectList.value = []
598 console.log(choosedchoosed.value,choosed2List.value,choosed2Listbak.value) 639 console.log(choosedchoosed.value, choosed2List.value, choosed2Listbak.value)
599 return
600 } else { 640 } else {
601 getProjectList() 641 getProjectList()
602 } 642 }
...@@ -607,14 +647,15 @@ watch(choosedchoosed, (newVal, oldVal) => { ...@@ -607,14 +647,15 @@ watch(choosedchoosed, (newVal, oldVal) => {
607 }) 647 })
608 </script> 648 </script>
609 649
610 <style scoped lang="scss"> 650 <style lang="scss" scoped>
611 :deep(.el-checkbox__label) { 651 :deep(.el-checkbox__label) {
612 flex: 1 1 auto; 652 flex: 1 1 auto;
613 } 653 }
614 654
615 .flexBetweenBox { 655 .flexBetweenBox {
616 width: 100%; 656 width: 100%;
617 height: auto;margin-right: 0; 657 height: auto;
658 margin-right: 0;
618 border-bottom: 1px solid #eee; 659 border-bottom: 1px solid #eee;
619 padding: 0 10px; 660 padding: 0 10px;
620 } 661 }
...@@ -623,7 +664,8 @@ watch(choosedchoosed, (newVal, oldVal) => { ...@@ -623,7 +664,8 @@ watch(choosedchoosed, (newVal, oldVal) => {
623 background: #FAFBFD; 664 background: #FAFBFD;
624 } 665 }
625 666
626 .flexBetween {white-space: normal; 667 .flexBetween {
668 white-space: normal;
627 padding: 10px; 669 padding: 10px;
628 border-left: 1px solid #eee; 670 border-left: 1px solid #eee;
629 671
......
...@@ -713,7 +713,7 @@ function exportPdf() { ...@@ -713,7 +713,7 @@ function exportPdf() {
713 fileName = '设项报名清单' 713 fileName = '设项报名清单'
714 proxy.download('/pdf/exportMySignInfoList', { 714 proxy.download('/pdf/exportMySignInfoList', {
715 ...obj 715 ...obj
716 }, `${fileName}_${new Date().getTime()}.pdf`, {}, 'application/pdf') 716 }, `${fileName}_${new Date().getTime()}.pdf`, {}, 'application/pdf', {}, 'application/pdf')
717 } else { 717 } else {
718 fileName = 'LIST OF REGISTERED COMPETITIONS' 718 fileName = 'LIST OF REGISTERED COMPETITIONS'
719 proxy.download('/pdf/exportMySignInfoList', { 719 proxy.download('/pdf/exportMySignInfoList', {
......
...@@ -317,7 +317,7 @@ function exportSignList(n) { ...@@ -317,7 +317,7 @@ function exportSignList(n) {
317 } 317 }
318 proxy.download('/league/sign/exportCn', { 318 proxy.download('/league/sign/exportCn', {
319 ...obj 319 ...obj
320 }, `${fileName}_${new Date().getTime()}.xlsx`) 320 }, `${fileName}_${new Date().getTime()}.xlsx`, {}, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
321 } else { 321 } else {
322 if (n == 1) { 322 if (n == 1) {
323 fileName = 'Participant List' 323 fileName = 'Participant List'
...@@ -326,7 +326,7 @@ function exportSignList(n) { ...@@ -326,7 +326,7 @@ function exportSignList(n) {
326 } 326 }
327 proxy.download('/league/sign/exportEn', { 327 proxy.download('/league/sign/exportEn', {
328 ...obj 328 ...obj
329 }, `${fileName}_${new Date().getTime()}.xlsx`) 329 }, `${fileName}_${new Date().getTime()}.xlsx`, {}, 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet')
330 } 330 }
331 } 331 }
332 332
...@@ -341,12 +341,12 @@ function exportPdf() { ...@@ -341,12 +341,12 @@ function exportPdf() {
341 fileName = '设项报名清单' 341 fileName = '设项报名清单'
342 proxy.download('/pdf/exportMySignInfoList', { 342 proxy.download('/pdf/exportMySignInfoList', {
343 ...obj 343 ...obj
344 }, `${fileName}_${new Date().getTime()}.pdf`) 344 }, `${fileName}_${new Date().getTime()}.pdf`, {}, 'application/pdf', {}, 'application/pdf')
345 } else { 345 } else {
346 fileName = 'LIST OF REGISTERED COMPETITIONS' 346 fileName = 'LIST OF REGISTERED COMPETITIONS'
347 proxy.download('/pdf/exportMySignInfoList', { 347 proxy.download('/pdf/exportMySignInfoList', {
348 ...obj 348 ...obj
349 }, `${fileName}_${new Date().getTime()}.pdf`) 349 }, `${fileName}_${new Date().getTime()}.pdf`, {}, 'application/pdf')
350 } 350 }
351 } 351 }
352 </script> 352 </script>
......
...@@ -84,8 +84,8 @@ export default defineConfig(({ mode, command }) => { ...@@ -84,8 +84,8 @@ export default defineConfig(({ mode, command }) => {
84 }, 84 },
85 '/dev-api': { 85 '/dev-api': {
86 // target: 'http://192.168.1.213:8081/', 86 // target: 'http://192.168.1.213:8081/',
87 // target: 'http://192.168.1.118:8081', 87 target: 'http://192.168.1.169:8081',
88 target: 'https://jijin.wtwuxicenter.com/stage-api', 88 // target: 'https://jijin.wtwuxicenter.com/stage-api',
89 // target: 'https://wdsfwuxicenter.com/stage-api/', 89 // target: 'https://wdsfwuxicenter.com/stage-api/',
90 changeOrigin: true, 90 changeOrigin: true,
91 rewrite: (p) => p.replace(/^\/dev-api/, '') 91 rewrite: (p) => p.replace(/^\/dev-api/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!