4d8b424f by 杨炀

no message

1 parent abf5e3a4
......@@ -55,13 +55,26 @@ watch(language,(val)=>{
}
.box {
width: 90%;
max-width: 1600px;
width: 1600px;
margin: auto;
}
@media screen and (max-width: 1650px) {
.box {
width: 1200px;
}
}
@media screen and (max-width: 1200px) {
.box {
width: 860px;
}
}
@media screen and (max-width: 900px) {
.box {
width: 750px;
}
}
.app-main {
.app-main {min-height: 75vh;
background: #F4F4F4;
}
......
......@@ -1406,3 +1406,22 @@ img{display: block;}
:deep(.el-checkbox__input){position: absolute;right: 0;top: 0;}
.name{text-align: center;}
}
//动画
@keyframes bounce-down {
25% {
-webkit-transform: translateY(-5px);
transform: translateY(-5px)
}
50%,to {
-webkit-transform: translateY(0);
transform: translateY(0)
}
75% {
-webkit-transform: translateY(5px);
transform: translateY(5px)
}
}
......
......@@ -248,7 +248,7 @@ function listToString(list, separator) {
}
.upload-file-list .el-upload-list__item {
border: 1px solid #e4e7ed;
line-height: 2;
line-height: 2;padding: 0 10px;
margin-bottom: 10px;
position: relative;
}
......
......@@ -78,7 +78,6 @@ import {ElMessage, ElMessageBox} from 'element-plus'
import _ from 'lodash'
import useUserStore from "@/store/modules/user";
import cache from "@/plugins/cache";
import {recoverMySignFromCancel} from "@/apiPc/match";
const language = ref(cache.local.get('language') || 0)
const router = useRouter()
const {proxy} = getCurrentInstance()
......
......@@ -52,7 +52,7 @@
<!-- 添加人员-->
<addCoach ref="dialogAddCoach" @submitForm="getList"/>
<Import ref="dialogImportProps" @uploadSuccess="getList"/>
<Import ref="dialogImportProps" @submitForm="getList"/>
</template>
<script setup>
......
......@@ -23,6 +23,12 @@
<el-form-item :label="language==0?'机构名称':'Team Name'" required prop="name">
<el-input type="text" v-model="form.name" :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?'团体类型':'Group type'" prop="type" required>
<el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;">
<el-option :label="language==0?'普通院校':'School'" value="0" />
......
......@@ -15,6 +15,11 @@
<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/>
</div>
<div class="noPicChooseForm">
<el-checkbox-group v-model="choosedchoosed" @change="changechoosed">
<el-button plain @click="chooseSportman">+{{ language == 0 ?'选择':'add' }}</el-button>
......@@ -37,16 +42,17 @@
<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">
<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 choosed2List" :label="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="@/assets/img/head1.png"/>
<el-avatar fit="cover" v-else-if="c.sex == 1" :size="60" src="@/assets/img/head0.png"/>
<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 }}
<!-- ({{ c.sexStr }})-->
<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)">-->
......@@ -185,6 +191,12 @@ const data = reactive({
signInfoList: [],
zuTableList: [],
choosedList: [],
athletesQuery: {
name:''
},
zuQuery: {
name:''
},
extraPersonInfoMapList: [],
teamList: [],
extraform: [],
......@@ -206,7 +218,8 @@ const data = reactive({
const {
activeTeam, names, tableData, signInfoList, zuTableList, choosedList, showExtraForm, extraPersonInfoMapList, teamList,
extraform, groupId, signType, coachOrLeaderFlag, showResult, noPhotoCanSign, extraTableHead,
coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List, loadingProject, projectQuery, tableType
coachForm, projectIds, choosedchoosed, activeStep, projectList, choosed2List, loadingProject,
projectQuery, tableType,athletesQuery,zuQuery
} = toRefs(data)
const matchId = ref(route.query.matchId)
let signInfoType = null
......@@ -407,7 +420,22 @@ function getProjectList() {
ElMessage.error(err.msg)
})
}
function queryAthletes() {
if(athletesQuery.value.name)
for(var t of choosedList.value){
if(t.realName.indexOf(athletesQuery.value.name)>-1){
// 筛选
}
}
}
function queryTeam() {
if(zuQuery.value.name)
for(var t of choosedList.value){
if(t.realName.indexOf(zuQuery.value.name)>-1){
// 筛选
}
}
}
function getChoosed(list) {
console.log(list)
choosedList.value = list
......@@ -454,6 +482,7 @@ function emptyChangechoosed() {
choosedchoosed.value = []
choosed2List.value = []
projectList.value = []
projectIds.value = []
}
function delchoosedchoosed() {
......@@ -466,18 +495,13 @@ function delchoosedchoosed() {
choosedchoosed.value = []
}
function editMates(row) {
const params = {
title: '更换队友'
}
proxy.$refs['dialogMatesRef'].open(params)
}
function signUp() {
if (projectIds.value.length == 0) {
return
}
if (choosedchoosed.value.length == 0) {
return
}
const obj = {
athleteIds: choosedchoosed.value.toString(),
projectIds: projectIds.value.toString(),
......@@ -487,6 +511,7 @@ function signUp() {
choosedchoosed.value = []
choosed2List.value = []
projectList.value = []
projectIds.value = []
getSignInfoList()
})
}
......@@ -728,7 +753,7 @@ function switchTabletype() {
}
}
}
.noPicChooseForm{
.noPicChooseForm{overflow: auto;height: 70vh;
.el-checkbox-group{display: flex;flex-wrap: wrap;text-align: justify;
.el-button{width: 31%;margin:1%;}
.el-checkbox{margin: 1%;width: 31%;overflow: hidden;}
......
......@@ -128,6 +128,7 @@ const emit = defineEmits(['submitForm'])
const data = reactive({
form: {
// countryId: 240
sex:'0'
},
rules: {
xing: [{required: true, message: '必填', trigger: 'blur'}],
......
......@@ -64,13 +64,13 @@
</template>
</el-table-column>
</el-table>
<paginationPc
v-show="total>0"
v-model:page="query.pageNum"
v-model:limit="query.pageSize"
:total="total"
@pagination="getList"
/>
<!-- <paginationPc-->
<!-- v-show="total>0"-->
<!-- v-model:page="query.pageNum"-->
<!-- v-model:limit="query.pageSize"-->
<!-- :total="total"-->
<!-- @pagination="getList"-->
<!-- />-->
<template #footer>
<div class="dialog-footer text-center">
<el-button type="primary" @click="submitForm">{{language==0?'确定':'Confirm'}}</el-button>
......@@ -80,7 +80,7 @@
</el-dialog>
<addCoach ref="dialogAddCoach" @submitForm="getList"/>
<Import ref="dialogImportProps" @uploadSuccess="getList"/>
<Import ref="dialogImportProps" @submitForm="getList"/>
</template>
<script setup>
......@@ -95,12 +95,10 @@ import cache from "@/plugins/cache";
const language = ref(cache.local.get('language') || 0)
const {proxy} = getCurrentInstance()
const emit = defineEmits(['submitForm', 'transfer'])
const emit = defineEmits([ 'transfer'])
const data = reactive({
query: {
label:'0',
pageNum:1,
pageSize:10
label:'0'
},
tableData: [],
show: false,
......
......@@ -8,7 +8,8 @@
</el-form-item>
<el-form-item :label="language==0?'上传模板':'Upload template'" prop="discount">
<fileImport :text="language==0?'选取文件':'Select File'" ref="upload" name="excel" :action="action" @uploadSuccess="uploadSuccess" />
<fileImport :text="language==0?'选取文件':'Select File'" ref="upload" name="excel"
:action="action" @uploadSuccess="submit" />
</el-form-item>
</el-form>
......@@ -25,7 +26,7 @@ import { ElMessage, ElMessageBox } from 'element-plus'
const { proxy } = getCurrentInstance()
import useUserStore from '@/store/modules/user'
const emit = defineEmits(['uploadSuccess'])
const emit = defineEmits(['submitForm'])
import cache from "@/plugins/cache"
const language = ref(cache.local.get('language') || 0)
const action = ref('')
......@@ -37,7 +38,7 @@ let groupId = 0
if(useUserStore().group){
groupId = useUserStore().group.id
}
function uploadSuccess(res) {
function submit(res) {
console.log(res)
cancel()
if (res.code == 500) {
......@@ -48,9 +49,6 @@ function uploadSuccess(res) {
if(res.data.repeatInSystemColumn.length>0){
proxy.$modal.msgError(`${res.data.repeatInSystemColumn}${language.value==0?'系统中已存在':'is in system'}`)
}
if(res.data.errCountryColumn.length>0){
proxy.$modal.msgError(`${res.data.errCountryColumn}${language.value==0?'所属国家有误':'error Country'}`)
}
if(res.data.errIdcTypeColumn.length>0){
proxy.$modal.msgError(`${res.data.errIdcTypeColumn}${language.value==0?'证件号错误':'error ID type'}`)
}
......@@ -65,9 +63,8 @@ function uploadSuccess(res) {
}
}
emit('uploadSuccess')
proxy.$refs['upload'].handleClear()
emit('submitForm')
}
const open = (params) => {
......
......@@ -46,6 +46,7 @@ const props = defineProps({
color:var(--el-color-primary);
}
}
p img{max-width: 100%;}
.table{width: 100%;border-left: 1px solid #e1e1e1;border-top:1px solid #e1e1e1;
th{background: #eee;padding: 6px 10px;
border-right: 1px solid #e1e1e1;
......
......@@ -5,7 +5,11 @@
<el-table-column :label="language==0?'组别代码':'Group code'" width="120px" prop="zuName"/>
<el-table-column :label="language==0?'组别':'Group'" prop="project.name"/>
<el-table-column :label="language==0?'舞种':'Dance Style'" width="120px" prop="project.danceType"/>
<el-table-column :label="language==0?'参赛说明':'Participation Instructions'" prop="project.remarks"/>
<el-table-column :label="language==0?'参赛说明':'Participation Instructions'">
<template #default="scope">
<div v-html="scope.row.project.remarks"></div>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛运动员':'Participating athletes'" width="120px">
<template #default="scope">
<div>
......
......@@ -353,6 +353,21 @@ function checkIsSign() {
return Promise.reject('rejected message')
}
if (res.data.type == '2') {
ElMessageBox.confirm(
'报名审批拒绝,是否重新报名',
'提示',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
).then(() => {
match.recoverMySignFromCancel(n.id).then((res)=>{
})
})
}
})
}
</script>
......
......@@ -395,6 +395,21 @@ function checkIsSign() {
})
return Promise.reject('rejected message')
}
if (res.data.type == '2') {
ElMessageBox.confirm(
'Registration approval rejected. Do you want to reapply',
'Warning',
{
confirmButtonText: 'OK',
cancelButtonText: 'Cancel',
type: 'warning',
}
).then(() => {
match.recoverMySignFromCancel(n.id).then((res)=>{
})
})
}
})
}
</script>
......
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<style lang="scss">
.row {
display: flex;
}
.border-info {
.item {
margin: 5px 0;
color: #4C5359;
font-size: 14px;
label {
font-size: 14px;
margin-right: 14px
}
}
}
.rowSummary{text-align: right;padding: 0 20px;
height: 40px;line-height: 40px;
background: #FAFBFD;font-size: 16px;
color: #95A1A6;
border: 1px solid #EEEFF0;
span{font-size: 18px;font-family: DIN Alternate;
color: #000;}
}
</style>
<body>
<!--赛事信息/league/competition/PCDetail-->
<div class="border-info" style="margin: 20px">
<div class="row" v-if="language==0">
<div>
<div class="item"><label>赛事名称</label>{{ matchInfo.name }}</div>
</div>
<div>
<div class="item"><label>赛事类型</label>{{ matchInfo.level }}</div>
</div>
<div>
<div class="item"><label>赛事时间</label>{{ matchInfo.beginTime?.slice(0, 10) }} 至
{{ matchInfo.endTime?.slice(0, 10) }}
</div>
</div>
<div>
<div class="item"><label>报名时间</label>{{ matchInfo.signBeginTime?.slice(0, 10) }}
至{{ matchInfo.signEndTime?.slice(0, 10) }}
</div>
</div>
<div>
<div class="item"><label>比赛地址</label>{{ matchInfo.address }}</div>
</div>
</div>
<div v-else>
<div>
<div class="item"><label>Event Name</label>{{ matchInfo.name }}</div>
</div>
<div>
<div class="item"><label>Event Type</label>{{ matchInfo.level }}</div>
</div>
<div>
<div class="item"><label>Event Date</label>{{ matchInfo.beginTime?.slice(0, 10) }} ~
{{ matchInfo.endTime?.slice(0, 10) }}
</div>
</div>
<div>
<div class="item"><label>Registration Period</label>{{ matchInfo.signBeginTime?.slice(0, 10) }}
~{{ matchInfo.signEndTime?.slice(0, 10) }}
</div>
</div>
<div>
<div class="item"><label>Event Address</label>{{ matchInfo.address }}</div>
</div>
</div>
</div>
<!--团队信息/league/group/getMyGroupForCpt/${groupId}/${cptId}-->
<div class="border-info gray" style="margin: 20px">
<div class="row">
<div>
<div>
<div>
<img class="w100" :src="fillImgUrl(groupInfo.imgUrl)"/>
</div>
<div>
<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>
</div>
</div>
<div>
<div class="item"><label>{{
language == 0 ? '负责人姓名' : 'Contact Person'
}}</label>{{ groupInfo.contactPerson }}
</div>
<div class="item"><label>{{
language == 0 ? '参赛队名称' : 'Name of participating team'
}}</label>{{ groupInfo.abreviations }}
</div>
</div>
<div>
<div class="item"><label>{{ language == 0 ? '邮箱' : 'Email' }}</label>{{ groupInfo.contactEmail }}</div>
<div class="item"><label>{{ language == 0 ? '详细地址' : 'Detailed Address' }}</label>{{
groupInfo.address
}}
</div>
</div>
</div>
</div>
<!--组别报项信息/league/sign/getMySignInfoList zuData-->
<div>
<table>
<tr>
<th>{{ language == 0 ? '序号' : 'Index' }}</th>
<th>{{ language == 0 ? '组别代码' : 'Group code' }}</th>
<th>{{ language == 0 ? '组别' : 'Group' }}</th>
<th>{{ language == 0 ? '舞种' : 'Dance Style' }}</th>
<th>{{ language == 0 ? '参赛说明' : 'Participation Instructions' }}</th>
<th>{{ language == 0 ? '参赛运动员' : 'Participating athletes' }}</th>
<th>{{ language == 0 ? '报名费' : 'Registration Fee' }}</th>
</tr>
<tr v-for="(row,index) in list">
<td>{{ index + 1 }}</td>
<td>{{ row.zuName }}</td>
<td>{{ row.project.name }}</td>
<td>{{ row.project.danceType }}</td>
<td>{{ row.project.remarks }}</td>
<td>
<span v-for="s in row.athletes">{{ s.name }},</span>
</td>
<td> {{ language == 0 ? '¥' : '€' }}{{ row.project.serviceFee }}</td>
</tr>
</table>
</div>
<!--人员报名信息/league/sign/getMySignInfoList singleData-->
<!--/league/competition/getCptExtraInfo/${cptId} 补充信息表头-->
<div>
<table>
<tr>
<th>{{ language == 0 ? '序号' : 'Index' }}</th>
<th>{{ language == 0 ? '姓氏' : 'Surname' }}</th>
<th>{{ language == 0 ? '名' : 'Name' }}</th>
<th>{{ language == 0 ? '所属国家' : 'Nationality' }}</th>
<th>{{ language == 0 ? '性别' : 'Gender' }}</th>
<th>{{ language == 0 ? '证件类型' : 'ID Type' }}</th>
<th>{{ language == 0 ? '证件号码' : 'ID NO.' }}</th>
<th>{{ language == 0 ? '出生日期' : 'Birth' }}</th>
<th>{{ language == 0 ? '会员角色' : 'Role' }}</th>
<th>{{ language==0?'报项':'Entries' }}</th>
<th v-for="(e,index) in extraTableHead">{{e}}</th>
</tr>
<tr v-for="(row,index) in personList">
<td>{{ index + 1 }}</td>
<td>{{row.personInfo.xing}}</td>
<td>{{row.personInfo.ming}}</td>
<td>
<span v-if="row.personInfo.countryName">{{row.personInfo.countryName}}</span>
<span v-if="row.personInfo.representing">{{row.personInfo.representing}}</span>
</td>
<td>{{row.personInfo.sexStr}}</td>
<td>{{row.personInfo.idcTypeStr}}</td>
<td>{{row.personInfo.idcCode}}</td>
<td>{{row.personInfo.birth}}</td>
<td>
<span v-for="item in row.personInfo.label?.split(',')" :key="item.id" class="text-primary">
<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 ? '领队' : 'team leader' }}</span>
<span v-if="item==='3'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>
<span v-if="item==='4'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>
<span v-if="item==='5'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>
<span v-if="item==='6'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>
</span>
</td>
<td>
<ol>
<li v-for="s in row.signInfo">
{{ s.cptProjectName }}
{{ s.cptGroupName }}{{ s.cptLevelName }}
<span v-show="s.cptSonLevelName">[{{ s.cptSonLevelName }}]</span>
<span v-show="s.zu">-{{ s.zu }}</span>
</li>
</ol>
</td>
<td v-for="(e,index) in extraTableHead" :key="index">
<a v-if="row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'"
:herf="row.signInfo[0].extraPersonInfoMapList[index].value.url">
{{ row.signInfo[0].extraPersonInfoMapList[index].value.name }}
</a>
<img v-else-if="row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;"
:src="row.signInfo[0].extraPersonInfoMapList[index].value.url||row.signInfo[0].extraPersonInfoMapList[index].value">
<span v-else>{{ row.signInfo[0].extraPersonInfoMapList[index]?.value }}</span>
</td>
</tr>
</table>
<div class="rowSummary">
<div>
{{ language==0?'总人数':'Count' }}: <span class="mr20">{{ list.length }}</span>
{{ language==0?'金额小计':'Amount' }}: <span>{{ language==0?'¥':'€' }}{{ total }}</span>
</div>
</div>
</div>
</body>
</html>
......@@ -85,20 +85,20 @@
</div>
</div>
</el-col>
<el-col :lg="12">
<el-col :lg="12" v-if="Number(form.totalFee)>0">
<div class="priceb" v-if="form.payStatus=='0'">{{ language==0?'待支付金额':'Amount Due' }}:<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
<div class="priceb" v-if="form.payStatus=='1'">{{ language==0?'已支付金额':'Amount Due' }}:<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
</el-col>
</el-row>
</el-card>
<el-card class="mb60" v-if="form.auditStatus=='2'&&form.payStatus=='0'">
<el-card class="mb60" v-if="form.auditStatus=='2'&&form.payStatus=='0'&&Number(form.totalFee)>0">
<div class="leftboderTT">{{ language==0?'选择支付方式':'Choose payment method' }}</div>
<div class="mt20">
<el-radio-group v-model="payType" @change="changePaytype">
<!-- <el-radio label="1" border>-->
<!-- <svg t="1709003181386" class="icon" viewBox="0 0 3283 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="31015" width="100" height="40"><path d="M1163.122759 94.631724H593.92A133.826207 133.826207 0 0 0 459.034483 228.457931v567.084138a133.473103 133.473103 0 0 0 133.826207 133.826207h570.262069a133.826207 133.826207 0 0 0 134.17931-133.826207v-5.296552s-217.864828-90.394483-328.033103-143.36c-73.445517 90.747586-168.783448 145.478621-267.652414 145.478621-167.017931 0-223.514483-145.831724-144.419311-241.875862a169.136552 169.136552 0 0 1 92.16-51.906207c70.62069-17.302069 184.32 10.946207 290.604138 45.903448A587.211034 587.211034 0 0 0 988.689655 429.373793h-328.73931v-32.838621h168.783448V337.213793h-204.446896v-33.191724h204.446896V219.630345a14.124138 14.124138 0 0 1 14.477241-14.477242h82.273104v98.868966h202.328276v33.191724h-202.328276v59.321379h165.252414a677.605517 677.605517 0 0 1-70.62069 176.551725c50.14069 18.008276 94.984828 35.310345 128.529655 46.256551a930.427586 930.427586 0 0 0 147.950345 42.725518V228.457931a133.826207 133.826207 0 0 0-133.473103-133.826207z" fill="#089fe8" p-id="31016"></path><path d="M663.481379 548.016552a162.78069 162.78069 0 0 0-81.566896 30.366896c-64.617931 55.790345-26.129655 158.190345 104.165517 158.190345 75.917241 0 151.481379-48.375172 211.862069-125.704827-85.804138-40.96-156.424828-70.267586-234.46069-62.852414zM2488.673103 225.28h239.757242v47.668966h85.804138V216.805517a22.951724 22.951724 0 0 0-21.892414-23.304827h-139.122759V149.009655h-89.335172v44.137931h-160.662069v79.80138h85.451034zM1882.394483 360.518621h67.442758v247.172413h73.798621V280.011034h-26.835862l55.437241-126.764137H1970.317241l-87.922758 207.271724zM2824.827586 596.391724l-26.835862-90.747586a13.771034 13.771034 0 0 0-13.064827-10.24h-70.62069l20.48 70.62069H2648.275862v-135.944828h164.546207v-32.132414H2648.275862v-63.55862h164.546207v-32.132414h-409.6v32.132414h164.546207v63.55862h-164.546207v32.132414h164.546207V564.965517h-164.546207v32.132414H2824.827586zM2158.521379 323.442759a16.595862 16.595862 0 0 0-15.183448-9.886897h-63.558621l49.434483 156.424828h75.564138z" fill="#089fe8" p-id="31017"></path><path d="M2319.889655 156.777931h-76.623448v80.154483h-188.557241v32.132414h188.557241v287.426206a13.064828 13.064828 0 0 1-12.358621 12.005518h-38.841379v31.77931h99.222069a30.013793 30.013793 0 0 0 28.601379-29.66069V269.064828h31.073104v-32.132414h-31.073104zM1871.448276 577.677241a913.831724 913.831724 0 0 1-168.783448-80.507586 357.34069 357.34069 0 0 0 141.241379-194.56H1694.896552V249.997241h170.195862v-32.83862H1694.896552V150.422069h-75.211035a15.536552 15.536552 0 0 0-15.183448 15.536552v51.2h-169.136552v32.83862h169.136552v52.612414h-141.241379v32.838621h284.248276a278.951724 278.951724 0 0 1-93.572414 127.470345 360.871724 360.871724 0 0 1-93.572414-94.984828H1483.034483a423.724138 423.724138 0 0 0 122.173793 130.295173 662.775172 662.775172 0 0 1-172.667586 77.329655v39.194482A773.296552 773.296552 0 0 0 1653.230345 529.655172 781.771034 781.771034 0 0 0 1871.448276 614.753103zM1553.655172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.188966-79.095172 26.482758 79.095172zM1796.237241 674.78069h-34.251034v190.675862h115.464827v-26.129655h-81.213793v-164.546207zM2003.155862 674.78069h34.251035v190.322758h-34.251035zM2250.328276 674.78069h-74.151724v190.675862h35.310345v-73.445518h39.900689a58.615172 58.615172 0 1 0 0-117.230344z m-2.118621 91.100689H2210.427586v-64.971034h37.782069a31.073103 31.073103 0 0 1 30.366897 32.485517 30.72 30.72 0 0 1-30.366897 32.485517zM2465.015172 674.78069l-70.620689 190.675862h35.310345l13.417931-38.488276h70.620689l12.711724 38.488276h35.310345l-70.620689-190.675862z m-12.711724 128.176551l27.542069-79.095172 27.188966 79.095172zM2716.071724 755.994483l-38.135172-81.213793H2641.213793l57.555862 112.286896v78.388966h33.897931v-78.388966l0.353104-0.353103 57.555862-111.933793h-37.075862l-37.428966 81.213793z" fill="#089fe8" p-id="31018"></path></svg>-->
<!-- </el-radio>-->
<el-radio label="2" border>
<el-radio label="2" v-if="form.payTypeArr.indexOf('1')>-1" border>
<svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40">
<path
......@@ -109,7 +109,7 @@
fill="#595757" p-id="24749"></path>
</svg>
</el-radio>
<el-radio label="3" border>
<el-radio label="3" v-if="form.payTypeArr.indexOf('2')>-1" border>
<svg t="1709003441012" class="icon" viewBox="0 0 3527 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="32905" width="90" height="40">
<path
......@@ -138,7 +138,7 @@
fill="#4D4D4D" p-id="32913"></path>
</svg>
</el-radio>
<el-radio label="4" border>
<el-radio label="4" v-if="form.payTypeArr.indexOf('3')>-1" border>
<svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40">
<path
......@@ -335,6 +335,7 @@ function getData() {
return match.getMyOrderDetail({orderId:orderId.value}).then(res => {
totalFee.value = res.data.totalFee
form.value = res.data
form.value.payTypeArr = res.data.payType.split(',')
matchId.value = form.value.cptId
groupId.value = form.value.groupId || 0
if(isLogin.value){
......
......@@ -43,7 +43,7 @@
<div class="mt20">
<div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }}
<div class="fr">
<el-input size="small" v-model="zuQuery.name" :prefix-icon="Search"
<el-input size="small" v-model="zuQuery.athName" :prefix-icon="Search"
@change="getSignList" clearable/>
</div>
</div>
......@@ -52,7 +52,7 @@
<div class="mt20">
<div class="leftboderTT">{{ language==0?'设项报名清单':'Event Registration List' }}
<div class="fr">
<el-input size="small" v-model="zuQuery.groupName" :prefix-icon="Search"
<el-input size="small" v-model="zuQuery.groName" :prefix-icon="Search"
@change="getSignList" clearable/>
</div>
</div>
......@@ -64,23 +64,23 @@
</el-card>
<el-card class="mt20" :body-style="{padding: '0px'}">
<el-row class="priceBar">
<el-col :lg="16" :xs="24" class="pd20">
<el-col :lg="12" :xs="24" class="pd20">
<div class="flex">
<div class="item"><label>{{ language==0?'报名费':'Registration Fee' }}:</label><span>{{ language==0?'¥':'€' }}{{form.cptRegistrationFee?.totalFee}}</span></div>
<div class="item"><label>{{ language==0?'保险费':'Insurance Fee' }}:</label><span>{{ language==0?'¥':'€' }}{{form.cptInsuranceFee?.totalFee}}</span></div>
<div class="item"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span>{{ language==0?'¥':'€' }}{{form.totalFee}}</span></div>
</div>
</el-col>
<el-col :lg="8" :xs="24" class="text-right pd20">
<el-col :lg="12" :xs="24" class="text-right pd20">
<el-link type="primary" @click="exportSignList(1)"><el-icon><Upload /></el-icon>
{{ language==0?'导出参赛人员清单':'Export Participant List' }}</el-link>
<el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon>
{{ language==0?'导出设项报名清单':'Registration Fee for Event Entry' }}</el-link>
<!-- <el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon>-->
<!-- {{ language==0?'导出pdf':'Export PDF' }}-->
<!-- </el-link>-->
<el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon>
{{ language==0?'导出pdf':'Export PDF' }}
</el-link>
</el-col>
</el-row>
<div class="text-center pd20">
......@@ -261,14 +261,10 @@ function exportPdf() {
var fileName
if(language.value==0){
fileName = '设项报名清单'
proxy.download('/league/sign/exportCn', {
proxy.download('/pdf/exportMySignInfoList', {
...obj
}, `${fileName}_${new Date().getTime()}.pdf`)
} else {
fileName = 'Participant List'
proxy.download('/league/sign/exportEn', {
...obj
}, `${fileName}_${new Date().getTime()}.pdf`)
}
}
......
......@@ -35,21 +35,21 @@
<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?'团体类型':'Group type'" prop="type">
<el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;">
<el-option :label="language==0?'普通院校':'School'" value="0" />
<el-option :label="language==0?'专业舞蹈学校':'Professional dance school'" value="1" />
<el-option :label="language==0?'培训机构/俱乐部':'Company/Club'" value="2" />
<el-option :label="language==0?'地方协会':'Local Association'" value="3" />
<el-option :label="language==0?'国家协会':'National Association'" value="4" />
<el-select v-model="form.type" :placeholder="typeOptions[language].selectPlaceholder" style="width: 100%;">
<el-option v-for="(o,index) in typeOptions[language].options" :label="o.text"
:key="index" :value="o.value" />
</el-select>
</el-form-item>
<el-form-item :label="language==0?'详细地址':'Detailed Address'" required prop="address">
<el-input type="textarea" v-model="form.address" class="mt10" :placeholder="language==0?'请输入详细地址':''"/>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="participantsInfoArr&&participantsInfoArr.length>0">
......@@ -110,6 +110,28 @@ const data = reactive({
enBo:{}
},
form: {},
typeOptions: {
0: {
selectPlaceholder: '请选择团体类型',
options: [
{value:'0',text:'普通院校'},
{value:'1',text:'专业舞蹈学校'},
{value:'2',text:'培训机构/俱乐部'},
{value:'3',text:'地方协会'},
{value:'4',text:'国家协会'},
]
},
1: {
selectPlaceholder: 'Please select group type',
options: [
{value:'0',text:'School'},
{value:'1',text:'Professional dance school'},
{value:'2',text:'Company/Club'},
{value:'3',text:'Local Association'},
{value:'4',text:'National Association'},
]
}
},
groupId: route.query.groupId||0,
cptId: route.params.id||0,
signType: false,
......@@ -139,7 +161,7 @@ const {
cptId,
rules,
regionsList,matchInfo,
coachOrLeaderFlag, accept
coachOrLeaderFlag, accept,typeOptions
} = toRefs(data)
const uploadUrl = ref('/upload/upLoadToFileServer')
......
......@@ -77,7 +77,7 @@
v-if="language==0">(登录时需要验证,保护账户信息)</span></div>
<div class="h20"></div>
<el-form-item :label="language==0?'邮箱':'E-mail'" required>
<el-input type="text" v-model="wdsfData.email" @change="resetCode(1)"
<el-input type="text" v-model="wdsfData.email" @change="resetCode(1)" autocomplete="false"
@blur="verifyCode" :disabled="wdsfData.personFlag=='1'"/>
<div class="tip" v-if="wdsfData.personFlag=='0'">
<div v-if="language==0">
......@@ -107,12 +107,12 @@
</el-form-item>
<el-form-item :label="language==0?'密码':'Password'" required>
<el-input type="password" show-password v-model="form.password"
<el-input type="password" show-password v-model="form.password" autocomplete="false"
:placeholder="language==0?'6-16位密码。区分大小写':'Password'"/>
</el-form-item>
<el-form-item :label="language==0?'确认密码':'Confirm Password'" required
v-if="wdsfData.personFlag=='0'">
<el-input type="password" show-password v-model="form.confirmPassword" @change="vconfirmPassword"
<el-input type="password" show-password v-model="form.confirmPassword" autocomplete="false" @change="vconfirmPassword"
:placeholder="language==0?'再次输入密码':'Confirm Password'"/>
<div class="text-danger" v-if="showError">{{
language == 0 ? '密码不一致' : 'Password inconsistency'
......
......@@ -42,6 +42,12 @@
<el-form-item :label="language==0?'机构名称':'Institution name'" required prop="teamName">
<el-input type="text" v-model="form.teamName" :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?'团体类型':'Group type'" prop="type" required>
<el-select v-model="form.type" :placeholder="language==0?'请选择团体类型':''" style="width: 100%;">
<el-option :label="language==0?'普通院校':'School'" value="0" />
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!