e0170b23 by zhangmeng

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	src/routerPc/en.js
#	src/viewsPc/booking/addInvoice.vue
#	vite.config.js
2 parents 9f25176c cae81ebc
<template>
<div>
<div class="mt20" />
<div class="box">
<el-card>
<el-row :gutter="20">
<el-col :lg="5">
<div class="leftNav">
<ul>
<li>About the Organizer</li>
<li class="active">WDSF Asian Dancesport Festival</li>
<li>About Sports Dance</li>
</ul>
</div>
</el-col>
<el-col :lg="19">
<div class="infoPart pd20" hidden>
<h3 class="leftboderTT">About the organizer</h3>
<div class="content">
<p>On site, the World Sports Dance (Wuxi) Center, a joint headquarters base established by the World Sports Dance Federation that integrates the world, intercontinental, and China, was officially unveiled. In the future, Wuxi will take the settlement of its headquarters as an opportunity to launch and cultivate its own brand event, the China Wuxi Sports and Dance Festival, and continue to expand communication and cooperation, event research and development, education and training and other fields, committed to creating a global sports and dance landmark city and a unique and charming international event city.</p>
<p>The Asian Sports Dance Festival has landed in Wuxi in an innovative form of "three competitions in one". Over a period of four days, it will hold two international level events, the World Standard Dance Championships and the World Sports Dance Grand Prix (Wuxi Station), as well as a national level event, the China Sports Dance Open Series (Wuxi Station), attracting more than 1700 participants from 39 countries and regions to participate.</p>
<p>Sports dance is divided into two groups and ten dance genres, among which the standard dance (also known as modern dance) group includes waltz, Viennese waltz, tango, foxtrot, and brisk step. The Latin dance project group includes rumba, cha cha, samba, cowboy, and bullfighting dance. According to incomplete statistics, there are currently over 50 million sports dance enthusiasts in China.</p>
<p>On site, Latin Girl dance performance and sports dance costume show were performed brilliantly. Top domestic and foreign athletes compete passionately, showcasing their gorgeous makeup and dance moves to the heart of the "gentlemen" and "beauties" participating in the competition.</p>
<p>The "most beautiful" sports project is shining on the shore of the Taihu Lake Lake, creating the highlight scene of the annual global sports dance field, and giving another shining card of Wuxi sports.
</p>
<p>The Asian Sports Dance Festival is open to the public with two types of tickets: VIP and stand tickets. At the same time, the event will also be broadcast online through the Olympic Channel, People's Daily Vision, Migu, the official website of China Sports Dance Federation and Tiktok, Asia Sports Dance Festival WeChat video number, Tiger Teeth, Penguin, Weibo and other platforms.</p>
<img src="@/assets/zhinan/photo.png"/>
</div>
</div>
<div class="infoPart pd20">
<h3 class="leftboderTT">WUXI WDSF ASIAN DANCESPORT FESTIVAL</h3>
</div>
</el-col>
</el-row>
</el-card>
<div class="indexTitle">
<h3 class="leftboderTT">CONTACT</h3>
</div>
<div class="mapBox mb20">
<div class="content">
<div class="phone">
<h4>Phone</h4>
<p>Mr.WU:15606190026</p>
</div>
<div class="address">
<h4>Address</h4>
<p>No.88 Qingshu Road,Economic Development District, Wuxi City,Jiangsu Province,China</p>
</div>
<div class="email">
<h4>Email</h4>
<p>8888989@163.com</p>
</div>
</div>
</div>
</div>
</div>
</template>
<script setup>
</script>
<style scoped lang="scss">
.leftNav{
ul{border-right: 2px solid #E5E5E5;padding:0 20px 0 0;}
li{margin: 30px 0;padding: 10px;text-align: right;
border-radius: 2px;position: relative;
font-weight: 600;
font-size: 18px;
background: linear-gradient(90deg, rgba(134, 35, 252, 0.1), rgba(69, 61, 234, 0.1));}
li::after{content: '';position: absolute;background: #898989;width: 8px;height: 8px;
border-radius: 50%;right: -29px;border: 4px solid #fff;outline: 2px solid #898989;
box-sizing: content-box;top: 0;bottom: 0;margin: auto;}
li.active{color: #fff;
background: linear-gradient(90deg, #8623FC, #453DEA);
&::after{outline: 2px solid #453DEA;background: #453DEA;}
}
}
.infoPart{
.leftboderTT{font-size:20px;color: var(--el-color-primary); }
}
.content{margin: 20px 0 0;text-indent: 2em;
line-height: 1.8;
font-weight: 400;
font-size: 16px;
color: #29343C;
img{max-width: 100%;margin: 20px auto;display: block;}
h4{text-indent: 0}
}
.mapBox{background: url("@/assets/zhinan/map.png") no-repeat right;height: 375px;
background-size: cover;padding: 1px;position: relative;display: flex;
.content{background: #fff;width: 60%;left: 40px;padding: 30px;text-indent: 0;
line-height: 1;
position: absolute;height: 90%;top: 0;bottom: 0;margin: auto;
}
div{padding-left: 60px;}
.phone{background: url("@/assets/dance/map01.png") no-repeat left;background-size: 30px;}
.address{background: url("@/assets/dance/map02.png") no-repeat left;background-size: 30px;
margin:50px 0;
}
.email{background: url("@/assets/dance/map03.png") no-repeat left;background-size: 30px;}
h4{margin: 0;
font-size: 16px;
color: #AAAAAA;}
p{margin: 13px 0 0;}
}
@media (max-width: 800px) {
.mapBox {
div {
padding-left: 40px;
}
.content {
width: 80%;
left: 10%;
padding: 10px 20px 0 20px;
}
.address {
margin: 30px 0;
}
p {
text-align: left;
word-break: break-all;
}
}
}
</style>
......@@ -34,5 +34,6 @@ defineExpose({
//overflow: hidden;
overflow-x: scroll ;
overflow-y: hidden ;
img{max-width: 100%!important;}
}
</style>
......
......@@ -92,8 +92,9 @@
<el-form-item :label="`税号`" required v-if="form.invoiceType=='0'" prop="invoiceTfn">
{{form.invoiceTfn}}
</el-form-item>
<el-form-item :label="`邮箱`" v-if="form.invoiceForm=='1'" required prop="invoiceEmail">
{{form.invoiceEmail}}
<el-form-item :label="`邮箱`" v-if="form.invoiceForm=='1'" required>
<view v-if="form.address">{{form.address}}</view>
<view v-else-if="form.invoiceEmail">{{form.invoiceEmail}}</view>
</el-form-item>
<el-form-item label="备注" prop="remarks">
{{form.remarks}}
......
......@@ -252,7 +252,7 @@
<el-card>
<el-row :gutter="20">
<el-col :lg="8">
<a class="liveImgbox" target="_blank" href="https://wx.vzan.com/live/page/1151815649?v=1720589464698">
<a class="liveImgbox" target="_blank" @click="golive(livelist[0])">
<div class="livetimecount" v-if="time>0">
<van-count-down :time="time" format="DD 天 HH 时 mm 分 ss 秒">
<template #default="timeData">
......@@ -271,12 +271,18 @@
</template>
</van-count-down>
</div>
<!-- <i class="ii" v-else-if="etime>0&&time<=0">直播中</i>-->
<i class="ii" v-else-if="etime>0&&time<=0">直播中</i>
<!-- <i class="livetimecount" v-if="etime<=0">直播已结束</i>-->
<div class="imgBox"><img src="/img/111.jpeg"/></div>
<h3 class="esp">
<div class="imgBox">
<img v-if="time>0" src="/img/111.jpeg"/>
<img v-else :src="fillImgUrl_webSite(livelist[0]?.picUrl)">
</div>
<h3 class="esp" v-if="time>0">
2024WDSF亚洲体育舞蹈节
</h3>
<h3 class="esp" v-else>
{{livelist[0]?.name }}
</h3>
</a>
</el-col>
<el-col :lg="16">
......@@ -298,7 +304,7 @@
</el-col>
</el-row>
<el-row class="news-l-r">
<el-col v-for="(n,index) in livelist" :lg="8">
<el-col v-for="(n,index) in livelist" :lg="8" v-show="index>0">
<div class="item" style="padding: 0;margin: 20px 0 0" @click="goDetail(n)">
<div class="imgbox">
<i class="playIcon"></i>
......@@ -463,7 +469,7 @@ const init = () => {
etime.value = dayjs('2024-07-22 12:00:00').diff(today, 'millisecond')
getNewsListById(
{
pageSize: 3,
pageSize: time.value>0? 3:4,
pageNum: 1,
sortId: '10000006'
}
......@@ -519,6 +525,15 @@ const goDetail = (n) => {
})
}
}
const golive = (n) => {
if(time.value>0){
window.open('https://wx.vzan.com/live/page/1151815649?v=1720589464698')
} else {
router.push({
path: `/news/detail/${n.noteId}`
})
}
}
const goLeaderInfo = (n) => {
// router.push({
// path: `/about/leaderInfo/${n.id || 0}`
......
......@@ -46,7 +46,7 @@
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item :label="language==0?'出生日期1':'Date of Birth'" prop="birth" required>
<el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth" required>
<el-date-picker
v-model="form.birth" :disabled="editgay&&form.labelArr.indexOf('0')>-1"
style="width: 100%;"
......@@ -250,9 +250,8 @@ function reset(){
})
}
}
function disabledBirth(date) {
const today = dayjs().format('YYYY-MM-DD')
return (date.getTime() >= dayjs(today).valueOf())
function disabledBirth(time) {
return time.getTime() > new Date().getTime()
}
function getCountryList() {
match.countryList().then(res => {
......
......@@ -90,12 +90,12 @@
:required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1">
<el-input v-model="form.idcCode" :disabled="editgay" @blur="giveBirthDay"/>
</el-form-item>
<el-form-item :label="language==0?'2出生日期':'Date of Birth'" prop="birth"
<el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth"
:required="!form.wdsfMin&&form.labelArr.indexOf('0')>-1"
:disabled-date="disabledBirth">
>
<el-date-picker
v-model="form.birth" :disabled="form.idcType=='0'"
style="width: 100%;"
style="width: 100%;" :disabled-date="disabledBirth"
type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
/>
</el-form-item>
......
......@@ -60,7 +60,7 @@
<el-form-item :label="language==0?'出生日期':'Date of Birth'" prop="birth">
<el-date-picker
v-model="form.birth" :disabled="form.idcType=='0'"
style="width: 100%;"
style="width: 100%;" :disabled-date="disabledBirth"
type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
/>
</el-form-item>
......@@ -390,6 +390,9 @@ function submitForm() {
function cancel() {
show.value = false
}
function disabledBirth(time) {
return time.getTime() > new Date().getTime()
}
</script>
<style lang="scss">
......
......@@ -76,7 +76,7 @@
<el-form-item :label="language==0?'出生日期':'Date of Birth'" required>
<el-date-picker
v-model="form.birth"
style="width: 100%;"
style="width: 100%;" :disabled-date="disabledBirth"
type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
/>
</el-form-item>
......@@ -359,6 +359,10 @@ function codeSuccess(msg) {
}
})
}
function disabledBirth(time) {
return time.getTime() > new Date().getTime()
}
</script>
<style lang="scss">
......
......@@ -34,6 +34,9 @@
</el-form-item>
</el-form>
</div>
<p class="tip" v-if="language==0">报名单人项目只需选中需要报名的人员</p>
<p class="tip" v-if="language==1">To register for the individual project, simply select the person who needs to register</p>
<p v-if="noPhotoCanSign == 0" class="text-danger">{{ language==0?'*需上传照片才可报名':'*Please upload photo before sign up' }}</p>
<el-table ref="allSportmenTable" v-loading="loading" :data="tableData" height="60vh"
@selection-change="handleSelectionChange" :row-key="getRowKeys">
......
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。
......@@ -70,30 +70,30 @@ export default defineConfig(({mode, command}) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-train/, '')
},
'/dev-api/ztx-match': {
target: 'http://192.168.1.118:8083',
// target: 'https://jijin.wtwuxicenter.com/stage-api',
// target: 'http://192.168.1.118:8083',
target: 'https://jijin.wtwuxicenter.com/stage-api',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
},
'/dev-api/ztx-webSite': {
// target: 'https://dance.itechtop.cn/stage-api',
target: 'http://192.168.1.118:8081/',
target: 'https://wdsfwuxicenter.com/stage-api/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
target: 'http://192.168.1.118:8081/',
// target: 'http://192.168.1.118:8081/',
// target: 'http://192.168.1.131:8081/',
// target: 'https://jijin.wtwuxicenter.com/stage-api',
target: 'https://jijin.wtwuxicenter.com/stage-api',
// target: 'http://124.70.181.90:1880/stage-api',
// target: 'https://wdsfwuxicenter.com/stage-api/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
},
'/ticket': {
target: 'http://192.168.1.118:8098/',
// target: 'http://192.168.1.131:8098/',
// target: 'http://192.168.1.131:8081/',
// target: 'https://jijin.wtwuxicenter.com/ticket',
// target: 'https://ticketh5.wdsfwuxicenter.com/ticket',
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!