ca975928 by 华明祺

Merge branch '世锦赛' of https://code.itechtop.cn/yangyang/dance-pc into 世锦赛

# Conflicts:
#	src/viewsPc/components/homeQuick.vue
2 parents 508b1a6c 45db652c
......@@ -6,23 +6,23 @@
</div>
<div class="box">
<div class="searchBar">
<el-input :placeholder="language==0?'请输入关键字搜索':'Search'" v-model="query.name" class="no-border">
<el-input v-model="query.name" :placeholder="language==0?'请输入关键字搜索':'Search'" class="no-border">
</el-input>
<el-button size="large" type="primary" class="btn-lineG" icon="search" @click="getList">
<el-button class="btn-lineG" icon="search" size="large" type="primary" @click="getList">
{{ language == 0 ? '搜索' : 'Search' }}
</el-button>
</div>
</div>
<div class="box" v-loading="loading">
<div v-loading="loading" class="box">
<el-row :gutter="20">
<el-col :lg="24" :md="24" :sm="24" :xs="24" :xl="24" v-for="(h,index) in list" class="mb20">
<el-col v-for="(h,index) in list" :lg="24" :md="24" :sm="24" :xl="24" :xs="24" class="mb20">
<el-card @click="goDetail(h)">
<!-- 酒店列表-->
<el-row class="hotel" align="middle" :gutter="20">
<el-row :gutter="20" align="middle" class="hotel">
<el-col :lg="6" :md="6">
<div class="imgbox">
<img class="w100" :src="fillImgUrl(h.photos?.split(',')[0])"/>
<img :src="fillImgUrl(h.photos?.split(',')[0])" class="w100"/>
</div>
</el-col>
<el-col :lg="12" :md="12">
......@@ -35,7 +35,7 @@
<a v-show="h.label?.split(',').length>4">{{ language == 0 ? '更多' : 'MORE' }} ></a>
</div>
<p class="esp addr mt20">
<el-icon size="16" style="position: relative;top: 2px" color="#929AA0">
<el-icon color="#929AA0" size="16" style="position: relative;top: 2px">
<LocationFilled/>
</el-icon>
{{ h.address }}
......@@ -74,7 +74,7 @@ const route = useRoute()
const useStore = useUserStore()
const user = useStore.user
const flag = useRouteQuery('flag')
// const flag = useRouteQuery('flag')
const language = useStorage('language', 0)
const query = ref({
......@@ -90,9 +90,7 @@ onMounted(() => {
function getList() {
loading.value = true
booking.getHotelList(Object.assign({
meeting: flag.value,
},query.value)).then(res => {
booking.getHotelList(Object.assign({}, query.value)).then(res => {
list.value = res.rows
loading.value = false
console.log(list.value)
......@@ -107,24 +105,7 @@ function goDetail(item) {
useStore.setVisitor()
return
}
if (item.meeting == '1') {
ElMessageBox.confirm(item.meetText, '', {
cancelButtonText: language.value == 1 ? 'Close ' : '关闭',
confirmButtonText: language.value == 1 ? 'Continue to book' : '继续预订',
dangerouslyUseHTMLString: true,
type: 'warning',
}).then((res) => {
router.push({
name: 'hotelDetail',
params: {
hotelId: item.hotelId,
},
query: {
id: item.id
}
})
})
} else {
router.push({
name: 'hotelDetail',
params: {
......@@ -134,11 +115,39 @@ function goDetail(item) {
id: item.id
}
})
}
// if (item.meeting == '1') {
// ElMessageBox.confirm(item.meetText, '', {
// cancelButtonText: language.value == 1 ? 'Close ' : '关闭',
// confirmButtonText: language.value == 1 ? 'Continue to book' : '继续预订',
// dangerouslyUseHTMLString: true,
// type: 'warning',
// }).then((res) => {
// router.push({
// name: 'hotelDetail',
// params: {
// hotelId: item.hotelId,
// },
// query: {
// id: item.id
// }
// })
// })
// } else {
// router.push({
// name: 'hotelDetail',
// params: {
// hotelId: item.hotelId,
// },
// query: {
// id: item.id
// }
// })
// }
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.hotel {
h3 {
margin: 0 0 10px;
......
......@@ -355,7 +355,8 @@
<div class="mt10">{{ language == 0 ? '支付方式' : 'Payment Method' }}
<span v-if="form.paymentType=='1'">{{ language == 0 ? '微信支付' : 'WePay' }}</span>
<span v-else-if="form.paymentType=='3'">PayPal</span>
<span v-else-if="form.paymentType=='4'|| form.paymentType=='5'">{{language == 0 ?'对公转账':'Bank Transfer'}}</span>
<span
v-else-if="form.paymentType=='4'|| form.paymentType=='5'">{{ language == 0 ? '对公转账' : 'Bank Transfer' }}</span>
<span v-else>--</span>
</div>
</el-col>
......@@ -412,7 +413,9 @@
</el-button>
</div>
<div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')&&form.paymentType!='4'&&form.paymentType!='5'" class="pd20">
<div
v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')&&form.paymentType!='4'&&form.paymentType!='5'"
class="pd20">
<div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div>
<div class="mt20">
......@@ -459,10 +462,10 @@
fill="#003087" p-id="22662"></path>
</svg>
</el-radio>
<el-radio value="4" v-if="language==0&&type=='hotel'" border>
对公打款
</el-radio>
<el-radio value="5" v-if="language==1&&type=='hotel'" border>
<!-- <el-radio value="4" v-if="language==0&&type=='hotel'" border>-->
<!-- 对公打款-->
<!-- </el-radio>-->
<el-radio v-if="language==1&&type=='hotel'" border value="5">
Corporate payment
</el-radio>
</el-radio-group>
......@@ -495,17 +498,17 @@
<el-col :lg="12">
<div class="flex">
<label style="width: 10em">
{{ language==0?'上传缴费凭证:':'Upload proof:' }}
{{ language == 0 ? '上传缴费凭证:' : 'Upload proof:' }}
</label>
<file-upload :is-show-tip="false" v-model="form.pic" :limit="1"/>
<file-upload v-model="form.pic" :is-show-tip="false" :limit="1"/>
</div>
</el-col>
<el-col :lg="12">
<el-button class="fr" text type="primary" @click="downOfflineInvoice" icon="download">
<el-button class="fr" icon="download" text type="primary" @click="downOfflineInvoice">
{{ language == 0 ? '下载缴费单' : 'Download Invoice' }}
</el-button>
</el-col>
<!-- 如果没审批通过-->
<!-- 如果没审批通过-->
<el-col :lg="24" align="center" justify="center">
<el-button round type="primary" @click="submitProof">提交凭证</el-button>
</el-col>
......@@ -726,7 +729,7 @@ function getData() {
form.value.extJsonObj = JSON.parse(form.value.extJson) || {}
matchId.value = form.value.extJsonObj?.activeId
//如果对公打款-
if(form.value.paymentType=='4' || form.value.paymentType=='5'){
if (form.value.paymentType == '4' || form.value.paymentType == '5') {
hideconfirmbtn.value = true
}
}).catch(err => {
......@@ -1023,7 +1026,7 @@ const downOfflineInvoice = () => {
}
const submitProof = () => {
//提交凭证
if(!form.value.pic){
if (!form.value.pic) {
ElMessage.warning(language.value == 0 ? '请上传凭证' : 'Please upload a voucher')
return
}
......@@ -1205,5 +1208,10 @@ const submitProof = () => {
.price {
color: orange;
}
.proofBox{padding: 20px;margin: 0 20px;border: 1px dashed #999;}
.proofBox {
padding: 20px;
margin: 0 20px;
border: 1px dashed #999;
}
</style>
......
<template>
<div class="itemBox" v-if="language === 0">
<div v-if="language === 0" class="itemBox">
<el-row :gutter="20">
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">签证服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">酒店预订</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">接送服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(10)"><img src="@/assets/dance/btn04.png">票务服务</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">媒体注册</div>
</el-col>
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
......@@ -24,21 +24,21 @@
<!-- </el-col>-->
</el-row>
</div>
<div class="itemBox_en" v-else>
<div v-else class="itemBox_en">
<el-row :gutter="20" justify="space-around">
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(0)"><img src="@/assets/dance/btn01.png">Visa Services</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(1)"><img src="@/assets/dance/btn02.png">HOTEL RESERVATION</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(2)"><img src="@/assets/dance/btn03.png">TRANSPORTATION RESERVATION</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="popRemark(10)"><img src="@/assets/dance/btn04.png">TICKET SERVICES</div>
</el-col>
<el-col :sm="12" :lg="4" :xs="12">
<el-col :lg="4" :sm="12" :xs="12">
<div class="item" @click="goMedia"><img src="@/assets/dance/btn07.png">Media Registration</div>
</el-col>
<!-- <el-col :sm="12" :lg="4" :xs="12">-->
......@@ -135,7 +135,7 @@ onMounted(() => {
function building() {
ElMessage.warning(language.value == 0 ? '感谢您对本次比赛的关注,该服务暂无可预订信息,敬请期待。' : 'Thank you for your attention to this competition. The service is currently unavailable for booking. Please stay tuned.')
return
}
function applyInvitation() {
......@@ -149,9 +149,12 @@ function applyInvitation() {
const user = useUserStore().user
function goMedia() {
proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' : 'Not yet open')
return;
// proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' : 'Not yet open')
// return;
if (form.value.isMedia == 0) {
building()
return
}
//如果没登录
if (!user) {
ElMessage({
......@@ -171,13 +174,18 @@ function popRemark(type) {
}
if (type == '0') {
ElMessage.warning('The visa invitation letter application will be available soon. Thank you for your patience.')
return;
// ElMessage.warning('The visa invitation letter application will be available soon. Thank you for your patience.')
// return;
// 签证
if (language.value === 0) {
if (language.value == 0) {
ElMessage.warning('请切换英文页面办理')
return
} else {
if (form.value.isVisa == 0) {
building()
return
}
if (!user) {
ElMessage({
type: 'warning',
......@@ -191,11 +199,6 @@ function popRemark(type) {
}
}
if (type == '1') {
proxy.$modal.msgWarning(language.value == 0 ? '暂未开放' : 'Not yet open')
return;
}
if ((form.value.isJdView == 0 && type == '1')
|| (form.value.isCarView == 0 && type == '2')
|| (form.value.isFoodView == 0 && type == '3')
......@@ -220,6 +223,8 @@ function popRemark(type) {
cptName: props.cptName
}
proxy.$refs['orderRemarkRef'].open(params)
// goBooking(type)
}
function goBooking(n, f) {
......@@ -235,7 +240,10 @@ function goBooking(n, f) {
break;
case 1:
//酒店
router.push({path: `/booking/hotel/${props.matchId}`, query: {flag: f}})
router.push({
path: `/booking/hotel/${props.matchId}`
// , query: {flag: f}
})
break;
case 2:
//车辆
......@@ -257,7 +265,7 @@ function goBooking(n, f) {
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.itemBox, .itemBox_en {
padding: 20px;
background: #fff;
......
<template>
<el-dialog :title="title" v-model="show" @close="close">
<el-dialog v-model="show" :title="title" @close="close">
<div>
<h2 class="text-warning text-center" v-if="cptName">{{cptName}}</h2>
<h2 v-if="cptName" class="text-warning text-center">{{ cptName }}</h2>
<div v-if="type==1" class="plr20" v-html="form.reserveDes"></div>
<div v-if="type==2" class="plr20" v-html="form.reserveDesCar"></div>
......@@ -11,17 +11,18 @@
<div v-if="type==10" class="plr20" v-html="form.reserveDesTitck"></div>
<el-row v-if="type==1" justify="center">
<el-radio-group v-model="hotelType">
<el-radio label="0">{{language==0?'运动队酒店':'Team Hotel Reservation'}}</el-radio>
<el-radio label="1">{{language==0?'执委大会酒店':'Conference Hotel Reservation'}}</el-radio>
</el-radio-group>
</el-row>
<!-- <el-row v-if="type==1" justify="center">-->
<!-- <el-radio-group v-model="hotelType">-->
<!-- <el-radio label="0">{{language==0?'运动队酒店':'Team Hotel Reservation'}}</el-radio>-->
<!-- <el-radio label="1">{{language==0?'执委大会酒店':'Conference Hotel Reservation'}}</el-radio>-->
<!-- </el-radio-group>-->
<!-- </el-row>-->
</div>
<template #footer>
<div class="dialog-footer text-center">
<el-button type="primary" class="btn-lineG w200px" round @click="ok">{{language==0?'确定':'Confirm'}}</el-button>
<el-button class="btn-lineG w200px" round type="primary" @click="ok">{{ language == 0 ? '确定' : 'Confirm' }}
</el-button>
</div>
</template>
</el-dialog>
......@@ -31,16 +32,18 @@
import {getBaseInfoByActiveId} from "@/apiPc/booking";
import {getCurrentInstance} from "@vue/runtime-core";
import {useStorage} from "@vueuse/core/index";
const emit = defineEmits([ 'submit'])
const emit = defineEmits(['submit'])
const {proxy} = getCurrentInstance()
const language= useStorage('language',0)
const language = useStorage('language', 0)
import useUserStore from "@/store/modules/user";
const user = useUserStore().user
const title = ref('')
const cptName = ref('')
const show = ref(false)
const form = ref({})
const hotelType= ref('1')
const hotelType = ref('1')
let matchId = ''
let type = ''
......@@ -58,16 +61,18 @@ defineExpose({
function getData() {
console.log(matchId)
getBaseInfoByActiveId(matchId).then(res=>{
getBaseInfoByActiveId(matchId).then(res => {
form.value = res.data || {}
console.log(form.value)
}).catch(err=>{
}).catch(err => {
console.log(err)
})
}
function close() {
show.value = false
}
function ok() {
// type
show.value = false
......@@ -80,6 +85,6 @@ function ok() {
}
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
</style>
......
......@@ -22,15 +22,15 @@
</div>
<div v-if="form.type?.some(v=>v==1)">
<h3 class="leftboderTT">{{ language == 0 ? '接机信息' : 'Pick-up information' }}</h3>
<!-- <el-form-item :label="language==0?'抵达人员身份':'Role of Person-Arrival'" prop="pickUpBo.standing"-->
<!-- required>-->
<!-- <el-checkbox-group v-model="form.pickUpBo.standing">-->
<!-- <el-checkbox :label="language==0?'运动员':'Athlete'" name="1"/>-->
<!-- <el-checkbox :label="language==0?'随队人员':'Accompanying Person'" name="2"/>-->
<!-- <el-checkbox :label="language==0?'官员':'Official'" name="3"/>-->
<!-- <el-checkbox :label="language==0?'其他':'Others'" name="4"/>-->
<!-- </el-checkbox-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item :label="language==0?'抵达人员身份':'Role of Person-Arrival'" prop="pickUpBo.standing"-->
<!-- required>-->
<!-- <el-checkbox-group v-model="form.pickUpBo.standing">-->
<!-- <el-checkbox :label="language==0?'运动员':'Athlete'" name="1"/>-->
<!-- <el-checkbox :label="language==0?'随队人员':'Accompanying Person'" name="2"/>-->
<!-- <el-checkbox :label="language==0?'官员':'Official'" name="3"/>-->
<!-- <el-checkbox :label="language==0?'其他':'Others'" name="4"/>-->
<!-- </el-checkbox-group>-->
<!-- </el-form-item>-->
<el-form-item :label="language==0?'队伍俱乐部':'Team/Club Name'" prop="pickUpBo.standing" required>
<el-input v-model="form.pickUpBo.standing"/>
......@@ -66,8 +66,8 @@
required>
<div style="padding: 1px">
<el-date-picker
:disabled-date="disabledDateRZ" default-value="'2024-09-27'"
v-model="form.pickUpBo.arrivalDate" format="YYYY-MM-DD"
v-model="form.pickUpBo.arrivalDate" :disabled-date="disabledDateRZ"
default-value="'2024-09-27'" format="YYYY-MM-DD"
placeholder="YYYY-MM-DD"
style="width: 100%;" type="date" value-format="YYYY-MM-DD"
/>
......@@ -80,8 +80,8 @@
<!-- format="YYYY-MM-DD" placeholder="YYYY-MM-DD"-->
<!-- style="width: 100%;" type="date" value-format="YYYY-MM-DD"-->
<!-- />-->
<el-time-picker v-model="form.pickUpBo.arrivaTime" placeholder="HH:mm:ss" value-format="HH:mm:ss"
format="HH:mm:ss" style="width: 100%;"/>
<el-time-picker v-model="form.pickUpBo.arrivaTime" format="HH:mm:ss" placeholder="HH:mm:ss"
style="width: 100%;" value-format="HH:mm:ss"/>
</el-form-item>
<el-form-item :label="language==0?'航班/车次':'Flight/Train Number'" prop="pickUpBo.flight" required>
......@@ -115,17 +115,17 @@
<!-- <el-form-item :label="language == 0 ? '送机信息' : 'Delivery information' ">-->
<!-- </el-form-item>-->
<h3 class="leftboderTT">{{ language == 0 ? '送机信息' : 'Delivery information' }}</h3>
<!-- <el-form-item-->
<!-- :label="language==0?'离会人员身份':'Role of Person-Departure'"-->
<!-- prop="downOffBo.standing" required>-->
<!-- &lt;!&ndash; <el-input v-model="form.downOffBo.standing"/>&ndash;&gt;-->
<!-- <el-checkbox-group v-model="form.downOffBo.standing">-->
<!-- <el-checkbox :label="language==0?'运动员':'Athlete'" name="1"/>-->
<!-- <el-checkbox :label="language==0?'随队人员':'Accompanying Person'" name="2"/>-->
<!-- <el-checkbox :label="language==0?'官员':'Official'" name="3"/>-->
<!-- <el-checkbox :label="language==0?'其他':'Others'" name="4"/>-->
<!-- </el-checkbox-group>-->
<!-- </el-form-item>-->
<!-- <el-form-item-->
<!-- :label="language==0?'离会人员身份':'Role of Person-Departure'"-->
<!-- prop="downOffBo.standing" required>-->
<!-- &lt;!&ndash; <el-input v-model="form.downOffBo.standing"/>&ndash;&gt;-->
<!-- <el-checkbox-group v-model="form.downOffBo.standing">-->
<!-- <el-checkbox :label="language==0?'运动员':'Athlete'" name="1"/>-->
<!-- <el-checkbox :label="language==0?'随队人员':'Accompanying Person'" name="2"/>-->
<!-- <el-checkbox :label="language==0?'官员':'Official'" name="3"/>-->
<!-- <el-checkbox :label="language==0?'其他':'Others'" name="4"/>-->
<!-- </el-checkbox-group>-->
<!-- </el-form-item>-->
<el-form-item :label="language==0?'队伍俱乐部':'Team/Club Name'" prop="pickUpBo.standing" required>
<el-input v-model="form.pickUpBo.standing"/>
......@@ -161,9 +161,9 @@
required>
<div style="padding: 1px">
<el-date-picker
v-model="form.downOffBo.arrivalDate" format="YYYY-MM-DD"
placeholder="YYYY-MM-DD" :disabled-date="disabledDateDP"
default-value="'2024-09-30'"
v-model="form.downOffBo.arrivalDate" :disabled-date="disabledDateDP"
default-value="'2024-09-30'" format="YYYY-MM-DD"
placeholder="YYYY-MM-DD"
style="width: 100%;" type="date" value-format="YYYY-MM-DD"
/>
</div>
......@@ -176,8 +176,8 @@
<!-- format="YYYY-MM-DD" placeholder="YYYY-MM-DD"-->
<!-- style="width: 100%;" type="date" value-format="YYYY-MM-DD"-->
<!-- />-->
<el-time-picker v-model="form.downOffBo.arrivaTime" placeholder="HH:mm:ss" value-format="HH:mm:ss"
format="HH:mm:ss" style="width: 100%;"/>
<el-time-picker v-model="form.downOffBo.arrivaTime" format="HH:mm:ss" placeholder="HH:mm:ss"
style="width: 100%;" value-format="HH:mm:ss"/>
</el-form-item>
<el-form-item :label="language==0?'航班/车次':'Flight/Train Number'" prop="downOffBo.flight" required>
......@@ -389,11 +389,11 @@ const open = (params) => {
form.value = {
pickUpBo: {
serviceType: 1,
arrivalDate:'2024-09-27'
arrivalDate: '2024-09-27'
},
downOffBo: {
serviceType: 2,
arrivalDate:'2024-09-30'
arrivalDate: '2024-09-30'
},
type: ['1'],
}
......@@ -432,11 +432,11 @@ function submitForm() {
// form.value.pickUpBo.serviceType=1
// form.value.downOffBo.serviceType=2
console.log(form.value)
let forms = JSON.parse(JSON.stringify(form.value))
let forms = {...form.value}
forms.pickUpBo.nationalitys = forms.pickUpBo.nationalitys?.join(',')
forms.pickUpBo.standing = forms.pickUpBo.standing?.join(',')
// forms.pickUpBo.standing = forms.pickUpBo.standing?.join(',')
forms.downOffBo.nationalitys = forms.downOffBo.nationalitys?.join(',')
forms.downOffBo.standing = forms.downOffBo.standing?.join(',')
// forms.downOffBo.standing = forms.downOffBo.standing?.join(',')
forms.type = null
if (!form.value.type.includes('1')) forms.pickUpBo = {}
if (!form.value.type.includes('2')) forms.downOffBo = {}
......
<template>
<div class="syBg">
<div class="banner">
<el-carousel class="forPc" autoplay :interval="2000" height="450px" :autoplay="false" arrow="hover"
<el-carousel :autoplay="false" :interval="2000" arrow="hover" autoplay class="forPc" height="450px"
@change="carouselChange">
<el-carousel-item style="height: 450px;" v-for="n in maList" :key="n.id">
<el-carousel-item v-for="n in maList" :key="n.id" style="height: 450px;">
<div class="bannerItem">
<div class="h100" @click.stop="goMatch(n)">
<img class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<img :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
<div class="box forPc" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
<img class="slogen" src="@/assets/logo/banner-text.png"/>
......@@ -18,7 +18,8 @@
<div v-if="!liveData || liveData.videoStatus==0">
<!-- <div class="banner-count bb"></div>-->
</div>
<div class="banner-count" v-if="currentDateTime < liveData.videoStart" @click.stop="goliveUrl">
<div v-if="currentDateTime < liveData.videoStart &&form.isLiveVideo==1" class="banner-count"
@click.stop="goliveUrl">
距离直播开始
<van-count-down :time="liveStartTime" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
......@@ -42,33 +43,33 @@
</div>
<!--如果有直播-->
<div v-if="liveData&& liveData.videoStatus==1" @click.stop="goliveUrl">
<div class="banner-count bb"
v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)">直播进行中
<div v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)"
class="banner-count bb">直播进行中
</div>
<div class="banner-count bb" v-if="currentDateTime > liveData.videoEnd">直播已结束</div>
<div v-if="currentDateTime > liveData.videoEnd" class="banner-count bb">直播已结束</div>
<!-- <div class="banner-count bb" v-if="currentDateTime < liveData.videoStart">直播即将开始</div>-->
</div>
<div v-if="liveData&& liveData.picStatus==1" @click.stop="gopicliveUrl">
<div class="picliveBtn" v-if="(currentDateTime>liveData.picStart)&&(currentDateTime<liveData.picEnd)">
<div v-if="liveData&& liveData.picStatus==1&&form.isLivePic==1" @click.stop="gopicliveUrl">
<div v-if="(currentDateTime>liveData.picStart)&&(currentDateTime<liveData.picEnd)" class="picliveBtn">
图片直播中
</div>
<div class="picliveBtn" v-if="currentDateTime > liveData.picEnd">图片直播</div>
<div class="picliveBtn" v-if="currentDateTime < liveData.picStart">图片直播</div>
<div v-if="currentDateTime > liveData.picEnd" class="picliveBtn">图片直播</div>
<div v-if="currentDateTime < liveData.picStart" class="picliveBtn">图片直播</div>
</div>
</div>
</div>
</div>
</el-carousel-item>
</el-carousel>
<el-carousel class="forWei" height="160px" autoplay arrow="hover" @change="carouselChange">
<el-carousel-item style="height: 160px;" v-for="n in maList" :key="n.id">
<el-carousel arrow="hover" autoplay class="forWei" height="160px" @change="carouselChange">
<el-carousel-item v-for="n in maList" :key="n.id" style="height: 160px;">
<div class="bannerItem" style="height:100%">
<div class="h100" style="position: relative">
<img class="bannerImg" :src="fillImgUrl(n.bgImgUrl)">
<img :src="fillImgUrl(n.bgImgUrl)" class="bannerImg">
<div style="position: absolute;left: 0;right: 0;bottom: 0;margin: auto;">
<!-- <img class="slogen" src="@/assets/logo/banner-text.png"/>-->
<div class="banner-count" v-if="currentDateTime < liveData.videoStart" @click="goliveUrl">
<div v-if="currentDateTime < liveData.videoStart" class="banner-count" @click="goliveUrl">
距离直播开始
<van-count-down :time="liveStartTime" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
......@@ -91,10 +92,10 @@
</van-count-down>
</div>
<div v-if="liveData&& liveData.videoStatus==1" @click.stop="goliveUrl">
<div class="banner-count"
v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)">直播进行中
<div v-if="(currentDateTime>liveData.videoStart)&&(currentDateTime<liveData.videoEnd)"
class="banner-count">直播进行中
</div>
<div class="banner-count" v-if="currentDateTime > liveData.videoEnd">直播已结束</div>
<div v-if="currentDateTime > liveData.videoEnd" class="banner-count">直播已结束</div>
</div>
</div>
</div>
......@@ -108,12 +109,12 @@
</div>
<div class="box">
<HomeQuick :match-id="matchData?.id" :cpt-name="matchData?.name" @pick-up="handlePickup"/>
<HomeQuick :cpt-name="matchData?.name" :match-id="matchData?.id" @pick-up="handlePickup"/>
</div>
<div id="part0" class="box part">
<el-row :gutter="20">
<el-col :sm="24" :lg="12">
<el-col :lg="12" :sm="24">
<div class="indexTitle">
<h3 class="leftboderTT">通知公告</h3>
<a class="more" href="#/notice">MORE</a>
......@@ -125,7 +126,7 @@
</div>
</el-card>
</el-col>
<el-col :sm="24" :lg="12">
<el-col :lg="12" :sm="24">
<div class="indexTitle">
<h3 class="leftboderTT">竞赛日程</h3>
<a class="more" href="#/saiC">MORE</a>
......@@ -149,8 +150,8 @@
<el-row :gutter="20">
<el-col
v-for="(n,index) in newest2"
:key="n.id" :xs="24" :sm="8"
:lg="8"
:key="n.id" :lg="8" :sm="8"
:xs="24"
>
<div class="activeItem" @click="goDetail(n)">
<div class="imgbox">
......@@ -213,9 +214,9 @@
<el-col :lg="16">
<div class="swiperPic">
<swiper
class="swiper-wrapper" :modules="modules" :slides-per-view="3" :space-between="20"
:navigation="navigationPic"
:autoplay="true" :loop="true"
:autoplay="true" :loop="true" :modules="modules" :navigation="navigationPic"
:slides-per-view="3"
:space-between="20" class="swiper-wrapper"
>
<swiper-slide v-for="(n,i) in picList" :key="i">
<div class="picbox" @click="goDetail(n)">
......@@ -229,7 +230,7 @@
</el-col>
</el-row>
<el-row class="news-l-r">
<el-col v-for="(n,index) in livelist" :lg="8" v-show="index>0">
<el-col v-for="(n,index) in livelist" v-show="index>0" :lg="8">
<div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)">
<div class="imgbox">
<i class="playIcon"></i>
......@@ -261,7 +262,7 @@
</div>
<div class="mt30 text-center">
<a class="btn-black" href="#/about/wuDao" style="display: inline-flex;align-items: center;">了解更多<img
style="filter: brightness(2);height: 8px" src="@/assets/v1/more.png"/></a>
src="@/assets/v1/more.png" style="filter: brightness(2);height: 8px"/></a>
</div>
</div>
......@@ -296,7 +297,7 @@
<h3 class="leftboderTT">合作伙伴</h3>
</div>
<el-row :gutter="20">
<el-col :lg="6" :sm="6" :xs="12" v-for="p in partners">
<el-col v-for="p in partners" :lg="6" :sm="6" :xs="12">
<div class="logobox">
<img :src="fillImgUrl(JSON.parse(p.picUrl))">
</div>
......@@ -321,6 +322,7 @@ import {dayjs, ElMessage} from 'element-plus'
import * as match from "@/apiPc/match";
import {getAboutUs, getInfoByCptId, getppInfo, getZNList} from "@/apiPc/match";
import HomeWeatherBar from "@/viewsPc/components/homeWeatherBar";
import {getBaseInfoByActiveId} from "@/apiPc/booking";
const modules = [Autoplay, Navigation]
const navigationPic = ref({
......@@ -352,6 +354,7 @@ const partners = ref([])
const liveData = ref({})
const aboutUsContent = ref('')
const liveStartTime = ref(0)
const form = ref({})
onMounted(() => {
init()
......@@ -391,6 +394,12 @@ const init = () => {
newsList.value = res.rows
})
async function getMatchSet(id) {
const res = await getBaseInfoByActiveId(id)
form.value = res.data ?? null
console.log(form.value)
}
match.getMaList({topFlag: 1}).then((res) => {
maList.value = res.rows
for (let n of maList.value) {
......@@ -408,6 +417,7 @@ const init = () => {
}
matchData.value = maList.value[0]
getMatchInfo(matchData.value.id)
getMatchSet(matchData.value.id)
})
match.getLabelList().then(res => {
......@@ -535,7 +545,7 @@ const gopicliveUrl = () => {
</script>
<style scoped lang="scss">
<style lang="scss" scoped>
.syBg {
background: url("@/assets/dance/logo_l.png") no-repeat bottom left,
url("@/assets/dance/logo_r1.png") no-repeat bottom right;
......
......@@ -252,6 +252,7 @@
<div v-if="payType == '3'">
<table cellpadding="0" cellspacing="0" class="table-border table">
<tbody>
<tr>
<th class="head" colspan="2">
{{ language == 0 ? '线下缴费的收款信息' : 'Offline Payment Collection Information' }}
......@@ -313,8 +314,8 @@
<span v-else class="text-danger size12">*You can confirm with the contact person by phone after uploading the remittance form. The specific payment results can be viewed in the My Registration section of the personal center to check the progress</span>
</td>
</tr>
</tbody>
</table>
<div class="text-center">
<el-button class="btn-lineG w200px" round type="primary" @click="upRR">{{
language == 0 ? '保存' : 'Save'
......
import { defineConfig, loadEnv } from 'vite'
import path, { resolve } from 'path'
import {defineConfig, loadEnv} from 'vite'
import path, {resolve} from 'path'
import createVitePlugins from './vite/plugins'
import inject from '@rollup/plugin-inject'
import commonjs from '@rollup/plugin-commonjs'
// import legacy from '@vitejs/plugin-legacy'
// https://vitejs.dev/config/
export default defineConfig(({ mode, command }) => {
export default defineConfig(({mode, command}) => {
const env = loadEnv(mode, process.cwd())
return {
// 部署生产环境和开发环境下的URL。
......@@ -76,24 +76,24 @@ export default defineConfig(({ mode, command }) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
},
'/dev-api/ztx-webSite': {
target: 'http://192.168.1.118:8082/',
// target: 'https://ces.2025wtcwuxi.com/stage-api/',
// target: 'http://192.168.1.118:8082/',
target: 'https://ces.2025wtcwuxi.com/stage-api/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
target: 'http://192.168.1.118:8082/',
// target: 'http://192.168.1.118:8082/',
// target: 'http://192.168.1.131:8081/',
// target: 'https://ces.2025wtcwuxi.com/stage-api/',
// target: 'http://124.70.181.90:1880/stage-api',
// target: 'https://wdsfwuxicenter.com/stage-api/',
target: 'https://sys.2025wtcwuxi.com/stage-api/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
},
'/ticket': {
// target: 'http://192.168.1.131:8098/',
// target: 'http://192.168.1.131:8081/',
target: 'https://jijin.wtwuxicenter.com/h5/',
target: 'http://36.153.235.222:8899/',
// target: 'https://jijin.wtwuxicenter.com/h5/',
// target: 'https://ticketh5.wdsfwuxicenter.com/h5/',
changeOrigin: true,
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!