90755055 by 杨炀

Merge commit 'f8237179' into dev

2 parents 819f4e2b f8237179
...@@ -257,7 +257,7 @@ export function recoverMySignFromCancel(cptId) { ...@@ -257,7 +257,7 @@ export function recoverMySignFromCancel(cptId) {
257 return request({ 257 return request({
258 url: `/league/sign/recoverMySignFromCancel`, 258 url: `/league/sign/recoverMySignFromCancel`,
259 method: 'post', 259 method: 'post',
260 data: {cptId: cptId} 260 data: { cptId: cptId }
261 }) 261 })
262 } 262 }
263 263
...@@ -402,7 +402,7 @@ export function delPerson(id) { ...@@ -402,7 +402,7 @@ export function delPerson(id) {
402 }) 402 })
403 } 403 }
404 404
405 //个人账号 405 // 个人账号
406 export function delPersonForPersonal(id) { 406 export function delPersonForPersonal(id) {
407 return request({ 407 return request({
408 url: `/systemj/personInfo/singleDelete/${id}`, 408 url: `/systemj/personInfo/singleDelete/${id}`,
...@@ -506,7 +506,8 @@ export function commitSign(data) { ...@@ -506,7 +506,8 @@ export function commitSign(data) {
506 export function getTotalFee(data) { 506 export function getTotalFee(data) {
507 return request({ 507 return request({
508 url: `/league/expenseConfig/getTotalFee/${data.cptId}/${data.entryId}`, 508 url: `/league/expenseConfig/getTotalFee/${data.cptId}/${data.entryId}`,
509 method: 'get' 509 method: 'get',
510 params: data
510 }) 511 })
511 } 512 }
512 513
...@@ -639,7 +640,7 @@ export function saveWdsfMin(obj, groupId) { ...@@ -639,7 +640,7 @@ export function saveWdsfMin(obj, groupId) {
639 }) 640 })
640 } 641 }
641 642
642 //todo 643 // todo
643 export function bindWdsf(perId, card) { 644 export function bindWdsf(perId, card) {
644 return request({ 645 return request({
645 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`, 646 url: `/systemj/personInfo/bindWdsf/${perId}?card=${card}`,
...@@ -771,12 +772,14 @@ export function getAboutUs(params) { ...@@ -771,12 +772,14 @@ export function getAboutUs(params) {
771 params 772 params
772 }) 773 })
773 } 774 }
775
774 export function getppInfo(params) { 776 export function getppInfo(params) {
775 return request({ 777 return request({
776 url: `/portal/website/${params}`, 778 url: `/portal/website/${params}`,
777 method: 'get' 779 method: 'get'
778 }) 780 })
779 } 781 }
782
780 export function getZNList(params) { 783 export function getZNList(params) {
781 return request({ 784 return request({
782 url: `/Portal/websiteInfo/list`, 785 url: `/Portal/websiteInfo/list`,
...@@ -785,4 +788,21 @@ export function getZNList(params) { ...@@ -785,4 +788,21 @@ export function getZNList(params) {
785 }) 788 })
786 } 789 }
787 790
791 // 团体报名校验
792 export function preCheckForGroup(groupId) {
793 return request({
794 url: `/systemj/personInfo/preCheckForGroup/${groupId}`,
795 method: 'get'
796 })
797 }
798
799 // 个人报名校验
800 export function preCheckForPerson(params) {
801 return request({
802 url: `/systemj/personInfo/preCheckForPerson`,
803 method: 'get',
804 params
805 })
806 }
807
788 808
......
...@@ -159,7 +159,7 @@ ...@@ -159,7 +159,7 @@
159 <!-- }}{{ language == 0 ? '元' : 'Euro' }} x 1--> 159 <!-- }}{{ language == 0 ? '元' : 'Euro' }} x 1-->
160 <!-- {{ language == 0 ? '张' : 'Tickets' }}--> 160 <!-- {{ language == 0 ? '张' : 'Tickets' }}-->
161 <!-- </el-col>--> 161 <!-- </el-col>-->
162 162
163 </el-row> 163 </el-row>
164 </div> 164 </div>
165 </div> 165 </div>
...@@ -174,14 +174,14 @@ ...@@ -174,14 +174,14 @@
174 </el-col> 174 </el-col>
175 <el-col> 175 <el-col>
176 {{ language == 0 ? '开园时间' : 'Address' }} 176 {{ language == 0 ? '开园时间' : 'Address' }}
177 {{ formInfo. startTime }} ~ {{ formInfo.workTime }} 177 {{ formInfo.startTime }} ~ {{ formInfo.workTime }}
178 </el-col> 178 </el-col>
179 </el-row> 179 </el-row>
180 </div> 180 </div>
181 </div> 181 </div>
182 182
183 <div class="leftboderTT">{{ language == 0 ? '预订信息' : 'Booking information' }}</div> 183 <div class="leftboderTT">{{ language == 0 ? '预订信息' : 'Booking information' }}</div>
184 184
185 <div class="border-info mt20"> 185 <div class="border-info mt20">
186 <el-row v-if="type == 'hotel'"> 186 <el-row v-if="type == 'hotel'">
187 <el-col :lg="8" :md="12" :sm="12" :xs="24"> 187 <el-col :lg="8" :md="12" :sm="12" :xs="24">
...@@ -203,12 +203,12 @@ ...@@ -203,12 +203,12 @@
203 <!-- <el-tag class="mr10">{{ car.carSeat }} {{ language == 0 ? '座 ' : 'Sets' }}</el-tag>--> 203 <!-- <el-tag class="mr10">{{ car.carSeat }} {{ language == 0 ? '座 ' : 'Sets' }}</el-tag>-->
204 <!-- <el-tag>{{ car.carColor }}</el-tag>--> 204 <!-- <el-tag>{{ car.carColor }}</el-tag>-->
205 <!-- </div>--> 205 <!-- </div>-->
206 206
207 <!-- <span v-if="car.num > 0"> {{ car.num }}{{--> 207 <!-- <span v-if="car.num > 0"> {{ car.num }}{{-->
208 <!-- language == 0 ? '辆' : 'Cars'--> 208 <!-- language == 0 ? '辆' : 'Cars'-->
209 <!-- }} * {{ language == 0 ? '¥' : '€' }}{{ car.price }}</span>--> 209 <!-- }} * {{ language == 0 ? '¥' : '€' }}{{ car.price }}</span>-->
210 <!-- </div>--> 210 <!-- </div>-->
211 211
212 <div>{{ language == 0 ? '人数' : 'People' }} {{ form.pickUpBo.count }}</div> 212 <div>{{ language == 0 ? '人数' : 'People' }} {{ form.pickUpBo.count }}</div>
213 <div>{{ language == 0 ? '航班/火车班次' : 'Flight/Train' }} {{ form.pickUpBo.no }}</div> 213 <div>{{ language == 0 ? '航班/火车班次' : 'Flight/Train' }} {{ form.pickUpBo.no }}</div>
214 <div>{{ language == 0 ? '接机/接站地点' : 'Pick-up/Drop-off Place' }} 214 <div>{{ language == 0 ? '接机/接站地点' : 'Pick-up/Drop-off Place' }}
...@@ -342,7 +342,7 @@ ...@@ -342,7 +342,7 @@
342 }}{{ Number(totalFee).toFixed(2) }} 342 }}{{ Number(totalFee).toFixed(2) }}
343 </el-col> 343 </el-col>
344 </el-row> 344 </el-row>
345 345
346 </el-row> 346 </el-row>
347 <el-row v-if="type == 'travel'" style="width: 100%"> 347 <el-row v-if="type == 'travel'" style="width: 100%">
348 <el-row v-for="(v,i) in form.personArr" :key="i" style="width: 100%"> 348 <el-row v-for="(v,i) in form.personArr" :key="i" style="width: 100%">
...@@ -376,10 +376,10 @@ ...@@ -376,10 +376,10 @@
376 }}{{ Number(totalFee).toFixed(2) }} 376 }}{{ Number(totalFee).toFixed(2) }}
377 </el-col> 377 </el-col>
378 </el-row> 378 </el-row>
379 379
380 </el-row> 380 </el-row>
381 </div> 381 </div>
382 382
383 <el-row align="middle" justify="space-between"> 383 <el-row align="middle" justify="space-between">
384 <el-col :lg="12"> 384 <el-col :lg="12">
385 <div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}{{ form.payDate }}</div> 385 <div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}{{ form.payDate }}</div>
...@@ -408,29 +408,29 @@ ...@@ -408,29 +408,29 @@
408 </el-col> 408 </el-col>
409 <el-col :lg="24"> 409 <el-col :lg="24">
410 <div class="text-center"> 410 <div class="text-center">
411 <el-button 411 <!-- <el-button-->
412 v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" class="mt20 btn-lineG" 412 <!-- v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" class="mt20 btn-lineG"-->
413 round 413 <!-- round-->
414 size="large" type="primary" 414 <!-- size="large" type="primary"-->
415 @click="exportPdf" 415 <!-- @click="exportPdf"-->
416 > 416 <!-- >-->
417 <el-icon> 417 <!-- <el-icon>-->
418 <Upload /> 418 <!-- <Upload />-->
419 </el-icon> 419 <!-- </el-icon>-->
420 {{ language == 0 ? '导出酒店预订单' : 'Export PDF' }} 420 <!-- {{ language == 0 ? '导出酒店预订单' : 'Export PDF' }}-->
421 </el-button> 421 <!-- </el-button>-->
422 <el-button 422 <!-- <el-button-->
423 v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel'||type=='ticket')" 423 <!-- v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel'||type=='ticket')"-->
424 class="mt20 btn-lineG" round 424 <!-- class="mt20 btn-lineG" round-->
425 size="large" 425 <!-- size="large"-->
426 type="primary" 426 <!-- type="primary"-->
427 @click="downInvoice" 427 <!-- @click="downInvoice"-->
428 > 428 <!-- >-->
429 <el-icon> 429 <!-- <el-icon>-->
430 <Download /> 430 <!-- <Download />-->
431 </el-icon> 431 <!-- </el-icon>-->
432 {{ language == 0 ? '下载收据' : 'DownLoad Invoice' }} 432 <!-- {{ language == 0 ? '下载收据' : 'DownLoad Invoice' }}-->
433 </el-button> 433 <!-- </el-button>-->
434 </div> 434 </div>
435 </el-col> 435 </el-col>
436 </el-row> 436 </el-row>
...@@ -445,9 +445,9 @@ ...@@ -445,9 +445,9 @@
445 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }} 445 {{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }}
446 </el-button> 446 </el-button>
447 </div> 447 </div>
448 448
449 <div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')" class="pd20"> 449 <div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')" class="pd20">
450 450
451 <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div> 451 <div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div>
452 <div class="mt20"> 452 <div class="mt20">
453 <el-radio-group v-model="payType"> 453 <el-radio-group v-model="payType">
...@@ -547,7 +547,7 @@ ...@@ -547,7 +547,7 @@
547 </el-button> 547 </el-button>
548 </el-col> 548 </el-col>
549 </el-row> 549 </el-row>
550 550
551 <div v-if="form.payDate&&form.viewStatus=='1'"> 551 <div v-if="form.payDate&&form.viewStatus=='1'">
552 <div class="text-center"> 552 <div class="text-center">
553 <el-icon color="#32B16C" size="80"> 553 <el-icon color="#32B16C" size="80">
...@@ -559,7 +559,7 @@ ...@@ -559,7 +559,7 @@
559 </div> 559 </div>
560 </el-card> 560 </el-card>
561 </div> 561 </div>
562 562
563 <div v-if="errorBox" class="box"> 563 <div v-if="errorBox" class="box">
564 <el-result 564 <el-result
565 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'" 565 :sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
...@@ -574,7 +574,7 @@ ...@@ -574,7 +574,7 @@
574 </el-result> 574 </el-result>
575 </div> 575 </div>
576 <Dialog ref="DialogRef" /> 576 <Dialog ref="DialogRef" />
577 577
578 <el-dialog 578 <el-dialog
579 v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false" 579 v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false"
580 :title="language==0?'开收据':'Issue a receipt'" width="460px" 580 :title="language==0?'开收据':'Issue a receipt'" width="460px"
...@@ -742,6 +742,7 @@ function getData() { ...@@ -742,6 +742,7 @@ function getData() {
742 getTravelOrderInfo() 742 getTravelOrderInfo()
743 } 743 }
744 } 744 }
745
745 // 旅游订单详情 746 // 旅游订单详情
746 const getTravelOrderInfo = () => { 747 const getTravelOrderInfo = () => {
747 return booking.getScenicOrderInfo({ orderId: orderId.value }).then(res => { 748 return booking.getScenicOrderInfo({ orderId: orderId.value }).then(res => {
...@@ -756,6 +757,7 @@ const getTravelOrderInfo = () => { ...@@ -756,6 +757,7 @@ const getTravelOrderInfo = () => {
756 errorBox.value = true 757 errorBox.value = true
757 }) 758 })
758 } 759 }
760
759 // 票务订单详情 761 // 票务订单详情
760 async function getTicketOrderInfoFN() { 762 async function getTicketOrderInfoFN() {
761 const res = await getTicketOrderInfo({ orderId: orderId.value }) 763 const res = await getTicketOrderInfo({ orderId: orderId.value })
...@@ -767,12 +769,12 @@ async function getTicketOrderInfoFN() { ...@@ -767,12 +769,12 @@ async function getTicketOrderInfoFN() {
767 form.value.extJson.message = JSON.parse(form.value.extJson.message) 769 form.value.extJson.message = JSON.parse(form.value.extJson.message)
768 await getDetail(form.value.extJson.ticketDate.activityId) 770 await getDetail(form.value.extJson.ticketDate.activityId)
769 matchId.value = form.value.extJson.ticketDate.activityId 771 matchId.value = form.value.extJson.ticketDate.activityId
770 772
771 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn 773 totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
772 } catch (e) { 774 } catch (e) {
773 console.log(e) 775 console.log(e)
774 } finally { 776 } finally {
775 777
776 } 778 }
777 console.log(form.value) 779 console.log(form.value)
778 } 780 }
...@@ -1008,7 +1010,7 @@ const showSJ = () => { ...@@ -1008,7 +1010,7 @@ const showSJ = () => {
1008 // proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, { 1010 // proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, {
1009 // ...obj 1011 // ...obj
1010 // }, `Receipt_${new Date().getTime()}.pdf`) 1012 // }, `Receipt_${new Date().getTime()}.pdf`)
1011 1013
1012 // 报名 1014 // 报名
1013 proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, { 1015 proxy.download(`/ota/norder/getReceipt/${obj.orderId}`, {
1014 ...obj 1016 ...obj
...@@ -1059,27 +1061,27 @@ const showSJ = () => { ...@@ -1059,27 +1061,27 @@ const showSJ = () => {
1059 width: 100%; 1061 width: 100%;
1060 max-width: 1000px; 1062 max-width: 1000px;
1061 margin: 20px auto; 1063 margin: 20px auto;
1062 1064
1063 .head { 1065 .head {
1064 background: #EFF2F7; 1066 background: #EFF2F7;
1065 height: 50px; 1067 height: 50px;
1066 font-size: 16px; 1068 font-size: 16px;
1067 font-weight: 400; 1069 font-weight: 400;
1068 } 1070 }
1069 1071
1070 th { 1072 th {
1071 background: #FAFBFD; 1073 background: #FAFBFD;
1072 font-size: 14px; 1074 font-size: 14px;
1073 border-bottom: 1px solid #E5E5E5; 1075 border-bottom: 1px solid #E5E5E5;
1074 border-right: 1px solid #E5E5E5; 1076 border-right: 1px solid #E5E5E5;
1075 } 1077 }
1076 1078
1077 td { 1079 td {
1078 border-bottom: 1px solid #E5E5E5; 1080 border-bottom: 1px solid #E5E5E5;
1079 border-right: 1px solid #E5E5E5; 1081 border-right: 1px solid #E5E5E5;
1080 padding: 10px; 1082 padding: 10px;
1081 } 1083 }
1082 1084
1083 &.table-border { 1085 &.table-border {
1084 border-top: 1px solid #E5E5E5; 1086 border-top: 1px solid #E5E5E5;
1085 border-left: 1px solid #E5E5E5; 1087 border-left: 1px solid #E5E5E5;
...@@ -1098,23 +1100,23 @@ const showSJ = () => { ...@@ -1098,23 +1100,23 @@ const showSJ = () => {
1098 1100
1099 .result { 1101 .result {
1100 font-size: 22px; 1102 font-size: 22px;
1101 1103
1102 .flex { 1104 .flex {
1103 display: flex; 1105 display: flex;
1104 align-items: center; 1106 align-items: center;
1105 font-weight: 500; 1107 font-weight: 500;
1106 1108
1107 img { 1109 img {
1108 margin-right: 10px 1110 margin-right: 10px
1109 } 1111 }
1110 } 1112 }
1111 1113
1112 .priceb { 1114 .priceb {
1113 color: #7B7F83; 1115 color: #7B7F83;
1114 font-size: 16px; 1116 font-size: 16px;
1115 text-align: right; 1117 text-align: right;
1116 line-height: 50px; 1118 line-height: 50px;
1117 1119
1118 span { 1120 span {
1119 font-weight: bold; 1121 font-weight: bold;
1120 font-size: 22px; 1122 font-size: 22px;
...@@ -1127,7 +1129,7 @@ const showSJ = () => { ...@@ -1127,7 +1129,7 @@ const showSJ = () => {
1127 .skeletonBox { 1129 .skeletonBox {
1128 position: relative; 1130 position: relative;
1129 overflow: hidden; 1131 overflow: hidden;
1130 1132
1131 .btn-lineG { 1133 .btn-lineG {
1132 position: absolute; 1134 position: absolute;
1133 left: 0; 1135 left: 0;
...@@ -1137,7 +1139,7 @@ const showSJ = () => { ...@@ -1137,7 +1139,7 @@ const showSJ = () => {
1137 bottom: 0; 1139 bottom: 0;
1138 width: 200px; 1140 width: 200px;
1139 box-shadow: 0 0 1000px 500px rgba(255, 255, 255, 0.5); 1141 box-shadow: 0 0 1000px 500px rgba(255, 255, 255, 0.5);
1140 1142
1141 } 1143 }
1142 } 1144 }
1143 1145
...@@ -1149,26 +1151,26 @@ const showSJ = () => { ...@@ -1149,26 +1151,26 @@ const showSJ = () => {
1149 1151
1150 .priceBar { 1152 .priceBar {
1151 padding: 0 0 20px; 1153 padding: 0 0 20px;
1152 1154
1153 .flex { 1155 .flex {
1154 display: flex; 1156 display: flex;
1155 justify-content: right; 1157 justify-content: right;
1156 align-items: baseline; 1158 align-items: baseline;
1157 1159
1158 .item { 1160 .item {
1159 font-size: 16px; 1161 font-size: 16px;
1160 margin-right: 15px; 1162 margin-right: 15px;
1161 1163
1162 label { 1164 label {
1163 color: #95A1A6; 1165 color: #95A1A6;
1164 } 1166 }
1165 1167
1166 span { 1168 span {
1167 font-family: DIN Alternate; 1169 font-family: DIN Alternate;
1168 } 1170 }
1169 } 1171 }
1170 } 1172 }
1171 1173
1172 .size26 { 1174 .size26 {
1173 font-size: 26px; 1175 font-size: 26px;
1174 } 1176 }
......
...@@ -2,10 +2,10 @@ ...@@ -2,10 +2,10 @@
2 <div> 2 <div>
3 <el-calendar v-model="currentDate" :range="calendarRange"> 3 <el-calendar v-model="currentDate" :range="calendarRange">
4 <template #date-cell="data"> 4 <template #date-cell="data">
5 <div :class="data.data.day==query.currentDate?'primaryDate date':'date'" @click="selectDate(data.data.day)"> 5 <div :class="data.data.day==query.currentDate?'primaryDate date':'date'" @click="selectDate(data.data.day)">
6 {{ data.data.day.slice(8, 10) }} 6 {{ data.data.day.slice(8, 10) }}
7 </div> 7 </div>
8 8
9 </template> 9 </template>
10 </el-calendar> 10 </el-calendar>
11 <div class="calendarList"> 11 <div class="calendarList">
...@@ -15,42 +15,48 @@ ...@@ -15,42 +15,48 @@
15 <div class="esp mt5">{{ n.name }}</div> 15 <div class="esp mt5">{{ n.name }}</div>
16 </li> 16 </li>
17 </ul> 17 </ul>
18 <el-empty v-if="schList.length== 0" 18 <el-empty
19 style="--el-empty-padding:0;--el-empty-description-margin-top:0" 19 v-if="schList.length== 0"
20 :image="`/img/order_no.png`" :image-size="200"/> 20 :image="`/img/order_no.png`"
21 :image-size="200" style="--el-empty-padding:0;--el-empty-description-margin-top:0"
22 />
21 </div> 23 </div>
22 </div> 24 </div>
23 </template> 25 </template>
24 26
25 <script setup> 27 <script setup>
26 import {ref} from "vue"; 28 import { ref } from 'vue'
27 import {dayjs} from "element-plus"; 29 import { dayjs } from 'element-plus'
28 import {getIndexScheduleList} from "@/apiPc/common"; 30 import { getIndexScheduleList } from '@/apiPc/common'
29 import {useRouter} from "vue-router"; 31 import { useRouter } from 'vue-router'
32
30 const router = useRouter() 33 const router = useRouter()
31 const currentDate = ref(new Date()) 34 const currentDate = ref(new Date())
32 const calendarRange = ref([dayjs('2024-07-17').toDate(), dayjs('2024-07-17').toDate()]) 35 const calendarRange = ref([dayjs('2025-07-17').toDate(), dayjs('2025-07-17').toDate()])
33 const schList = ref([]) 36 const schList = ref([])
34 const loading = ref(false) 37 const loading = ref(false)
35 const query = ref({ 38 const query = ref({
36 // currentDate:dayjs().format('YYYY-MM-DD') 39 // currentDate:dayjs().format('YYYY-MM-DD')
37 currentDate: '2024-07-17' 40 currentDate: '2025-07-17'
38 }) 41 })
39 getScheduleList() 42 getScheduleList()
43
40 function getScheduleList() { 44 function getScheduleList() {
41 loading.value = true 45 loading.value = true
42 query.value.currentDate = dayjs(query.value.currentDate).format('YYYY-MM-DD') 46 query.value.currentDate = dayjs(query.value.currentDate).format('YYYY-MM-DD')
43 getIndexScheduleList(query.value).then(res=>{ 47 getIndexScheduleList(query.value).then(res => {
44 loading.value = false 48 loading.value = false
45 schList.value = res.data 49 schList.value = res.data
46 }) 50 })
47 } 51 }
52
48 function selectDate(date) { 53 function selectDate(date) {
49 console.log(dayjs(date).toDate()) 54 console.log(dayjs(date).toDate())
50 console.log(query.value.currentDate) 55 console.log(query.value.currentDate)
51 query.value.currentDate = dayjs(date).toDate() 56 query.value.currentDate = dayjs(date).toDate()
52 getScheduleList() 57 getScheduleList()
53 } 58 }
59
54 function goMatch(n) { 60 function goMatch(n) {
55 router.push({ 61 router.push({
56 name: 'matchDetail', 62 name: 'matchDetail',
...@@ -64,44 +70,44 @@ function goMatch(n) { ...@@ -64,44 +70,44 @@ function goMatch(n) {
64 } 70 }
65 </script> 71 </script>
66 72
67 <style scoped lang="scss"> 73 <style lang="scss" scoped>
68 .el-calendar { 74 .el-calendar {
69 --el-calendar-border: none; 75 --el-calendar-border: none;
70 --el-calendar-cell-width: 40px; 76 --el-calendar-cell-width: 40px;
71 text-align: center; 77 text-align: center;
72 --el-text-color-regular: #8E8D94; 78 --el-text-color-regular: #8E8D94;
73 79
74 :deep(.el-calendar__header) { 80 :deep(.el-calendar__header) {
75 justify-content: center; 81 justify-content: center;
76 padding: 0 0 10px 82 padding: 0 0 10px
77 } 83 }
78 84
79 :deep(.el-calendar__body) { 85 :deep(.el-calendar__body) {
80 border: 1px solid #F0F0F0; 86 border: 1px solid #F0F0F0;
81 padding: 0 87 padding: 0
82 } 88 }
83 89
84 :deep(.el-calendar-table .el-calendar-day) { 90 :deep(.el-calendar-table .el-calendar-day) {
85 padding: 1px; 91 padding: 1px;
86 } 92 }
87 93
88 :deep(.el-calendar-table td.is-selected) { 94 :deep(.el-calendar-table td.is-selected) {
89 background: transparent; 95 background: transparent;
90 } 96 }
91 97
92 :deep(.el-calendar__button-group) { 98 :deep(.el-calendar__button-group) {
93 display: none; 99 display: none;
94 } 100 }
95 101
96 :deep(.el-calendar-table thead th) { 102 :deep(.el-calendar-table thead th) {
97 padding: 5px 0 0 103 padding: 5px 0 0
98 } 104 }
99 105
100 .primaryDate { 106 .primaryDate {
101 color: #fff; 107 color: #fff;
102 background: linear-gradient(90deg, #8623FC, #453DEA); 108 background: linear-gradient(90deg, #8623FC, #453DEA);
103 } 109 }
104 110
105 .date { 111 .date {
106 margin: auto; 112 margin: auto;
107 border-radius: 50%; 113 border-radius: 50%;
...@@ -117,9 +123,10 @@ function goMatch(n) { ...@@ -117,9 +123,10 @@ function goMatch(n) {
117 padding: 12px 20px; 123 padding: 12px 20px;
118 overflow: auto; 124 overflow: auto;
119 height: 225px; 125 height: 225px;
120 126
121 ul { 127 ul {
122 li {cursor: pointer; 128 li {
129 cursor: pointer;
123 background: #F6F9FE; 130 background: #F6F9FE;
124 margin: 7px 0 7px 20px; 131 margin: 7px 0 7px 20px;
125 position: relative; 132 position: relative;
...@@ -127,11 +134,11 @@ function goMatch(n) { ...@@ -127,11 +134,11 @@ function goMatch(n) {
127 border-radius: 10px; 134 border-radius: 10px;
128 font-weight: 500; 135 font-weight: 500;
129 font-size: 15px; 136 font-size: 15px;
130 137
131 label { 138 label {
132 color: #453DEA; 139 color: #453DEA;
133 margin-right: 15px; 140 margin-right: 15px;
134 141
135 &::before { 142 &::before {
136 content: ''; 143 content: '';
137 background: #fff; 144 background: #fff;
...@@ -147,7 +154,7 @@ function goMatch(n) { ...@@ -147,7 +154,7 @@ function goMatch(n) {
147 } 154 }
148 } 155 }
149 } 156 }
150 157
151 li::before { 158 li::before {
152 content: ''; 159 content: '';
153 background: linear-gradient(0deg, #8623FC, #453DEA); 160 background: linear-gradient(0deg, #8623FC, #453DEA);
...@@ -161,7 +168,7 @@ function goMatch(n) { ...@@ -161,7 +168,7 @@ function goMatch(n) {
161 margin: auto; 168 margin: auto;
162 z-index: 1; 169 z-index: 1;
163 } 170 }
164 171
165 li::after { 172 li::after {
166 content: ''; 173 content: '';
167 left: -16px; 174 left: -16px;
...@@ -171,11 +178,11 @@ function goMatch(n) { ...@@ -171,11 +178,11 @@ function goMatch(n) {
171 position: absolute; 178 position: absolute;
172 top: 20px 179 top: 20px
173 } 180 }
174 181
175 li:hover { 182 li:hover {
176 color: #fff; 183 color: #fff;
177 background: linear-gradient(-90deg, #8623FC, #453DEA); 184 background: linear-gradient(-90deg, #8623FC, #453DEA);
178 185
179 label { 186 label {
180 color: #fff; 187 color: #fff;
181 } 188 }
......
1 <template>
2 <el-dialog
3 v-model="show" :close-on-click-modal="false" :title="language==0?'赛事购买协会':'Event Insurance Procurement Agreement'" append-to-body center
4 class="pcloginpop"
5 close-icon="CircleClose" destroy-on-close
6 width="1100px"
7 >
8 <div v-html="data" />
9 <template #footer>
10 <div class="dialog-footer text-center">
11 <el-button class="btn-lineG w200px" round type="primary" @click="submitForm">{{
12 language == 0 ? '确定' : 'Save'
13 }}
14 </el-button>
15 </div>
16 </template>
17 </el-dialog>
18 </template>
19
20 <script setup>
21 import { getCurrentInstance, ref } from '@vue/runtime-core'
22 import { useStorage } from '@vueuse/core/index'
23
24 const language = useStorage('language', 0)
25 const { proxy } = getCurrentInstance()
26 const emit = defineEmits(['submitForm'])
27 const show = ref(false)
28 const data = ref()
29
30 const open = (row) => {
31 show.value = true
32 data.value = row
33 }
34
35 function submitForm() {
36 show.value = false
37 }
38
39
40 defineExpose({ open })
41
42 </script>
43
44 <style lang="scss">
45 .threeFour {
46 width: 100%;
47
48 .el-upload--picture-card {
49 width: 120px;
50 height: 160px;
51 }
52
53 .el-upload-list--picture-card .el-upload-list__item {
54 width: 120px;
55 height: 160px;
56 }
57 }
58
59 .tip {
60 font-size: 13px;
61 color: #999;
62 margin: 10px 0;
63
64 i {
65 color: red;
66 margin: 0 4px 0 0;
67 }
68 }
69
70 .shenfen {
71 .el-upload--picture-card {
72 width: 320px;
73 height: 200px;
74 }
75
76 .el-upload-list--picture-card .el-upload-list__item {
77 width: 320px;
78 height: 200px;
79 }
80 }
81
82 .touxiang {
83 :deep(.el-upload--picture-card ) {
84 width: 140px;
85 height: 200px;
86 }
87 }
88
89 .touxiang {
90 :deep(.el-upload-list__item ) {
91 width: 140px;
92 height: 200px;
93 }
94
95 }
96
97 .el-form--inline .el-form-item {
98 width: 100%
99 }
100
101
102 .boxDialog {
103 .el-dialog__header {
104 background: linear-gradient(#ed2c22, #fe6d45);
105 margin-right: 0;
106 height: 52px;
107
108 span {
109 color: #fff;
110 }
111 }
112 }
113
114 </style>
1 <template> 1 <template>
2 <div style="padding: 0 20px 20px" v-if="language==0"> 2 <div v-if="language==0" style="padding: 0 20px 20px">
3 <!--赛事详情--> 3 <!--赛事详情-->
4 <div class="indexTitle"> 4 <div class="indexTitle">
5 <h3 class="leftboderTT">组织机构</h3> 5 <h3 class="leftboderTT">组织机构</h3>
6 </div> 6 </div>
7 <div class="xzbox" v-html="form.ocOrganizer"> 7 <div class="xzbox" v-html="form.ocOrganizer" />
8 </div> 8 <div v-if="form.languageSource!='100'" class="indexTitle"><h3 class="leftboderTT">报名须知</h3></div>
9 <div class="indexTitle" v-if="form.languageSource!='100'"><h3 class="leftboderTT">报名须知</h3></div> 9 <div v-if="form.languageSource!='100'" class="xzbox">
10 <div class="xzbox" v-if="form.languageSource!='100'"> 10 <div v-html="form.signKnow" />
11 <div v-html="form.signKnow"></div>
12 <div v-if="form.signKnowUrl"> 11 <div v-if="form.signKnowUrl">
13 <el-link v-for="(item,index) in JSON.parse(form.signKnowUrl)" type="primary" 12 <el-link
14 :href="fillImgUrl(item.url)" target="_blank"> 13 v-for="(item,index) in JSON.parse(form.signKnowUrl)" :key="index" :href="fillImgUrl(item.url)"
14 target="_blank" type="primary"
15 >
15 <el-icon :size="20"> 16 <el-icon :size="20">
16 <Download /> 17 <Download />
17 </el-icon> 18 </el-icon>
18 {{ item.name }} 19 {{ item.name }}
19 </el-link> 20 </el-link>
20 </div> 21 </div>
21
22 </div> 22 </div>
23 <!-- <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>--> 23 <!-- <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>-->
24 <!-- <div class="xzbox">--> 24 <!-- <div class="xzbox">-->
25 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">--> 25 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">-->
26 <!-- <el-icon :size="20">--> 26 <!-- <el-icon :size="20">-->
27 <!-- <Download />--> 27 <!-- <Download />-->
28 <!-- </el-icon>--> 28 <!-- </el-icon>-->
29 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}--> 29 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}-->
30 <!-- </el-link>--> 30 <!-- </el-link>-->
31 <!-- </div>--> 31 <!-- </div>-->
32 <div class="indexTitle" v-if="form.languageSource=='100'"><h3 class="leftboderTT">赛事规程</h3></div> 32 <div v-if="form.languageSource=='100'" class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div>
33 <div class="xzbox" v-if="form.languageSource=='100'"> 33 <div v-if="form.languageSource=='100'" class="xzbox">
34 <div v-html="form.ruleContent"></div> 34 <div v-html="form.ruleContent" />
35 <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank"> 35 <el-link v-if="form.ruleUrl" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank" type="primary">
36 <el-icon :size="20"> 36 <el-icon :size="20">
37 <Download /> 37 <Download />
38 </el-icon> 38 </el-icon>
39 {{ JSON.parse(form.ruleUrl)[0]?.name }} 39 {{ JSON.parse(form.ruleUrl)[0]?.name }}
40 </el-link> 40 </el-link>
41 </div> 41 </div>
42 <!-- <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div>--> 42 <!-- <div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div>-->
43 <!-- <div v-if="form.type==1&&form.cptProjectList?.length > 0">--> 43 <!-- <div v-if="form.type==1&&form.cptProjectList?.length > 0">-->
44 44
45 <!-- </div>--> 45 <!-- </div>-->
46 46
47 </div> 47 </div>
48 <div style="padding: 0 20px 20px" v-else> 48 <div v-else style="padding: 0 20px 20px">
49 <!--赛事详情--> 49 <!--赛事详情-->
50 <div class="indexTitle"> 50 <div class="indexTitle">
51 <h3 class="leftboderTT">Organization</h3> 51 <h3 class="leftboderTT">Organization</h3>
52 </div> 52 </div>
53 <div class="xzbox" v-html="form.ocOrganizer"> 53 <div class="xzbox" v-html="form.ocOrganizer" />
54 </div>
55 <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div> 54 <div class="indexTitle"><h3 class="leftboderTT">Notes</h3></div>
56 <div class="xzbox"> 55 <div class="xzbox">
57 <div v-html="form.signKnow"></div> 56 <div v-html="form.signKnow" />
58 <el-link v-if="form.signKnowUrl" type="primary" :href="fillImgUrl(JSON.parse(form.signKnowUrl)[0]?.url)" target="_blank"> 57 <el-link
58 v-if="form.signKnowUrl" :href="fillImgUrl(JSON.parse(form.signKnowUrl)[0]?.url)" target="_blank"
59 type="primary"
60 >
59 <el-icon :size="20"> 61 <el-icon :size="20">
60 <Download /> 62 <Download />
61 </el-icon> 63 </el-icon>
62 {{ JSON.parse(form.signKnowUrl)[0]?.name }} 64 {{ JSON.parse(form.signKnowUrl)[0]?.name }}
63 </el-link> 65 </el-link>
64 </div> 66 </div>
65 <!-- <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>--> 67 <!-- <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>-->
66 <!-- <div class="xzbox">--> 68 <!-- <div class="xzbox">-->
67 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">--> 69 <!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">-->
68 <!-- <el-icon :size="20">--> 70 <!-- <el-icon :size="20">-->
69 <!-- <Download />--> 71 <!-- <Download />-->
70 <!-- </el-icon>--> 72 <!-- </el-icon>-->
71 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}--> 73 <!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}-->
72 <!-- </el-link>--> 74 <!-- </el-link>-->
73 <!-- </div>--> 75 <!-- </div>-->
74 76
75 <!-- <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>--> 77 <!-- <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>-->
76 <!-- <div class="xzbox">--> 78 <!-- <div class="xzbox">-->
77 <!-- <div v-html="form.ruleContent">--> 79 <!-- <div v-html="form.ruleContent">-->
78 80
79 <!-- </div>--> 81 <!-- </div>-->
80 <!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">--> 82 <!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">-->
81 <!-- <el-icon :size="20">--> 83 <!-- <el-icon :size="20">-->
82 <!-- <Download />--> 84 <!-- <Download />-->
83 <!-- </el-icon>--> 85 <!-- </el-icon>-->
84 <!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}--> 86 <!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}-->
85 <!-- </el-link>--> 87 <!-- </el-link>-->
86 <!-- </div>--> 88 <!-- </div>-->
87 <div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div> 89 <div v-if="form.type==1 && form.cptProjectList?.length > 0" class="indexTitle"><h3 class="leftboderTT">Event
90 settings</h3></div>
88 <div v-if="form.type==1 && form.cptProjectList?.length > 0"> 91 <div v-if="form.type==1 && form.cptProjectList?.length > 0">
89 <match-info-project-list :match-id="form.id" :is-national="form.languageSource!='100'"/> 92 <match-info-project-list :is-national="form.languageSource!='100'" :match-id="form.id" />
90 </div> 93 </div>
91 </div> 94 </div>
92 </template> 95 </template>
93 96
94 <script setup> 97 <script setup>
95 import {ref} from "vue"; 98 import { ref } from 'vue'
96 import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList"; 99 import MatchInfoProjectList from '@/viewsPc/match/components/matchInfo-projectList'
97 import {useStorage} from "@vueuse/core/index"; 100 import { useStorage } from '@vueuse/core/index'
98 import {onMounted} from "@vue/runtime-core"; 101 import { onMounted } from '@vue/runtime-core'
99 102
100 const language= useStorage('language',0) 103 const language = useStorage('language', 0)
101 104
102 const props = defineProps({ 105 const props = defineProps({
103 form:{ 106 form: {
104 type:Object, 107 type: Object,
105 required:true 108 required: true
106 } 109 }
107 }) 110 })
108 111
109 112
110
111 </script> 113 </script>
112 114
113 <style scoped lang="scss"> 115 <style lang="scss" scoped>
114 .indexTitle{margin: 20px 0 12px; 116 .indexTitle {
115 h3{ 117 margin: 20px 0 12px;
118
119 h3 {
116 font-size: 20px; 120 font-size: 20px;
117 color:var(--el-color-primary); 121 color: var(--el-color-primary);
118 } 122 }
119 } 123 }
120 124
......
...@@ -64,33 +64,33 @@ export default defineConfig(({ mode, command }) => { ...@@ -64,33 +64,33 @@ export default defineConfig(({ mode, command }) => {
64 proxy: { 64 proxy: {
65 // https://cn.vitejs.dev/config/#server-proxy 65 // https://cn.vitejs.dev/config/#server-proxy
66 '/dev-api/ztx-train': { 66 '/dev-api/ztx-train': {
67 // target: 'http://123.60.96.243:1896/stage-api', 67 target: 'http://192.168.1.243:1896/stage-api',
68 target: 'https://jijin.wtwuxicenter.com/stage-api', 68 // target: 'https://jijin.wtwuxicenter.com/stage-api',
69 changeOrigin: true, 69 changeOrigin: true,
70 rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '') 70 rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '')
71 }, 71 },
72 '/dev-api/ztx-match': { 72 '/dev-api/ztx-match': {
73 target: 'http://192.168.1.253:8081', 73 target: 'http://192.168.1.243:8081',
74 // target: 'https://wdsfwuxicenter.com/stage-api/', 74 // target: 'https://wdsfwuxicenter.com/stage-api/',
75 changeOrigin: true, 75 changeOrigin: true,
76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '') 76 rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
77 }, 77 },
78 '/dev-api/ztx-webSite': { 78 '/dev-api/ztx-webSite': {
79 target: 'http://192.168.1.253:8081', 79 target: 'http://192.168.1.243:8081',
80 changeOrigin: true, 80 changeOrigin: true,
81 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '') 81 rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
82 }, 82 },
83 '/dev-api': { 83 '/dev-api': {
84 target: 'http://192.168.1.118:8081/', 84 // target: 'http://192.168.1.118:8081/',
85 // target: 'http://192.168.1.253:8081', 85 target: 'http://192.168.1.243:8081',
86 // target: 'https://jijin.wtwuxicenter.com/stage-api', 86 // target: 'https://jijin.wtwuxicenter.com/stage-api',
87 // target: 'https://wdsfwuxicenter.com/stage-api/', 87 // target: 'https://wdsfwuxicenter.com/stage-api/',
88 changeOrigin: true, 88 changeOrigin: true,
89 rewrite: (p) => p.replace(/^\/dev-api/, '') 89 rewrite: (p) => p.replace(/^\/dev-api/, '')
90 }, 90 },
91 '/ticket': { 91 '/ticket': {
92 // target: 'http://192.168.1.131:8081/', 92 target: 'http://192.168.1.243:8081/',
93 target: 'https://jijin.wtwuxicenter.com/h5/', 93 // target: 'https://jijin.wtwuxicenter.com/h5/',
94 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/', 94 // target: 'https://ticketh5.wdsfwuxicenter.com/h5/',
95 changeOrigin: true, 95 changeOrigin: true,
96 rewrite: (p) => p.replace(/^\/ticket/, '') 96 rewrite: (p) => p.replace(/^\/ticket/, '')
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!