6cbcab31 by 杨炀

no message

1 parent 734b1000
......@@ -15,6 +15,12 @@ export function getMatchById(params) {
params: params
})
}
export function refundApply(orderId) {
return request({
url: `/league/signOrder/refundApply?orderId=${orderId}`,
method: 'post'
})
}
export function getMySignCptList(query) {
return request({
......
......@@ -5,7 +5,9 @@
/** 基础通用 **/
.popo{position: absolute;left: 0;}
.no-pointer { pointer-events: none }
.blur20 { filter: blur(20px) }
.pt5 {
padding-top: 5px;
}
......
......@@ -59,10 +59,19 @@
<!-- | &nbsp;<span @click="goRegister">注册</span>-->
</el-button>
<el-button v-if="isLogin" style="border-radius: 20px;" class="loginBtn">
<span @click="router.push('/center/myInfo')">{{ language==0?'个人中心':'Personal' }}</span>
&nbsp;&nbsp;<span @click="logout()">{{language==0?'退出':'Exit'}}</span>
</el-button>
<el-dropdown v-if="isLogin" class="mr20">
<el-avatar :icon="UserFilled">
<!-- {{user.userName.substring(0,4)}}-->
</el-avatar>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="router.push('/center/myInfo')">{{ language==0?'个人中心':'Personal' }}</el-dropdown-item>
<el-dropdown-item @click="logout()">{{language==0?'退出':'Exit'}}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</div>
<a class="ropenbtn" @click="showDrawer">
......@@ -134,7 +143,7 @@
import { computed, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import useUserStore from '@/store/modules/user'
import { Search } from '@element-plus/icons-vue'
import { Search,UserFilled } from '@element-plus/icons-vue'
import { getCurrentInstance, onMounted } from '@vue/runtime-core'
import _ from 'lodash'
import LoginDialog from '@/viewsPc/login'
......@@ -155,11 +164,11 @@ const loginForm = ref({})
const drawer = ref(false)
const mode = ref('horizontal')
const language = useStorage('language', 0)
const user = useUserStore().user
onMounted(() => {
console.log(window.location.href)
if (useUserStore().user) {
if (user) {
isLogin.value = true
}
if (route.fullPath.indexOf('news') > -1) {
......
......@@ -9,12 +9,19 @@
<el-button v-if="!isLogin" style="border-radius: 20px;" class="loginBtn">
<span @click="goLogin">{{ language==0?'登录':'LOGIN' }}</span>
</el-button>
<el-button v-if="isLogin" style="border-radius: 20px;" class="loginBtn">
<span @click="router.push('/center/myInfo')">{{ language==0?'个人中心':'Personal' }}</span>
&nbsp;&nbsp;
<span @click="logout()">{{language==0?'退出':'Exit'}}</span>
</el-button>
<el-dropdown v-if="isLogin" class="mr20">
<el-avatar :icon="UserFilled">
<!-- {{user.userName.substring(0,4)}}-->
</el-avatar>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="router.push('/center/myInfo')">{{ language==0?'个人中心':'Personal' }}</el-dropdown-item>
<el-dropdown-item @click="logout()">{{language==0?'退出':'Exit'}}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</div>
</div>
<!-- <a class="ropenbtn" @click="showDrawer">-->
......@@ -85,7 +92,6 @@
import { computed, ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import useUserStore from '@/store/modules/user'
import { Search } from '@element-plus/icons-vue'
import { getCurrentInstance, onMounted } from '@vue/runtime-core'
import _ from 'lodash'
import LoginDialog from '@/viewsPc/login'
......@@ -95,7 +101,7 @@ import Captcha from './captcha'
import CaptchaSms from './captchaSms'
import cache from '@/plugins/cache'
import {useStorage} from "@vueuse/core/index";
import {UserFilled } from '@element-plus/icons-vue'
const router = useRouter()
const route = useRoute()
const { proxy } = getCurrentInstance()
......
......@@ -464,31 +464,6 @@ export const constantRoutes = [
]
},
{
path: 'train',
component: Empty,
redirect: '/train/list',
children: [
{
path: 'list',
component: () => import('@/viewsPc/train/index'),
name: 'trainList',
meta: { title: '培训' }
},
{
path: 'detail/:id',
component: () => import('@/viewsPc/train/detail'),
name: 'trainDetail',
meta: { title: '培训详情' }
},
{
path: 'signUp/:id',
component: () => import('@/viewsPc/train/signUp'),
name: 'trainSignUp',
meta: { title: '培训报名' }
}
]
},
{
path: 'center',
component: () => import('@/viewsPc/center/index'),
children: [
......
......@@ -466,7 +466,7 @@ export const constantRoutes = [
},
{
path: 'list/:id/teamSignCn',
component: () => import('@/viewsPc/match/teamSign_bak'),
component: () => import('@/viewsPc/match/teamSign_Cn'),
name: 'teamSignCn',
meta: { title: '团队报名-国内赛' }
},
......
......@@ -430,31 +430,6 @@ export const constantRoutes = [
]
},
{
path: 'train',
component: Empty,
redirect: '/train/list',
children: [
{
path: 'list',
component: () => import('@/viewsPc/train/index'),
name: 'trainList',
meta: { title: '培训' }
},
{
path: 'detail/:id',
component: () => import('@/viewsPc/train/detail'),
name: 'trainDetail',
meta: { title: '培训详情' }
},
{
path: 'signUp/:id',
component: () => import('@/viewsPc/train/signUp'),
name: 'trainSignUp',
meta: { title: '培训报名' }
}
]
},
{
path: 'center',
component: () => import('@/viewsPc/center/index'),
children: [
......
......@@ -13,45 +13,46 @@
<team-info :form="myform" v-if="user.utype=='2'"/>
<div class="pd20" v-else>
<div class="d-form-border" style="margin-top: 0">
<el-form class="d-form" label-width="120" :rules="rules" ref="formref">
<el-form class="d-form" label-width="120" :rules="rules" ref="formref"
:label-position="language==0?'left':'top'" style="max-width: 500px;margin: auto">
<el-form-item :label="language==0?'用户名':'Account'">
{{ user.userName }}
</el-form-item>
<el-form-item :label="language==0?'姓名':'Real Name'" required prop="realName">
<el-input v-model="myform.realName" disabled/>
</el-form-item>
<el-form-item :label="language==0?'性别':'Sex'" required >
<el-form-item :label="language==0?'性别':'Gender'" required >
<el-radio-group v-model="myform.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?'出生日期':'Birthday'" required>
<el-form-item :label="language==0?'出生日期':'Birthday'">
<el-date-picker
v-model="myform.birth"
style="width: 100%;"
type="date" format="YYYY-MM-DD" value-format="YYYY-MM-DD"
/>
</el-form-item>
<el-form-item label="Representing">
<el-form-item :label="language==0?'代表':'Representing'" required>
<el-input v-model="myform.representing" disabled/>
</el-form-item>
<el-form-item label="Age group">
<el-form-item :label="language==1?'Age group':'年龄组'" required>
<el-input v-model="myform.ageGroup" disabled/>
</el-form-item>
<el-form-item label="Division">
<el-form-item :label="language==0?'舞种':'Division'" required>
<el-input v-model="myform.division" disabled/>
</el-form-item>
<el-form-item label="Status">
<el-form-item :label="language==0?'状态':'Status'" required>
<el-input v-model="myform.wdsfStatus" disabled/>
</el-form-item>
<el-form-item label="Passport" required>
<el-form-item :label="language==0?'证件号':'Passport number'">
<el-input v-model="myform.passportNumber"/>
</el-form-item>
<el-form-item label="Passport File" required>
<el-form-item :label="language==0?'有效证件':'Valid Certificates Scanning Copy'" required>
<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">
<el-form-item :label="language==0?'WDSF会员号':'WDSF MIN'" prop="wdsfMin">
{{myform.wdsfMin}}
</el-form-item>
<!-- <el-form-item :label="language==0?'证件类型':'ID type'" required prop="idcType">-->
......@@ -67,14 +68,14 @@
<!-- <el-form-item :label="language==0?'证件号码':'ID NO'" prop="idcCode">-->
<!-- <el-input v-model="myform.idcCode" @blur="checkCode"/>-->
<!-- </el-form-item>-->
<el-form-item :label="language==0?'类型':'Type'" required>
<el-select v-model="myform.type" style="width: 100%;">
<el-option :label="language==0?'业余':'amateur'" value="0"/>
<el-option :label="language==0?'专业':'Professional'" value="1"/>
<el-option :label="language==0?'大专院校':'Colleges and universities'" value="2"/>
<el-option :label="language==0?'其他':'Other'" value="3"/>
</el-select>
</el-form-item>
<!-- <el-form-item :label="language==0?'类型':'Type'" required>-->
<!-- <el-select v-model="myform.type" style="width: 100%;">-->
<!-- <el-option :label="language==0?'业余':'amateur'" value="0"/>-->
<!-- <el-option :label="language==0?'专业':'Professional'" value="1"/>-->
<!-- <el-option :label="language==0?'大专院校':'Colleges and universities'" value="2"/>-->
<!-- <el-option :label="language==0?'其他':'Other'" value="3"/>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- <el-form-item :label="language==0?'邮箱':'Email'" required prop="email">-->
<!-- <el-input v-model="myform.email" type="email" :placeholder="language==0?'请输入内容':''"/>-->
<!-- </el-form-item>-->
......@@ -165,13 +166,9 @@ function getData() {
}
function save() {
proxy.$refs['dialogRef'].validate((valid) => {
if(valid){
match.saveMyBaseInfo().then(res => {
match.saveMyBaseInfo(myform.value).then(res => {
ElMessage.success(language.value==0?'保存成功':'Save successfully')
})
}
})
}
......
......@@ -7,6 +7,7 @@
<span class="bg-primary" v-if="n.auditStatus=='1'">{{ language==0?'待审核':'Auditing' }}</span>
<span class="bg-blue" v-if="n.auditStatus=='2'">{{ language==0?'审核通过':'Approved' }}</span>
<span class="bg-danger" v-if="n.auditStatus=='3'">{{ language==0?'审核驳回':'Reject' }}</span>
<span class="bg-warning" v-if="n.auditStatus=='4'">{{ language==0?'已取消':'Canceled' }}</span>
</div>
<el-row :gutter="15">
<el-col :lg="6" :md="8" :xl="10">
......@@ -18,8 +19,8 @@
<h3>{{ n.name }}</h3>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language==0?'赛事类型':'Event Type' }}</label>{{ n.level }}</p>
<p class="ppl"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}</label>{{n.groupName}}</p>
<p class="ppl"><label>{{ language==0?'赛事级别':'Event Type' }}</label>{{ n.level }}</p>
<p class="ppl" v-if="n.languageSource=='100'"><label v-if="n.groupName">{{ language==0?'参赛队':'Name of participating team' }}</label>{{n.groupName}}</p>
</el-col>
<el-col :lg="8">
<p class="ppl"><label>{{ language==0?'比赛时间':'Event Date' }}</label>{{ n.signBeginTime?.substring(0,10) }}~{{n.signEndTime.substring(0,10)}}
......@@ -38,7 +39,10 @@
<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>
{{ language==0?'缴费':'Pay' }}</el-button>
<!-- <el-button plain round type="primary" @click="goRefund(n)" v-if="n.orderId">-->
<!-- {{ language==0?'退款':'Refund' }}-->
<!-- </el-button>-->
</div>
</el-col>
</el-row>
......@@ -71,6 +75,7 @@ import _ from 'lodash'
import useUserStore from "@/store/modules/user";
import cache from "@/plugins/cache";
import {useStorage} from "@vueuse/core/index";
import {refundApply} from "@/apiPc/match";
const language= useStorage('language',0)
const router = useRouter()
const {proxy} = getCurrentInstance()
......@@ -136,7 +141,7 @@ function reSign(n){
function continueSign(n){
if(n.status=='0'){
ElMessage({
message: 'The current event is offline.',
message: language.value==0?'赛事已下线无法继续报名':'The current event is offline.',
type: 'warning'
})
return
......@@ -177,6 +182,20 @@ function goDetail(n){
}
})
}
function goRefund(n) {
ElMessageBox.confirm('Are you sure to refund?', 'Refund', {
confirmButtonText: 'Confirm',
cancelButtonText: 'Cancel',
type: 'warning',
}).then(() => {
match.refundApply(n.orderId).then(res=>{
ElMessage({
message: 'Refund success',
type: 'success'
})
})
})
}
function getList() {
console.log(query2.value)
match.getMySignCptList(query2.value).then(res => {
......@@ -204,8 +223,10 @@ function getList() {
color: #FFFFFF;
span{border-radius: 0px 10px 0px 10px;padding: 4px 10px;}
.bg-danger{background: #E60012;}
.bg-warning{background: #e89f39;}
.bg-pink{background: #F740A6;}
.bg-primary{background: var(--el-color-primary)}
.bg-blue{background: #00a0e9}
}
&:last-child {
border-bottom: none;
......
......@@ -2,7 +2,7 @@
<el-card class="mb20">
<div class="funcBtns">
<el-button type="primary" @click="addMember">{{ language==0?'添加选手':'Add Player'}}</el-button>
<el-button type="primary" plain @click="importSportman">{{ language==0?'导入选手':'Import Player' }}</el-button>
<el-button type="primary" v-if="group.type!='4'" plain @click="importSportman">{{ language==0?'导入选手':'Import Player' }}</el-button>
</div>
<div class="from-Card">
<el-form :inline="true" :model="query" class="mt20" :label-width="language==0?60:80" size="small">
......
......@@ -30,7 +30,7 @@
</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-select :disabled="form.type=='4'" 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" />
......
......@@ -41,12 +41,13 @@
<div class="box zn-bg">
<div class="zn-Box">
<img class="bbbg" v-if="matchData.logoUrl" :src="fillImgUrl(matchData.logoUrl)"/>
<img class="bbbg" v-if="matchData?.logoUrl" :src="fillImgUrl(matchData?.logoUrl)"/>
<el-row>
<el-col :sm="24" :lg="10">
<div class="bgbg">
<h1 style="color: #fff">WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024</h1>
<a class="zn-btn" href="/file/GUIDE.pdf" target="_blank">ENTRY GUIDE
<a class="zn-btn" href="/file/GUIDE.pdf" target="_blank">
ENTRY GUIDE
<el-icon><download /></el-icon>
</a>
</div>
......
......@@ -359,14 +359,25 @@ function goNext() {
}
function goPrev() {
router.push({
name: `teamSign`,
query: {
matchId: matchId,
groupId: groupId.value,
isNational:isNational.value
}
})
if(isNational.value){
router.push({
name: `teamSign`,
query: {
matchId: matchId,
groupId: groupId.value,
isNational:isNational.value
}
})
} else {
router.push({
name: `teamSignCn`,
query: {
matchId: matchId,
groupId: groupId.value,
isNational: false
}
})
}
}
function editPerson(id) {
......
......@@ -13,7 +13,7 @@
<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>-->
<el-button type="primary" plain class="fr" @click="chooseSportman">
<el-button type="primary" plain class="fr" @click="chooseSportman" size="small" style="top:12px">
{{ language == 0 ? '选手管理' : 'Player Management' }}
</el-button>
</div>
......@@ -23,7 +23,7 @@
@change="changechoosed">
<el-option v-for="c in athletesList" :key="c.id" :label="c.xing + c.ming" :value="c.id">
<div class="flexOption">
{{ c.xing }}{{ c.ming }}
{{ c.realName }}
<img v-if="c.sex=='0'" src="@/assets/img/female.png"/>
<img v-if="c.sex=='1'" src="@/assets/img/male.png"/>
<!-- -{{ c.age }}-->
......@@ -39,6 +39,19 @@
{{ language == 0 ? '重选' : 'Re-select' }}
</el-button>
</div>
<!-- -->
<div class="pd20 text-center" v-if="athletesList.length==0">
<span>{{ language == 0 ? '暂无运动员' : 'No athletes' }}
</span>
<span class="text-primary" @click="chooseSportman">{{ language == 0 ? '去创建':' Create' }}</span>
</div>
<div class="pd20 text-center" v-if="choosedchoosed.length==0">
<span class="text-warning">
{{ language == 0 ? '请在上面的下拉框中选择运动员' : 'Please select athletes in the drop-down box' }}
</span>
</div>
<!-- <div class="noPicChooseForm" id="chooseArr">-->
<!-- <el-checkbox-group v-model="choosedchoosed" @change="changechoosed">-->
<!-- <el-checkbox v-for="c in choosedListBak" :value="c.id" border>-->
......@@ -117,7 +130,7 @@
<!-- </div>-->
<sign-info-table v-if="tableType==0" :match-id="matchId"
:extraform="extraform" :list="signInfoList"
@editExtra="goPersonInfo"/>
@editExtra="goPersonInfo" :isNational="isNational"/>
<zu-table v-else :list="zuTableList" @delete="removeThis"/>
<div class="text-center mt20">
<el-button type="primary" class="w200px" plain round @click="goPrev()">
......@@ -146,12 +159,12 @@
</el-dialog>
<dialogExtraForm ref="popExtraForm" @submitForm="getSignInfoList"/>
<dialogWdsf ref="popWdsf" @submitForm="getAthletesList" @cancel="removeCurproject"/>
<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="勾选报项运动员"/>
<el-tour-step v-if="projectList.length>0" target="#projectbox" title="第三步" description="选择报名项目"/>
<el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>
</el-tour>
<!-- <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="勾选报项运动员"/>-->
<!-- <el-tour-step v-if="projectList.length>0" target="#projectbox" title="第三步" description="选择报名项目"/>-->
<!-- <el-tour-step v-if="projectIds.length>0" target="#signUpBtn" title="第四步" description="点击报项"/>-->
<!-- </el-tour>-->
</div>
</template>
......@@ -342,7 +355,8 @@ function submitForm() {
name: 'signPreview',
query: {
matchId: matchId.value,
groupId: groupId.value
groupId: groupId.value,
isNational: isNational.value
}
})
}
......@@ -519,7 +533,8 @@ const goPersonInfo = (row) => {
title: language.value == 0 ? '完善补充信息' : 'Complete the supplementary information',
participantsInfoArr: extraform.value,
personId: row.personInfo.id,
extraId: row.extraPersonInfo?.id || 0
extraId: row.extraPersonInfo?.id || 0,
isNational: isNational.value
}
proxy.$refs['popExtraForm'].open(_.cloneDeep(params))
}
......
......@@ -61,12 +61,11 @@ const goHome = () => {
}
const goSign = () => {
router.push({
name: `matchDetail`,
params:{id:0}
name: `matchList`
})
}
</script>
<style scoped lang="scss">
.border-info{padding: 30px;line-height: 2;}
.border-info{padding: 30px;line-height: 2;}
</style>
......
......@@ -174,8 +174,6 @@ function submitForm() {
}
if(Array.isArray(form.value.passportUrl)){
form.value.passportUrl = form.value.passportUrl[0].url
} else {
form.value.passportUrl = form.value.passportUrl
}
proxy.$refs['dialogRef'].validate((valid) => {
if (valid) {
......
......@@ -324,12 +324,17 @@ function submitForm() {
return
}
}
if(!form.value.passportUrl){
ElMessage.warning(language.value == 0 ? '请上传有效证件' :'Please upload your passport file')
return
}
if (typeof (form.value.regionId) === 'object') {
form.value.regionId = _.last(form.value.regionId)
}
form.value.label = form.value.labelArr.toString()
if(Array.isArray(form.value.passportUrl)){
form.value.passportUrl = form.value.passportUrl[0].url
}
if (groupId.value != 0) {
// 团队
form.value.groupId = groupId.value
......
......@@ -25,7 +25,7 @@
</template>
</el-input>
</el-form-item>
<el-form-item :label="language==0?'姓氏':'Surname'" prop="xing" required>
<el-form-item :label="language==0?'姓氏':'Surname'" prop="xing" :required="!editDis">
<el-input v-model="form.xing" :disabled="editDis"/>
</el-form-item>
<el-form-item :label="language==0?'名':'Name'" prop="ming" required>
......@@ -38,7 +38,7 @@
</el-radio-group>
</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%;">
<el-select filterable v-model="form.countryId" style="width: 100%;">
<el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName"
:value="item.id"/>
</el-select>
......@@ -153,7 +153,7 @@ const data = reactive({
sex: '0'
},
rules: {
xing: [{required: true, message: '必填', trigger: 'blur'}],
// xing: [{required: true, message: '必填', trigger: 'blur'}],
ming: [{required: true, message: '必填', trigger: 'blur'}],
// countryId: [{required: true, message: '必填', trigger: 'change'}],
// idcType: [{required: true, message: '必填', trigger: 'change'}],
......@@ -167,7 +167,7 @@ const data = reactive({
labelArr: [{required: true, message: '必填', trigger: 'change'}]
},
rules_cn: {
xing: [{required: true, message: 'required', trigger: 'blur'}],
// xing: [{required: true, message: 'required', trigger: 'blur'}],
ming: [{required: true, message: 'required', trigger: 'blur'}],
countryId: [{required: true, message: 'required', trigger: 'change'}],
// idcType: [{required: true, message: 'required', trigger: 'change'}],
......@@ -221,13 +221,17 @@ onMounted(() => {
const editgay = ref(false)
const editDis = ref(false)
const isShow = ref(false)
const cptId = ref('0')
const open = (params) => {
console.log(params.label)
show.value = true
title.value = params.title
cptId.value = params.cptId
groupId.value = params.groupId || '0'
if (params.label) {
form.value.labelArr = [params.label]
} else {
form.value.labelArr = []
}
if (params.id != 0) { // 编辑
editgay.value = true
......@@ -250,6 +254,8 @@ watch(show, (value) => {
form.value = {
sex: '0'
}
card.value = ''
editDis.value = false
if (language.value == 0) {
form.value.countryId = 240
}
......@@ -376,6 +382,12 @@ function submitForm() {
// return
// }
// }
if(!editDis.value){
if(!form.value.xing){
ElMessage.warning(language.value == 0 ? '请填写姓' :'Please fill in surname')
return
}
}
if(!form.value.passportUrl){
ElMessage.warning(language.value == 0 ? '请上传护照文件' :'Please upload your passport file')
return
......@@ -385,8 +397,6 @@ function submitForm() {
}
if(Array.isArray(form.value.passportUrl)){
form.value.passportUrl = form.value.passportUrl[0].url
} else {
form.value.passportUrl = form.value.passportUrl
}
form.value.label = form.value.labelArr.toString()
......@@ -414,6 +424,7 @@ function submitForm() {
emit('submitForm')
})
} else {
form.value.cptId = cptId.value
match.savePersonForMyPerson(form.value).then(res => {
ElMessage.success(language.value == 0 ? '保存成功' : 'Save successful')
show.value = false
......
......@@ -212,8 +212,8 @@ function submitForm() {
// ElMessage.warning('Please upload your photo')
// return
// }
if (!form.value.passportUrl) {
ElMessage.warning('Please upload your passport file')
if (!form.value.passportUrl||form.value.passportUrl==''||form.value.passportUrl.length==0) {
ElMessage.warning('Please upload passport file')
return
}
if (editgay) {
......@@ -223,7 +223,7 @@ function submitForm() {
form.value.passportUrl = form.value.passportUrl[0].url
}
match.editPersonInfo(form.value).then(res => {
ElMessage.success('保存成功')
ElMessage.success(language.value == 0 ? '保存成功' :'Successfully')
show.value = false
emit('submitForm')
})
......
......@@ -4,7 +4,7 @@
<el-button type="primary" @click="addMember">
{{ language == 0 ? '添加选手' : 'Add Player' }}
</el-button>
<el-button type="primary" plain @click="importSportman" v-if="isNational">
<el-button type="primary" plain @click="importSportman" v-if="!isNational">
{{language == 0 ? '导入选手' : 'Import Player'}}
</el-button>
</div>
......@@ -13,7 +13,7 @@
<el-form-item :label="language==0?'姓名':'Name'">
<el-input v-model="query.realName" style="width: 120px;" clearable/>
</el-form-item>
<el-form-item :label="language==0?'证件类型':'ID Type'">
<el-form-item :label="language==0?'证件类型':'ID Type'" v-if="!isNational">
<el-select v-model="query.idcType" style="width: 100px;" clearable @change="getList">
<el-option
v-for="item in certificates"
......@@ -23,7 +23,7 @@
/>
</el-select>
</el-form-item>
<el-form-item :label="language==0?'证件号码':'ID NO.'">
<el-form-item :label="language==0?'证件号码':'ID NO.'" v-if="!isNational">
<el-input v-model="query.idcode" style="width: 120px;" clearable/>
</el-form-item>
<!-- <el-form-item label="角色">-->
......@@ -38,20 +38,20 @@
<el-table ref="allSportmenTable" v-loading="loading" :data="tableData" height="60vh"
@selection-change="handleSelectionChange">
<!-- <el-table-column type="selection" :label="language==0?'选择':'Selection'" :selectable="selectable"/>-->
<el-table-column type="index" :label="language==0?'序号':'Index'" width="60" :selectable="selectable"/>
<el-table-column v-show="isNational" :label="language==0?'WDSF 会员号':'MIN'" prop="wdsfMin" width="100"/>
<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 v-show="isNational" :label="language==0?'代表':'Representing'" prop="representing" min-width="120"/>
<el-table-column :label="language==0?'所属国家/地区':'Nationality'" prop="countryName" min-width="100"/>
<el-table-column align="center" type="index" :label="language==0?'序号':'Index'" width="60" :selectable="selectable"/>
<el-table-column v-if="isNational" :label="language==0?'WDSF 会员号':'WDSF MIN'" prop="wdsfMin" width="100"/>
<el-table-column align="center" :label="language==0?'姓氏':'Surname'" prop="xing" min-width="100"/>
<el-table-column align="center" :label="language==0?'名':'Name'" prop="ming" min-width="100"/>
<el-table-column align="center" v-if="isNational" :label="language==0?'代表':'Representing'" prop="representing" min-width="120"/>
<el-table-column align="center" v-if="!isNational" :label="language==0?'所属国家/地区':'Nationality'" prop="countryName" min-width="110"/>
<el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/>
<el-table-column v-show="isNational" :label="language==0?'年龄组':'Age group'" prop="ageGroup" min-width="100"/>
<el-table-column v-show="isNational" :label="language==0?'舞种':'Division'" prop="division" min-width="100"/>
<el-table-column align="center" v-if="isNational" :label="language==0?'年龄组':'Age group'" prop="ageGroup" min-width="100"/>
<el-table-column align="center" v-if="isNational" :label="language==0?'舞种':'Division'" prop="division" min-width="100"/>
<el-table-column :label="language==0?'年龄':'Age'" prop="age"/>
<el-table-column :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/>
<el-table-column :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" width="120"/>
<el-table-column :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/>
<el-table-column v-if="!isNational" :label="language==0?'年龄':'Age'" prop="age"/>
<el-table-column v-if="!isNational" :label="language==0?'出生日期':'Birth'" prop="birth" width="110"/>
<el-table-column v-if="!isNational" :label="language==0?'证件类型':'ID Type'" prop="idcTypeStr" width="120"/>
<el-table-column v-if="!isNational" :label="language==0?'证件号码':'ID NO.'" prop="idcCode" width="200"/>
<!-- <el-table-column label="会员角色" width="200">-->
<!-- <template #default="scope">-->
<!-- <div>-->
......
......@@ -9,11 +9,16 @@
</el-descriptions-item>
<el-descriptions-item v-if="form.xing" :label="language==0?'姓氏':'Surname'">{{ form.xing }}</el-descriptions-item>
<el-descriptions-item :label="language==0?'名':'Name'">{{ form.ming }}</el-descriptions-item>
<el-descriptions-item :label="language==0?'性别':'Sex'">{{ form.sexStr }}</el-descriptions-item>
<el-descriptions-item v-if="form.countryName" :label="language==0?'所属国家/地区':'Country'">{{ form.countryName }}</el-descriptions-item>
<el-descriptions-item :label="language==0?'证件类型':'ID type'">{{ form.idcTypeStr }}</el-descriptions-item>
<el-descriptions-item :label="language==0?'证件号码':'ID NO'">{{ form.idcCode }}</el-descriptions-item>
<el-descriptions-item :label="language==0?'出生日期':'birth'">{{ form.birth }}</el-descriptions-item>
<el-descriptions-item :label="language==0?'性别':'Gender'">{{ form.sexStr }}</el-descriptions-item>
<el-descriptions-item v-if="isNational" :label="language==0?'代表':'Representing'">{{ form.representing }}</el-descriptions-item>
<el-descriptions-item v-else :label="language==0?'所属国家/地区':'Country'">{{ form.countryName }}</el-descriptions-item>
<el-descriptions-item v-if="isNational" :label="language==0?'WDSF':'WDSF MIN'">{{ form.idcCode }}</el-descriptions-item>
<el-descriptions-item v-else :label="language==0?'证件类型':'ID type'">{{ form.idcTypeStr }}</el-descriptions-item>
<el-descriptions-item v-else :label="language==0?'证件号码':'ID NO'">{{ form.idcCode }}</el-descriptions-item>
<el-descriptions-item v-if="!isNational" :label="language==0?'出生日期':'birth'">{{ form.birth }}</el-descriptions-item>
</el-descriptions>
<el-row v-if="participantsInfoArr&&participantsInfoArr.length>0" class="mt20">
......@@ -66,12 +71,13 @@ const language= useStorage('language',0)
const data = reactive({
form: {},
show: false,
isNational: false,
countryList: [],
participantsInfoArr: [],
title: '',
groupId: '0'
})
const { form, show, countryList, participantsInfoArr, title, groupId } = toRefs(data)
const { form, show,isNational, countryList, participantsInfoArr, title, groupId } = toRefs(data)
let extraId = 0
let personId
let matchId
......@@ -86,6 +92,7 @@ const open = (params) => {
personId = params.personId
extraId = params.extraId
matchId = params.matchId
isNational.value = params.isNational
participantsInfoArr.value = params.participantsInfoArr
init()
}
......
......@@ -3,7 +3,7 @@
<el-row>
<el-col :lg="8">
<el-row :gutter="15">
<el-col :span="4">
<el-col :span="4" v-if="groupInfo.imgUrl">
<img class="w100" :src="fillImgUrl(groupInfo.imgUrl)"/>
</el-col>
<el-col :span="20">
......@@ -20,7 +20,7 @@
</el-col>
<el-col :lg="8">
<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 class="item" v-if="groupInfo.type!='4'"><label>{{ language==0?'参赛队名称':'Name of participating team' }}</label>{{ groupInfo.abreviations }}</div>
</el-col>
<el-col :lg="8">
<div class="item"><label>{{ language==0?'邮箱':'Email' }}</label>{{ groupInfo.contactEmail }}</div>
......
......@@ -27,9 +27,30 @@
<td>{{ p.danceTypeDetailStr }}</td>
<td>{{ p.playTypeStr }}</td>
<td>
<div>{{ p.birthPeriod }}</div>
<div>{{p.birthPeriodSecond}}</div>
<!-- <div>{{ p.birthAgeGroup }};{{p.birthAgeSecondGroup}}</div>-->
<!-- {{ isNational }}-->
<div v-if="isNational">
<span v-if="p.ageGroup == '0'" >{{ language==0?'不限制':'Unlimited' }}</span>
<span v-if="p.ageGroup == '1'" >Juvenile I</span>
<span v-if="p.ageGroup == '2'" >Juvenile II</span>
<span v-if="p.ageGroup == '3'" >Juv1& II (comb.)</span>
<span v-if="p.ageGroup == '4'" >Junior I</span>
<span v-if="p.ageGroup == '5'" >Junior II</span>
<span v-if="p.ageGroup == '6'" >Juv I & II (comb.)</span>
<span v-if="p.ageGroup == '7'" >Youth</span>
<span v-if="p.ageGroup == '8'" >Under 21</span>
<span v-if="p.ageGroup == '9'" >Adult</span>
<span v-if="p.ageGroup == '10'" >Senior I</span>
<span v-if="p.ageGroup == '11'" >Senior II</span>
<span v-if="p.ageGroup == '12'" >Senior III</span>
<span v-if="p.ageGroup == '13'" >Senior IV</span>
<span v-if="p.ageGroup == '14'" >Senior V</span>
</div>
<div v-else>
<div>{{ p.birthPeriod }}</div>
<div>{{p.birthPeriodSecond}}</div>
</div>
<!-- <div>{{ p.birthAgeGroup }};{{p.birthAgeSecondGroup}}</div>-->
</td>
<td>{{ language==0?'¥':'€' }}{{ p.serviceFee }}</td>
</tr>
......@@ -49,7 +70,12 @@ const props = defineProps({
type: Array,
required: true,
default:[]
}
},
isNational: {
type: Boolean,
required: false,
default: false
},
})
</script>
......
......@@ -6,6 +6,9 @@
<el-col :lg="8"><div class="item"><label>赛事时间</label>{{matchInfo.beginTime?.slice(0,10)}}{{ matchInfo.endTime?.slice(0,10) }}</div></el-col>
<el-col :lg="8"><div class="item"><label>报名时间</label>{{ matchInfo.signBeginTime?.slice(0,10) }}{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col>
<el-col :lg="16"><div class="item"><label>比赛地址</label>{{matchInfo.address}}</div></el-col>
<el-col :lg="8"><div class="item"><label>联系人</label>{{matchInfo.contactPerson}}</div></el-col>
<el-col :lg="8"><div class="item"><label>联系电话</label>086-{{matchInfo.contactTelno}}</div></el-col>
<el-col :lg="8"><div class="item"><label>联系邮箱</label>{{matchInfo.contactEmail}}</div></el-col>
</el-row>
<el-row v-else>
<el-col :lg="8"><div class="item"><label>Event Name</label>{{matchInfo.name}}</div></el-col>
......@@ -13,6 +16,9 @@
<el-col :lg="8"><div class="item"><label>Event Date</label>{{matchInfo.beginTime?.slice(0,10)}} ~ {{ matchInfo.endTime?.slice(0,10) }}</div></el-col>
<el-col :lg="8"><div class="item"><label>Registration Period</label>{{ matchInfo.signBeginTime?.slice(0,10) }} ~{{ matchInfo.signEndTime?.slice(0,10) }}</div></el-col>
<el-col :lg="16"><div class="item"><label>Event Address</label>{{matchInfo.address}}</div></el-col>
<el-col :lg="8"><div class="item"><label>Contact Name</label>{{matchInfo.contactPerson}}</div></el-col>
<el-col :lg="8"><div class="item"><label>Contact Phone</label>086-{{matchInfo.contactTelno}}</div></el-col>
<el-col :lg="8"><div class="item"><label>Contact Email</label>{{matchInfo.contactEmail}}</div></el-col>
</el-row>
</div>
</template>
......
......@@ -82,7 +82,7 @@
<!-- </div>-->
<div class="indexTitle" v-if="form.type==1 && form.cptProjectList?.length > 0"><h3 class="leftboderTT">Event settings</h3></div>
<div v-if="form.type==1 && form.cptProjectList?.length > 0">
<match-info-project-list :list="form.cptProjectList" />
<match-info-project-list :list="form.cptProjectList" :is-national="form.languageSource!='100'"/>
</div>
</div>
</template>
......@@ -91,14 +91,19 @@
import {ref} from "vue";
import MatchInfoProjectList from "@/viewsPc/match/components/matchInfo-projectList";
import {useStorage} from "@vueuse/core/index";
import {onMounted} from "@vue/runtime-core";
const language= useStorage('language',0)
const props = defineProps({
form:{
type:Object,
required:true
}
})
</script>
<style scoped lang="scss">
......
<template>
<div class="mt20"></div>
<div class="mt20">
<!-- {{isNational}}-->
</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 :label="language==0?'姓氏':'Surname'" prop="personInfo.xing" min-width="100"/>
<el-table-column :label="language==0?'名':'Name'" prop="personInfo.ming" min-width="100"/>
<el-table-column :label="language==0?'所属国家/地区':'Country'" prop="" :min-width="language==0?'100':'120'">
<el-table-column :label="language==0?'所属国家/地区':'Country'" min-width="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>
</template>
</el-table-column>
<el-table-column :label="language==0?'性别':'Gender'" prop="personInfo.sexStr"/>
<el-table-column :label="language==0?'证件类型':'ID Type'" :width="language==0?'':'140'" prop="personInfo.idcTypeStr"/>
<el-table-column :label="language==0?'证件号码':'ID NO.'" prop="personInfo.idcCode" width="200"/>
<el-table-column :label="language==0?'出生日期':'Birth'" prop="personInfo.birth" width="110"/>
<el-table-column :label="language==0?'会员角色':'Role'" width="150">
<template #default="scope">
<div class="esp">
<span v-for="item in scope.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>
</div>
</template>
</el-table-column>
<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?'出生日期':'Birth'" prop="personInfo.birth" width="110"/>
<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?'会员角色':'Role'" width="150">-->
<!-- <template #default="scope">-->
<!-- <div class="esp">-->
<!-- <span v-for="item in scope.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==='4'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>-->
<!-- <span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>-->
<!-- <span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>-->
<!-- <span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>-->
<!-- </span>-->
<!-- </div>-->
<!-- </template>-->
<!-- </el-table-column>-->
<!-- <el-table-column :label="language==0?'详细地址':'Detailed Address'" prop="personInfo.address" min-width="140"/>-->
<el-table-column :label="language==0?'报项':'Entries'" min-width="300" :fixed="hasAction?false:'right'">
<template #default="props">
......@@ -54,8 +59,9 @@
<el-table-column v-for="(e,index) in extraTableHead" :key="index" :label="e" min-width="110" align="center">
<template #default="scope">
<el-link v-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='2'"
target="_blank"
:href="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index].value.url)">
{{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }}
<span class="text-primary">{{ scope.row.signInfo[0].extraPersonInfoMapList[index].value.name }}</span>
</el-link>
<img v-else-if="scope.row.signInfo[0].extraPersonInfoMapList[index]?.type=='3'" style="width: 50px;"
:src="fillImgUrl(scope.row.signInfo[0].extraPersonInfoMapList[index].value.url||scope.row.signInfo[0].extraPersonInfoMapList[index].value)">
......@@ -120,8 +126,10 @@ import {useStorage} from "@vueuse/core/index";
const language= useStorage('language',0)
const extraTableHead = ref([])
const loading = ref(true)
const isNational = ref(false)
const sumText = ref('保险费')
getTableHead()
getMatch()
const goPersonInfo = (row) => {
emit('editExtra', row)
}
......@@ -131,6 +139,16 @@ function getTableHead() {
loading.value = false
})
}
function getMatch() {
match.getMatchById({ id: props.matchId }).then(res => {
if(res.data.languageSource == '100'){
isNational.value = false
}else {
isNational.value = true
}
})
}
function totalMethod() {
}
</script>
......
......@@ -17,7 +17,7 @@
<p class="ppl esp"><label>{{ language==0?'地&ensp;&ensp;&ensp;&ensp;点':'Location' }}</label>{{ n.address }}</p>
<p class="ppl"><label>{{language==0?'赛事级别':'Level'}}</label>{{n.level}}</p>
<p class="ppl"><label>{{ language==0?'报名截止':'Registration Deadline' }}</label>{{ n.signEndTime?.slice(0,10) }}</p>
<p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联系人员':'Contact Person' }}</label>{{ n.contactPerson }}</p>
<p class="ppl" v-if="n.contactPerson"><label>{{ language==0?'联&ensp;系&ensp;人':'Contact Person' }}</label>{{ n.contactPerson }}</p>
<p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}</label>086-{{ n.contactTelno }}</p>
<p class="ppl" v-if="n.contactEmail"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}</label>{{ n.contactEmail }}</p>
......
......@@ -10,7 +10,7 @@
<div v-html="scope.row.project.remarks"></div>
</template>
</el-table-column>
<el-table-column :label="language==0?'参赛运动员':'Participating athletes'" width="120px">
<el-table-column :label="language==0?'参赛运动员':'Participating athletes'" min-width="120px">
<template #default="scope">
<div>
<span v-for="s in scope.row.athletes">{{ s.name }},</span>
......
......@@ -173,10 +173,10 @@
<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 v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>
<span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>
<span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>
<span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>
</span>
</td>
<td>
......
......@@ -59,6 +59,11 @@
<div class="matchItem" v-for="n in list" :key="n.id" @click="goDetail(n.id)">
<el-row :gutter="15">
<el-col :lg="7" :md="24" :xl="6">
<div class="popo">
<el-tag v-if="n.signType==0">{{ language==0?'个人':'Individual' }}</el-tag>
<el-tag v-if="n.signType==1">{{ language==0?'团体':'Team' }}</el-tag>
<el-tag v-if="n.signType==2">{{ language==0?'个人/团体':'Individual/Team' }}</el-tag>
</div>
<img class="mauto mw100 coverLimitHeight" :src="fillImgUrl(n.coverUrl)">
</el-col>
<el-col :lg="9" :md="12" :xl="12">
......@@ -69,11 +74,11 @@
<!-- <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"><label>{{ language==0?'联&ensp;&ensp;':'Contact Person' }}:</label>{{ n.contactPerson }}</p>
<p class="ppl"><label>{{ language==0?'联系电话':'Phone' }}:</label>086-{{ n.contactTelno }}</p>
<p class="ppl esp"><label>{{ language==0?'邮&ensp;&ensp;&ensp;&ensp;箱':'E-mail' }}:</label>{{ n.contactEmail }}</p>
<p class="ppl" v-if="n.type=='1'">
<label>{{ language==0?'分站赛':'Station race' }}:</label>{{n.cpts?.length}}
<label>{{ language==0?'分&ensp;&ensp;赛':'Station race' }}:</label>{{n.cptsSize}}
</p>
</div>
</el-col>
......
......@@ -16,11 +16,12 @@
<div>
<el-table class="mt20" :data="myMemberTable" border>
<el-table-column type="index" :label="language=='0'?'序号':'Index'" width="70" align="center"/>
<el-table-column :label="language=='1'?'surname':'姓氏'" prop="xing" min-width="100"/>
<el-table-column :label="language=='0'?'名':'name'" prop="ming" min-width="100"/>
<el-table-column :label="language=='1'?'Passport number':'护照号'" prop="idcCode" min-width="120"/>
<el-table-column :label="language=='1'?'Birthday':'生日'" prop="birth"/>
<el-table-column :label="language=='1'?'Sex':'性别'" prop="sexStr"/>
<el-table-column :label="language=='1'?'Surname':'姓氏'" prop="xing" min-width="100"/>
<el-table-column :label="language=='0'?'名':'Name'" prop="ming" min-width="100"/>
<el-table-column :label="language==0?'国家/地区':'Nationality'" prop="countryName" min-width="100"/>
<!-- <el-table-column :label="language=='1'?'Passport number':'护照号'" prop="idcCode" min-width="120"/>-->
<!-- <el-table-column :label="language=='1'?'Birthday':'生日'" prop="birth"/>-->
<el-table-column :label="language=='1'?'Gender':'性别'" prop="sexStr"/>
<el-table-column :label="language=='1'?'Role':'角色'" min-width="160">
<template #default="scope">
<div class="roletd">
......@@ -28,10 +29,10 @@
<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 v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>
<span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>
<span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>
<span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>
</span>
</div>
</template>
......@@ -39,7 +40,7 @@
</el-table>
</div>
</div>
<div class="pd20" v-if="signInfoList?.length>0">
<div class="pd20" v-if="signInfoList?.length>0||zuQuery.athName">
<div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}
<div class="fr">
<el-input size="small" v-model="zuQuery.athName" :prefix-icon="Search"
......@@ -50,7 +51,7 @@
<sign-info-table class="mt20" v-if="matchId" :show-summary="true" :total="insuranceFeeTotal"
:match-id="matchId" :list="signInfoList" :hasAction="false"/>
</div>
<div class="pd20" v-if="zuTableList?.length>0">
<div class="pd20" v-if="zuTableList?.length>0||zuQuery.groName">
<div class="leftboderTT">{{ language == 0 ? '参赛设项报名费' : 'Registration Fee for Event Entry' }}
<div class="fr">
<el-input size="small" v-model="zuQuery.groName" :prefix-icon="Search"
......@@ -108,10 +109,17 @@
<div v-if="form.reason" class="rre">{{language==0?'驳回理由':'Reason'}}:{{form.reason}}</div>
</div>
</div>
<div class="text-danger flex" v-if="form.auditStatus=='4'">
<img src="@/assets/img/w.png">
<div>
{{ language==0?'报名已取消':'Registration cancelled' }}
</div>
</div>
</el-col>
<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>
<div class="priceb" v-if="form.payStatus=='5'">{{ language==0?'已退款':'Refunded' }}:<span class="price">{{ language==0?'¥':'€' }}{{ Number(totalFee).toFixed(2) }}</span></div>
</el-col>
</el-row>
</el-card>
......@@ -207,6 +215,15 @@
<img height="360" src="@/assets/img/rr.jpg"/>
</div>
</div>
<div class="tip text-center text-danger" v-if="language==0">
支付后不要关闭此窗口,等待确认支付成功.
若长时间未收到支付成功提醒,请刷新页面</div>
<div class="tip text-center text-danger" v-else>
After payment, do not close this window and wait for confirmation of successful payment.
<br/>
If you have not received a notification of successful payment for a long time,
please refresh the page
</div>
</div>
<div v-if="payType == '3'">
......@@ -225,8 +242,8 @@
<th>{{ language==0?'收款账号':`Receiver's Account Number` }}</th>
<td>
{{ form.payInformation?.receivingAccount }}
<span v-if="language==0" class="text-primary size12">复制25位账号</span>
<span v-else class="text-primary size12">Copy 25-digit Account Number</span>
<span v-if="language==0" class="text-primary size12 pointer" @click="copy(form.payInformation?.receivingAccount)">复制25位账号</span>
<span v-else class="text-primary size12 pointer" @click="copy(form.payInformation?.receivingAccount)">Copy 25-digit Account Number</span>
<div v-if="language==0" class="text-gray">请勿重复打款</div>
<div v-else class="text-gray">Please do not make duplicate payments</div>
</td>
......@@ -273,19 +290,18 @@
<el-button v-if="!hideconfirmbtn" type="primary" @click="goPay" round class="btn-lineG w200px">
{{ language==0?'确定':'Submit' }}</el-button>
</div>
</div>
</el-card>
<el-card class="mb60" v-if="form.payStatus == '3'">
<div class="text-center">
<el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon>
<p class="text-success">{{ language==0?'支付成功':'successful!' }}</p>
<h3 class="wePrice">{{ language==0?'¥':'€' }}{{form.totalFee}}</h3>
<h3 class="wePrice">{{ language==0?'¥':'€' }}{{form.totalFee || 0}}</h3>
</div>
</el-card>
<el-card class="mb60" v-if="form.payStatus == '1' && form.curPayType=='2'">
<!-- 线下支付待核销-->
<label>{{ language==0?'线下支付':'Offline Payment' }}</label>
<div class="text-center">
<el-icon color="#32B16C" size="80"><SuccessFilled /></el-icon>
<p class="text-success">{{ language==0?'支付成功':'successfully!' }}</p>
......@@ -336,6 +352,7 @@ import ZuTable from "@/viewsPc/match/components/zu-table";
import useUserStore from "@/store/modules/user";
import FileUpload from "@/components/FileUpload";
import {useStorage} from "@vueuse/core/index";
import {ElMessage} from "element-plus";
const isLogin = ref(false)
const language= useStorage('language',0)
const signInfoList = ref([])
......@@ -343,7 +360,7 @@ const zuTableList = ref([])
const totalFee = ref('')
const wePayCodeUrl = ref('')
const form = ref({})
const voucherObj = ref({})
const voucherObj = ref([])
const myMemberTable = ref([])
const upForm = ref({
orderId:orderId.value
......@@ -389,6 +406,10 @@ function getMyMemberTable() {
})
}
function upRR() {
if(voucherObj.value.length==0){
ElMessage.warning(language.value==0?'请上传凭证':'Please upload the voucher')
return
}
upForm.value.voucher = voucherObj.value[0].url
match.upReceipt(upForm.value).then(res=>{
getData()
......@@ -406,6 +427,11 @@ function getSignList() {
for(var z of zuTableList.value){
serviceFeeTotal.value = serviceFeeTotal.value + Number(z.project.serviceFee)
}
}).catch(err=>{
if(isLogin.value){
router.push({name:'myMatch'})
return
}
})
}
function goHome() {
......@@ -420,12 +446,15 @@ function changePaytype() {
}
}
function goPay(){
if(payType.value=='2'){
if(payType.value=='2' && form.value.payTypeArr.indexOf('2')>-1){
match.createWePay({orderId:orderId.value}).then(res=>{
wePayCodeUrl.value = res.data
hideconfirmbtn.value = true
startforGetData()
})
} else if(payType.value=='2' && form.value.payTypeArr.indexOf('2')==-1){
ElMessage.warning(language.value == 0 ? '请选择支付方式' : 'Please select payment method')
return
}
if(payType.value=='4'){
match.createPalPay({orderId:orderId.value}).then(res=>{
......@@ -501,6 +530,11 @@ function exportPdf() {
}
}
function copy(str) {
navigator.clipboard.writeText(str).then(() => {
ElMessage.success(language.value==0?'复制成功':'Copy successfully')
})
}
</script>
<style scoped lang="scss">
......
......@@ -18,11 +18,13 @@
<div v-if="user.utype=='1'&&myMemberTable.length>0">
<el-table class="mt20" :data="myMemberTable" border>
<el-table-column type="index" :label="language==0?'序号':'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="language==0?'护照号':'Passport number'" prop="idcCode" min-width="120"/>
<el-table-column :label="language==0?'出生日期':'Birthday'" prop="birth"/>
<el-table-column :label="language==0?'性别':'Sex'" prop="sexStr"/>
<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="language==0?'国家/地区':'Nationality'" prop="countryName" min-width="100"/>
<!-- <el-table-column :label="language==0?'国家':'Nationality'" prop="countryStr" min-width="120"/>-->
<!-- <el-table-column :label="language==0?'护照号':'Passport Number'" prop="idcCode" min-width="120"/>-->
<!-- <el-table-column v-show="!isNational" :label="language==0?'出生日期':'Birthday'" prop="birth"/>-->
<el-table-column :label="language==0?'性别':'Gender'" prop="sexStr"/>
<el-table-column :label="language==0?'角色':'Role'" min-width="160">
<template #default="scope">
<div class="roletd">
......@@ -30,10 +32,10 @@
<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 v-if="item==='4'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span>
<span v-if="item==='5'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span>
<span v-if="item==='6'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span>
<span v-if="item==='3'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span>
</span>
</div>
</template>
......@@ -47,7 +49,8 @@
@change="getSignList" clearable/>
</div>
</div>
<sign-info-table class="mt20" :showSummary="true" :total="signTotal" :match-id="matchId" :list="signInfoList" :hasAction="false"/>
<sign-info-table class="mt20" :showSummary="true" :total="signTotal" :match-id="matchId"
:list="signInfoList" :hasAction="false" :is-national="isNational"/>
</div>
<div class="mt20">
<div class="leftboderTT">{{ language==0?'设项报名清单':'Event Registration List' }}
......@@ -66,9 +69,9 @@
<el-row class="priceBar">
<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 class="item" v-if="form.cptRegistrationFee?.totalFee>0"><label>{{ language==0?'报名费':'Registration Fee' }}:</label><span>{{ language==0?'¥':'€' }}{{form.cptRegistrationFee?.totalFee}}</span></div>
<div class="item" v-if="form.cptInsuranceFee?.totalFee>0"><label>{{ language==0?'保险费':'Insurance Fee' }}:</label><span>{{ language==0?'¥':'€' }}{{form.cptInsuranceFee?.totalFee}}</span></div>
<div class="item" v-if="form.totalFee>0"><label>{{ language==0?'费用总计':'Total Cost' }}:</label><span>{{ language==0?'¥':'€' }}{{form.totalFee}}</span></div>
</div>
</el-col>
<el-col :lg="12" :xs="24" class="text-right pd20">
......@@ -115,14 +118,15 @@ const router = useRouter()
const activeStep = ref(3)
const groupInfo = useUserStore().group || {}
const language= useStorage('language',0)
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 zuTotal = ref(0)
const signTotal = ref(0)
const groupId = ref(route.query.groupId || 0)
const matchId = ref(route.query.matchId)
const isNational = ref(route.query.isNational||false)
const myMemberTable = ref([])
const user = useUserStore().user
const {proxy} = getCurrentInstance()
......@@ -145,6 +149,9 @@ function getMatch() {
id: matchId.value
}).then(res => {
signEndTime.value = res.data.signEndTime
}).catch(err=>{
router.push({name: 'matchList'})
return
})
}
function getMyMemberTable() {
......
......@@ -53,6 +53,12 @@
</el-select>
</el-form-item>
<el-form-item :label="language==0?'详细地址':'Detailed Address'" prop="address">
<el-cascader v-if="form.countryId == 240"
v-model="form.regionId"
style="width: 100%;"
:options="regionsList"
:props="{ label:'text' }"
/>
<el-input type="textarea" v-model="form.address" class="mt10" :placeholder="language==0?'请输入详细地址':''"/>
</el-form-item>
</el-col>
......@@ -186,6 +192,7 @@ onMounted(() => {
signType.value = route.query.signType
getRegionsList()
getCountryList()
match.getMatchById({ id: cptId.value }).then(res => {
coachOrLeaderFlag.value = res.data.coachOrLeaderFlag
matchInfo.value = res.data
......@@ -262,7 +269,9 @@ function submitForm() {
return
}
}
if(Array.isArray(form.value.regionId)){
form.value.regionId = form.value.regionId.pop()
}
if (participantsInfoArr.value.length>0) {
// 保存补充信息
let fileInfo = {}
......
......@@ -346,6 +346,8 @@ function next() {
setToken(res.data.token)
console.log(matchId.value)
afterR()
}).catch(err => {
})
}
......
......@@ -23,18 +23,24 @@
<div class="leftboderTT">{{ language == 0 ? '机构信息' : 'Institutional information' }}</div>
<div class="d-form-border">
<el-form class="d-form" size="large" :model="form" ref="registerRef"
:rules="registerRules" label-width="120" :label-position="language==0?'left':'top'"
:rules="form.is=='0'?registerRules:registerRulesEn" label-width="120" :label-position="language==0?'left':'top'"
style="max-width: 500px;margin: auto">
<el-form-item label="是否国家队" v-if="language==0">
<el-form-item label="是否国家队" v-if="language==0" required>
<el-select filterable v-model="form.is" @change="changeIs">
<el-option label="是" value="1"></el-option>
<el-option label="否" value="0"></el-option>
</el-select>
<div class="tip">
注册完成后,该属性不可变更
</div>
</el-form-item>
<el-form-item :label="language==0?'代表国家/地区':'Representing'" required prop="countryId">
<el-select filterable v-model="form.countryId">
<!-- <el-option v-for="item in countryList" :key="item.id" :label="language==0?item.name:item.enName" :value="item.id"/>-->
<el-option v-for="item in countryList" :key="item.id" :label="item.eoc||item.enName" :value="item.id"/>
<el-option v-for="item in countryList" :key="item.id" :label="item.noc||item.enName" :value="item.id"/>
</el-select>
</el-form-item>
<el-form-item :label="language==0?'详细地址':'Address'" prop="address">
<el-form-item :label="language==0?'详细地址':'Address'" prop="address" :required="form.is=='0'">
<el-cascader v-if="form.countryId == 240"
v-model="regionArr"
style="width: 100%;"
......@@ -43,24 +49,24 @@
/>
<el-input type="textarea" v-model="form.address" class="mt10"/>
</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" />-->
<!-- <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>-->
<!-- </el-form-item>-->
<el-form-item :label="language==0?'团体名称':'Team Name'" required prop="teamName">
<el-form-item v-if="form.is=='0'&&language==0" :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" />
<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 :disabled="form.is=='0'" :label="language==0?'国家协会':'National Association'" value="4" />
</el-select>
</el-form-item>
<el-form-item :label="language==0?'团体名称':'Team Name'" :required="form.is=='0'" 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 v-if="form.is=='0'" :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?'联系人姓名':'Contact Name'" required prop="contactName">
<el-input type="text" v-model="form.contactName" :placeholder="language==0?'请输入内容':''"/>
</el-form-item>
......@@ -70,7 +76,8 @@
<el-form-item :label="language==0?'联系人邮箱':'Contact Email'" required prop="contactEmail">
<el-input v-model="form.contactEmail" type="email" :placeholder="language==0?'请输入内容':''"/>
</el-form-item>
<el-form-item prop="photo" :label="language==0?'机构LOGO':'Organizational photos'">
<el-form-item prop="photo" :label="language==0?'机构LOGO':'Organizational photos'"
:required="form.is=='0'">
<ImageUpload2
v-model="form.photo" :crop-height="200" :crop-width="200" :limit="1"
:is-show-tip="false"
......@@ -127,7 +134,9 @@ const props = defineProps({
}
})
const data = reactive({
form: {},
form: {
is: '0'
},
loading: false,
countryList: [],
regionsList: [],
......@@ -135,21 +144,38 @@ const data = reactive({
isAgree: false
})
const {form, countryList, regionsList, isAgree, loading, regionArr} = toRefs(data)
const registerRules = ref(
const registerRulesEn = ref(
{
password: [
{required: true, trigger: 'blur', message: '请输入您的密码'},
{min: 6, max: 16, message: '用户密码长度必须介于 6 和 16 之间', trigger: 'blur'}
],
confirmPassword: [{required: true, trigger: 'blur'},],
countryId: [{required: true, trigger: 'blur'},],
confirmPassword: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
countryId: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
// address: [{required: true, trigger: 'blur', message: '请输入地址'},],
teamName: [{required: true, trigger: 'blur'},],
contactName: [{required: true, trigger: 'blur'},],
contactTel: [{required: true, trigger: 'blur'},],
contactEmail: [{required: true, trigger: 'blur'},],
// teamName: [{required: true, trigger: 'blur'},],
contactName: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
contactTel: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
contactEmail: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
// photo: [{required: true, trigger: 'blur', message: '请上传'},],
})
const registerRules = ref(
{
password: [
{required: true, trigger: 'blur', message: '请输入您的密码'},
{min: 6, max: 16, message: '用户密码长度必须介于 6 和 16 之间', trigger: 'blur'}
],
confirmPassword: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
countryId: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
address: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
teamName: [{required: true, trigger: 'blur',message: language.value == 0 ? '请输入':'Please enter'},],
contactName: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
contactTel: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
contactEmail: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
photo: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
type: [{required: true, trigger: 'blur', message: language.value == 0 ? '请选择':'Please enter'},],
majorFlag: [{required: true, trigger: 'blur', message: language.value == 0 ? '请输入':'Please enter'},],
})
const vconfirmPassword = () => {
if (form.value.password !== form.value.confirmPassword) {
ElMessage.warning(language.value == 0 ? '两次输入的密码不一致' :'The two passwords entered are inconsistent')
......@@ -215,7 +241,21 @@ onMounted(() => {
if(props.accont.indexOf('@')>-1){
form.value.contactEmail=props.accont
}
if(language.value==1){
form.value.type = '4'
form.value.is = '1'
} else {
form.value.countryId = 240
}
})
const changeIs = (e) => {
console.log(e)
if(e == 1){
form.value.type = '4'
} else {
form.value.type = ''
}
}
</script>
<style scoped lang="scss">
......@@ -245,4 +285,10 @@ onMounted(() => {
font-size: 14px
}
}
.tip {
line-height: 1.6;
font-size: 12px;
margin-top: 6px;
color: #666;
}
</style>
......
......@@ -82,8 +82,8 @@ export default defineConfig(({ mode, command }) => {
rewrite: (p) => p.replace(/^\/dev-api\/ztx-webSite/, '')
},
'/dev-api': {
target: 'http://192.168.1.131:8081/',
// target: 'https://dance.itechtop.cn/stage-api',
// target: 'http://192.168.1.118:8081/',
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!