982b56b7 by 杨炀

no message

1 parent 99549010
......@@ -21,9 +21,12 @@
<div class="chooseForm">
<el-checkbox-group v-model="form.coachs" @change="changecoachs">
<div class="addBttn" @click="addCoach(0)">+</div>
<el-checkbox v-for="c in coachList" :label="c.id">
<el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
<p class="name">{{ c.realName }}
<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"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.xing }}{{c.ming}}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -46,9 +49,11 @@
<div class="chooseForm">
<el-checkbox-group v-model="form.leader">
<div class="addBttn" @click="addCoach(0)">+</div>
<el-checkbox v-for="c in leaderList" :label="c.id">
<el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
<p class="name">{{ c.realName }}
<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"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.xing }}{{c.ming}}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -69,9 +74,11 @@
<div class="chooseForm">
<el-checkbox-group v-model="form.doctor">
<div class="addBttn" @click="addCoach(0)">+</div>
<el-checkbox v-for="c in doctorList" :label="c.id">
<el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
<p class="name">{{ c.realName }}
<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"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.xing }}{{c.ming}}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -92,9 +99,11 @@
<div class="chooseForm">
<el-checkbox-group v-model="form.translator">
<div class="addBttn" @click="addCoach(0)">+</div>
<el-checkbox v-for="c in translatorList" :label="c.id">
<el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
<p class="name">{{ c.realName }}
<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"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.xing }}{{c.ming}}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -115,9 +124,11 @@
<div class="chooseForm">
<el-checkbox-group v-model="form.official">
<div class="addBttn" @click="addCoach(0)">+</div>
<el-checkbox v-for="c in officialList" :label="c.id">
<el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
<p class="name">{{ c.realName }}
<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"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.xing }}{{c.ming}}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -138,9 +149,11 @@
<div class="chooseForm">
<el-checkbox-group v-model="form.other">
<div class="addBttn" @click="addCoach(0)">+</div>
<el-checkbox v-for="c in otherList" :label="c.id">
<el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/>
<p class="name">{{ c.realName }}
<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"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="/img/head0.png"/>
<p class="name">{{ c.xing }}{{c.ming}}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -189,25 +202,14 @@ const data = reactive({
coachs: [],
leader: []
},
coachList: [],
leaderList: [],
otherList: [],
doctorList: [],
translatorList: [],
officialList: [],
personAllList: [],
hasChooseObj: {},
groupId: '0',
signType: '',
activeStep: 1
})
const {loading,
form,
coachList,
leaderList,
otherList,
doctorList,
translatorList,
officialList,
form,personAllList,
rules,
signType,
groupId,
......@@ -246,12 +248,7 @@ function tuandui() {
match.getMyGroupForCpt(groupId.value, matchId),
match.getChooseDoneGroupCoachs(matchId, groupId.value)
]).then((res) => {
coachList.value = res[0].data.coaches
leaderList.value = res[0].data.leaders
doctorList.value = res[0].data.teamDoctors
translatorList.value = res[0].data.translators
officialList.value = res[0].data.officials
otherList.value = res[0].data.others
personAllList.value = res[0].data
loading.value = false
if (res[1].data.id != null) {
hasChooseObj.value = res[1].data
......@@ -280,12 +277,7 @@ function geren() {
match.getMyPersonInfoWithcptId(matchId),
match.getChooseDoneSingleCoachs(matchId)
]).then((res) => {
coachList.value = res[0].data.coaches
leaderList.value = res[0].data.leaders
otherList.value = res[0].data.others
doctorList.value = res[0].data.teamDoctors
translatorList.value = res[0].data.translators
officialList.value = res[0].data.officials
personAllList.value = res[0].data
loading.value = false
if (res[1].data.id != null) {
hasChooseObj.value = res[1].data
......
......@@ -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,8 +46,8 @@
clearable/>
</div>
</div>
<div v-loading="loadingProject" id="projectbox" style="height: 60vh">
<el-checkbox-group v-model="projectIds">
<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">
<div class="l">
......@@ -158,7 +126,7 @@
</el-dialog>
<dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/>
<dialogWdsf ref="popWdsf" @submitForm="getSignInfoList"/>
<el-tour v-model="openTour" :current="tourCurrent">
<el-tour-step target="#addRef" title="第一步" description="点击选择运动员" :next-button-props="nextButtonProps"/>
<el-tour-step v-if="choosedList.length>0" target="#chooseArr" title="第二步" description="勾选报项运动员"/>
......@@ -172,10 +140,11 @@
import {ref, reactive, toRefs, watch} from 'vue'
import * as match from '@/apiPc/match'
import {getCurrentInstance, onMounted} from '@vue/runtime-core'
import dialogAddCoach from './components/addCoach'
import dialogAllSportsmanList from './components/allSportsmanList'
import dialogImport from './components/import'
import dialogExtraForm from './components/extraForm'
import DialogAddCoach from './components/addCoach'
import DialogAllSportsmanList from './components/allSportsmanList'
import DialogImport from './components/import'
import DialogExtraForm from './components/extraForm'
import DialogWdsf from './components/wdsfForm'
import {Search, Switch} from "@element-plus/icons-vue";
const {proxy} = getCurrentInstance()
const router = useRouter()
......@@ -197,6 +166,7 @@ const data = reactive({
signInfoList: [],
zuTableList: [],
choosedList: [],
athletesList: [],
choosedListBak: [],
athletesQuery: {
name: ''
......@@ -225,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)
......@@ -237,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
......@@ -301,17 +278,6 @@ function submitForm() {
}
}
}
afterRecover()
router.push({
name: 'signPreview',
query: {
matchId: matchId.value,
groupId: groupId.value
}
})
}
function afterRecover() {
if (signInfoList.value.length == 0) {
if (language.value == 0) {
ElMessage.error('请至少选择一个项目')
......@@ -320,6 +286,13 @@ function afterRecover() {
}
return
}
router.push({
name: 'signPreview',
query: {
matchId: matchId.value,
groupId: groupId.value
}
})
}
function goPrev() {
......@@ -383,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 = []
......@@ -444,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
......@@ -562,6 +513,22 @@ function switchTabletype() {
tableType.value = 0
}
}
function changeProject(e) {
console.log(projectIds.value,e)
var obj
obj = _.find(projectList.value, (c) => {
return e.indexOf(c.id)>-1
})
// if(obj.majorFlag==1){
//需要填wdsf
// const params = {
// title: '验证WDSF',
// list:choosed2Listbak.value
// }
// proxy.$refs['popWdsf'].open(_.cloneDeep(params))
// }
}
watch(choosedchoosed, (newVal, oldVal) => {
// console.log(choosedchoosed.value)
if(newVal.length>oldVal.length){
......@@ -604,7 +571,7 @@ watch(choosedchoosed, (newVal, oldVal) => {
.flexBetweenBox {
width: 100%;
height: auto;
height: auto;margin: 0;
border-bottom: 1px solid #eee;
padding: 0 10px;
}
......
......@@ -7,7 +7,12 @@
<el-form ref="dialogRef" :model="form" :rules="language==0?rules:rules_cn" label-width="120px" inline>
<el-row :gutter="30" class="mt30">
<el-col :lg="12" class="touxiang">
<el-form-item prop="picUrl" :label="language==0?'个人照片':'photo'">
<ImageUpload2
v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1"
:is-show-tip="false"
/>
</el-form-item>
<el-form-item :label="language==0?'姓氏':'surname'" prop="xing" required>
<el-input v-model="form.xing"/>
</el-form-item>
......@@ -27,13 +32,15 @@
<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-form-item :label="language==0?'出生日期':'birth'" prop="birth" required>
<el-date-picker
v-model="form.birth"
......@@ -46,38 +53,31 @@
<el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?l.label:l.enlabel"/>
</el-select>
</el-form-item>
</el-col>
<el-col :lg="12">
<el-form-item :label="language==0?'手机号码':'Phone'" prop="phone" required>
<el-input v-model="form.phone" type="number"/>
</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" 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?'详细地址':'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" 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>
<!-- </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>
<el-form-item prop="picUrl" :label="language==0?'个人照片':'photo'">
<ImageUpload2
v-model="form.picUrl" :crop-height="280" :crop-width="200" class="threeFour" :limit="1"
:is-show-tip="false"
/>
</el-form-item>
<!-- <el-form-item :label="language==0?'邮箱':'Email'" prop="email" required>-->
<!-- <el-input v-model="form.email"/>-->
......
......@@ -8,7 +8,13 @@
</el-col>
<el-col :span="20">
<div class="item"><label>{{ language==0?'团体名称':'Team Name' }}</label>{{ groupInfo.name }}</div>
<div class="item"><label>{{ language==0?'团体类型':'Group type' }}</label>{{ groupInfo.typeStr }}</div>
<div class="item"><label>{{ language==0?'团体类型':'Group type' }}</label>
<text v-if="groupInfo.type=='0'">{{language==0?'普通院校':'School'}}</text>
<text v-if="groupInfo.type=='1'">{{language==0?'专业舞蹈学校':'Professional dance school'}}</text>
<text v-if="groupInfo.type=='2'">{{language==0?'培训机构/俱乐部':'Company/Club'}}</text>
<text v-if="groupInfo.type=='3'">{{language==0?'地方协会':'Local Association'}}</text>
<text v-if="groupInfo.type=='4'">{{language==0?'国家协会':'National Association'}}</text>
</div>
</el-col>
</el-row>
</el-col>
......
<template>
<el-dialog
v-model="show" :title="title" width="500px" append-to-body :close-on-click-modal="false"
destroy-on-close
>
<el-form label-width="120">
<el-form-item required :label="item.realName" v-for="item in list">
<el-input :disabled="item.checked"
v-model="item.wdsfMin" placeholder="输入WDSF会员号"
>
<template #append>
<view @click="checkCode(item)" class="checkbb">
<el-icon v-if="item.checked" color="#13ce66" size="24"><CircleCheck /></el-icon>
<text class="text-primary" v-else>验证</text>
</view>
</template>
</el-input>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer text-center">
<el-button type="primary" @click="submitForm">保 存</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</template>
</el-dialog>
</template>
<script setup>
import { reactive, ref, toRefs, watch } from 'vue'
import { getCurrentInstance, nextTick, onMounted } from '@vue/runtime-core'
import * as match from '@/apiPc/match'
import { SuccessFilled } from '@element-plus/icons-vue'
import { ElMessage } from 'element-plus'
import { useRoute } from 'vue-router'
const { proxy } = getCurrentInstance()
const emit = defineEmits(['submitForm'])
const uploadUrl = ref('/upload/upLoadToFileServer')
const route = useRoute()
import {useStorage} from "@vueuse/core/index";
const language= useStorage('language',0)
const data = reactive({
form: {},
show: false,
list: [],
title: '',
groupId: '0'
})
const { form, show, countryList, list, title, groupId } = toRefs(data)
let extraId = 0
let personId
let matchId
const open = (params) => {
console.log(params)
show.value = true
title.value = params.title
matchId = params.matchId
list.value = params.list
init()
}
defineExpose({ open })
watch(show, (value) => {
if (!value) {
form.value = {}
list.value = []
}
})
function init() {
for (let n of list.value){
if (n.wdsfMin) {
n.checked = true
} else {
n.checked = false
}
}
}
function checkCode(item) {
if (!item.wdsfMin) {
if (language.value == 0) {
ElMessage.error('请填写WDSF卡号')
} else {
ElMessage.error('Please fill in your WDSF code')
}
return
}
match.checkWdsf({card: item.wdsfMin}).then(res => {
if(res.data.wdsfFlag=='0'){
if (language.value == 0) {
ElMessage.error('验证失败,卡号不存在')
} else {
ElMessage.error('Verification failed, card number does not exist')
}
return
}
if(res.data.wdsfFlag=='1'){
item.checked = true
}
})
}
function submitForm() {
//list.value
show.value = false
emit('submitForm')
}
function cancel() {
show.value = false
}
</script>
<style lang="scss">
.threeFour {
width: 100%;
:deep(.el-upload--picture-card) {
width: 120px;
height: 160px;
}
:deep(.el-upload-list--picture-card .el-upload-list__item) {
width: 120px;
height: 160px;
}
}
.tip {
font-size: 13px;
color: #999;
margin: 10px 0;
i {
color: red;
margin: 0 4px 0 0;
}
}
.red {
color: #f56c6c;
}
.checkbb{width: 30px;display: flex;align-items: center;text-align: center;}
</style>
......@@ -25,6 +25,28 @@
<p class="ppl"><label class="bm2">赛事级别:</label>{{ matchData.level }}</p>
<p class="ppl" v-if="matchData.address"><label class="bm3">&ensp;&ensp;&ensp;&ensp;点:</label>{{ matchData.address }}</p>
<p class="ppl" v-if="matchData.signEndTime"><label class="bm4">报名截止:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>
<div>
<el-link class="mr20" v-if="matchData.signKnowUrl" type="primary" :href="fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>
<!-- {{ JSON.parse(matchData.signKnowUrl)[0]?.name}}-->
报名须知
</el-link>
<el-link class="mr20" v-if="matchData.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>免责声明
<!-- {{ JSON.parse(matchData.disclaimerUrl)[0]?.name }}-->
</el-link>
<el-link v-if="matchData.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>赛事规程
<!-- {{ JSON.parse(matchData.ruleUrl)[0]?.name }}-->
</el-link>
</div>
</el-col>
<el-col :lg="8" :md="12" :xl="8" v-if="matchData.type=='0'">
<p class="countDownTitle"><span>报名截止倒计时</span></p>
......@@ -42,7 +64,8 @@
</van-count-down>
<div>
<a class="btn-lineG mb20" @click="choseSignType" style="display: block;text-align: center;">我要报名</a>
<a class="btn-lineG mb20" v-if="time>0" @click="choseSignType" style="display: block;text-align: center;">我要报名</a>
<div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">报名已结束</div>
</div>
</el-col>
</el-row>
......
......@@ -26,6 +26,29 @@
<p class="ppl" v-if="matchData.address"><label class="bm3">Location:</label>{{ matchData.address }}</p>
<p class="ppl" v-if="matchData.signEndTime"><label class="bm4">Registration
Deadline:</label>{{ matchData.signEndTime?.slice(0, 10) }}</p>
<div>
<el-link class="mr20" v-if="matchData.signKnowUrl" type="primary" :href="fillImgUrl(JSON.parse(matchData.signKnowUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>
<!-- {{ JSON.parse(matchData.signKnowUrl)[0]?.name}}-->
Notes
</el-link>
<el-link class="mr20" v-if="matchData.disclaimerUrl" type="primary" :href="fillImgUrl(JSON.parse(matchData.disclaimerUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>Disclaimers
<!-- {{ JSON.parse(matchData.disclaimerUrl)[0]?.name }}-->
</el-link>
<el-link v-if="matchData.ruleUrl" type="primary" :href="fillImgUrl(JSON.parse(matchData.ruleUrl)[0]?.url)" target="_blank">
<el-icon :size="20">
<Download />
</el-icon>Competition Regulations
<!-- {{ JSON.parse(matchData.ruleUrl)[0]?.name }}-->
</el-link>
</div>
</el-col>
<el-col :lg="8" :md="12" :xl="8" v-if="matchData.type=='0'">
<p class="countDownTitle"><span>Registration deadline countdown</span></p>
......@@ -43,9 +66,10 @@
</van-count-down>
<div class="flexCenter">
<el-button ref="RegisterRef" type="primary" round size="large" class="btn-lineG mb20 mt30 w100"
<el-button v-if="time>0" ref="RegisterRef" type="primary" round size="large" class="btn-lineG mb20 mt30 w100"
@click="choseSignType" style="font-size: 16px">Register
</el-button>
<div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto text-center">Registration has ended</div>
</div>
</el-col>
</el-row>
......
......@@ -7,30 +7,30 @@
<el-card>
<ul>
<li>
<label>类型</label>
<label>{{ language==0?'类型':'Type' }}</label>
<el-radio-group v-model="query.type" @change="getList">
<el-radio-button value="-1">全部</el-radio-button>
<el-radio-button value="0">联赛</el-radio-button>
<el-radio-button value="1">分站赛</el-radio-button>
<el-radio-button value="-1">{{ language==0?'全部':'All' }}</el-radio-button>
<el-radio-button value="0">{{ language==0?'联赛':'League' }}</el-radio-button>
<el-radio-button value="1">{{ language==0?'分站赛':'Station race' }}</el-radio-button>
</el-radio-group>
</li>
<li>
<label>状态</label>
<label>{{ language==0?'状态':'Status' }}</label>
<el-radio-group
v-model="query.progressStatusCode"
@change="getList"
>
<el-radio-button value="-1">全部</el-radio-button>
<el-radio-button value="2">报名中</el-radio-button>
<el-radio-button value="4">赛事进行中</el-radio-button>
<el-radio-button value="3">即将开始</el-radio-button>
<el-radio-button value="5">已结束</el-radio-button>
<el-radio-button value="-1">{{ language==0?'全部':'All' }}</el-radio-button>
<el-radio-button value="2">{{ language==0?'报名中':'Registration in progress' }}</el-radio-button>
<el-radio-button value="4">{{ language==0?'赛事进行中':'In progress' }}</el-radio-button>
<el-radio-button value="3">{{ language==0?'即将开始':'Begin in a minute' }}</el-radio-button>
<el-radio-button value="5">{{ language==0?'已结束':'Ended' }}</el-radio-button>
</el-radio-group>
</li>
<li>
<label>时间</label>
<label>{{ language==0?'时间':'Date' }}</label>
<el-radio-group v-model="query.month" @change="getList">
<el-radio-button value="">全部</el-radio-button>
<el-radio-button value="">{{ language==0?'全部':'All' }}</el-radio-button>
<el-radio-button v-for="m in monthList" :key="m" :value="m">{{m}}</el-radio-button>
</el-radio-group>
</li>
......@@ -41,15 +41,15 @@
</div>
<div class="box">
<div class="listTitle">
<h3>赛事列表</h3>
<h3>{{ language==0?'赛事列表':'List' }}</h3>
<div class="search">
<el-input
v-model="query.name"
placeholder="请输入赛事名称查询"
:placeholder="language==0?'请输入赛事名称查询':'Search'"
class="input-with-select" @change="getList"
>
<template #append>
<el-button type="success" round @click="getList">查询</el-button>
<el-button type="success" round @click="getList">{{ language==0?'查询':'Search' }}</el-button>
</template>
</el-input>
</div>
......@@ -64,12 +64,12 @@
<div class="info">
<h3>{{ n.name }}</h3>
<p class="ppl"><label>{{ language==0?'比赛时间':'Playing Time' }}:</label>{{n.beginTime?.slice(0,10)}} ~ {{ n.endTime?.slice(0,10) }}</p>
<p class="ppl"><label>{{ language==0?'地&ensp;&ensp;&ensp;&ensp;点':'Location' }}:</label>{{ n.address }}</p>
<p class="ppl" v-if="n.address"><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>
......@@ -94,7 +94,7 @@
<div class="text-center mt30">
<a class="btn-lineG mb20 mauto" v-if="n.time>0" style="display: block;">
{{ language==0?'我要报名':'Register' }}</a>
<div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto">报名已结束</div>
<div v-else style="opacity: 0.5;" class="btn-lineG mb20 mauto">{{ language==0?'报名已结束':'Registration has ended' }}</div>
</div>
</el-col>
</el-row>
......
......@@ -76,14 +76,14 @@ export default defineConfig(({ mode, command }) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-match/, '')
},
'/dev-api/ztx-webSite': {
// target: 'http://123.60.96.243:1897/stage-api/',
target: 'http://192.168.1.131:8083/',
target: 'https://dance.itechtop.cn/stage-api',
// target: 'http://192.168.1.131:8083/',
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
target: 'http://192.168.1.131:8083',
// target: 'http://localhost:8787',
// target: 'http://192.168.1.131:8083',
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!