ffb4a923 by zhangmeng

Merge branch 'devmatch' into dev

2 parents f60aa8bf b594c9fd

827 KB | W: | H:

2.35 MB | W: | H:

src/assets/logo/club.png
src/assets/logo/club.png
src/assets/logo/club.png
src/assets/logo/club.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -552,7 +552,7 @@ function handleRowClick(row) { ...@@ -552,7 +552,7 @@ function handleRowClick(row) {
552 const init = () => { 552 const init = () => {
553 var today = dayjs().format('YYYY-MM-DD HH:mm:ss') 553 var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
554 time.value = dayjs('2025-07-17 07:00:00').diff(today, 'millisecond') 554 time.value = dayjs('2025-07-17 07:00:00').diff(today, 'millisecond')
555 etime.value = dayjs('2025-07-22 12:00:00').diff(today, 'millisecond') 555 etime.value = dayjs('2025-07-20 24:00:00').diff(today, 'millisecond')
556 getRank().then(res => { 556 getRank().then(res => {
557 rank.value = res.data 557 rank.value = res.data
558 console.log(rank.value) 558 console.log(rank.value)
......
...@@ -533,7 +533,7 @@ function handleRowClick(row) { ...@@ -533,7 +533,7 @@ function handleRowClick(row) {
533 533
534 const init = () => { 534 const init = () => {
535 var today = dayjs().format('YYYY-MM-DD HH:mm:ss') 535 var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
536 etime.value = dayjs('2025-07-22 12:00:00').diff(today, 'millisecond') 536 etime.value = dayjs('2025-07-20 24:00:00').diff(today, 'millisecond')
537 time.value = dayjs('2025-07-17 07:00:00').diff(today, 'millisecond') 537 time.value = dayjs('2025-07-17 07:00:00').diff(today, 'millisecond')
538 getRank().then(res => { 538 getRank().then(res => {
539 rank.value = res.data 539 rank.value = res.data
......
...@@ -200,7 +200,7 @@ ...@@ -200,7 +200,7 @@
200 <addCoachEn ref="dialogAddCoachEnRef" @submitForm="getMyMemberTable" /> 200 <addCoachEn ref="dialogAddCoachEnRef" @submitForm="getMyMemberTable" />
201 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList" /> 201 <dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList" />
202 202
203 <insuranceView ref="insuranceViewRef" @checkedChange="checkedChange" @submitForm="submitForm" /> 203 <insuranceView ref="insuranceViewRef" @checkedChange="checkedChange" @scuess="handelSuccess" />
204 </div> 204 </div>
205 </template> 205 </template>
206 206
...@@ -235,7 +235,7 @@ import { useStorage } from '@vueuse/core/index' ...@@ -235,7 +235,7 @@ import { useStorage } from '@vueuse/core/index'
235 235
236 const language = useStorage('language', 0) 236 const language = useStorage('language', 0)
237 const checked = ref('0') 237 const checked = ref('0')
238 const insuranceFlag = ref() 238 const insuranceFlag = ref()// 0不够买1强制购买2非强制购买
239 const insuranceAgreement = ref() 239 const insuranceAgreement = ref()
240 240
241 const data = reactive({ 241 const data = reactive({
...@@ -390,6 +390,7 @@ function getMatch(id) { ...@@ -390,6 +390,7 @@ function getMatch(id) {
390 }).then(res => { 390 }).then(res => {
391 insuranceAgreement.value = res.data.insuranceAgreement 391 insuranceAgreement.value = res.data.insuranceAgreement
392 insuranceFlag.value = res.data.insuranceFlag 392 insuranceFlag.value = res.data.insuranceFlag
393 if (insuranceFlag.value == 1) checked.value = '1'
393 signEndTime.value = res.data.signEndTime 394 signEndTime.value = res.data.signEndTime
394 noPhotoCanSign.value = res.data.noPhotoCanSign 395 noPhotoCanSign.value = res.data.noPhotoCanSign
395 coachOrLeaderFlag.value = res.data.coachOrLeaderFlag 396 coachOrLeaderFlag.value = res.data.coachOrLeaderFlag
...@@ -486,57 +487,41 @@ function submitForm() { ...@@ -486,57 +487,41 @@ function submitForm() {
486 } 487 }
487 488
488 function commit() { 489 function commit() {
489 if (language.value == 0 && insuranceFlag.value == 2 && checked.value == '0') { 490 if (language.value == 0 && insuranceFlag.value == 2 && checked.value == 0) {
490 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事方帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?', 491 handelInsurance()
491 language.value == 0 ? '提示' : 'Tip', {
492 confirmButtonText: language.value == 0 ? '是' : 'Yes',
493 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
494 type: 'warning',
495 closeOnClickModal: false,
496 showClose: false
497 }).then(() => {
498 // checked.value = '1'
499 // router.push({
500 // name: 'signPreview',
501 // query: {
502 // matchId: matchId.value,
503 // buy: checked.value
504 //
505 // }
506 // })
507 handelInsurance()
508 }).catch(() => {
509 router.push({
510 name: 'signPreview',
511 query: {
512 matchId: matchId.value,
513 buy: checked.value
514
515 }
516 })
517 })
518 } else if (insuranceFlag.value == 1 && checked.value != '1') {
519 ElMessageBox.confirm(language.value == 0 ? '请阅读并勾选同意赛事保险购买协议' : 'Please read and tick to agree to the event insurance purchase agreement',
520 language.value == 0 ? '提示' : 'Tip', {
521 showCancelButton: false,
522 confirmButtonText: language.value == 0 ? '是' : 'Yes',
523 // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
524 type: 'warning'
525 }).then(() => {
526
527 }).catch(() => {
528
529 })
530 } else { 492 } else {
531 router.push({ 493 router.push({
532 name: 'signPreview', 494 name: 'signPreview',
533 query: { 495 query: {
534 matchId: matchId.value, 496 matchId: matchId.value,
535 buy: checked.value 497 buy: checked.value
536
537 } 498 }
538 }) 499 })
539 } 500 }
501 // if (language.value == 0 && insuranceFlag.value == 2 && checked.value == '0') {
502 // handelInsurance()
503 // } else if (insuranceFlag.value == 1 && checked.value != '1') {
504 // ElMessageBox.confirm(language.value == 0 ? '请阅读并勾选同意赛事保险购买协议' : 'Please read and tick to agree to the event insurance purchase agreement',
505 // language.value == 0 ? '提示' : 'Tip', {
506 // showCancelButton: false,
507 // confirmButtonText: language.value == 0 ? '是' : 'Yes',
508 // // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
509 // type: 'warning'
510 // }).then(() => {
511 //
512 // }).catch(() => {
513 //
514 // })
515 // } else {
516 // router.push({
517 // name: 'signPreview',
518 // query: {
519 // matchId: matchId.value,
520 // buy: checked.value
521 //
522 // }
523 // })
524 // }
540 } 525 }
541 526
542 function getChoosed(list) { 527 function getChoosed(list) {
...@@ -735,9 +720,58 @@ function switchTabletype() { ...@@ -735,9 +720,58 @@ function switchTabletype() {
735 } 720 }
736 721
737 function handelInsurance() { 722 function handelInsurance() {
738 proxy.$refs['insuranceViewRef'].open(insuranceAgreement.value, checked.value) 723 proxy.$refs['insuranceViewRef'].open(insuranceAgreement.value, checked.value, insuranceFlag.value)
724 }
725
726 function handelSuccess(v) {
727 checked.value = v
728 if (signInfoList.value.length == 0) {
729 if (language.value == 0) {
730 ElMessage.warning('请至少选择一个项目')
731 } else {
732 ElMessage.warning('select at least one project')
733 }
734 return
735 }
736
737 if (signInfoType == '1') {
738 ElMessageBox.confirm(language.value == 0 ? '已报项,前往我的报项' : 'Reported items, go to my submission',
739 language.value == 0 ? '提示' : 'Tips', {
740 confirmButtonText: language.value == 0 ? '确定' : 'OK',
741 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
742 type: 'warning'
743 }).then(() => {
744 router.push({ name: 'myMatch' })
745 })
746 return
747 }
748 if (extraform.value && extraform.value.length > 0) {
749 let needBuchong = false
750 for (const e of extraform.value) {
751 if (e.status == '0') {
752 needBuchong = true
753 }
754 }
755 for (const s of signInfoList.value) {
756 if (s.extraPersonInfo == null && needBuchong) {
757 ElMessage.warning(language.value == 0 ? '请完善运动员补充信息' : 'Complete Supplementary Information')
758 tableType.value = 0
759 return
760 }
761 }
762 }
763
764 router.push({
765 name: 'signPreview',
766 query: {
767 matchId: matchId.value,
768 buy: checked.value
769
770 }
771 })
739 } 772 }
740 773
774 // 自行购买保险
741 function checkedChange(v) { 775 function checkedChange(v) {
742 checked.value = v 776 checked.value = v
743 } 777 }
......
...@@ -236,7 +236,7 @@ ...@@ -236,7 +236,7 @@
236 <!-- <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>--> 236 <!-- <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>-->
237 <!-- </el-tour>--> 237 <!-- </el-tour>-->
238 238
239 <insuranceView ref="insuranceViewRef" @checkedChange="checkedChange" @submitForm="submitForm" /> 239 <insuranceView ref="insuranceViewRef" @checkedChange="checkedChange" @scuess="handelSuccess" />
240 </div> 240 </div>
241 </template> 241 </template>
242 242
...@@ -380,6 +380,7 @@ function getMatch(id) { ...@@ -380,6 +380,7 @@ function getMatch(id) {
380 extraform.value = JSON.parse(res.data.participantsInfo) 380 extraform.value = JSON.parse(res.data.participantsInfo)
381 insuranceAgreement.value = res.data.insuranceAgreement 381 insuranceAgreement.value = res.data.insuranceAgreement
382 insuranceFlag.value = res.data.insuranceFlag 382 insuranceFlag.value = res.data.insuranceFlag
383 if (insuranceFlag.value == 1) checked.value = '1'
383 if (res.data.languageSource == '100') { 384 if (res.data.languageSource == '100') {
384 isNational.value = false 385 isNational.value = false
385 } else { 386 } else {
...@@ -445,47 +446,8 @@ function submitForm() { ...@@ -445,47 +446,8 @@ function submitForm() {
445 return 446 return
446 } 447 }
447 448
448 449 if (language.value == 0 && insuranceFlag.value == 2 && checked.value == 0) {
449 if (insuranceFlag.value == '1' && checked.value == 0) { 450 handelInsurance() // 非购买保险
450 ElMessageBox.confirm(language.value == 0 ? '请阅读并勾选同意赛事保险购买协议' : 'Please read and tick to agree to the event insurance purchase agreement',
451 language.value == 0 ? '提示' : 'Tip', {
452 showCancelButton: false,
453 confirmButtonText: language.value == 0 ? '是' : 'Yes',
454 // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
455 type: 'warning'
456 })
457 } else if (language.value == 0 && insuranceFlag.value == '2' && checked.value == 0) {
458 ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事方帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
459 language.value == 0 ? '提示' : 'Tip', {
460 confirmButtonText: language.value == 0 ? '是' : 'Yes',
461 cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
462 type: 'warning',
463 closeOnClickModal: false,
464 showClose: false
465 }).then(() => {
466 // checked.value = '1'
467 // router.push({
468 // name: 'signPreview',
469 // query: {
470 // matchId: matchId.value,
471 // groupId: groupId.value,
472 // isNational: isNational.value,
473 // buy: checked.value
474 // }
475 // })
476
477 handelInsurance()
478 }).catch(() => {
479 router.push({
480 name: 'signPreview',
481 query: {
482 matchId: matchId.value,
483 groupId: groupId.value,
484 isNational: isNational.value,
485 buy: checked.value
486 }
487 })
488 })
489 } else { 451 } else {
490 router.push({ 452 router.push({
491 name: 'signPreview', 453 name: 'signPreview',
...@@ -497,6 +459,58 @@ function submitForm() { ...@@ -497,6 +459,58 @@ function submitForm() {
497 } 459 }
498 }) 460 })
499 } 461 }
462
463 // if (insuranceFlag.value == '1' && checked.value == 0) {
464 // ElMessageBox.confirm(language.value == 0 ? '请阅读并勾选同意赛事保险购买协议' : 'Please read and tick to agree to the event insurance purchase agreement',
465 // language.value == 0 ? '提示' : 'Tip', {
466 // showCancelButton: false,
467 // confirmButtonText: language.value == 0 ? '是' : 'Yes',
468 // // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
469 // type: 'warning'
470 // })
471 // } else if (language.value == 0 && insuranceFlag.value == '2' && checked.value == 0) {
472 // ElMessageBox.confirm(language.value == 0 ? '你是否同意赛事方帮忙购买保险?' : 'Do you agree to have the event organizer help purchase insurance?',
473 // language.value == 0 ? '提示' : 'Tip', {
474 // confirmButtonText: language.value == 0 ? '是' : 'Yes',
475 // cancelButtonText: language.value == 0 ? '否,进入下一步' : 'NO,Go Next',
476 // type: 'warning',
477 // closeOnClickModal: false,
478 // showClose: false
479 // }).then(() => {
480 // // checked.value = '1'
481 // // router.push({
482 // // name: 'signPreview',
483 // // query: {
484 // // matchId: matchId.value,
485 // // groupId: groupId.value,
486 // // isNational: isNational.value,
487 // // buy: checked.value
488 // // }
489 // // })
490 //
491 // handelInsurance()
492 // }).catch(() => {
493 // router.push({
494 // name: 'signPreview',
495 // query: {
496 // matchId: matchId.value,
497 // groupId: groupId.value,
498 // isNational: isNational.value,
499 // buy: checked.value
500 // }
501 // })
502 // })
503 // } else {
504 // router.push({
505 // name: 'signPreview',
506 // query: {
507 // matchId: matchId.value,
508 // groupId: groupId.value,
509 // isNational: isNational.value,
510 // buy: checked.value
511 // }
512 // })
513 // }
500 } 514 }
501 515
502 516
...@@ -895,9 +909,58 @@ watch(choosedchoosed, (newVal, oldVal) => { ...@@ -895,9 +909,58 @@ watch(choosedchoosed, (newVal, oldVal) => {
895 }) 909 })
896 910
897 function handelInsurance() { 911 function handelInsurance() {
898 proxy.$refs['insuranceViewRef'].open(insuranceAgreement.value, checked.value) 912 proxy.$refs['insuranceViewRef'].open(insuranceAgreement.value, checked.value, insuranceFlag.value)
899 } 913 }
900 914
915 function handelSuccess(v) {
916 checked.value = v
917 if (signInfoType == '1') {
918 ElMessageBox.confirm(language.value == 0 ? '已报项,前往我的报项' : 'Reported items, go to my submission',
919 language.value == 0 ? '提示' : 'Tips', {
920 confirmButtonText: language.value == 0 ? '确定' : 'OK',
921 cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
922 type: 'warning'
923 }).then(() => {
924 router.push({ name: 'myMatch' })
925 })
926 return
927 }
928 if (extraform.value && extraform.value.length > 0) {
929 let needBuchong = false
930 for (const e of extraform.value) {
931 if (e.status == '0') {
932 needBuchong = true
933 }
934 }
935 for (const s of signInfoList.value) {
936 if (s.extraPersonInfo == null && needBuchong) {
937 ElMessage.warning(language.value == 0 ? '请完善补充信息' : 'Please fill in the supplementary information')
938 tableType.value = 0
939 return
940 }
941 }
942 }
943 if (signInfoList.value.length == 0) {
944 if (language.value == 0) {
945 ElMessage.warning('请至少选择一个项目')
946 } else {
947 ElMessage.warning('select at least one project')
948 }
949 return
950 }
951
952 router.push({
953 name: 'signPreview',
954 query: {
955 matchId: matchId.value,
956 groupId: groupId.value,
957 isNational: isNational.value,
958 buy: checked.value
959 }
960 })
961 }
962
963
901 function checkedChange(v) { 964 function checkedChange(v) {
902 checked.value = v 965 checked.value = v
903 } 966 }
...@@ -1173,5 +1236,4 @@ function checkedChange(v) { ...@@ -1173,5 +1236,4 @@ function checkedChange(v) {
1173 } 1236 }
1174 } 1237 }
1175 } 1238 }
1176
1177 </style> 1239 </style>
......
...@@ -4,12 +4,14 @@ ...@@ -4,12 +4,14 @@
4 :title="language==0?'赛事购买协议':'Event Insurance Procurement Agreement'" append-to-body center 4 :title="language==0?'赛事购买协议':'Event Insurance Procurement Agreement'" append-to-body center
5 class="pcloginpop" 5 class="pcloginpop"
6 close-icon="CircleClose" destroy-on-close 6 close-icon="CircleClose" destroy-on-close
7 max-width="1200px"
7 width="80%" 8 width="80%"
8 > 9 >
9 <div v-html="data" /> 10 <div v-html="data" />
10 <div class="checkbox"> 11 <div class="checkbox">
11 <el-checkbox 12 <el-checkbox
12 v-model="checked" 13 v-model="checked"
14 :disabled="insuranceViewRef==1"
13 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'" 15 :label="language==0?'我同意授权赛事方帮忙购买保险':'I agree to authorize the event organizer to purchase insurance on my behalf'"
14 false-value="0" 16 false-value="0"
15 size="large" true-value="1" 17 size="large" true-value="1"
...@@ -18,8 +20,12 @@ ...@@ -18,8 +20,12 @@
18 </div> 20 </div>
19 <template #footer> 21 <template #footer>
20 <div class="dialog-footer text-center"> 22 <div class="dialog-footer text-center">
21 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm">{{ 23 <el-button v-if="insuranceViewRef!=1" class="btn-lineG w200px" round type="primary" @click="submitForm()">{{
22 language == 0 ? '确定' : 'Save' 24 language == 0 ? '自行购买保险' : 'Buy by oneself'
25 }}
26 </el-button>
27 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm(1)">{{
28 language == 0 ? '同意委托购买保险' : 'Agree to purchase'
23 }} 29 }}
24 </el-button> 30 </el-button>
25 </div> 31 </div>
...@@ -37,16 +43,22 @@ const emit = defineEmits(['submitForm', 'checkedChange']) ...@@ -37,16 +43,22 @@ const emit = defineEmits(['submitForm', 'checkedChange'])
37 const checked = ref('0') 43 const checked = ref('0')
38 const show = ref(false) 44 const show = ref(false)
39 const data = ref() 45 const data = ref()
40 46 const insuranceViewRef = ref('0')
41 const open = (row, num) => { 47 const open = (row, num, flag) => {
42 show.value = true 48 show.value = true
43 checked.value = num || '0' 49 checked.value = num || '0'
44 data.value = row 50 data.value = row
51 insuranceViewRef.value = flag
45 } 52 }
46 53
47 function submitForm() { 54 function submitForm(v) {
55 if (v == 1) {
56 checked.value = '1'
57 } else {
58 checked.value = '0'
59 }
60 emit('scuess', checked.value)
48 show.value = false 61 show.value = false
49 emit('submitForm')
50 } 62 }
51 63
52 function checkedChange() { 64 function checkedChange() {
...@@ -68,4 +80,18 @@ defineExpose({ open }) ...@@ -68,4 +80,18 @@ defineExpose({ open })
68 cursor: pointer 80 cursor: pointer
69 } 81 }
70 } 82 }
83
84
85 @media (max-width: 767px) {
86 .w200px {
87 min-width: 0
88 }
89 }
90
91 /* 桌面(≥1024px) */
92 @media (min-width: 1024px) {
93 .w200px {
94 min-width: 200px
95 }
96 }
71 </style> 97 </style>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!