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
......
...@@ -174,7 +174,7 @@ ...@@ -174,7 +174,7 @@
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>
...@@ -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>
...@@ -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 })
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
2 <div> 2 <div>
3 <!-- top --> 3 <!-- top -->
4 <div class="container top"> 4 <div class="container top">
5 <img :src="fillImgUrl(matchForm.ticketImg)" class="cover_img"/> 5 <img :src="fillImgUrl(matchForm.ticketImg)" class="cover_img">
6 <div class="info"> 6 <div class="info">
7 <div class="title">{{ matchForm.name }}</div> 7 <div class="title">{{ matchForm.name }}</div>
8 <div class="time"> 8 <div class="time">
...@@ -67,8 +67,10 @@ ...@@ -67,8 +67,10 @@
67 {{ triggerLanguage(language, "票档", "Tickets") }} : 67 {{ triggerLanguage(language, "票档", "Tickets") }} :
68 </div> 68 </div>
69 <div v-if="matchForm.ticketLayout"> 69 <div v-if="matchForm.ticketLayout">
70 <span style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px" 70 <span
71 @click="show=true"> <span style="color: red;font-size: 18px">*</span> 71 style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"
72 @click="show=true"
73 > <span style="color: red;font-size: 18px">*</span>
72 {{ 74 {{
73 language == 0 ? '点击查看场馆布局' : 'View Venue Layout' 75 language == 0 ? '点击查看场馆布局' : 'View Venue Layout'
74 }} 76 }}
...@@ -141,8 +143,10 @@ ...@@ -141,8 +143,10 @@
141 </div> 143 </div>
142 </div> 144 </div>
143 145
144 <div v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px" 146 <div
145 @click="toSelectClosed"> 147 v-if="endTime<=0" class="btn" style="margin-left: 40px;opacity: 0.5;cursor: not-allowed;margin-top: 10px"
148 @click="toSelectClosed"
149 >
146 {{ 150 {{
147 triggerLanguage(language, "售票结束", "Sale closed") 151 triggerLanguage(language, "售票结束", "Sale closed")
148 }} 152 }}
...@@ -163,8 +167,8 @@ ...@@ -163,8 +167,8 @@
163 <div :class="{'bg':active==1}" class="buBg" @click="active=1">购票说明</div> 167 <div :class="{'bg':active==1}" class="buBg" @click="active=1">购票说明</div>
164 <div :class="{'bg' :active==2}" class="buBg" @click="active=2">购票须知</div> 168 <div :class="{'bg' :active==2}" class="buBg" @click="active=2">购票须知</div>
165 </div> 169 </div>
166 <div v-show="active==1" class="rich_content" v-html="matchForm.ticketDes"/> 170 <div v-show="active==1" class="rich_content" v-html="matchForm.ticketDes" />
167 <div v-show="active==2" class="rich_content" v-html="matchForm.ticketNotice"/> 171 <div v-show="active==2" class="rich_content" v-html="matchForm.ticketNotice" />
168 172
169 <el-dialog v-model="show" title="" width="1000px"> 173 <el-dialog v-model="show" title="" width="1000px">
170 <div> 174 <div>
...@@ -177,30 +181,30 @@ ...@@ -177,30 +181,30 @@
177 181
178 182
179 <script setup> 183 <script setup>
180 import {ref, computed} from "vue"; 184 import { ref, computed } from 'vue'
181 import {listApi, getTicketInfoByActivityId, getTicketListApi, checkNonPayment} from '@/apiPc/booking' 185 import { listApi, getTicketInfoByActivityId, getTicketListApi, checkNonPayment } from '@/apiPc/booking'
182 186
183 import {dayjs} from "element-plus"; 187 import { dayjs } from 'element-plus'
184 import {ElMessageBox, ElMessage} from "element-plus"; 188 import { ElMessageBox, ElMessage } from 'element-plus'
185 import {languageFormat, getDayName} from "@/viewsPc/seat/utils/language"; 189 import { languageFormat, getDayName } from '@/viewsPc/seat/utils/language'
186 import {fillImgUrl} from "/@/utils/ruoyi"; 190 import { fillImgUrl } from '/@/utils/ruoyi'
187 import useUserStore from "/@/store/modules/user"; 191 import useUserStore from '/@/store/modules/user'
188 import {triggerLanguage} from '@/utils/ruoyi' 192 import { triggerLanguage } from '@/utils/ruoyi'
189 import {useStorage} from "@vueuse/core/index"; 193 import { useStorage } from '@vueuse/core/index'
190 194
191 const language = useStorage('language', 0) 195 const language = useStorage('language', 0)
192 const useStore = useUserStore() 196 const useStore = useUserStore()
193 const user = computed(() => useUserStore().user) 197 const user = computed(() => useUserStore().user)
194 const route = useRoute(); 198 const route = useRoute()
195 const router = useRouter(); 199 const router = useRouter()
196 const show = ref(false) 200 const show = ref(false)
197 const activeId = ref(route.params.activeId) 201 const activeId = ref(route.params.activeId)
198 const flag = ref(false) 202 const flag = ref(false)
199 const active = ref(1) 203 const active = ref(1)
200 const countDown = ref(false) 204 const countDown = ref(false)
201 const props = defineProps({ 205 const props = defineProps({
202 activityId: [String, Number], 206 activityId: [String, Number]
203 }); 207 })
204 const timeData = ref() 208 const timeData = ref()
205 const endTime = ref() 209 const endTime = ref()
206 const matchForm = ref({}) 210 const matchForm = ref({})
...@@ -209,7 +213,7 @@ const selectForm = ref({ ...@@ -209,7 +213,7 @@ const selectForm = ref({
209 latId: null, 213 latId: null,
210 id: null, 214 id: null,
211 price: '--', 215 price: '--',
212 priceEn: '--', 216 priceEn: '--'
213 }) 217 })
214 const tickList = ref([]) 218 const tickList = ref([])
215 219
...@@ -217,14 +221,14 @@ const tickList = ref([]) ...@@ -217,14 +221,14 @@ const tickList = ref([])
217 getDetail() 221 getDetail()
218 222
219 async function getDetail() { 223 async function getDetail() {
220 const res = await getTicketInfoByActivityId({activityId: activeId.value}) 224 const res = await getTicketInfoByActivityId({ activityId: activeId.value })
221 matchForm.value = res.data 225 matchForm.value = res.data
222 console.log(res) 226 console.log(res)
223 const today = dayjs().format('YYYY-MM-DD HH:mm:ss') 227 const today = dayjs().format('YYYY-MM-DD HH:mm:ss')
224 timeData.value = dayjs(res.data.ticketStart).diff(today, 'millisecond') 228 timeData.value = dayjs(res.data.ticketStart).diff(today, 'millisecond')
225 endTime.value = dayjs(res.data.ticketEnd).diff(today, 'millisecond') 229 endTime.value = dayjs(res.data.ticketEnd).diff(today, 'millisecond')
226 // if (timeData.value <= nowData.value) countDown.value = true 230 // if (timeData.value <= nowData.value) countDown.value = true
227 // timeData.value = dayjs('2024-08-10 00:00:00').diff(today, 'millisecond') 231 // timeData.value = dayjs('2025-08-10 00:00:00').diff(today, 'millisecond')
228 } 232 }
229 233
230 // 根据赛事ID获取票档 234 // 根据赛事ID获取票档
...@@ -243,8 +247,8 @@ async function getTicketList() { ...@@ -243,8 +247,8 @@ async function getTicketList() {
243 247
244 // 根据票档获取场次 248 // 根据票档获取场次
245 async function getTicketListType() { 249 async function getTicketListType() {
246 let arr = [] 250 const arr = []
247 const res = await listApi({latId: selectForm.value.latId}) 251 const res = await listApi({ latId: selectForm.value.latId })
248 tickList.value = res.rows 252 tickList.value = res.rows
249 for (const v of res.rows) { 253 for (const v of res.rows) {
250 if (v.isView == 0) arr.push(v) 254 if (v.isView == 0) arr.push(v)
...@@ -277,8 +281,8 @@ function selectTick(v) { ...@@ -277,8 +281,8 @@ function selectTick(v) {
277 } 281 }
278 282
279 function toSelectSeat() { 283 function toSelectSeat() {
280 if (!selectForm.value.latId) return ElMessage.error(language.value == 0 ? "请选择票档" : 'Please select a ticket file') 284 if (!selectForm.value.latId) return ElMessage.error(language.value == 0 ? '请选择票档' : 'Please select a ticket file')
281 if (!selectForm.value.id) return ElMessage.error(language.value == 0 ? "请选择时间" : 'Please select time') 285 if (!selectForm.value.id) return ElMessage.error(language.value == 0 ? '请选择时间' : 'Please select time')
282 if (!user.value) { 286 if (!user.value) {
283 useStore.setVisitor() 287 useStore.setVisitor()
284 return 288 return
...@@ -296,10 +300,7 @@ function toSelectSeat() { ...@@ -296,10 +300,7 @@ function toSelectSeat() {
296 } else { 300 } else {
297 router.push('/center/myReservation') 301 router.push('/center/myReservation')
298 } 302 }
299
300 }) 303 })
301
302
303 } 304 }
304 305
305 function toSelectClosed() { 306 function toSelectClosed() {
......
...@@ -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,7 +70,7 @@ function goMatch(n) { ...@@ -64,7 +70,7 @@ 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;
...@@ -119,7 +125,8 @@ function goMatch(n) { ...@@ -119,7 +125,8 @@ function goMatch(n) {
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;
......
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!