b3d87286 by yyx

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

2 parents 667164b6 a18c214c
......@@ -1078,7 +1078,8 @@ img{display: block;}
text-decoration: underline;}
}
.panel-title{font-size: 16px;line-height: 50px;margin: 0;
color: var(--el-color-primary)}
color: var(--el-color-primary)
}
.panel-body{padding: 20px;}
&.border{border: 1px solid #EEEEEE;}
}
......
......@@ -12,12 +12,13 @@
>
<el-menu-item index="/">{{ language==0?'首页':'HOME' }}</el-menu-item>
<el-menu-item index="/news">{{ language==0?'新闻资讯':'NEWS' }}</el-menu-item>
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'REGISTRATION' }}</el-menu-item>
<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">-->
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</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>-->
......@@ -30,12 +31,13 @@
>
<el-menu-item index="/">{{ language==0?'首页':'HOME' }}</el-menu-item>
<el-menu-item index="/news">{{ language==0?'新闻资讯':'NEWS' }}</el-menu-item>
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<el-menu-item index="/guide">{{ language==0?'参赛指南':'GUIDELINE' }}</el-menu-item>
<el-menu-item index="/match/list">{{ language==0?'大赛报名':'REGISTRATION' }}</el-menu-item>
<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">-->
<el-menu-item index="/notice">{{ language==0?'通知公告':'NOTICEBOARD' }}</el-menu-item>
<!-- <el-sub-menu index="/about">-->
<!-- <template #title>{{ language==0?'关于我们':'CONTACT & MORE' }}</template>-->
<!-- <el-menu-item index="/about/wuDaoEn">{{ language==0?'舞蹈节':'About Us' }}</el-menu-item>-->
<!-- <el-menu-item index="/about/regulations" v-if="language==1">Rules & Regulations</el-menu-item>-->
......
......@@ -24,7 +24,8 @@
</el-form-item>
<el-form-item :label="language==0?'会员角色':'Role'">
<el-select v-model="labelArr" multiple style="width: 100px;">
<el-option v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/>
<el-option v-if="group.type=='4'" v-for="l in labels" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/>
<el-option v-else v-for="l in labelsForType4" :key="l.value" :value="l.value" :label="language==0?(l.label):(l.enlabel)"/>
</el-select>
</el-form-item>
<el-form-item :label="language==0?'WDSF':'WDSF'">
......@@ -73,6 +74,8 @@ import useUserStore from "@/store/modules/user";
import {useStorage} from "@vueuse/core/index";
import AddWdsf from "@/viewsPc/match/components/addWdsf";
const language= useStorage('language',0)
const group = useUserStore().group || {}
const tableData = ref([])
const labelArr = ref([])
const labels = ref([
......@@ -84,6 +87,15 @@ const labels = ref([
{value: '6', label: '官员', enlabel: 'Official'},
{value: '3', label: '其他', enlabel: 'Other'}
])
const labelsForType4 = ref([
{value: '0', label: '运动员', enlabel: 'Sportsman'},
{value: '1', label: '教练', enlabel: 'Coach'},
{value: '2', label: '领队', enlabel: 'Head of team'},
{value: '4', label: '管理', enlabel: 'Manager'},
{value: '5', label: '翻译', enlabel: 'Interpreter'},
{value: '6', label: '官员', enlabel: 'Official'},
{value: '3', label: '其他', enlabel: 'Other'}
])
const certificates = ref([
{
value: '0',
......@@ -102,7 +114,6 @@ const query = ref({
pageNum: 1, pageSize: 10
})
const total = ref(0)
const group = useUserStore().group || {}
const props = defineProps({
user: {
type: Object,
......
......@@ -4,7 +4,7 @@
<div class="box ph-30">
<el-card v-if="user">
<single-sign-step v-if="user.utype=='1'" activeStep="1" :language="language"/>
<team-sign-step v-if="user.utype=='2'" activeStep="2" :language="language"/>
<team-sign-step v-if="user.utype=='2'" :activeStep="1" :language="language"/>
</el-card>
<el-card class="mt20">
......@@ -73,10 +73,14 @@
<el-col :lg="12">
<el-card class="mt20" v-loading="loading">
<template #header>
<div class="card-header">
<div class="card-header" v-if="isNational">
<img src="@/assets/sign/tag03.png"/>
{{ language==0?'队医':'Team doctor' }}
</div>
<div class="card-header" v-else>
<img src="@/assets/sign/gl.png"/>
管理
</div>
</template>
<div class="chooseForm">
<el-checkbox-group v-model="form.doctor">
......@@ -198,7 +202,7 @@ import DialogAddCoach_En from './components/addCoach_en'
const {proxy} = getCurrentInstance()
const router = useRouter()
const route = useRoute()
import {ElMessage} from 'element-plus'
import {ElMessage, ElMessageBox} from 'element-plus'
import {useRoute, useRouter} from 'vue-router'
import useUserStore from "@/store/modules/user";
import {useStorage} from "@vueuse/core/index";
......@@ -242,7 +246,7 @@ onMounted(() => {
})
function getList() {
console.log(user.utype)
// console.log(user.utype)
if (user.utype == '1') {
geren()
}
......@@ -252,7 +256,7 @@ function getList() {
}
function changecoachs(e) {
console.log(e)
// console.log(e)
}
// 获取报名时是否已选过
......@@ -309,11 +313,31 @@ function geren() {
}
function goNext() {
console.log(form.value)
console.log(personAllList.value.teamDoctors,form.value)
// if ((form.value.coachs.length < 1) && (form.value.leader.length < 1)) {
// ElMessage.warning(language.value==0?'至少选一个教练或领队':'Coach/Team Leader, select at least one')
// return
// }
if((personAllList.value.coaches.length>=0 && form.value.coachs?.toString().length == 0)&&
(personAllList.value.teamDoctors.length>=0 && form.value.doctor?.toString().length == 0)&&
(personAllList.value.translators.length>=0 && form.value.translator?.toString().length == 0)&&
(personAllList.value.others.length>=0 && form.value.other?.toString().length == 0)&&
(personAllList.value.officials.length>=0 && form.value.official?.toString().length == 0)&&
(personAllList.value.leaders.length>=0 && form.value.leader?.toString().length == 0)
){
ElMessageBox.confirm(language.value==0?'您已添加随行人员,但尚未选中,是否进行下一步?':'You have added a follower, but have not selected, do you want to continue?', {
confirmButtonText: language.value==0?'下一步':'Next',
cancelButtonText: language.value==0?'取消':'Cancel',
type: 'warning'
}).then(()=>{
next()
})
return
}
next()
}
function next() {
var obj = {
cptId: matchId,
coachIds: form.value.coachs?.toString() || '',
......@@ -332,7 +356,6 @@ function goNext() {
if (user.utype == '1') {
// 个人报名
match.singleSignSavePerson(obj).then(res => {
console.log(res)
router.push({
name: 'chooseProject',
query: {
......@@ -357,11 +380,8 @@ function goNext() {
})
}
console.log(form.value)
}
function goPrev() {
console.log(languageSource.value)
if(languageSource.value=='100'){
router.push({
name: `teamSignCn`,
......
......@@ -49,7 +49,7 @@
<el-col :lg="18">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">可参与报名的项目</h3>
<h3 class="panel-title" v-if="language==0">可参与报名的项目 <span>已报项目在下方查看</span></h3>
<h3 class="panel-title" v-else>Search Events</h3>
<div class="fr">
<el-input size="small" v-model="projectQuery.name" :prefix-icon="Search" @change="getProjectList"
......@@ -62,7 +62,7 @@
<el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id" :disabled="cantBao.flag">
<div class="flexBetween w100">
<div class="l">
{{ c.code }}:{{ c.name }}
{{ c.code }}:{{ c.name }} {{c.danceType}}
<div>{{ c.danceTypeDetailStr }}</div>
</div>
<div class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ c.serviceFee }}</div>
......@@ -796,4 +796,8 @@ function switchTabletype() {
}
.mName{color: #000;font-size: 15px;display: inline-block;max-width: 6.5em;text-overflow: ellipsis;
overflow: hidden;}
.panel h3.panel-title{
span{ color: #999;font-size: 12px;}
}
</style>
......
......@@ -32,10 +32,10 @@
{{c.representing}}
{{c.ageGroup}}
{{c.division}}
{{c.division}}<span v-if="c.age"> -{{ c.age }}{{language==0 ? '岁' : 'years'}}</span>
<!-- @click="editPerson(c.id)"-->
<span v-if="c.disabled" class="text-danger po-right">需补全信息</span>
<!-- -{{ c.age }}-->
</div>
</el-option>
<!-- <template #tag>-->
......@@ -78,7 +78,9 @@
<el-col :lg="14">
<div class="panel border">
<div class="panel-header ">
<h3 class="panel-title" v-if="language==0">可参与报名的项目</h3>
<h3 class="panel-title" v-if="language==0">可参与报名的项目
<span>已报项目在下方查看</span>
</h3>
<h3 class="panel-title" v-else>Search Events</h3>
<div class="fr">
<el-input size="small" v-model="projectQuery.name" :prefix-icon="Search"
......@@ -91,7 +93,7 @@
<el-checkbox class="flexBetweenBox" v-for="c in projectList" :value="c.id" :key="c.id">
<div class="flexBetween w100">
<div class="l">
{{ c.code }}:{{ c.name }}
{{ c.code }}:{{ c.name }}({{c.danceType}})
<div>{{ c.danceTypeDetailStr }}</div>
</div>
<div class="text-primary">{{ language == 0 ? '¥' : '€' }}{{ c.serviceFee }}</div>
......@@ -868,4 +870,7 @@ watch(choosedchoosed, (newVal, oldVal) => {
}
:deep(.el-select__tags-text){color: #000;font-size: 14px;}
.po-right{position: absolute;right: 0;}
.panel h3.panel-title{
span{ color: #999;font-size: 13px;}
}
</style>
......
......@@ -164,7 +164,7 @@ const data = reactive({
{value: '0', label: '运动员', enlabel: 'Sportsman'},
{value: '1', label: '教练', enlabel: 'Coach'},
{value: '2', label: '领队', enlabel: 'Head Of Team'},
{value: '4', label: '队医', enlabel: 'Team doctor'},
{value: '4', label: '管理', enlabel: 'Team doctor'},
{value: '5', label: '翻译', enlabel: 'Interpreter'},
{value: '6', label: '官员', enlabel: 'Official'},
{value: '3', label: '其他', enlabel: 'Other'}
......
......@@ -4,9 +4,9 @@
<el-button type="primary" @click="addMember">
{{ language == 0 ? '添加选手' : 'Add Player' }}
</el-button>
<el-button type="primary" plain @click="importSportman" v-if="!isNational">
{{language == 0 ? '导入选手' : 'Import Player'}}
</el-button>
<!-- <el-button type="primary" plain @click="importSportman" v-if="!isNational">-->
<!-- {{language == 0 ? '导入选手' : 'Import Player'}}-->
<!-- </el-button>-->
</div>
<div class="from-Card">
<el-form :inline="true" :model="query" class="mt20" label-width="60" size="small">
......
......@@ -25,7 +25,8 @@
</el-col>
<el-col :lg="8">
<div class="item">
<label>{{ language == 0 ? '队医' : 'TEAM DOCTOR' }}</label>
<label v-if="group.type=='4'">{{ language == 0 ? '队医' : 'TEAM DOCTOR' }}</label>
<label v-else>{{ language == 0 ? '管理' : 'MANAGER' }}</label>
<span class="mr5" v-for="c in names.teamDoctorList">
{{ c.realName }},
</span>
......
......@@ -27,7 +27,12 @@
<span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'Athletes' }}</span>
<span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'Coach' }}</span>
<span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'Head of team' }}</span>
<span v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'Team Doctor' }}</span>
<span v-if="item==='4'&&group.type!='4'" class="ml5">
{{ language == 0 ? '管理' : 'Manager' }}
</span>
<span v-if="item==='4'&&group.type=='4'" class="ml5">
{{ language == 0 ? '队医' : 'Team Doctor' }}
</span>
<span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'Interpreter' }}</span>
<span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'Official' }}</span>
<span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'Other' }}</span>
......@@ -61,7 +66,8 @@
<script setup>
import {ref} from "vue";
import {useStorage} from "@vueuse/core/index";
import useUserStore from "@/store/modules/user";
const group = useUserStore().group || {}
const language = useStorage('language', 0)
const emit = defineEmits(['edit', 'delete'])
let title = ''
......
......@@ -4,22 +4,22 @@
</div>
<el-table :data="list" :sum-text="sumText" border style="width: 100%" v-loading="loading">
<el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center"/>
<el-table-column v-if="!isNational" :label="language==0?'姓名':'Real Name'" prop="personInfo.realName" min-width="100"/>
<el-table-column v-if="!isNational" :label="language==0?'姓名':'Real Name'" prop="personInfo.realName" align="center" min-width="100"/>
<el-table-column v-if="isNational" :label="language==0?'姓氏':'Surname'" prop="personInfo.xing" min-width="100"/>
<el-table-column v-if="isNational" :label="language==0?'名':'Name'" prop="personInfo.ming" min-width="100"/>
<el-table-column :label="language==0?'所属国家/地区':'Country'" min-width="120">
<el-table-column :label="language==0?'所属国家/地区':'Country'" min-width="120" header-align="center" align="center">
<template #default="scope">
<span v-if="scope.row.personInfo.countryName">{{scope.row.personInfo.countryName}}</span>
<span v-if="scope.row.personInfo.representing">{{scope.row.personInfo.representing}}</span>
</template>
</el-table-column>
<el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr"/>
<el-table-column v-if="!isNational" :label="language==0?'证件类型':'ID Type'" :width="language==0?'':'140'" prop="personInfo.idcTypeStr"/>
<el-table-column v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200"/>
<el-table-column v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" prop="personInfo.wdsfMin" width="200"/>
<el-table-column v-if="!isNational" :label="language==0?'出生日期':'Date of Birth'" prop="personInfo.birth" width="130"/>
<el-table-column v-if="isNational" :label="language==0?'年龄组':'Age group'" prop="personInfo.ageGroup" width="110"/>
<el-table-column v-if="isNational" :label="language==0?'舞种':'Division'" prop="personInfo.division" width="110"/>
<el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr" align="center"/>
<el-table-column v-if="!isNational" :label="language==0?'证件类型':'ID Type'" align="center" :width="language==0?'':'140'" prop="personInfo.idcTypeStr" header-align="center"/>
<el-table-column v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200" header-align="center"/>
<el-table-column v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" prop="personInfo.wdsfMin" width="200" header-align="center"/>
<el-table-column v-if="!isNational" :label="language==0?'出生日期':'Date of Birth'" align="center" prop="personInfo.birth" width="130" header-align="center"/>
<el-table-column v-if="isNational" :label="language==0?'年龄组':'Age group'" prop="personInfo.ageGroup" width="110" header-align="center"/>
<el-table-column v-if="isNational" :label="language==0?'舞种':'Division'" prop="personInfo.division" width="110" header-align="center"/>
<!-- <el-table-column :label="language==0?'会员角色':'Role'" width="150">-->
<!-- <template #default="scope">-->
<!-- <div class="esp">-->
......@@ -36,7 +36,7 @@
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>-->
<el-table-column :label="language==0?'报项':'REGISTERED COMPETITION'" min-width="300" :fixed="hasAction?false:'right'">
<el-table-column :label="language==0?'报项':'REGISTERED COMPETITION'" min-width="300" header-align="center" :fixed="hasAction?false:'right'">
<template #default="props">
<ol>
<li v-for="s in props.row.signInfo">
......@@ -51,7 +51,7 @@
</ol>
</template>
</el-table-column>
<el-table-column :fixed="hasAction?false:'right'" min-width="100" :label="language==0?'保险费':'Premium'" prop="insuranceFee">
<el-table-column :fixed="hasAction?false:'right'" min-width="100" align="center" :label="language==0?'保险费':'Premium'" prop="insuranceFee">
<template #default="scope">
<span class="text-primary">{{ language==0?'¥':'€' }}{{ scope.row.insuranceFee }}</span>
</template>
......
......@@ -2,22 +2,35 @@
<div class="mt20"></div>
<el-table :data="list" border style="width: 100%">
<el-table-column :label="language==0?'序号':'Index'" type="index" width="70" align="center"/>
<el-table-column :label="language==0?'组别代码':'EVENT code'" width="120px" prop="project.code"/>
<el-table-column :label="language==0?'组别':'EVENT'" prop="project.name"/>
<el-table-column :label="language==0?'舞种':'DISCIPLINE'" width="120px" prop="project.danceType"/>
<el-table-column :label="language==0?'参赛说明':'Participation Instructions'" min-width="160px">
<el-table-column :label="language==0?'组别代码':'EVENT code'" width="120px" align="center" prop="project.code"/>
<el-table-column :label="language==0?'组别':'EVENT'" min-width="150px" header-align="center" prop="project.name">
<template #default="scope">
<div v-html="scope.row.project.remarks"></div>
<el-tooltip effect="dark" :content="scope.row.project.name">
<div class="esp">{{scope.row.project.name}}</div>
</el-tooltip>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛运动员':'PARTICIPATING ATHLETES'" min-width="140px">
<el-table-column :label="language==0?'舞种':'DISCIPLINE'" align="center" width="120px" prop="project.danceType"/>
<el-table-column :label="language==0?'参赛说明':'Participation Instructions'" header-align="center" min-width="160px">
<template #default="scope">
<div>
<el-tooltip effect="dark" :content="scope.row.project.remarks">
<div class="esp" v-html="scope.row.project.remarks"></div>
</el-tooltip>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛运动员':'PARTICIPATING ATHLETES'" header-align="center" min-width="140px">
<template #default="scope">
<el-tooltip effect="dark">
<template #content>
<span v-for="s in scope.row.athletes">{{ s.name }},</span>
</template>
<div class="esp">
<span v-for="s in scope.row.athletes">{{ s.name }},</span>
</div>
</el-tooltip>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛服务费':'REGISTRATION FEE'" width="150px" prop="">
<el-table-column :label="language==0?'参赛服务费':'REGISTRATION FEE'" align="center" width="150px" prop="">
<template #default="scope">
<div class="text-primary">
{{ language==0?'¥':'€' }}{{ scope.row.project.serviceFee }}
......
......@@ -43,12 +43,12 @@
<el-form-item :label="language==0?'邮箱':'Email'" required prop="contactEmail">
<el-input v-model="form.contactEmail" type="email" :placeholder="language==0?'请输入内容':''"/>
</el-form-item>
<!-- <el-form-item :label="language==0?'专业/业余':'Professional/Amateur'" required prop="majorFlag">-->
<!-- <el-select v-model="form.majorFlag">-->
<!-- <el-option :label="language==0?'专业':'Professional'" value="1" />-->
<!-- <el-option :label="language==0?'业余':'Amateur'" value="0" />-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<el-form-item :label="language==0?'专业/业余':'Professional/Amateur'" required prop="majorFlag">
<el-select v-model="form.majorFlag">
<el-option :label="language==0?'专业':'Professional'" value="1" />
<el-option :label="language==0?'业余':'Amateur'" value="0" />
</el-select>
</el-form-item>
<el-form-item :label="language==0?'团体类型':'Group type'" prop="type">
<el-select :disabled="form.type=='4'" v-model="form.type" :placeholder="typeOptions[language].selectPlaceholder" style="width: 100%;">
<el-option v-for="(o,index) in typeOptions[language].options" :label="o.text"
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!