df7cedb8 by 杨炀

no message

1 parent 534482d2
......@@ -219,6 +219,13 @@ export function withDrawByOrderId(orderId) {
method: 'post'
})
}
export function recoverMySignFromCancel(cptId) {
return request({
url: `/league/sign/recoverMySignFromCancel`,
method: 'post',
data: {cptId: cptId}
})
}
export function getMyOrderList(params) {
return request({
......
......@@ -53,7 +53,8 @@
<span class="el-icon-document"> {{ getFileName(file.name) }} </span>
</el-link>
<div v-if="!disabled" class="ele-upload-list__item-content-action">
<el-link :disabled="props.disabled" :underline="false" type="danger" @click="handleDelete(index)">删除</el-link>
<el-link :disabled="props.disabled" :underline="false" type="danger" @click="handleDelete(index)">
{{ language==0?'删除':'Delete' }}</el-link>
</div>
</li>
</ul>
......@@ -65,7 +66,8 @@
import { getToken } from '@/utils/auth'
import { computed } from 'vue'
import _ from 'lodash'
import cache from "@/plugins/cache";
const language = ref(cache.local.get('language') || 0)
const props = defineProps({
modelValue: [String, Object, Array],
// 数量限制
......
......@@ -55,10 +55,10 @@
<fieldset class="fieldset-form mt30">
<legend>{{ language==0?'机构认证信息':'Institutional certification information' }} </legend>
<div class="pt30" style="max-width: 500px">
<el-form-item :label="language==0?'机构代码':'Organization Code'" required prop="orgCode">
<el-form-item :label="language==0?'机构代码':'Organization Code'" required >
<el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/>
</el-form-item>
<el-form-item :label="language==0?'机构证件':'Institutional documents'" required prop="orgCert">
<el-form-item :label="language==0?'机构证件':'Institutional documents'" required >
<file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/>
</el-form-item>
......@@ -67,10 +67,10 @@
<fieldset class="fieldset-form mt30">
<legend>{{ language==0?'机构法人信息':'Institutional legal person information' }} </legend>
<div class="pt30" style="max-width: 500px">
<el-form-item :label="language==0?'法人姓名':'Legal Person Name'" required prop="orgCode">
<el-form-item :label="language==0?'法人姓名':'Legal Person Name'" required>
<el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/>
</el-form-item>
<el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required prop="orgCert">
<el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required >
<file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/>
</el-form-item>
......
......@@ -18,7 +18,7 @@
{{ user.userName }}
</el-form-item>
<el-form-item :label="language==0?'姓名':'Real Name'" required prop="realName">
<el-input v-model="myform.realName"/>
<el-input v-model="myform.realName" disabled/>
</el-form-item>
<el-form-item :label="language==0?'性别':'Sex'" required >
<el-radio-group v-model="myform.sex">
......@@ -43,7 +43,7 @@
<el-input v-model="myform.division" disabled/>
</el-form-item>
<el-form-item label="Status">
<el-input v-model="myform.status" disabled/>
<el-input v-model="myform.wdsfStatus" disabled/>
</el-form-item>
<el-form-item label="Passport" required>
<el-input v-model="myform.passportNumber"/>
......@@ -51,6 +51,9 @@
<el-form-item label="Passport File">
<file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/>
</el-form-item>
<el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin">
{{myform.wdsfMin}}
</el-form-item>
<!-- <el-form-item :label="language==0?'证件类型':'ID type'" required prop="idcType">-->
<!-- <el-select v-model="myform.idcType" style="width: 100%">-->
<!-- <el-option-->
......
......@@ -35,7 +35,7 @@
{{ language==0?'继续报名':'Continue to register' }}</el-button>
<el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'">
{{ language==0?'取消报名':'Cancel registration' }}</el-button>
<el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='3'">
<el-button plain round type="primary" @click="reSign(n)" v-if="n.auditStatus=='3'">
{{ language==0?'重新报名':'Re register' }}</el-button>
<el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'">
{{ language==0?'缴费':'pay' }}</el-button>
......@@ -44,6 +44,7 @@
</el-row>
</el-col>
</el-row>
<el-alert v-if="n.reason" :title="language=0?'驳回理由:':'Reason:'+n.reason" type="error" show-icon :closable="false"/>
</div>
<el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/>
......@@ -77,6 +78,7 @@ 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()
......@@ -143,6 +145,11 @@ function withDraw(n){
getList()
})
}
function reSign(n){
match.recoverMySignFromCancel(n.id).then((res)=>{
continueSign(n)
})
}
function continueSign(n){
if (user.utype == '1') {
// 个人报名
......
......@@ -5,7 +5,8 @@
<el-carousel-item style="height: 450px;">
<div class="bannerItem">
<div class="h100">
<img class="bannerImg" src="@/assets/dance/banner.png">
<img v-if="matchData.bgImgUrl" class="bannerImg" :src="fillImgUrl(matchData.bgImgUrl)">
<img v-else class="bannerImg" src="@/assets/dance/banner.png">
<div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;">
<div class="banner-count">
距离开始还有
......@@ -35,6 +36,7 @@
<div class="box zn-bg">
<div class="zn-Box">
<img class="bbbg" v-if="matchData.logoUrl" :src="fillImgUrl(matchData.logoUrl)"/>
<el-row style="align-items: center">
<el-col :sm="24" :lg="10">
<div class="bgbg">
......@@ -367,6 +369,7 @@ import r03 from '@/assets/dance/r03.png'
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";
const modules = [Autoplay, Navigation]
const navigationPic = ref({
......@@ -408,6 +411,7 @@ const display = ref([])
const scores = ref([])
const nowscores = ref([])
const livelist = ref([])
const matchData = ref({})
const picList = ref([])
const calendarValue = ref(dayjs('2024-07-22').toDate())
const calendarRange = ref([dayjs('2024-07-21').toDate(),dayjs('2024-07-27').toDate()])
......@@ -441,6 +445,14 @@ const init = () => {
).then(res => {
newest2.value = res.rows
})
match.getMaList().then((res) => {
match.getMatchById({id: res.rows[0].id}).then(resposn => {
matchData.value = resposn.data
loading.value = false
// var today = dayjs().format('YYYY-MM-DD HH:mm:ss')
// time.value = dayjs(resposn.data.signEndTime).diff(today, 'millisecond')
})
})
}
const goDetail = (n) => {
......@@ -470,7 +482,8 @@ const goNews = () => {
.zn-bg{background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC);
border-radius: 15px;}
.zn-Box{background: url("@/assets/dance/cszn_bg.png") no-repeat top left;background-size: contain;
.zn-Box{background-size: contain;position: relative;overflow: hidden;
.bbbg{position: absolute;width: 100%;height: 100%;object-fit: cover;}
.bgbg{
padding: 5%;
img{margin: 5% 0}
......
......@@ -9,7 +9,7 @@
<el-row class="mt20" :gutter="20">
<el-col :lg="12">
<el-card>
<el-card v-loading="loading">
<template #header>
<div class="card-header">
<img src="@/assets/sign/tag01.png"/>
......@@ -23,7 +23,7 @@
<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.shortName }}
<p class="name">{{ c.realName }}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -34,7 +34,7 @@
</el-card>
</el-col>
<el-col :lg="12">
<el-card>
<el-card v-loading="loading">
<template #header>
<div class="card-header">
<img src="@/assets/sign/tag02.png"/>
......@@ -48,7 +48,7 @@
<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.shortName }}
<p class="name">{{ c.realName }}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -59,7 +59,7 @@
</el-card>
</el-col>
<el-col :lg="12">
<el-card class="mt20">
<el-card class="mt20" v-loading="loading">
<template #header>
<div class="card-header">
<img src="@/assets/sign/tag03.png"/>
......@@ -71,7 +71,7 @@
<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.shortName }}
<p class="name">{{ c.realName }}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -82,7 +82,7 @@
</el-card>
</el-col>
<el-col :lg="12">
<el-card class="mt20">
<el-card class="mt20" v-loading="loading">
<template #header>
<div class="card-header">
<img src="@/assets/sign/tag04.png"/>
......@@ -94,7 +94,7 @@
<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.shortName }}
<p class="name">{{ c.realName }}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -105,7 +105,7 @@
</el-card>
</el-col>
<el-col :lg="12">
<el-card class="mt20">
<el-card class="mt20" v-loading="loading">
<template #header>
<div class="card-header">
<img src="@/assets/sign/tag05.png"/>
......@@ -117,7 +117,7 @@
<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.shortName }}
<p class="name">{{ c.realName }}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -128,7 +128,7 @@
</el-card>
</el-col>
<el-col :lg="12">
<el-card class="mt20">
<el-card class="mt20" v-loading="loading">
<template #header>
<div class="card-header">
<img src="@/assets/sign/tag06.png"/>
......@@ -140,7 +140,7 @@
<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.shortName }}
<p class="name">{{ c.realName }}
<el-icon @click.stop="editPerson(c.id)">
<Edit/>
</el-icon>
......@@ -183,6 +183,7 @@ import useUserStore from "@/store/modules/user";
const language = ref(cache.local.get('language') || 0)
const data = reactive({
loading:false,
form: {
coachs: [],
leader: []
......@@ -198,7 +199,7 @@ const data = reactive({
signType: '',
activeStep: 1
})
const {
const {loading,
form,
coachList,
leaderList,
......@@ -239,6 +240,7 @@ function changecoachs(e) {
let hasChooseId
function tuandui() {
loading.value = true
Promise.all([
match.getMyGroupForCpt(groupId.value, matchId),
match.getChooseDoneGroupCoachs(matchId, groupId.value)
......@@ -249,7 +251,7 @@ function tuandui() {
translatorList.value = res[0].data.translators
officialList.value = res[0].data.officials
otherList.value = res[0].data.others
loading.value = false
if (res[1].data.id != null) {
hasChooseObj.value = res[1].data
hasChooseId = res[1].data.id
......@@ -272,6 +274,7 @@ function tuandui() {
}
function geren() {
loading.value = true
Promise.all([
match.getMyPersonInfoWithcptId(matchId),
match.getChooseDoneSingleCoachs(matchId)
......@@ -282,7 +285,7 @@ function geren() {
doctorList.value = res[0].data.teamDoctors
translatorList.value = res[0].data.translators
officialList.value = res[0].data.officials
loading.value = false
if (res[1].data.id != null) {
hasChooseObj.value = res[1].data
hasChooseId = res[1].data.id
......@@ -352,7 +355,13 @@ function goNext() {
}
function goPrev() {
router.back()
router.push({
name: `teamSign`,
query: {
matchId: matchId,
groupId: groupId.value
}
})
}
function editPerson(id) {
......
......@@ -53,7 +53,7 @@
</el-checkbox>
</el-checkbox-group>
</div>
<div v-else @click="editMate()">
<div v-else @click="addMate">
<div class="addBttn">+</div>
<div class="text-center mt10">
<el-icon>
......@@ -76,7 +76,7 @@
clearable/>
</div>
</div>
<div v-loading="loadingProject" style="height: 60vh">
<div v-loading="loadingProject" style="height: 55vh">
<el-checkbox-group v-model="projectIds">
<el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id">
<div class="flexBetween w100">
......@@ -162,13 +162,19 @@
</div>
<div class="text-center mt20">
<el-button type="primary" class="" plain round @click="submitForm(0)">
{{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}
</el-button>
<el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">
{{ language == 0 ? '提交审核' : 'Submit for review' }}
<el-button type="primary" class="btn-lineG w200px" round @click="submitForm()">
{{ language == 0 ? '预览报名信息' : 'Preview registration information' }}
</el-button>
</div>
<!-- <div class="text-center mt20">-->
<!-- <el-button type="primary" class="" plain round @click="submitForm(0)">-->
<!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}-->
<!-- </el-button>-->
<!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">-->
<!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}-->
<!-- </el-button>-->
<!-- </div>-->
</div>
</el-card>
</div>
......@@ -296,6 +302,9 @@ function getMyMemberTable() {
//
match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => {
myMemberTable.value = res.rows
if(res.rows.length > 0){
showPersonList.value = true
}
})
}
......@@ -350,29 +359,26 @@ function getSignInfoList() {
function submitForm(n) {
if (signInfoList.value.length == 0) {
if (language.value == 0) {
ElMessage.error('请至少选择一个项目')
} else {
ElMessage.error('select at least one project')
}
return
}
if (signInfoType == '1') {
ElMessageBox.confirm('已报项,前往我的报项', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission',
language.value==0?'提示':'Tips', {
confirmButtonText: language.value==0?'确定':'OK',
cancelButtonText: language.value==0?'取消':'Cancel',
type: 'warning'
}).then(() => {
router.push({name: 'myMatch'})
})
return
}
if (n == 0) {
ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核,
必须在报名截止时间${signEndTime.value}之前完成提交。
您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`,
language.value == 0 ? '提示' : 'Tip', {
confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ',
cancelButtonText: language.value == 0 ? '知道了' : 'OK',
type: 'warning'
}).then((res) => {
console.log(res)
router.push({name: 'myMatch'})
})
} else {
if (extraform.value && extraform.value.length > 0) {
let needBuchong = false
for (const e of extraform.value) {
......@@ -416,29 +422,49 @@ function submitForm(n) {
})
}
}
}
// if (n == 0) {
// ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核,
// 必须在报名截止时间${signEndTime.value}之前完成提交。
// 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`:
// `Your current operation is temporary and not submitted for review,
// Submission must be completed before the registration deadline${signEndTime.value}。
// You can also find this registration in the My Registration section of your personal center and click submit for review.`,
// language.value == 0 ? '提示' : 'Tip', {
// confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ',
// cancelButtonText: language.value == 0 ? '知道了' : 'OK',
// type: 'warning'
// }).then((res) => {
// console.log(res)
// router.push({name: 'myMatch'})
// })
// }
}
function commit() {
ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?',
language.value == 0 ? '提示' : 'Tip',
{
confirmButtonText: language.value == 0 ? '确定' : 'Yes',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
}).then(()=>{
match.commitSign({
groupId: 0,
cptId: matchId.value
}).then(res => {
router.push({
name: `commitDone`,
params: {
orderId: res.data
name: 'signPreview',
query: {
matchId: matchId.value
}
})
})}
)
// ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?',
// language.value == 0 ? '提示' : 'Tip',
// {
// confirmButtonText: language.value == 0 ? '确定' : 'Yes',
// cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
// }).then(()=>{
// match.commitSign({
// groupId: 0,
// cptId: matchId.value
// }).then(res => {
// router.push({
// name: `commitDone`,
// params: {
// orderId: res.data
// }
// })
// })}
// )
}
......@@ -616,6 +642,14 @@ function editPerson() {
})
}
function addMate() {
proxy.$refs['dialogEditWdsfRef'].open({
title: language.value == 0 ? '添加舞伴' : 'Add My Mate',
isMe: false,
cptId:matchId.value,
id: 0
})
}
function editMate(obj) {
proxy.$refs['dialogEditWdsfRef'].open({
title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate',
......
......@@ -273,9 +273,10 @@ function getSignInfoList() {
function submitForm() {
if (signInfoType == '1') {
ElMessageBox.confirm('已报项,前往我的报项', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission',
language.value==0?'提示':'Tips', {
confirmButtonText: language.value==0?'确定':'OK',
cancelButtonText: language.value==0?'取消':'Cancel',
type: 'warning'
}).then(() => {
router.push({name: 'myMatch'})
......@@ -458,6 +459,7 @@ function emptyChoosed() {
function emptyChangechoosed() {
choosedchoosed.value = []
choosed2List.value = []
projectList.value = []
}
function delchoosedchoosed() {
......@@ -502,8 +504,9 @@ function signUp() {
}
match.sportsmanDone(obj).then(res => {
choosedchoosed.value = []
choosed2List.value = []
projectList.value = []
getSignInfoList()
getProjectList()
})
}
......
......@@ -25,7 +25,7 @@
<div class="border-info mt20" v-else>
The audit results will be formally notified to you via email in the future.
<br/>
Email sender: <span class="text-primary">{{ user.email }}</span>
Email sender: <span class="text-primary">wdsfwuxicenter@wdsfwuxicenter.com</span>
Please follow the relevant email notifications.
<br/>
If your registration information is approved, the payment link for the relevant fees will be attached to the email body. Please complete the payment and registration through the link.
......
......@@ -67,6 +67,7 @@ const query3 = ref({
code: `${props.matchId}${language.value == 0 ?'100':'101'}3`
})
onMounted(() => {
console.log(props.matchId,language.value)
getList(query1.value)
getList2(query2.value)
getList3(query3.value)
......
......@@ -7,7 +7,7 @@
<el-table-column :label="language==0?'所属国家':'Nationality'" prop="" :min-width="language==0?'100':'120'">
<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>
<span v-if="scope.row.personInfo.representing">{{scope.row.personInfo.representing}}</span>
</template>
</el-table-column>
<!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/>-->
......
......@@ -241,7 +241,6 @@ function getMatch(id) {
}).catch(res=>{
error.value = true
loading.value = false
})
}
......
......@@ -9,6 +9,36 @@
<div v-if="isLogin">
<group-info-row v-if="groupId" :group-id="groupId"/>
<coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/>
<div class="pd20" v-if="user.utype=='1'&&myMemberTable.length>0">
<div class="leftboderTT">{{ language==0?'随行人员清单':'List of accompanying personnel' }}
</div>
<div>
<el-table class="mt20" :data="myMemberTable" border>
<el-table-column type="index" label="Index" width="70" align="center"/>
<el-table-column :label="language==0?'姓氏':'surname'" prop="xing" min-width="100"/>
<el-table-column :label="language==0?'名':'name'" prop="ming" min-width="100"/>
<el-table-column label="Passport number" prop="idcCode" min-width="120"/>
<el-table-column label="Birthday" prop="birth"/>
<el-table-column label="Sex" prop="sexStr"/>
<el-table-column label="Role" min-width="160">
<template #default="scope">
<div class="roletd">
<span v-for="item in scope.row.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>
</div>
</template>
</el-table-column>
</el-table>
</div>
</div>
<div class="pd20" v-if="signInfoList?.length>0">
<div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div>
<!-- 人员列表-->
......@@ -49,8 +79,10 @@
</div>
<div class="text-danger flex" v-if="form.auditStatus=='3'">
<img src="@/assets/img/w.png">
<div>
{{ language==0?'报名信息审核拒绝':'Registration Information rejected' }}
<div>{{ language==0?'驳回理由:':'Reason:'}}</div>
<div v-if="form.reason" class="rre">{{language==0?'驳回理由':'Reason'}}:{{form.reason}}</div>
</div>
</div>
</el-col>
<el-col :lg="12">
......@@ -284,6 +316,7 @@ const totalFee = ref('')
const wePayCodeUrl = ref('')
const form = ref({})
const voucherObj = ref({})
const myMemberTable = ref([])
const upForm = ref({
orderId:orderId.value
})
......@@ -291,6 +324,7 @@ const errorBox = ref(false)
const hideconfirmbtn = ref(false)
const insuranceFeeTotal = ref(0)
const serviceFeeTotal = ref(0)
const user = useUserStore().user
console.log(route.query.orderId)
// 1763462073870237698
getData()
......@@ -305,12 +339,20 @@ function getData() {
groupId.value = form.value.groupId || 0
if(isLogin.value){
getSignList()
if(user.utype=='1'){
getMyMemberTable()
}
}
}).catch(err=>{
console.log(err)
errorBox.value = true
})
}
function getMyMemberTable() {
match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => {
myMemberTable.value = res.rows
})
}
function upRR() {
upForm.value.voucher = voucherObj.value[0].url
match.upReceipt(upForm.value).then(res=>{
......@@ -486,4 +528,5 @@ function showLogin(){
}
.size26{font-size: 26px;}
}
.rre{color: #333;font-size: 16px;margin-top: 10px}
</style>
......
......@@ -2,14 +2,44 @@
<div>
<div class="box ph-30">
<el-card class="mb20">
<team-sign-step :language="language" :active-step="activeStep"/>
<team-sign-step v-if="user.utype=='2'" :language="language" :active-step="activeStep"/>
<single-sign-step v-if="user.utype=='1'" :language="language" :active-step="2"/>
</el-card>
<el-card :body-style="{ padding: '0px' }">
<match-info-row v-if="matchId" :match-id="matchId"/>
<group-info-row v-if="matchId" :match-id="matchId" :group-id="groupId"/>
<coach-info-row v-if="matchId" :match-id="matchId" :language="language"/>
<div style="margin: 20px">
<group-info-row v-if="matchId&&groupId!=0" :match-id="matchId" :group-id="groupId"/>
<coach-info-row v-if="matchId&&user.utype=='2'" :match-id="matchId" :language="language"/>
<div style="margin: 20px">
<div class="leftboderTT" v-if="user.utype=='1'&&myMemberTable.length>0">{{ language==0?'随行人员清单':'List of accompanying personnel' }}
</div>
<div v-if="user.utype=='1'&&myMemberTable.length>0">
<el-table class="mt20" :data="myMemberTable" border>
<el-table-column type="index" label="Index" width="70" align="center"/>
<el-table-column :label="language==0?'姓氏':'surname'" prop="xing" min-width="100"/>
<el-table-column :label="language==0?'名':'name'" prop="ming" min-width="100"/>
<el-table-column label="Passport number" prop="idcCode" min-width="120"/>
<el-table-column label="Birthday" prop="birth"/>
<el-table-column label="Sex" prop="sexStr"/>
<el-table-column label="Role" min-width="160">
<template #default="scope">
<div class="roletd">
<span v-for="item in scope.row.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>
</div>
</template>
</el-table-column>
</el-table>
</div>
<div class="mt20">
<div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }}
<div class="fr">
......@@ -48,8 +78,9 @@
<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">
......@@ -78,6 +109,7 @@ import useUserStore from "@/store/modules/user";
import ZuTable from "@/viewsPc/match/components/zu-table";
import {ElMessageBox} from "element-plus";
import {exportCn} from "@/apiPc/match";
import SingleSignStep from "@/viewsPc/match/components/singleSignStep";
const route = useRoute()
const router = useRouter()
const activeStep = ref(3)
......@@ -87,7 +119,10 @@ const groupId = ref(route.query.groupId || 0)
const form = ref({})
const matchId = ref(route.query.matchId)
const signInfoList = ref([])
const signEndTime = ref('')
const zuTableList = ref([])
const myMemberTable = ref([])
const user = useUserStore().user
const {proxy} = getCurrentInstance()
const zuQuery = ref({
cptId: matchId.value,
......@@ -99,8 +134,23 @@ onMounted(()=>{
// console.log(route.query)
getSignList()
getFee(groupId.value)
if(user.utype=='1'){
getMyMemberTable()
}
getMatch()
})
function getMatch() {
match.getMatchById({
id: matchId.value
}).then(res => {
signEndTime.value = res.data.signEndTime
})
}
function getMyMemberTable() {
match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => {
myMemberTable.value = res.rows
})
}
function getSignList() {
match.getMySignInfoList(zuQuery.value).then(res=>{
......@@ -109,6 +159,7 @@ function getSignList() {
})
}
const goPrev = () => {
if(user.type=='2'){
router.push({
name: 'chooseSportsman',
query: {
......@@ -116,6 +167,18 @@ const goPrev = () => {
groupId: groupId.value
}
})
} else {
router.push({
name: 'chooseProject',
params:{
id:matchId.value
},
query: {
matchId: matchId.value
}
})
}
}
const getFee = (entryId) => {
match.getTotalFee({
......@@ -127,29 +190,40 @@ const getFee = (entryId) => {
}
const submitForm = (n) => {
if(n==0){
ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核,必须在报名截止时间XXXX-XX-XX之前完成提交。\n` +
'\n' +
'您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。','提示',{
confirmButtonText: '去个人中心',
cancelButtonText: '知道了',
ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核,
必须在报名截止时间${signEndTime.value}之前完成提交。
您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`:
`Your current operation is temporary and not submitted for review,
Submission must be completed before the registration deadline${signEndTime.value}
You can also find this registration in the My Registration section of your personal center and click submit for review.`,
language.value == 0 ? '提示' : 'Tip', {
confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ',
cancelButtonText: language.value == 0 ? '知道了' : 'OK',
type: 'warning'
}).then((res)=>{
}).then((res) => {
console.log(res)
router.push({name: 'myMatch'})
})
return
}
ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?',
language.value == 0 ? '提示' : 'Tip',
{
confirmButtonText: language.value == 0 ? '确定' : 'Yes',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
}).then(()=>{
match.commitSign({
groupId: groupId.value,
groupId: groupId.value||0,
cptId: matchId.value
}).then(res=>{
}).then(res => {
router.push({
name:`commitDone`,
name: `commitDone`,
params: {
orderId: res.data
}
})
})
})}
)
}
function exportSignList(n) {
var obj = {
......
......@@ -111,7 +111,7 @@ const data = reactive({
},
form: {},
groupId: route.query.groupId||0,
cptId: route.query.matchId||0,
cptId: route.params.id||0,
signType: false,
regionsList: [],
participantsInfoArr: [],
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!