eea1f9b9 by 杨炀

no message

1 parent 982b56b7
This file is too large to display.
......@@ -7,7 +7,7 @@
<meta name="renderer" content="webkit">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<link rel="icon" href="/favicon.ico">
<title>体育舞蹈大赛</title>
<title>亚洲体育舞蹈大赛</title>
<!-- <script src="./browser.js"></script>-->
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
<style>
......
......@@ -2,27 +2,42 @@
<div class="footAll">
<div class="box" style="max-width: 90%">
<el-row style="align-items: center;" v-if="language==0">
<el-col :lg="12" :md="12" :xs="24">
<el-col :lg="10" :md="12" :xs="24">
<ul>
<li>
<router-link to="/about"></router-link>
</li>
<li>
<a target="_blank" href="https://beian.miit.gov.cn/">ICP备案号:苏ICP备2023054420号-2</a>
<!-- <a class="ffoot" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010102004192">-->
<!-- <img src="@/assets/v1/beian.png">-->
<!-- 京公网安备 11010102004192号</a>-->
</li>
<li>邮编:214000</li>
<li>微信: 15606190026</li>
<li>QQ: 497118883</li>
<li>江苏省 无锡市太湖新城和风路与清舒交叉口东北100米</li>
</ul>
</el-col>
<el-col :lg="12" :md="12" :xs="24">
<el-col :lg="10" :md="12" :xs="24">
<ul style="text-align: right">
<li>地址:江苏省无锡市滨湖区体育中心A区201
<li>客服及报障电话:15606190026</li>
<li>客服及报障邮箱: info@jinsports.com</li>
<li>
<!-- <a class="ffoot" target="_blank" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010102004192">-->
<!-- <img src="@/assets/v1/beian.png">-->
<!-- 京公网安备 11010102004192号</a>-->
</li>
<li>邮编:214000</li>
</ul>
</el-col>
<el-col :lg="4" :md="12" :xs="24">
<div>
<img class="mauto" src="/img/wb2.jpg"/>
<p class="text-center mt10">微博关注</p>
</div>
</el-col>
<el-col :span="24">
<div class="text-center copyright">版权所有@无锡和畅赛事运营有限公司
&ensp;&ensp;
<a target="_blank" href="https://beian.miit.gov.cn/">ICP备案号:苏ICP备2023054420号-2</a></div>
</el-col>
</el-row>
<el-row style="align-items: center;" v-if="language==1">
<el-col :lg="12" :md="12" :xs="24">
<ul>
......@@ -54,13 +69,19 @@ const language = useStorage('language', 0)
</script>
<style lang="scss" scoped>
.footAll{background: #E0E3E5;;padding: 36px 0;
.copyright{ font-size: 14px;
opacity: 0.88;
color: #4C5359;}
.footAll{background: #E0E3E5;;padding: 36px 0 15px;
p{ font-size: 14px;
opacity: 0.88;
color: #4C5359;}
ul{list-style: none;
li{line-height: 30px;
font-size: 14px;
opacity: 0.88;
color: #4C5359;
a{margin-right: 15px;
a{margin-left: 15px;
&:hover{text-decoration: underline;}
}
}
......
......@@ -17,12 +17,12 @@
<el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item>
<el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
<el-sub-menu index="/about">
<template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>
<el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>
<el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>
<el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item>
</el-sub-menu>
<!-- <el-sub-menu index="/about">-->
<!-- <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>-->
<!-- <el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>-->
<!-- <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>-->
<!-- <el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item>-->
<!-- </el-sub-menu>-->
</el-menu>
<el-menu v-else class="enMenu"
router :default-active="activeIndex" :mode="mode" :ellipsis="true"
......@@ -35,12 +35,12 @@
<el-menu-item index="/saiC">{{ language==0?'赛程安排':'COMPETITIONS' }}</el-menu-item>
<el-menu-item index="/meta">{{ language==0?'媒体中心':'MEDIA' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
<el-sub-menu index="/about">
<template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>
<el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>
<el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>
<el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item>
</el-sub-menu>
<!-- <el-sub-menu index="/about">-->
<!-- <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>-->
<!-- <el-menu-item index="/about/wuDao">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>-->
<!-- <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>-->
<!-- <el-menu-item index="/about/culture">{{ language==0?'地方文化':'Culture' }}</el-menu-item>-->
<!-- </el-sub-menu>-->
</el-menu>
</div>
......
......@@ -99,6 +99,12 @@ export const constantRoutes = [
component: () => import('@/viewsPc/about/culture'),
name: 'culture',
meta: { title: '地方文化' }
},
{
path: 'leaderInfo/:id',
component: () => import('@/viewsPc/about/leaderInfo'),
name: 'leaderInfo',
meta: { title: '评委详情' }
}
]
},
......
......@@ -210,7 +210,7 @@ export const constantRoutes = [
children: [
{
path: 'index',
component: () => import('@/viewsPc/saiC/index_en'),
component: () => import('@/viewsPc/saiC/index'),
name: 'saiC',
meta: { title: 'COMPETITIONS' }
}
......
......@@ -6,17 +6,9 @@
<el-icon>
<HomeFilled />
</el-icon>
首页
{{ language==0?'首页':'Home' }}
</el-breadcrumb-item>
<el-breadcrumb-item v-if="from=='nationalTeam'" :to="{ name: 'nationalTeam',query: {activeName:'t1'} }">国家队队员</el-breadcrumb-item>
<el-breadcrumb-item v-else-if="from=='7'" to="/competition/coach/7">宣传员</el-breadcrumb-item>
<el-breadcrumb-item v-else-if="from=='2'" to="/competition/coach/2">裁判员</el-breadcrumb-item>
<el-breadcrumb-item v-else-if="from=='1'" to="/competition/coach/1">教练员</el-breadcrumb-item>
<el-breadcrumb-item v-else-if="from=='6'" to="/competition/coach/6">解说员</el-breadcrumb-item>
<el-breadcrumb-item v-else-if="from=='9'" to="/competition/coach/9">运动员</el-breadcrumb-item>
<el-breadcrumb-item v-else-if="from=='list'">人员列表</el-breadcrumb-item>
<el-breadcrumb-item v-else :to="{ name: 'about',params:{activeName:'first'} }">关于协会</el-breadcrumb-item>
<el-breadcrumb-item>人员信息</el-breadcrumb-item>
<el-breadcrumb-item>{{ language==0?'评委详情':'Judge Details' }}</el-breadcrumb-item>
</el-breadcrumb>
<el-card class="mt20">
<el-row class="mt20">
......@@ -78,7 +70,8 @@ import { ArrowRight } from '@element-plus/icons-vue'
import { onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { getPersonInfo } from '@/apiPc/webSite'
import {useStorage} from "@vueuse/core/index";
const language= useStorage('language',0)
let personId
const route = useRoute()
const person = ref({})
......
......@@ -140,44 +140,44 @@
<span v-else>{{ scope.row.index }}</span>
</template>
</el-table-column>
<el-table-column label="Country/Region" prop="name" min-width="100" align="center">
<el-table-column label="Country/Region">
<template #default="scope">
<div>
<span :class="`flag-icon flag-icon-${scope.row.code}`"></span>
{{ scope.row.gj }}</div>
{{ scope.row.en_gj }}
</div>
</template>
</el-table-column>
<el-table-column prop="score">
<template #header>
<img src="@/assets/dance/1.png">
</template>
<el-table-column label="COUPLE" align="center">
<template #default="scope">
<div class="text-warning">{{ scope.row.score }}</div>
<div class="text-primary esp">{{ scope.row.name }}</div>
</template>
</el-table-column>
<el-table-column prop="score">
<el-table-column width="50">
<template #header>
<img src="@/assets/dance/2.png">
<img class="mauto" src="@/assets/dance/1.png">
</template>
<template #default="scope">
<div class="text-blue">{{ scope.row.score }}</div>
<div class="text-warning text-center">{{ scope.row.jin }}</div>
</template>
</el-table-column>
<el-table-column prop="score">
<el-table-column width="50">
<template #header>
<img src="@/assets/dance/3.png">
<img class="mauto" src="@/assets/dance/2.png">
</template>
<template #default="scope">
<div class="text-primary">{{ scope.row.score }}</div>
<div class="text-blue text-center">{{ scope.row.yin }}</div>
</template>
</el-table-column>
<el-table-column label="Total" align="center">
<el-table-column width="50">
<template #header>
<img class="mauto" src="@/assets/dance/3.png">
</template>
<template #default="scope">
<div class="text-primary">{{ scope.row.score }}</div>
<div class="text-primary text-center">{{ scope.row.tong }}</div>
</template>
</el-table-column>
</el-table>
</el-card>
</el-col>
</el-row>
......@@ -375,7 +375,6 @@ import { getCurrentInstance } from '@vue/runtime-core'
import { getNewsListById, getNewsList } from '@/apiPc/webSite'
import { useRouter } from 'vue-router'
import _ from 'lodash'
import { getHotActivity } from '@/apiPc/common'
import { Swiper, SwiperSlide } from 'swiper/vue'
import { Autoplay, Navigation } from 'swiper'
import 'swiper/css'
......@@ -387,7 +386,7 @@ import r04 from '@/assets/dance/r04.png'
import r05 from '@/assets/dance/r05.png'
import r06 from '@/assets/dance/r06.png'
import * as match from "@/apiPc/match";
import {rankList} from '@/assets/js/data'
const modules = [Autoplay, Navigation]
const navigationPic = ref({
nextEl: '.picnext',
......@@ -396,15 +395,6 @@ const navigationPic = ref({
const router = useRouter()
const { proxy } = getCurrentInstance()
const time = ref(0)
const rankList = ref([
{ index: '1', code: 'cn', score: '170',gj:'China' },
{ index: '2', code: 'us', score: '170' ,gj:'China'},
{ index: '3', code: 'de', score: '170',gj:'China' },
{ index: '4', code: 'eg', score: '170',gj:'China' },
{ index: '5', code: 'ly', score: '170' ,gj:'China'},
{ index: '6', code: 'tn', score: '170' ,gj:'China'},
{ index: '7', code: 'gw', score: '170' ,gj:'China'}
])
const personList = ref([
{ name: 'Zhang Jin', pp: 'artistic director', src: r01 },
{ name: 'Wang min', pp: 'regimental commander', src: r02 },
......
......@@ -20,7 +20,7 @@
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.coachs" @change="changecoachs">
<div class="addBttn" @click="addCoach(0)">+</div>
<div class="addBttn" @click="addCoach('1')">+</div>
<el-checkbox v-for="c in personAllList?.coaches" :label="c.id">
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
......@@ -48,7 +48,7 @@
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.leader">
<div class="addBttn" @click="addCoach(0)">+</div>
<div class="addBttn" @click="addCoach('2')">+</div>
<el-checkbox v-for="c in personAllList?.leaders" :label="c.id">
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
......@@ -73,7 +73,7 @@
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.doctor">
<div class="addBttn" @click="addCoach(0)">+</div>
<div class="addBttn" @click="addCoach('4')">+</div>
<el-checkbox v-for="c in personAllList?.teamDoctors" :label="c.id">
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
......@@ -98,7 +98,7 @@
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.translator">
<div class="addBttn" @click="addCoach(0)">+</div>
<div class="addBttn" @click="addCoach('5')">+</div>
<el-checkbox v-for="c in personAllList?.translators" :label="c.id">
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
......@@ -123,7 +123,7 @@
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.official">
<div class="addBttn" @click="addCoach(0)">+</div>
<div class="addBttn" @click="addCoach('6')">+</div>
<el-checkbox v-for="c in personAllList?.officials" :label="c.id">
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
......@@ -148,7 +148,7 @@
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.other">
<div class="addBttn" @click="addCoach(0)">+</div>
<div class="addBttn" @click="addCoach('3')">+</div>
<el-checkbox v-for="c in personAllList?.others" :label="c.id">
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
......@@ -365,10 +365,11 @@ function editPerson(id) {
})
}
function addCoach() {
function addCoach(n) {
proxy.$refs['dialogAddCoachRef'].open({
title: language.value==0?'新建人员':'Add',
id: 0,
label: n,
groupId: groupId.value
})
}
......
......@@ -7,22 +7,22 @@
<el-card :body-style="{'padding-top': '0'}">
<el-row class="mt20" :gutter="20">
<el-col :lg="12">
<el-col :lg="8">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3>
<h3 class="panel-title" v-else>Select list of participating athletes</h3>
<!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>-->
<a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>
</div>
<div class="panel-body" style="padding: 10px">
<div style="margin: 0 4px 10px">
<el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable
@change="getProjectList">
<el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" ></el-option>
</el-select>
<el-input size="small" v-model="athletesQuery.name" :prefix-icon="Search"
@change="queryAthletes"
clearable/>
</div>
<div class="noPicChooseForm" id="chooseArr">
<el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
<el-button id="addRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button>
<el-checkbox v-for="c in choosedListBak" :value="c.id" border>
<p class="name">{{ c.realName }}
<!-- ({{ c.sexStr }})-->
......@@ -35,7 +35,39 @@
</div>
</div>
</el-col>
<el-col :lg="12">
<el-col :lg="8">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3>
<h3 class="panel-title" v-else>Select a Participating team</h3>
<a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>
</div>
<div class="panel-body" style="padding: 10px">
<div class="mb20">
<el-input size="small" v-model="zuQuery.name" :prefix-icon="Search"
@change="queryTeam" clearable/>
</div>
<div class="chooseForm">
<el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
<!-- v-show="choosedchoosed.indexOf(c.id) !== -1"-->
<el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked>
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.realName }}
<img v-if="c.sex=='0'" src="@/assets/img/female.png"/>
<img v-if="c.sex=='1'" src="@/assets/img/male.png"/>
<!-- <el-icon @click.stop="editPerson(c.id)">-->
<!-- <Edit/>-->
<!-- </el-icon>-->
</p>
</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
</el-col>
<el-col :lg="8">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">可参与报名的项目</h3>
......@@ -46,7 +78,7 @@
clearable/>
</div>
</div>
<div v-loading="loadingProject" id="projectbox" style="height: 60vh;overflow: auto;">
<div v-loading="loadingProject" id="projectbox" style="height: 60vh">
<el-checkbox-group v-model="projectIds" @change="changeProject">
<el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id">
<div class="flexBetween w100">
......@@ -166,7 +198,6 @@ const data = reactive({
signInfoList: [],
zuTableList: [],
choosedList: [],
athletesList: [],
choosedListBak: [],
athletesQuery: {
name: ''
......@@ -195,7 +226,7 @@ const data = reactive({
openTour:false
})
const {
activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,athletesList,
activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,
extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject,
projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent
} = toRefs(data)
......@@ -207,18 +238,11 @@ onMounted(() => {
getSignInfoList()
getMatch(matchId.value)
getMySignInfo()
getAthletesList()
// openTour.value = true
})
let chargeFlag
function getAthletesList() {
// athletesList.value
match.getGroupPersonList({}, groupId.value).then(res => {
athletesList.value = res.rows
})
}
function getMatch(id) {
match.getMatchById({
id: id
......@@ -356,6 +380,15 @@ function getProjectList() {
})
}
function queryAthletes() {
choosedListBak.value = []
for (var t of choosedList.value) {
if (t.realName.indexOf(athletesQuery.value.name) > -1) {
// 筛选
choosedListBak.value.push(t)
}
}
}
function queryTeam() {
choosed2Listbak.value = []
......@@ -408,6 +441,19 @@ function addCoach() {
proxy.$refs['dialogAddCoachRef'].open(params)
}
function emptyChoosed() {
choosedList.value = []
choosedListBak.value = []
}
function emptyChangechoosed() {
choosedchoosed.value = []
choosed2List.value = []
choosed2Listbak.value = []
projectList.value = []
projectIds.value = []
}
function signUp() {
if (projectIds.value.length == 0) {
return
......@@ -571,7 +617,7 @@ watch(choosedchoosed, (newVal, oldVal) => {
.flexBetweenBox {
width: 100%;
height: auto;margin: 0;
height: auto;
border-bottom: 1px solid #eee;
padding: 0 10px;
}
......
......@@ -7,22 +7,22 @@
<el-card :body-style="{'padding-top': '0'}">
<el-row class="mt20" :gutter="20">
<el-col :lg="8">
<el-col :lg="12">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">选择参赛运动员清单</h3>
<h3 class="panel-title" v-else>Select list of participating athletes</h3>
<a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>
<!-- <a class="fr" @click="emptyChoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>-->
</div>
<div class="panel-body" style="padding: 10px">
<div style="margin: 0 4px 10px">
<el-input size="small" v-model="athletesQuery.name" :prefix-icon="Search"
@change="queryAthletes"
clearable/>
<el-select multiple v-model="choosedchoosed" collapse-tags-tooltip filterable
@change="getProjectList">
<el-option v-for="c in athletesList" :key="c.id" :label="c.realName" :value="c.id" ></el-option>
</el-select>
</div>
<div class="noPicChooseForm" id="chooseArr">
<el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
<el-button id="addRef" plain @click="chooseSportman">+{{ language == 0 ? '选择' : 'add' }}</el-button>
<el-checkbox v-for="c in choosedListBak" :value="c.id" border>
<p class="name">{{ c.realName }}
<!-- ({{ c.sexStr }})-->
......@@ -35,39 +35,7 @@
</div>
</div>
</el-col>
<el-col :lg="8">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">选择一个参赛组合</h3>
<h3 class="panel-title" v-else>Select a Participating team</h3>
<a class="fr" @click="emptyChangechoosed">{{ language == 0 ? '清空' : 'Empty' }}</a>
</div>
<div class="panel-body" style="padding: 10px">
<div class="mb20">
<el-input size="small" v-model="zuQuery.name" :prefix-icon="Search"
@change="queryTeam" clearable/>
</div>
<div class="chooseForm">
<el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
<!-- v-show="choosedchoosed.indexOf(c.id) !== -1"-->
<el-checkbox v-for="c in choosed2Listbak" :value="c.id" checked>
<el-avatar fit="cover" v-if="c.picUrl" :size="60" :src="fillImgUrl(c.picUrl)"/>
<el-avatar fit="cover" v-else-if="c.sex == 0" :size="60" src="/img/head1.png"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.realName }}
<img v-if="c.sex=='0'" src="@/assets/img/female.png"/>
<img v-if="c.sex=='1'" src="@/assets/img/male.png"/>
<!-- <el-icon @click.stop="editPerson(c.id)">-->
<!-- <Edit/>-->
<!-- </el-icon>-->
</p>
</el-checkbox>
</el-checkbox-group>
</div>
</div>
</div>
</el-col>
<el-col :lg="8">
<el-col :lg="12">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">可参与报名的项目</h3>
......@@ -78,7 +46,7 @@
clearable/>
</div>
</div>
<div v-loading="loadingProject" id="projectbox" style="height: 60vh">
<div v-loading="loadingProject" id="projectbox" style="height: 60vh;overflow: auto;">
<el-checkbox-group v-model="projectIds" @change="changeProject">
<el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id">
<div class="flexBetween w100">
......@@ -198,6 +166,7 @@ const data = reactive({
signInfoList: [],
zuTableList: [],
choosedList: [],
athletesList: [],
choosedListBak: [],
athletesQuery: {
name: ''
......@@ -226,7 +195,7 @@ const data = reactive({
openTour:false
})
const {
activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,
activeTeam, names, tableData, signInfoList, zuTableList, choosedList,choosedListBak,athletesList,
extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, projectIds, choosedchoosed, activeStep, projectList, choosed2List,choosed2Listbak, loadingProject,
projectQuery, tableType, athletesQuery, zuQuery,openTour,tourCurrent
} = toRefs(data)
......@@ -238,11 +207,18 @@ onMounted(() => {
getSignInfoList()
getMatch(matchId.value)
getMySignInfo()
getAthletesList()
// openTour.value = true
})
let chargeFlag
function getAthletesList() {
// athletesList.value
match.getGroupPersonList({}, groupId.value).then(res => {
athletesList.value = res.rows
})
}
function getMatch(id) {
match.getMatchById({
id: id
......@@ -380,15 +356,6 @@ function getProjectList() {
})
}
function queryAthletes() {
choosedListBak.value = []
for (var t of choosedList.value) {
if (t.realName.indexOf(athletesQuery.value.name) > -1) {
// 筛选
choosedListBak.value.push(t)
}
}
}
function queryTeam() {
choosed2Listbak.value = []
......@@ -441,19 +408,6 @@ function addCoach() {
proxy.$refs['dialogAddCoachRef'].open(params)
}
function emptyChoosed() {
choosedList.value = []
choosedListBak.value = []
}
function emptyChangechoosed() {
choosedchoosed.value = []
choosed2List.value = []
choosed2Listbak.value = []
projectList.value = []
projectIds.value = []
}
function signUp() {
if (projectIds.value.length == 0) {
return
......@@ -617,7 +571,7 @@ watch(choosedchoosed, (newVal, oldVal) => {
.flexBetweenBox {
width: 100%;
height: auto;
height: auto;margin: 0;
border-bottom: 1px solid #eee;
padding: 0 10px;
}
......
......@@ -4,6 +4,7 @@
:close-on-click-modal="false" class="pcloginpop"
destroy-on-close
>
<!-- 舞伴-->
<el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="160px" inline>
<el-row :gutter="30">
<el-col :lg="24">
......
......@@ -32,15 +32,14 @@
<el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode" required>
<el-input v-model="form.idcCode" @blur="checkCode"/>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item :label="language==0?'性别':'sex'" prop="sex">
<el-radio-group v-model="form.sex">
<el-radio value="0">{{ language==0?'女':'female' }}</el-radio>
<el-radio value="1">{{ language==0?'男':'male' }}</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item :label="language==0?'出生日期':'birth'" prop="birth" required>
<el-date-picker
v-model="form.birth"
......@@ -58,22 +57,22 @@
</el-form-item>
<!-- <el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId" required>-->
<!-- <el-select :disabled="language==0" filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId">-->
<!-- <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item :label="language==0?'所属国家':'Nationality'" prop="countryId">
<el-select :disabled="language==0" filterable v-model="form.countryId" style="width: 100%;" @change="changeCountryId">
<el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/>
</el-select>
</el-form-item>
<!-- <el-form-item :label="language==0?'详细地址':'Address'" prop="address" required>-->
<!-- <el-cascader v-if="form.countryId == 240"-->
<!-- v-model="form.regionId"-->
<!-- style="width: 100%;margin-bottom: 15px"-->
<!-- :options="regionsList"-->
<!-- :props="{ label:'text' }"-->
<!-- />-->
<!-- <el-input v-model="form.address" type="textarea" :rows="4"/>-->
<el-form-item :label="language==0?'详细地址':'Address'" prop="address">
<el-cascader v-if="form.countryId == 240"
v-model="form.regionId"
style="width: 100%;margin-bottom: 15px"
:options="regionsList"
:props="{ label:'text' }"
/>
<el-input v-model="form.address" type="textarea" :rows="4"/>
<!-- </el-form-item>-->
</el-form-item>
<el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin">
<el-input v-model="form.wdsfMin" type="number"/>
</el-form-item>
......@@ -127,13 +126,13 @@ const data = reactive({
rules: {
xing: [{required: true, message: '必填', trigger: 'blur'}],
ming: [{required: true, message: '必填', trigger: 'blur'}],
countryId: [{required: true, message: '必填', trigger: 'change'}],
// countryId: [{required: true, message: '必填', trigger: 'change'}],
idcType: [{required: true, message: '必填', trigger: 'change'}],
idcCode: [{required: true, message: '必填', trigger: 'blur'}],
phone: [{required: true, message: '必填', trigger: 'blur'}],
// regionId: [{ required: true, message: '必填', trigger: 'change' }],
birth: [{required: true, message: '必填', trigger: 'change'}],
address: [{ required: true, message: '必填', trigger: 'blur' }],
// address: [{ required: true, message: '必填', trigger: 'blur' }],
// picUrl: [{required: true, message: '必填', trigger: 'blur'}],
sex: [{required: true, message: '必填', trigger: 'change'}],
labelArr: [{required: true, message: '必填', trigger: 'change'}]
......@@ -141,13 +140,13 @@ const data = reactive({
rules_cn:{
xing: [{required: true, message: 'required', trigger: 'blur'}],
ming: [{required: true, message: 'required', trigger: 'blur'}],
countryId: [{required: true, message: 'required', trigger: 'change'}],
// countryId: [{required: true, message: 'required', trigger: 'change'}],
idcType: [{required: true, message: 'required', trigger: 'change'}],
idcCode: [{required: true, message: 'required', trigger: 'blur'}],
phone: [{required: true, message: 'required', trigger: 'blur'}],
// regionId: [{ required: true, message: 'required', trigger: 'change' }],
birth: [{required: true, message: 'required', trigger: 'change'}],
address: [{ required: true, message: 'required', trigger: 'blur' }],
// address: [{ required: true, message: 'required', trigger: 'blur' }],
// picUrl: [{required: true, message: 'required', trigger: 'blur'}],
sex: [{required: true, message: 'required', trigger: 'change'}],
labelArr: [{required: true, message: 'required', trigger: 'change'}]
......@@ -177,13 +176,17 @@ onMounted(() => {
})
let editgay = false
const open = (params) => {
console.log(params)
console.log(params.label)
show.value = true
title.value = params.title
groupId.value = params.groupId || '0'
isMe.value = params.isMe
if(params.label){
form.value.labelArr= [params.label]
}
if(language.value == 0){
form.value.countryId = 240
form.value.idcType = '0'
}
if(isMe.value){
//个人
......@@ -245,21 +248,22 @@ function getRegionsList() {
}
function checkCode() {
if (form.value.idcType && form.value.idcCode) {
if (form.value.idcType=='0' && form.value.idcCode) {
giveBirthDay()
var obj = {
idcType: form.value.idcType,
idcCode: form.value.idcCode
}
match.checkPerson(obj).then(res => {
if (res.data.idcCode != null) {
form.value = res.data
if (form.value.label != null) {
form.value.labelArr = form.value.label.split(',')
}
form.value.groupId = groupId.value
}
})
// match.checkPerson(obj).then(res => {
// if (res.data.idcCode != null) {
// form.value = res.data
// if (form.value.label != null) {
// form.value.labelArr = form.value.label.split(',')
// }
// form.value.groupId = groupId.value
// }
// })
}
}
......@@ -305,7 +309,7 @@ function submitForm() {
if (showRequire.value) {
var pattern = /^1[3456789]\d{9}$/
if (!pattern.test(form.value.phone)) {
ElMessage.error('请输入正确的手机号')
ElMessage.error(language.value == 0 ?'请输入正确的手机号':'Please enter the correct mobile phone number')
return
}
}
......@@ -319,7 +323,7 @@ function submitForm() {
// 团队
form.value.groupId = groupId.value
match.savePersonForMyGroup(form.value).then(res => {
ElMessage.success('保存成功')
ElMessage.success(language.value == 0 ?'保存成功':'Save successful')
show.value = false
emit('submitForm')
})
......@@ -327,20 +331,20 @@ function submitForm() {
if (editgay) {
// id不是0
match.editPersonInfo(form.value).then(res => {
ElMessage.success('保存成功')
ElMessage.success(language.value == 0 ?'保存成功':'Save successful')
show.value = false
emit('submitForm')
})
} else {
if(isMe.value){
match.saveMyBaseInfo(form.value).then(res => {
ElMessage.success('保存成功')
ElMessage.success(language.value == 0 ?'保存成功':'Save successful')
show.value = false
emit('submitForm')
})
} else {
match.savePersonForMyPerson(form.value).then(res => {
ElMessage.success('保存成功')
ElMessage.success(language.value == 0 ?'保存成功':'Save successful')
show.value = false
emit('submitForm')
})
......
......@@ -4,6 +4,7 @@
:close-on-click-modal="false" class="pcloginpop" @close="cancel"
destroy-on-close
>
<!-- 随行人员-->
<el-form ref="dialogRef" :model="form" :label-width="language==0?120:180" inline>
<el-form-item :label="language==0?'WDSF卡号':'WDSF ID'" v-if="form.id">
{{ form.wdsfMin }}
......
......@@ -34,7 +34,6 @@
/>
<!-- 文件 2-->
<FileUpload v-if="s.type == '2'" v-model="s.fixWxFile" :action="uploadUrl" />
</el-form-item>
</el-form>
</el-col>
......
......@@ -16,25 +16,25 @@
{{ JSON.parse(form.signKnowUrl)[0]?.name }}
</el-link>
</div>
<div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>
<div class="xzbox">
<el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>
{{ JSON.parse(form.disclaimerUrl)[0]?.name }}
</el-link>
</div>
<div class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div>
<div class="xzbox">
<!-- <div class="indexTitle"><h3 class="leftboderTT">免责声明</h3></div>-->
<!-- <div class="xzbox">-->
<!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">-->
<!-- <el-icon :size="20">-->
<!-- <Download />-->
<!-- </el-icon>-->
<!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}-->
<!-- </el-link>-->
<!-- </div>-->
<!-- <div class="indexTitle"><h3 class="leftboderTT">赛事规程</h3></div>-->
<!-- <div class="xzbox">-->
<el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>
{{ JSON.parse(form.ruleUrl)[0]?.name }}
</el-link>
</div>
<!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">-->
<!-- <el-icon :size="20">-->
<!-- <Download />-->
<!-- </el-icon>-->
<!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}-->
<!-- </el-link>-->
<!-- </div>-->
<div class="indexTitle" v-if="form.type==1&&form.cptProjectList?.length > 0"><h3 class="leftboderTT">竞赛项目</h3></div>
<div v-if="form.type==1&&form.cptProjectList?.length > 0">
......@@ -58,28 +58,28 @@
{{ JSON.parse(form.signKnowUrl)[0]?.name }}
</el-link>
</div>
<div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>
<div class="xzbox">
<el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>
{{ JSON.parse(form.disclaimerUrl)[0]?.name }}
</el-link>
</div>
<!-- <div class="indexTitle"><h3 class="leftboderTT">Disclaimers</h3></div>-->
<!-- <div class="xzbox">-->
<!-- <el-link v-if="form.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(form.disclaimerUrl)[0]?.url)" target="_blank">-->
<!-- <el-icon :size="20">-->
<!-- <Download />-->
<!-- </el-icon>-->
<!-- {{ JSON.parse(form.disclaimerUrl)[0]?.name }}-->
<!-- </el-link>-->
<!-- </div>-->
<div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>
<div class="xzbox">
<div v-html="form.ruleContent">
<!-- <div class="indexTitle"><h3 class="leftboderTT">Competition Regulations</h3></div>-->
<!-- <div class="xzbox">-->
<!-- <div v-html="form.ruleContent">-->
</div>
<el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>
{{ JSON.parse(form.ruleUrl)[0]?.name }}
</el-link>
</div>
<!-- </div>-->
<!-- <el-link v-if="form.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(form.ruleUrl)[0]?.url)" target="_blank">-->
<!-- <el-icon :size="20">-->
<!-- <Download />-->
<!-- </el-icon>-->
<!-- {{ JSON.parse(form.ruleUrl)[0]?.name }}-->
<!-- </el-link>-->
<!-- </div>-->
<div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div>
<div v-if="form.type==1 && form.cptProjectList?.length > 0">
<match-info-project-list :list="form.cptProjectList" />
......
<template>
<el-row :gutter="14" v-if="language==0">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(0)">
<img src="@/assets/dance/btn04.png"/>
<h4>票务预订</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(1)">
<img src="@/assets/dance/btn01.png"/>
<h4>酒店预约</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(2)">
<img src="@/assets/dance/btn02.png"/>
<h4>车辆预约</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(3)">
<img src="@/assets/dance/btn03.png"/>
<h4>餐饮预订</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(4)">
<img src="@/assets/dance/btn05.png"/>
<h4>化妆预约</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(5)">
<img src="@/assets/dance/btn06.png"/>
<h4>拍照预约</h4>
</div>
</el-col>
</el-row>
<el-row :gutter="14" v-else>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn04.png"/>
<h4>Ticket Booking</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn01.png"/>
<h4>Hotel Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn02.png"/>
<h4>Vehicle Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn03.png"/>
<h4>Dining Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn05.png"/>
<h4>Makeup Appointment</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn06.png"/>
<h4>Photography Appointment</h4>
</div>
</el-col>
</el-row>
<div style="filter: opacity(1)">
<el-row :gutter="14" v-if="language==0">
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(0)">
<img src="@/assets/dance/btn04.png"/>
<h4>票务预订</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(1)">
<img src="@/assets/dance/btn01.png"/>
<h4>酒店预约</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(2)">
<img src="@/assets/dance/btn02.png"/>
<h4>车辆预约</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(3)">
<img src="@/assets/dance/btn03.png"/>
<h4>餐饮预订</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(4)">
<img src="@/assets/dance/btn05.png"/>
<h4>化妆预约</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="goBooking(5)">
<img src="@/assets/dance/btn06.png"/>
<h4>拍照预约</h4>
</div>
</el-col>
</el-row>
<el-row :gutter="14" v-else>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn04.png"/>
<h4>Ticket Booking</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn01.png"/>
<h4>Hotel Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn02.png"/>
<h4>Vehicle Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn03.png"/>
<h4>Dining Reservation</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn05.png"/>
<h4>Makeup Appointment</h4>
</div>
</el-col>
<el-col :lg="4" :md="8" :sm="12" :xs="12">
<div class="funcBtn" @click="building">
<img src="@/assets/dance/btn06.png"/>
<h4>Photography Appointment</h4>
</div>
</el-col>
</el-row>
</div>
</template>
<script setup>
......
......@@ -58,7 +58,7 @@
{{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }}
</el-link>
<img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;"
:src="scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value">
:src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value)">
<span v-else>{{ scope.row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span>
</template>
</el-table-column>
......
......@@ -3,7 +3,7 @@
<div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)">
<el-row :gutter="15">
<el-col :lg="7" :md="24" :xl="6">
<img class="mauto w100" :src="fillImgUrl(n.coverUrl)">
<img class="mauto w100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)">
</el-col>
<el-col :lg="9" :md="12" :xl="12">
<div class="info">
......@@ -12,9 +12,9 @@
<p class="ppl"><label>{{ language==0?'地&ensp;&ensp;&ensp;&ensp;点':'Location' }}</label>{{ n.address }}</p>
<p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}</label>{{ n.signEndTime?.slice(0,10) }}</p>
<p class="ppl"><label>{{ language==0?'联系人员':'Contact Person' }}</label>{{ n.contactPerson }}</p>
<p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联系人员':'Contact Person' }}</label>{{ n.contactPerson }}</p>
<p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}</label>{{ n.contactTelno }}</p>
<p class="ppl"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}</label>{{ n.contactEmail }}</p>
<p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}</label>{{ n.contactEmail }}</p>
</div>
</el-col>
......@@ -180,4 +180,5 @@ function goDetail(id) {
@media (max-width: 1450px) {
.block{width: 44px;font-size: 20px;}
}
.coverLimitHeight{max-height: 165px;object-fit: cover;}
</style>
......
......@@ -58,7 +58,7 @@
<div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)">
<el-row :gutter="15">
<el-col :lg="7" :md="24" :xl="6">
<img class="mauto w100" :src="fillImgUrl(n.coverUrl)">
<img class="mauto w100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)">
</el-col>
<el-col :lg="9" :md="12" :xl="12">
<div class="info">
......@@ -307,12 +307,12 @@ function goDetail(id) {
li {
margin: 0 0 10px;
display: flex;padding-bottom: 15px;
align-items: center;
& > label {
display: flex;
align-items: flex-start;
& > label {padding: 8px 0;
width:5em;text-align: right;font-weight: normal;
}
.el-radio-button{width: 90px;text-align: center;}
.el-radio-button{min-width: 90px;text-align: center;}
&:last-child{border-bottom: none;margin: 0}
}
}
......@@ -333,4 +333,5 @@ function goDetail(id) {
.el-button--primary:hover {
background: var(--el-color-primary)
}
.coverLimitHeight{max-height: 165px;object-fit: cover;}
</style>
......
......@@ -85,6 +85,14 @@ function sendsmsMsg() {
}
return
}
if (form.value.account.indexOf('@') == -1) {
if (language.value == 0) {
ElMessage.error('请填写正确的邮箱')
} else {
ElMessage.error('Please fill in the correct email')
}
return
}
if (counting.value) {
return
} else {
......@@ -147,6 +155,7 @@ const next = () => {
</script>
<style scoped lang="scss">
.d-form{min-height: 50vh}
.el-input-group__append button.el-button, .el-input-group__append button.el-button:hover {
color: var(--el-color-primary);
background: #efefff;
......
......@@ -45,133 +45,38 @@
</el-row>
</el-card>
<el-card class="mt20 mb20">
<div class="leftboderTT">2023.07.22 赛事成绩</div>
<h3 class="text-center">08:00-09:30 拉丁舞第一组比赛结果</h3>
<div class="tablebody">
<table class="table table-striped">
<thead>
<tr class="bg-lineg">
<td>编号</td>
<td>姓名</td>
<td>国家</td>
<td>分值</td>
<td>排名</td>
<td>结果</td>
</tr>
</thead>
<tbody>
<tr>
<td>3456</td>
<td>王文文</td>
<td>中国</td>
<td class="text-primary">198.00</td>
<td>1</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>4567</td>
<td>张梓涵</td>
<td>中国</td>
<td class="text-primary">191.00</td>
<td>2</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>3456</td>
<td>Sdehj Lijukl</td>
<td>乌兹别克斯坦</td>
<td class="text-primary">190.00</td>
<td>3</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>1255</td>
<td>许昌度</td>
<td>中国香港</td>
<td class="text-primary">188.00</td>
<td>4</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>1299</td>
<td>Alice Luyr</td>
<td>泰国</td>
<td class="text-primary">180.00</td>
<td>5</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>1652</td>
<td>吴遇安</td>
<td>中国香港</td>
<td class="text-primary">188.00</td>
<td>6</td>
<td>淘汰</td>
</tr>
</tbody>
</table>
<el-card class="mt20 mb20" v-for="(n,index) in cjList">
<div class="leftboderTT">{{ n.title }}</div>
<div v-for="(m,jndex) in n.list">
<h3 class="text-center">{{ m.title }}</h3>
<div class="tablebody">
<table class="table table-striped">
<thead>
<tr class="bg-lineg">
<td>{{ language==0?'编号':'RANK' }}</td>
<td>{{ language==0?'团体名称':'COUPLE' }}</td>
<td>{{ language==0?'国家':'COUNTRY' }}</td>
<td class="text-center">START #</td>
<td class="text-center" v-if="index>0">BASE</td>
<td class="text-center" v-if="index>0">POINTS</td>
</tr>
</thead>
<tbody>
<tr v-for="(l,kndex) in m.rows">
<td>{{ l.RANK }}</td>
<td>{{ l.COUPLE}}</td>
<td>{{ l.COUNTRY }}</td>
<td class="text-primary text-center">{{ l.START }}</td>
<td class="text-center" v-if="index>0">{{l.BASE}}</td>
<td v-if="index>0" class="text-primary text-center">{{ l.POINTS }}</td>
</tr>
</tbody>
</table>
</div>
</div>
<br><br>
<div class="leftboderTT">2023.07.22 赛事成绩</div>
<h3 class="text-center">08:00-09:30 拉丁舞第一组比赛结果</h3>
<div class="tablebody">
<table class="table table-striped">
<tr class="bg-lineg">
<td>编号</td>
<td>姓名</td>
<td>国家</td>
<td>分值</td>
<td>排名</td>
<td>结果</td>
</tr>
<tr>
<td>3456</td>
<td>陈莎莎</td>
<td>中国</td>
<td class="text-primary">198.00</td>
<td>1</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>3001</td>
<td>赵倩</td>
<td>中国</td>
<td class="text-primary">196.00</td>
<td>2</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>1005</td>
<td>张楚楚</td>
<td>中国</td>
<td class="text-primary">190.00</td>
<td>3</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>1544</td>
<td>刘意晚</td>
<td>中国</td>
<td class="text-primary">186.90</td>
<td>4</td>
<td class="text-primary">晋级</td>
</tr>
<tr>
<td>1293</td>
<td>李涵</td>
<td>中国</td>
<td class="text-primary">186.90</td>
<td>5</td>
<td>淘汰</td>
</tr>
</table>
</div>
</el-card>
<br><br>
</div>
</div>
</template>
......@@ -179,9 +84,12 @@
<script setup>
import { onMounted, ref, watch } from 'vue'
import { getPlanYears, getYearZtxPlanList } from '@/apiPc/train'
import {cjList} from '@/assets/js/data'
import { ArrowRight } from '@element-plus/icons-vue'
import { dayjs } from 'element-plus'
import { szToHz } from '@/utils/ruoyi'
import {useStorage} from "@vueuse/core/index";
const language = useStorage('language', 0)
const years = ref([])
const currYear = ref(null)
......
<template>
<div>
<div class="box">
<div class="mt20" />
<el-card>
<el-row :gutter="20">
<el-col :sm="24" :lg="12">
<!--赛事日历-->
<el-calendar v-model="calendarValue">
<template #date-cell="data">
<div v-if="data.data.day.slice(8,10)==22" class="primaryDate date">22</div>
<div v-else class="date">
{{ data.data.day.slice(8,10) }}
</div>
</template>
</el-calendar>
</el-col>
<el-col :sm="24" :lg="12">
<div class="calendarList">
<ul>
<li>
<label>08:00~10:30</label> Wuxi Open
</li>
<li>
<label>11:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group A
</li>
<li>
<label>12:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group B
</li>
<li>
<label>13:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group C
</li>
<li>
<label>15:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group D
</li>
</ul>
</div>
</el-col>
</el-row>
</el-card>
<el-card class="mt20 mb20">
<div class="leftboderTT">2023.07.22 Result</div>
<h3 class="text-center">08:00-09:30 The results of the group A of Latin dance competitions</h3>
<div class="tablebody">
<table class="table table-striped">
<thead>
<tr class="bg-lineg">
<td>Number</td>
<td>Name</td>
<td>Country</td>
<td>Score</td>
<td>Ranking</td>
<td>Final result</td>
</tr>
</thead>
<tbody>
<tr>
<td>3456</td>
<td>Wang wenwen</td>
<td>China</td>
<td class="text-primary">198.00</td>
<td>1</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>4567</td>
<td>Zhang</td>
<td>China</td>
<td class="text-primary">191.00</td>
<td>2</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>3456</td>
<td>Sdehj Lijukl</td>
<td>Uzbekistan</td>
<td class="text-primary">190.00</td>
<td>3</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>1255</td>
<td>XuDu</td>
<td>Hong Kong, China</td>
<td class="text-primary">188.00</td>
<td>4</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>1299</td>
<td>Alice Luyr</td>
<td>Thailand</td>
<td class="text-primary">180.00</td>
<td>5</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>1652</td>
<td>Wu Yuan</td>
<td>Hong Kong, China</td>
<td class="text-primary">188.00</td>
<td>6</td>
<td>Out</td>
</tr>
</tbody>
</table>
</div>
<br><br>
<div class="leftboderTT">2023.07.22 Result</div>
<h3 class="text-center">08:00-09:30 The results of the group A of Latin dance competitions</h3>
<div class="tablebody">
<table class="table table-striped">
<tr class="bg-lineg">
<td>Number</td>
<td>Name</td>
<td>Country</td>
<td>Score</td>
<td>Ranking</td>
<td>Final result</td>
</tr>
<tr>
<td>3456</td>
<td>Chen Sha</td>
<td>China</td>
<td class="text-primary">198.00</td>
<td>1</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>3001</td>
<td>ZhaoQian</td>
<td>China</td>
<td class="text-primary">196.00</td>
<td>2</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>1005</td>
<td>ZhangChuChu</td>
<td>China</td>
<td class="text-primary">190.00</td>
<td>3</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>1544</td>
<td>LiuYiwan</td>
<td>China</td>
<td class="text-primary">186.90</td>
<td>4</td>
<td class="text-primary">advancement</td>
</tr>
<tr>
<td>1293</td>
<td>LiHan</td>
<td>China</td>
<td class="text-primary">186.90</td>
<td>5</td>
<td>Out</td>
</tr>
</table>
</div>
</el-card>
</div>
</div>
</template>
<script setup>
import { onMounted, ref, watch } from 'vue'
import { getPlanYears, getYearZtxPlanList } from '@/apiPc/train'
import { ArrowRight } from '@element-plus/icons-vue'
import { dayjs } from 'element-plus'
import { szToHz } from '@/utils/ruoyi'
const years = ref([])
const currYear = ref(null)
const ztxPlanList = ref([])
const planList = ref([])
const loading = ref(false)
const calendarValue = ref('2024-07-22')
// onMounted(() => {
// currYear.value = dayjs().year()
// getPlanYears().then(res => {
// years.value = res.data
// })
// })
//
// watch(currYear, (val) => {
// if (val) {
// getPlanList()
// }
// })
function getPlanList() {
loading.value = true
Promise.all([
getYearZtxPlanList({
year: currYear.value,
type: 1// 中跆协
}),
getYearZtxPlanList({
year: currYear.value,
type: 0 // 省
})
]).then(res => {
loading.value = false
ztxPlanList.value = res[0].rows
planList.value = res[1].rows
})
}
</script>
<style scoped lang="scss">
.leftboderTT{margin: 0 0 20px;color: var(--el-color-primary);
font-size: 20px;}
h3{background: #F5F0FF;margin: 0;padding: 10px 0;
color: var(--el-color-primary);
font-size: 18px;}
.table { border-spacing: 0;
border-collapse: collapse;
width: 100%;
max-width: 100%;
margin-bottom: 20px;
td,th{ padding: 8px; font-size: 14px;}
}
:deep(.table-striped > tbody > tr:nth-of-type(odd)){
background: #F6F9FE;
}
.el-calendar{--el-calendar-border:none;--el-calendar-cell-width:51px;text-align:center;
--el-text-color-regular:#8E8D94;
:deep(.el-calendar__header){justify-content: center;}
:deep(.el-calendar__body){border: 1px solid #F0F0F0;padding: 0}
:deep(.el-calendar-table .el-calendar-day){padding: 1px;}
:deep(.el-calendar-table td.is-selected){background: transparent;}
:deep(.el-calendar__button-group){display: none;}
}
.primaryDate{color: #fff;
background: linear-gradient(90deg, #8623FC, #453DEA);}
.date{ margin:5px auto;border-radius: 50%;width: 30px;height: 30px;line-height: 30px;
font-weight: bold;
}
.calendarList{border: 1px solid #F0F0F0;padding:12px 20px;overflow: hidden;
margin: 46px 0 0;
ul{
li{background: #F6F9FE;margin:7px 0 7px 20px;position: relative;padding: 13px;
border-radius: 10px;
font-weight: 500;
font-size: 15px;
label{color: #453DEA;margin-right: 15px;
&::before{content: '';background:#fff;left: -17px;top: 0px;bottom: 0;margin: auto;
border-radius: 50%;width: 2px;height: 2px;position: absolute;z-index: 1}
}
}
li::before{content: '';background: linear-gradient(0deg, #8623FC, #453DEA);
border-radius: 50%;width: 8px;height: 8px;position: absolute;
left: -20px;top: 0;bottom: 0;margin: auto;z-index: 1;
}
li::after{content: ''; left: -16px;width: 1px;height: 100%;
background: #EBEBEB; position: absolute;top: 20px}
li:hover{color: #fff;
background: linear-gradient(-90deg, #8623FC, #453DEA);
label{color: #fff;}
}
}
}
</style>
......@@ -76,14 +76,14 @@ export default defineConfig(({ mode, command }) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
},
'/dev-api/ztx-webSite': {
target: 'https://dance.itechtop.cn/stage-api',
// target: 'http://192.168.1.131:8083/',
// target: 'https://dance.itechtop.cn/stage-api',
target: 'http://192.168.1.96:9083/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
// target: 'http://192.168.1.131:8083',
target: 'https://dance.itechtop.cn/stage-api',
target: 'http://192.168.1.96:9083/',
// target: 'https://dance.itechtop.cn/stage-api',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, '')
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!