no message
Showing
16 changed files
with
341 additions
and
146 deletions
| ... | @@ -219,6 +219,13 @@ export function withDrawByOrderId(orderId) { | ... | @@ -219,6 +219,13 @@ export function withDrawByOrderId(orderId) { |
| 219 | method: 'post' | 219 | method: 'post' |
| 220 | }) | 220 | }) |
| 221 | } | 221 | } |
| 222 | export function recoverMySignFromCancel(cptId) { | ||
| 223 | return request({ | ||
| 224 | url: `/league/sign/recoverMySignFromCancel`, | ||
| 225 | method: 'post', | ||
| 226 | data: {cptId: cptId} | ||
| 227 | }) | ||
| 228 | } | ||
| 222 | 229 | ||
| 223 | export function getMyOrderList(params) { | 230 | export function getMyOrderList(params) { |
| 224 | return request({ | 231 | return request({ | ... | ... |
| ... | @@ -53,7 +53,8 @@ | ... | @@ -53,7 +53,8 @@ |
| 53 | <span class="el-icon-document"> {{ getFileName(file.name) }} </span> | 53 | <span class="el-icon-document"> {{ getFileName(file.name) }} </span> |
| 54 | </el-link> | 54 | </el-link> |
| 55 | <div v-if="!disabled" class="ele-upload-list__item-content-action"> | 55 | <div v-if="!disabled" class="ele-upload-list__item-content-action"> |
| 56 | <el-link :disabled="props.disabled" :underline="false" type="danger" @click="handleDelete(index)">删除</el-link> | 56 | <el-link :disabled="props.disabled" :underline="false" type="danger" @click="handleDelete(index)"> |
| 57 | {{ language==0?'删除':'Delete' }}</el-link> | ||
| 57 | </div> | 58 | </div> |
| 58 | </li> | 59 | </li> |
| 59 | </ul> | 60 | </ul> |
| ... | @@ -65,7 +66,8 @@ | ... | @@ -65,7 +66,8 @@ |
| 65 | import { getToken } from '@/utils/auth' | 66 | import { getToken } from '@/utils/auth' |
| 66 | import { computed } from 'vue' | 67 | import { computed } from 'vue' |
| 67 | import _ from 'lodash' | 68 | import _ from 'lodash' |
| 68 | 69 | import cache from "@/plugins/cache"; | |
| 70 | const language = ref(cache.local.get('language') || 0) | ||
| 69 | const props = defineProps({ | 71 | const props = defineProps({ |
| 70 | modelValue: [String, Object, Array], | 72 | modelValue: [String, Object, Array], |
| 71 | // 数量限制 | 73 | // 数量限制 | ... | ... |
| ... | @@ -55,10 +55,10 @@ | ... | @@ -55,10 +55,10 @@ |
| 55 | <fieldset class="fieldset-form mt30"> | 55 | <fieldset class="fieldset-form mt30"> |
| 56 | <legend>{{ language==0?'机构认证信息':'Institutional certification information' }} </legend> | 56 | <legend>{{ language==0?'机构认证信息':'Institutional certification information' }} </legend> |
| 57 | <div class="pt30" style="max-width: 500px"> | 57 | <div class="pt30" style="max-width: 500px"> |
| 58 | <el-form-item :label="language==0?'机构代码':'Organization Code'" required prop="orgCode"> | 58 | <el-form-item :label="language==0?'机构代码':'Organization Code'" required > |
| 59 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> | 59 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> |
| 60 | </el-form-item> | 60 | </el-form-item> |
| 61 | <el-form-item :label="language==0?'机构证件':'Institutional documents'" required prop="orgCert"> | 61 | <el-form-item :label="language==0?'机构证件':'Institutional documents'" required > |
| 62 | <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> | 62 | <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> |
| 63 | </el-form-item> | 63 | </el-form-item> |
| 64 | 64 | ||
| ... | @@ -67,10 +67,10 @@ | ... | @@ -67,10 +67,10 @@ |
| 67 | <fieldset class="fieldset-form mt30"> | 67 | <fieldset class="fieldset-form mt30"> |
| 68 | <legend>{{ language==0?'机构法人信息':'Institutional legal person information' }} </legend> | 68 | <legend>{{ language==0?'机构法人信息':'Institutional legal person information' }} </legend> |
| 69 | <div class="pt30" style="max-width: 500px"> | 69 | <div class="pt30" style="max-width: 500px"> |
| 70 | <el-form-item :label="language==0?'法人姓名':'Legal Person Name'" required prop="orgCode"> | 70 | <el-form-item :label="language==0?'法人姓名':'Legal Person Name'" required> |
| 71 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> | 71 | <el-input type="text" v-model="form.orgCode" :placeholder="language==0?'请输入内容':''"/> |
| 72 | </el-form-item> | 72 | </el-form-item> |
| 73 | <el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required prop="orgCert"> | 73 | <el-form-item :label="language==0?'法定代表人身份文件':'Identity documents of the legal representative'" required > |
| 74 | <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> | 74 | <file-upload :is-show-tip="false" v-model="form.orgCert" :button-text="language==0?'上传文件':'Upload'"/> |
| 75 | </el-form-item> | 75 | </el-form-item> |
| 76 | 76 | ... | ... |
| ... | @@ -18,7 +18,7 @@ | ... | @@ -18,7 +18,7 @@ |
| 18 | {{ user.userName }} | 18 | {{ user.userName }} |
| 19 | </el-form-item> | 19 | </el-form-item> |
| 20 | <el-form-item :label="language==0?'姓名':'Real Name'" required prop="realName"> | 20 | <el-form-item :label="language==0?'姓名':'Real Name'" required prop="realName"> |
| 21 | <el-input v-model="myform.realName"/> | 21 | <el-input v-model="myform.realName" disabled/> |
| 22 | </el-form-item> | 22 | </el-form-item> |
| 23 | <el-form-item :label="language==0?'性别':'Sex'" required > | 23 | <el-form-item :label="language==0?'性别':'Sex'" required > |
| 24 | <el-radio-group v-model="myform.sex"> | 24 | <el-radio-group v-model="myform.sex"> |
| ... | @@ -43,7 +43,7 @@ | ... | @@ -43,7 +43,7 @@ |
| 43 | <el-input v-model="myform.division" disabled/> | 43 | <el-input v-model="myform.division" disabled/> |
| 44 | </el-form-item> | 44 | </el-form-item> |
| 45 | <el-form-item label="Status"> | 45 | <el-form-item label="Status"> |
| 46 | <el-input v-model="myform.status" disabled/> | 46 | <el-input v-model="myform.wdsfStatus" disabled/> |
| 47 | </el-form-item> | 47 | </el-form-item> |
| 48 | <el-form-item label="Passport" required> | 48 | <el-form-item label="Passport" required> |
| 49 | <el-input v-model="myform.passportNumber"/> | 49 | <el-input v-model="myform.passportNumber"/> |
| ... | @@ -51,6 +51,9 @@ | ... | @@ -51,6 +51,9 @@ |
| 51 | <el-form-item label="Passport File"> | 51 | <el-form-item label="Passport File"> |
| 52 | <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> | 52 | <file-upload v-model="myform.passportUrl" :limit="1" :is-show-tip="false" :button-text="'Upload'"/> |
| 53 | </el-form-item> | 53 | </el-form-item> |
| 54 | <el-form-item :label="language==0?'WDSF会员号':'WDSF code'" prop="wdsfMin"> | ||
| 55 | {{myform.wdsfMin}} | ||
| 56 | </el-form-item> | ||
| 54 | <!-- <el-form-item :label="language==0?'证件类型':'ID type'" required prop="idcType">--> | 57 | <!-- <el-form-item :label="language==0?'证件类型':'ID type'" required prop="idcType">--> |
| 55 | <!-- <el-select v-model="myform.idcType" style="width: 100%">--> | 58 | <!-- <el-select v-model="myform.idcType" style="width: 100%">--> |
| 56 | <!-- <el-option--> | 59 | <!-- <el-option--> | ... | ... |
| ... | @@ -35,7 +35,7 @@ | ... | @@ -35,7 +35,7 @@ |
| 35 | {{ language==0?'继续报名':'Continue to register' }}</el-button> | 35 | {{ language==0?'继续报名':'Continue to register' }}</el-button> |
| 36 | <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'"> | 36 | <el-button plain round type="primary" @click="withDraw(n)" v-if="n.auditStatus=='1'"> |
| 37 | {{ language==0?'取消报名':'Cancel registration' }}</el-button> | 37 | {{ language==0?'取消报名':'Cancel registration' }}</el-button> |
| 38 | <el-button plain round type="primary" @click="continueSign(n)" v-if="n.auditStatus=='3'"> | 38 | <el-button plain round type="primary" @click="reSign(n)" v-if="n.auditStatus=='3'"> |
| 39 | {{ language==0?'重新报名':'Re register' }}</el-button> | 39 | {{ language==0?'重新报名':'Re register' }}</el-button> |
| 40 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'"> | 40 | <el-button plain round type="primary" @click="goDetail(n)" v-if="n.auditStatus=='2'&&n.payStatus=='0'"> |
| 41 | {{ language==0?'缴费':'pay' }}</el-button> | 41 | {{ language==0?'缴费':'pay' }}</el-button> |
| ... | @@ -44,6 +44,7 @@ | ... | @@ -44,6 +44,7 @@ |
| 44 | </el-row> | 44 | </el-row> |
| 45 | </el-col> | 45 | </el-col> |
| 46 | </el-row> | 46 | </el-row> |
| 47 | <el-alert v-if="n.reason" :title="language=0?'驳回理由:':'Reason:'+n.reason" type="error" show-icon :closable="false"/> | ||
| 47 | </div> | 48 | </div> |
| 48 | 49 | ||
| 49 | <el-empty :image="`/img/order_no.png`" :image-size="228" v-if="billList?.length == 0"/> | 50 | <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' | ... | @@ -77,6 +78,7 @@ import {ElMessage, ElMessageBox} from 'element-plus' |
| 77 | import _ from 'lodash' | 78 | import _ from 'lodash' |
| 78 | import useUserStore from "@/store/modules/user"; | 79 | import useUserStore from "@/store/modules/user"; |
| 79 | import cache from "@/plugins/cache"; | 80 | import cache from "@/plugins/cache"; |
| 81 | import {recoverMySignFromCancel} from "@/apiPc/match"; | ||
| 80 | const language = ref(cache.local.get('language') || 0) | 82 | const language = ref(cache.local.get('language') || 0) |
| 81 | const router = useRouter() | 83 | const router = useRouter() |
| 82 | const {proxy} = getCurrentInstance() | 84 | const {proxy} = getCurrentInstance() |
| ... | @@ -143,6 +145,11 @@ function withDraw(n){ | ... | @@ -143,6 +145,11 @@ function withDraw(n){ |
| 143 | getList() | 145 | getList() |
| 144 | }) | 146 | }) |
| 145 | } | 147 | } |
| 148 | function reSign(n){ | ||
| 149 | match.recoverMySignFromCancel(n.id).then((res)=>{ | ||
| 150 | continueSign(n) | ||
| 151 | }) | ||
| 152 | } | ||
| 146 | function continueSign(n){ | 153 | function continueSign(n){ |
| 147 | if (user.utype == '1') { | 154 | if (user.utype == '1') { |
| 148 | // 个人报名 | 155 | // 个人报名 | ... | ... |
| ... | @@ -5,7 +5,8 @@ | ... | @@ -5,7 +5,8 @@ |
| 5 | <el-carousel-item style="height: 450px;"> | 5 | <el-carousel-item style="height: 450px;"> |
| 6 | <div class="bannerItem"> | 6 | <div class="bannerItem"> |
| 7 | <div class="h100"> | 7 | <div class="h100"> |
| 8 | <img class="bannerImg" src="@/assets/dance/banner.png"> | 8 | <img v-if="matchData.bgImgUrl" class="bannerImg" :src="fillImgUrl(matchData.bgImgUrl)"> |
| 9 | <img v-else class="bannerImg" src="@/assets/dance/banner.png"> | ||
| 9 | <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> | 10 | <div class="box" style="position: absolute;top: 0;left: 0;right: 0;margin: auto;"> |
| 10 | <div class="banner-count"> | 11 | <div class="banner-count"> |
| 11 | 距离开始还有 | 12 | 距离开始还有 |
| ... | @@ -35,6 +36,7 @@ | ... | @@ -35,6 +36,7 @@ |
| 35 | 36 | ||
| 36 | <div class="box zn-bg"> | 37 | <div class="box zn-bg"> |
| 37 | <div class="zn-Box"> | 38 | <div class="zn-Box"> |
| 39 | <img class="bbbg" v-if="matchData.logoUrl" :src="fillImgUrl(matchData.logoUrl)"/> | ||
| 38 | <el-row style="align-items: center"> | 40 | <el-row style="align-items: center"> |
| 39 | <el-col :sm="24" :lg="10"> | 41 | <el-col :sm="24" :lg="10"> |
| 40 | <div class="bgbg"> | 42 | <div class="bgbg"> |
| ... | @@ -367,6 +369,7 @@ import r03 from '@/assets/dance/r03.png' | ... | @@ -367,6 +369,7 @@ import r03 from '@/assets/dance/r03.png' |
| 367 | import r04 from '@/assets/dance/r04.png' | 369 | import r04 from '@/assets/dance/r04.png' |
| 368 | import r05 from '@/assets/dance/r05.png' | 370 | import r05 from '@/assets/dance/r05.png' |
| 369 | import r06 from '@/assets/dance/r06.png' | 371 | import r06 from '@/assets/dance/r06.png' |
| 372 | import * as match from "@/apiPc/match"; | ||
| 370 | 373 | ||
| 371 | const modules = [Autoplay, Navigation] | 374 | const modules = [Autoplay, Navigation] |
| 372 | const navigationPic = ref({ | 375 | const navigationPic = ref({ |
| ... | @@ -408,6 +411,7 @@ const display = ref([]) | ... | @@ -408,6 +411,7 @@ const display = ref([]) |
| 408 | const scores = ref([]) | 411 | const scores = ref([]) |
| 409 | const nowscores = ref([]) | 412 | const nowscores = ref([]) |
| 410 | const livelist = ref([]) | 413 | const livelist = ref([]) |
| 414 | const matchData = ref({}) | ||
| 411 | const picList = ref([]) | 415 | const picList = ref([]) |
| 412 | const calendarValue = ref(dayjs('2024-07-22').toDate()) | 416 | const calendarValue = ref(dayjs('2024-07-22').toDate()) |
| 413 | const calendarRange = ref([dayjs('2024-07-21').toDate(),dayjs('2024-07-27').toDate()]) | 417 | const calendarRange = ref([dayjs('2024-07-21').toDate(),dayjs('2024-07-27').toDate()]) |
| ... | @@ -441,6 +445,14 @@ const init = () => { | ... | @@ -441,6 +445,14 @@ const init = () => { |
| 441 | ).then(res => { | 445 | ).then(res => { |
| 442 | newest2.value = res.rows | 446 | newest2.value = res.rows |
| 443 | }) | 447 | }) |
| 448 | match.getMaList().then((res) => { | ||
| 449 | match.getMatchById({id: res.rows[0].id}).then(resposn => { | ||
| 450 | matchData.value = resposn.data | ||
| 451 | loading.value = false | ||
| 452 | // var today = dayjs().format('YYYY-MM-DD HH:mm:ss') | ||
| 453 | // time.value = dayjs(resposn.data.signEndTime).diff(today, 'millisecond') | ||
| 454 | }) | ||
| 455 | }) | ||
| 444 | } | 456 | } |
| 445 | 457 | ||
| 446 | const goDetail = (n) => { | 458 | const goDetail = (n) => { |
| ... | @@ -470,7 +482,8 @@ const goNews = () => { | ... | @@ -470,7 +482,8 @@ const goNews = () => { |
| 470 | 482 | ||
| 471 | .zn-bg{background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC); | 483 | .zn-bg{background: linear-gradient(90deg, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #8623FC, #453DEA, #8623FC); |
| 472 | border-radius: 15px;} | 484 | border-radius: 15px;} |
| 473 | .zn-Box{background: url("@/assets/dance/cszn_bg.png") no-repeat top left;background-size: contain; | 485 | .zn-Box{background-size: contain;position: relative;overflow: hidden; |
| 486 | .bbbg{position: absolute;width: 100%;height: 100%;object-fit: cover;} | ||
| 474 | .bgbg{ | 487 | .bgbg{ |
| 475 | padding: 5%; | 488 | padding: 5%; |
| 476 | img{margin: 5% 0} | 489 | img{margin: 5% 0} | ... | ... |
| ... | @@ -9,7 +9,7 @@ | ... | @@ -9,7 +9,7 @@ |
| 9 | 9 | ||
| 10 | <el-row class="mt20" :gutter="20"> | 10 | <el-row class="mt20" :gutter="20"> |
| 11 | <el-col :lg="12"> | 11 | <el-col :lg="12"> |
| 12 | <el-card> | 12 | <el-card v-loading="loading"> |
| 13 | <template #header> | 13 | <template #header> |
| 14 | <div class="card-header"> | 14 | <div class="card-header"> |
| 15 | <img src="@/assets/sign/tag01.png"/> | 15 | <img src="@/assets/sign/tag01.png"/> |
| ... | @@ -23,7 +23,7 @@ | ... | @@ -23,7 +23,7 @@ |
| 23 | <div class="addBttn" @click="addCoach(0)">+</div> | 23 | <div class="addBttn" @click="addCoach(0)">+</div> |
| 24 | <el-checkbox v-for="c in coachList" :label="c.id"> | 24 | <el-checkbox v-for="c in coachList" :label="c.id"> |
| 25 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> | 25 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 26 | <p class="name">{{ c.shortName }} | 26 | <p class="name">{{ c.realName }} |
| 27 | <el-icon @click.stop="editPerson(c.id)"> | 27 | <el-icon @click.stop="editPerson(c.id)"> |
| 28 | <Edit/> | 28 | <Edit/> |
| 29 | </el-icon> | 29 | </el-icon> |
| ... | @@ -34,7 +34,7 @@ | ... | @@ -34,7 +34,7 @@ |
| 34 | </el-card> | 34 | </el-card> |
| 35 | </el-col> | 35 | </el-col> |
| 36 | <el-col :lg="12"> | 36 | <el-col :lg="12"> |
| 37 | <el-card> | 37 | <el-card v-loading="loading"> |
| 38 | <template #header> | 38 | <template #header> |
| 39 | <div class="card-header"> | 39 | <div class="card-header"> |
| 40 | <img src="@/assets/sign/tag02.png"/> | 40 | <img src="@/assets/sign/tag02.png"/> |
| ... | @@ -48,7 +48,7 @@ | ... | @@ -48,7 +48,7 @@ |
| 48 | <div class="addBttn" @click="addCoach(0)">+</div> | 48 | <div class="addBttn" @click="addCoach(0)">+</div> |
| 49 | <el-checkbox v-for="c in leaderList" :label="c.id"> | 49 | <el-checkbox v-for="c in leaderList" :label="c.id"> |
| 50 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> | 50 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 51 | <p class="name">{{ c.shortName }} | 51 | <p class="name">{{ c.realName }} |
| 52 | <el-icon @click.stop="editPerson(c.id)"> | 52 | <el-icon @click.stop="editPerson(c.id)"> |
| 53 | <Edit/> | 53 | <Edit/> |
| 54 | </el-icon> | 54 | </el-icon> |
| ... | @@ -59,7 +59,7 @@ | ... | @@ -59,7 +59,7 @@ |
| 59 | </el-card> | 59 | </el-card> |
| 60 | </el-col> | 60 | </el-col> |
| 61 | <el-col :lg="12"> | 61 | <el-col :lg="12"> |
| 62 | <el-card class="mt20"> | 62 | <el-card class="mt20" v-loading="loading"> |
| 63 | <template #header> | 63 | <template #header> |
| 64 | <div class="card-header"> | 64 | <div class="card-header"> |
| 65 | <img src="@/assets/sign/tag03.png"/> | 65 | <img src="@/assets/sign/tag03.png"/> |
| ... | @@ -71,7 +71,7 @@ | ... | @@ -71,7 +71,7 @@ |
| 71 | <div class="addBttn" @click="addCoach(0)">+</div> | 71 | <div class="addBttn" @click="addCoach(0)">+</div> |
| 72 | <el-checkbox v-for="c in doctorList" :label="c.id"> | 72 | <el-checkbox v-for="c in doctorList" :label="c.id"> |
| 73 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> | 73 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 74 | <p class="name">{{ c.shortName }} | 74 | <p class="name">{{ c.realName }} |
| 75 | <el-icon @click.stop="editPerson(c.id)"> | 75 | <el-icon @click.stop="editPerson(c.id)"> |
| 76 | <Edit/> | 76 | <Edit/> |
| 77 | </el-icon> | 77 | </el-icon> |
| ... | @@ -82,7 +82,7 @@ | ... | @@ -82,7 +82,7 @@ |
| 82 | </el-card> | 82 | </el-card> |
| 83 | </el-col> | 83 | </el-col> |
| 84 | <el-col :lg="12"> | 84 | <el-col :lg="12"> |
| 85 | <el-card class="mt20"> | 85 | <el-card class="mt20" v-loading="loading"> |
| 86 | <template #header> | 86 | <template #header> |
| 87 | <div class="card-header"> | 87 | <div class="card-header"> |
| 88 | <img src="@/assets/sign/tag04.png"/> | 88 | <img src="@/assets/sign/tag04.png"/> |
| ... | @@ -94,7 +94,7 @@ | ... | @@ -94,7 +94,7 @@ |
| 94 | <div class="addBttn" @click="addCoach(0)">+</div> | 94 | <div class="addBttn" @click="addCoach(0)">+</div> |
| 95 | <el-checkbox v-for="c in translatorList" :label="c.id"> | 95 | <el-checkbox v-for="c in translatorList" :label="c.id"> |
| 96 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> | 96 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 97 | <p class="name">{{ c.shortName }} | 97 | <p class="name">{{ c.realName }} |
| 98 | <el-icon @click.stop="editPerson(c.id)"> | 98 | <el-icon @click.stop="editPerson(c.id)"> |
| 99 | <Edit/> | 99 | <Edit/> |
| 100 | </el-icon> | 100 | </el-icon> |
| ... | @@ -105,7 +105,7 @@ | ... | @@ -105,7 +105,7 @@ |
| 105 | </el-card> | 105 | </el-card> |
| 106 | </el-col> | 106 | </el-col> |
| 107 | <el-col :lg="12"> | 107 | <el-col :lg="12"> |
| 108 | <el-card class="mt20"> | 108 | <el-card class="mt20" v-loading="loading"> |
| 109 | <template #header> | 109 | <template #header> |
| 110 | <div class="card-header"> | 110 | <div class="card-header"> |
| 111 | <img src="@/assets/sign/tag05.png"/> | 111 | <img src="@/assets/sign/tag05.png"/> |
| ... | @@ -117,7 +117,7 @@ | ... | @@ -117,7 +117,7 @@ |
| 117 | <div class="addBttn" @click="addCoach(0)">+</div> | 117 | <div class="addBttn" @click="addCoach(0)">+</div> |
| 118 | <el-checkbox v-for="c in officialList" :label="c.id"> | 118 | <el-checkbox v-for="c in officialList" :label="c.id"> |
| 119 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> | 119 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 120 | <p class="name">{{ c.shortName }} | 120 | <p class="name">{{ c.realName }} |
| 121 | <el-icon @click.stop="editPerson(c.id)"> | 121 | <el-icon @click.stop="editPerson(c.id)"> |
| 122 | <Edit/> | 122 | <Edit/> |
| 123 | </el-icon> | 123 | </el-icon> |
| ... | @@ -128,7 +128,7 @@ | ... | @@ -128,7 +128,7 @@ |
| 128 | </el-card> | 128 | </el-card> |
| 129 | </el-col> | 129 | </el-col> |
| 130 | <el-col :lg="12"> | 130 | <el-col :lg="12"> |
| 131 | <el-card class="mt20"> | 131 | <el-card class="mt20" v-loading="loading"> |
| 132 | <template #header> | 132 | <template #header> |
| 133 | <div class="card-header"> | 133 | <div class="card-header"> |
| 134 | <img src="@/assets/sign/tag06.png"/> | 134 | <img src="@/assets/sign/tag06.png"/> |
| ... | @@ -140,7 +140,7 @@ | ... | @@ -140,7 +140,7 @@ |
| 140 | <div class="addBttn" @click="addCoach(0)">+</div> | 140 | <div class="addBttn" @click="addCoach(0)">+</div> |
| 141 | <el-checkbox v-for="c in otherList" :label="c.id"> | 141 | <el-checkbox v-for="c in otherList" :label="c.id"> |
| 142 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> | 142 | <el-avatar fit="cover" :size="60" :src="fillImgUrl(c.picUrl)"/> |
| 143 | <p class="name">{{ c.shortName }} | 143 | <p class="name">{{ c.realName }} |
| 144 | <el-icon @click.stop="editPerson(c.id)"> | 144 | <el-icon @click.stop="editPerson(c.id)"> |
| 145 | <Edit/> | 145 | <Edit/> |
| 146 | </el-icon> | 146 | </el-icon> |
| ... | @@ -183,6 +183,7 @@ import useUserStore from "@/store/modules/user"; | ... | @@ -183,6 +183,7 @@ import useUserStore from "@/store/modules/user"; |
| 183 | const language = ref(cache.local.get('language') || 0) | 183 | const language = ref(cache.local.get('language') || 0) |
| 184 | 184 | ||
| 185 | const data = reactive({ | 185 | const data = reactive({ |
| 186 | loading:false, | ||
| 186 | form: { | 187 | form: { |
| 187 | coachs: [], | 188 | coachs: [], |
| 188 | leader: [] | 189 | leader: [] |
| ... | @@ -198,7 +199,7 @@ const data = reactive({ | ... | @@ -198,7 +199,7 @@ const data = reactive({ |
| 198 | signType: '', | 199 | signType: '', |
| 199 | activeStep: 1 | 200 | activeStep: 1 |
| 200 | }) | 201 | }) |
| 201 | const { | 202 | const {loading, |
| 202 | form, | 203 | form, |
| 203 | coachList, | 204 | coachList, |
| 204 | leaderList, | 205 | leaderList, |
| ... | @@ -239,6 +240,7 @@ function changecoachs(e) { | ... | @@ -239,6 +240,7 @@ function changecoachs(e) { |
| 239 | let hasChooseId | 240 | let hasChooseId |
| 240 | 241 | ||
| 241 | function tuandui() { | 242 | function tuandui() { |
| 243 | loading.value = true | ||
| 242 | Promise.all([ | 244 | Promise.all([ |
| 243 | match.getMyGroupForCpt(groupId.value, matchId), | 245 | match.getMyGroupForCpt(groupId.value, matchId), |
| 244 | match.getChooseDoneGroupCoachs(matchId, groupId.value) | 246 | match.getChooseDoneGroupCoachs(matchId, groupId.value) |
| ... | @@ -249,7 +251,7 @@ function tuandui() { | ... | @@ -249,7 +251,7 @@ function tuandui() { |
| 249 | translatorList.value = res[0].data.translators | 251 | translatorList.value = res[0].data.translators |
| 250 | officialList.value = res[0].data.officials | 252 | officialList.value = res[0].data.officials |
| 251 | otherList.value = res[0].data.others | 253 | otherList.value = res[0].data.others |
| 252 | 254 | loading.value = false | |
| 253 | if (res[1].data.id != null) { | 255 | if (res[1].data.id != null) { |
| 254 | hasChooseObj.value = res[1].data | 256 | hasChooseObj.value = res[1].data |
| 255 | hasChooseId = res[1].data.id | 257 | hasChooseId = res[1].data.id |
| ... | @@ -272,6 +274,7 @@ function tuandui() { | ... | @@ -272,6 +274,7 @@ function tuandui() { |
| 272 | } | 274 | } |
| 273 | 275 | ||
| 274 | function geren() { | 276 | function geren() { |
| 277 | loading.value = true | ||
| 275 | Promise.all([ | 278 | Promise.all([ |
| 276 | match.getMyPersonInfoWithcptId(matchId), | 279 | match.getMyPersonInfoWithcptId(matchId), |
| 277 | match.getChooseDoneSingleCoachs(matchId) | 280 | match.getChooseDoneSingleCoachs(matchId) |
| ... | @@ -282,7 +285,7 @@ function geren() { | ... | @@ -282,7 +285,7 @@ function geren() { |
| 282 | doctorList.value = res[0].data.teamDoctors | 285 | doctorList.value = res[0].data.teamDoctors |
| 283 | translatorList.value = res[0].data.translators | 286 | translatorList.value = res[0].data.translators |
| 284 | officialList.value = res[0].data.officials | 287 | officialList.value = res[0].data.officials |
| 285 | 288 | loading.value = false | |
| 286 | if (res[1].data.id != null) { | 289 | if (res[1].data.id != null) { |
| 287 | hasChooseObj.value = res[1].data | 290 | hasChooseObj.value = res[1].data |
| 288 | hasChooseId = res[1].data.id | 291 | hasChooseId = res[1].data.id |
| ... | @@ -352,7 +355,13 @@ function goNext() { | ... | @@ -352,7 +355,13 @@ function goNext() { |
| 352 | } | 355 | } |
| 353 | 356 | ||
| 354 | function goPrev() { | 357 | function goPrev() { |
| 355 | router.back() | 358 | router.push({ |
| 359 | name: `teamSign`, | ||
| 360 | query: { | ||
| 361 | matchId: matchId, | ||
| 362 | groupId: groupId.value | ||
| 363 | } | ||
| 364 | }) | ||
| 356 | } | 365 | } |
| 357 | 366 | ||
| 358 | function editPerson(id) { | 367 | function editPerson(id) { | ... | ... |
| ... | @@ -53,7 +53,7 @@ | ... | @@ -53,7 +53,7 @@ |
| 53 | </el-checkbox> | 53 | </el-checkbox> |
| 54 | </el-checkbox-group> | 54 | </el-checkbox-group> |
| 55 | </div> | 55 | </div> |
| 56 | <div v-else @click="editMate()"> | 56 | <div v-else @click="addMate"> |
| 57 | <div class="addBttn">+</div> | 57 | <div class="addBttn">+</div> |
| 58 | <div class="text-center mt10"> | 58 | <div class="text-center mt10"> |
| 59 | <el-icon> | 59 | <el-icon> |
| ... | @@ -76,7 +76,7 @@ | ... | @@ -76,7 +76,7 @@ |
| 76 | clearable/> | 76 | clearable/> |
| 77 | </div> | 77 | </div> |
| 78 | </div> | 78 | </div> |
| 79 | <div v-loading="loadingProject" style="height: 60vh"> | 79 | <div v-loading="loadingProject" style="height: 55vh"> |
| 80 | <el-checkbox-group v-model="projectIds"> | 80 | <el-checkbox-group v-model="projectIds"> |
| 81 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> | 81 | <el-checkbox class="flexBetweenBox" v-for="c in projectList" :label="c.id" :key="c.id"> |
| 82 | <div class="flexBetween w100"> | 82 | <div class="flexBetween w100"> |
| ... | @@ -162,13 +162,19 @@ | ... | @@ -162,13 +162,19 @@ |
| 162 | </div> | 162 | </div> |
| 163 | 163 | ||
| 164 | <div class="text-center mt20"> | 164 | <div class="text-center mt20"> |
| 165 | <el-button type="primary" class="" plain round @click="submitForm(0)"> | 165 | <el-button type="primary" class="btn-lineG w200px" round @click="submitForm()"> |
| 166 | {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }} | 166 | {{ language == 0 ? '预览报名信息' : 'Preview registration information' }} |
| 167 | </el-button> | ||
| 168 | <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)"> | ||
| 169 | {{ language == 0 ? '提交审核' : 'Submit for review' }} | ||
| 170 | </el-button> | 167 | </el-button> |
| 171 | </div> | 168 | </div> |
| 169 | |||
| 170 | <!-- <div class="text-center mt20">--> | ||
| 171 | <!-- <el-button type="primary" class="" plain round @click="submitForm(0)">--> | ||
| 172 | <!-- {{ language == 0 ? '保存暂不提交审核' : 'Save, Do Not Submit for Review Yet' }}--> | ||
| 173 | <!-- </el-button>--> | ||
| 174 | <!-- <el-button type="primary" class="btn-lineG w200px" round @click="submitForm(1)">--> | ||
| 175 | <!-- {{ language == 0 ? '提交审核' : 'Submit for review' }}--> | ||
| 176 | <!-- </el-button>--> | ||
| 177 | <!-- </div>--> | ||
| 172 | </div> | 178 | </div> |
| 173 | </el-card> | 179 | </el-card> |
| 174 | </div> | 180 | </div> |
| ... | @@ -296,6 +302,9 @@ function getMyMemberTable() { | ... | @@ -296,6 +302,9 @@ function getMyMemberTable() { |
| 296 | // | 302 | // |
| 297 | match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { | 303 | match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, userId.value).then(res => { |
| 298 | myMemberTable.value = res.rows | 304 | myMemberTable.value = res.rows |
| 305 | if(res.rows.length > 0){ | ||
| 306 | showPersonList.value = true | ||
| 307 | } | ||
| 299 | }) | 308 | }) |
| 300 | } | 309 | } |
| 301 | 310 | ||
| ... | @@ -350,95 +359,112 @@ function getSignInfoList() { | ... | @@ -350,95 +359,112 @@ function getSignInfoList() { |
| 350 | 359 | ||
| 351 | 360 | ||
| 352 | function submitForm(n) { | 361 | function submitForm(n) { |
| 362 | if (signInfoList.value.length == 0) { | ||
| 363 | if (language.value == 0) { | ||
| 364 | ElMessage.error('请至少选择一个项目') | ||
| 365 | } else { | ||
| 366 | ElMessage.error('select at least one project') | ||
| 367 | } | ||
| 368 | return | ||
| 369 | } | ||
| 370 | |||
| 353 | if (signInfoType == '1') { | 371 | if (signInfoType == '1') { |
| 354 | ElMessageBox.confirm('已报项,前往我的报项', '提示', { | 372 | ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission', |
| 355 | confirmButtonText: '确定', | 373 | language.value==0?'提示':'Tips', { |
| 356 | cancelButtonText: '取消', | 374 | confirmButtonText: language.value==0?'确定':'OK', |
| 375 | cancelButtonText: language.value==0?'取消':'Cancel', | ||
| 357 | type: 'warning' | 376 | type: 'warning' |
| 358 | }).then(() => { | 377 | }).then(() => { |
| 359 | router.push({name: 'myMatch'}) | 378 | router.push({name: 'myMatch'}) |
| 360 | }) | 379 | }) |
| 361 | return | 380 | return |
| 362 | } | 381 | } |
| 363 | if (n == 0) { | 382 | if (extraform.value && extraform.value.length > 0) { |
| 364 | ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核, | 383 | let needBuchong = false |
| 365 | 必须在报名截止时间${signEndTime.value}之前完成提交。 | 384 | for (const e of extraform.value) { |
| 366 | 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`, | 385 | if (e.status == '0') { |
| 367 | language.value == 0 ? '提示' : 'Tip', { | 386 | needBuchong = true |
| 368 | confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ', | ||
| 369 | cancelButtonText: language.value == 0 ? '知道了' : 'OK', | ||
| 370 | type: 'warning' | ||
| 371 | }).then((res) => { | ||
| 372 | console.log(res) | ||
| 373 | router.push({name: 'myMatch'}) | ||
| 374 | }) | ||
| 375 | } else { | ||
| 376 | if (extraform.value && extraform.value.length > 0) { | ||
| 377 | let needBuchong = false | ||
| 378 | for (const e of extraform.value) { | ||
| 379 | if (e.status == '0') { | ||
| 380 | needBuchong = true | ||
| 381 | } | ||
| 382 | } | 387 | } |
| 383 | for (const s of signInfoList.value) { | 388 | } |
| 384 | if (s.extraPersonInfo == null && needBuchong) { | 389 | for (const s of signInfoList.value) { |
| 385 | ElMessage.error(language.value == 0 ? '请完善运动员补充信息' : 'Complete Supplementary Information') | 390 | if (s.extraPersonInfo == null && needBuchong) { |
| 386 | tableType.value = 0 | 391 | ElMessage.error(language.value == 0 ? '请完善运动员补充信息' : 'Complete Supplementary Information') |
| 387 | return | 392 | tableType.value = 0 |
| 388 | } | 393 | return |
| 389 | } | 394 | } |
| 395 | } | ||
| 390 | 396 | ||
| 391 | if (showPersonList.value) { | 397 | if (showPersonList.value) { |
| 392 | if (myMemberTable.value.length == 0) { | 398 | if (myMemberTable.value.length == 0) { |
| 393 | ElMessageBox.confirm(language.value == 0 ? '是否继续添加随性人员?' : 'Do you want to add casual personnel?', | 399 | ElMessageBox.confirm(language.value == 0 ? '是否继续添加随性人员?' : 'Do you want to add casual personnel?', |
| 394 | language.value == 0 ? '提示' : 'Tip', { | ||
| 395 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', | ||
| 396 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | ||
| 397 | type: 'warning' | ||
| 398 | }).then(() => { | ||
| 399 | |||
| 400 | }).catch(() => { | ||
| 401 | commit() | ||
| 402 | }) | ||
| 403 | } else { | ||
| 404 | commit() | ||
| 405 | } | ||
| 406 | } else { | ||
| 407 | ElMessageBox.confirm(language.value == 0 ? '是否添加随性人员?' : 'Do you want to add casual personnel?', | ||
| 408 | language.value == 0 ? '提示' : 'Tip', { | 400 | language.value == 0 ? '提示' : 'Tip', { |
| 409 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', | 401 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', |
| 410 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | 402 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', |
| 411 | type: 'warning' | 403 | type: 'warning' |
| 412 | }).then(() => { | 404 | }).then(() => { |
| 413 | showPersonList.value = true | 405 | |
| 414 | }).catch(() => { | 406 | }).catch(() => { |
| 415 | commit() | 407 | commit() |
| 416 | }) | 408 | }) |
| 409 | } else { | ||
| 410 | commit() | ||
| 417 | } | 411 | } |
| 412 | } else { | ||
| 413 | ElMessageBox.confirm(language.value == 0 ? '是否添加随性人员?' : 'Do you want to add casual personnel?', | ||
| 414 | language.value == 0 ? '提示' : 'Tip', { | ||
| 415 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', | ||
| 416 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | ||
| 417 | type: 'warning' | ||
| 418 | }).then(() => { | ||
| 419 | showPersonList.value = true | ||
| 420 | }).catch(() => { | ||
| 421 | commit() | ||
| 422 | }) | ||
| 418 | } | 423 | } |
| 419 | |||
| 420 | } | 424 | } |
| 425 | // if (n == 0) { | ||
| 426 | // ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核, | ||
| 427 | // 必须在报名截止时间${signEndTime.value}之前完成提交。 | ||
| 428 | // 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`: | ||
| 429 | // `Your current operation is temporary and not submitted for review, | ||
| 430 | // Submission must be completed before the registration deadline${signEndTime.value}。 | ||
| 431 | // You can also find this registration in the My Registration section of your personal center and click submit for review.`, | ||
| 432 | // language.value == 0 ? '提示' : 'Tip', { | ||
| 433 | // confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ', | ||
| 434 | // cancelButtonText: language.value == 0 ? '知道了' : 'OK', | ||
| 435 | // type: 'warning' | ||
| 436 | // }).then((res) => { | ||
| 437 | // console.log(res) | ||
| 438 | // router.push({name: 'myMatch'}) | ||
| 439 | // }) | ||
| 440 | // } | ||
| 421 | } | 441 | } |
| 422 | 442 | ||
| 423 | function commit() { | 443 | function commit() { |
| 424 | ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?', | 444 | router.push({ |
| 425 | language.value == 0 ? '提示' : 'Tip', | 445 | name: 'signPreview', |
| 426 | { | 446 | query: { |
| 427 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', | 447 | matchId: matchId.value |
| 428 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', | 448 | } |
| 429 | }).then(()=>{ | 449 | }) |
| 430 | match.commitSign({ | 450 | // ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?', |
| 431 | groupId: 0, | 451 | // language.value == 0 ? '提示' : 'Tip', |
| 432 | cptId: matchId.value | 452 | // { |
| 433 | }).then(res => { | 453 | // confirmButtonText: language.value == 0 ? '确定' : 'Yes', |
| 434 | router.push({ | 454 | // cancelButtonText: language.value == 0 ? '取消' : 'Cancel', |
| 435 | name: `commitDone`, | 455 | // }).then(()=>{ |
| 436 | params: { | 456 | // match.commitSign({ |
| 437 | orderId: res.data | 457 | // groupId: 0, |
| 438 | } | 458 | // cptId: matchId.value |
| 439 | }) | 459 | // }).then(res => { |
| 440 | })} | 460 | // router.push({ |
| 441 | ) | 461 | // name: `commitDone`, |
| 462 | // params: { | ||
| 463 | // orderId: res.data | ||
| 464 | // } | ||
| 465 | // }) | ||
| 466 | // })} | ||
| 467 | // ) | ||
| 442 | 468 | ||
| 443 | } | 469 | } |
| 444 | 470 | ||
| ... | @@ -616,6 +642,14 @@ function editPerson() { | ... | @@ -616,6 +642,14 @@ function editPerson() { |
| 616 | }) | 642 | }) |
| 617 | } | 643 | } |
| 618 | 644 | ||
| 645 | function addMate() { | ||
| 646 | proxy.$refs['dialogEditWdsfRef'].open({ | ||
| 647 | title: language.value == 0 ? '添加舞伴' : 'Add My Mate', | ||
| 648 | isMe: false, | ||
| 649 | cptId:matchId.value, | ||
| 650 | id: 0 | ||
| 651 | }) | ||
| 652 | } | ||
| 619 | function editMate(obj) { | 653 | function editMate(obj) { |
| 620 | proxy.$refs['dialogEditWdsfRef'].open({ | 654 | proxy.$refs['dialogEditWdsfRef'].open({ |
| 621 | title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate', | 655 | title: language.value == 0 ? '编辑舞伴' : 'Edit My Mate', | ... | ... |
| ... | @@ -273,11 +273,12 @@ function getSignInfoList() { | ... | @@ -273,11 +273,12 @@ function getSignInfoList() { |
| 273 | 273 | ||
| 274 | function submitForm() { | 274 | function submitForm() { |
| 275 | if (signInfoType == '1') { | 275 | if (signInfoType == '1') { |
| 276 | ElMessageBox.confirm('已报项,前往我的报项', '提示', { | 276 | ElMessageBox.confirm(language.value==0?'已报项,前往我的报项':'Reported items, go to my submission', |
| 277 | confirmButtonText: '确定', | 277 | language.value==0?'提示':'Tips', { |
| 278 | cancelButtonText: '取消', | 278 | confirmButtonText: language.value==0?'确定':'OK', |
| 279 | type: 'warning' | 279 | cancelButtonText: language.value==0?'取消':'Cancel', |
| 280 | }).then(() => { | 280 | type: 'warning' |
| 281 | }).then(() => { | ||
| 281 | router.push({name: 'myMatch'}) | 282 | router.push({name: 'myMatch'}) |
| 282 | }) | 283 | }) |
| 283 | return | 284 | return |
| ... | @@ -458,6 +459,7 @@ function emptyChoosed() { | ... | @@ -458,6 +459,7 @@ function emptyChoosed() { |
| 458 | function emptyChangechoosed() { | 459 | function emptyChangechoosed() { |
| 459 | choosedchoosed.value = [] | 460 | choosedchoosed.value = [] |
| 460 | choosed2List.value = [] | 461 | choosed2List.value = [] |
| 462 | projectList.value = [] | ||
| 461 | } | 463 | } |
| 462 | 464 | ||
| 463 | function delchoosedchoosed() { | 465 | function delchoosedchoosed() { |
| ... | @@ -502,8 +504,9 @@ function signUp() { | ... | @@ -502,8 +504,9 @@ function signUp() { |
| 502 | } | 504 | } |
| 503 | match.sportsmanDone(obj).then(res => { | 505 | match.sportsmanDone(obj).then(res => { |
| 504 | choosedchoosed.value = [] | 506 | choosedchoosed.value = [] |
| 507 | choosed2List.value = [] | ||
| 508 | projectList.value = [] | ||
| 505 | getSignInfoList() | 509 | getSignInfoList() |
| 506 | getProjectList() | ||
| 507 | }) | 510 | }) |
| 508 | } | 511 | } |
| 509 | 512 | ... | ... |
| ... | @@ -25,7 +25,7 @@ | ... | @@ -25,7 +25,7 @@ |
| 25 | <div class="border-info mt20" v-else> | 25 | <div class="border-info mt20" v-else> |
| 26 | The audit results will be formally notified to you via email in the future. | 26 | The audit results will be formally notified to you via email in the future. |
| 27 | <br/> | 27 | <br/> |
| 28 | Email sender: <span class="text-primary">{{ user.email }}</span> | 28 | Email sender: <span class="text-primary">wdsfwuxicenter@wdsfwuxicenter.com</span> |
| 29 | Please follow the relevant email notifications. | 29 | Please follow the relevant email notifications. |
| 30 | <br/> | 30 | <br/> |
| 31 | 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. | 31 | 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({ | ... | @@ -67,6 +67,7 @@ const query3 = ref({ |
| 67 | code: `${props.matchId}${language.value == 0 ?'100':'101'}3` | 67 | code: `${props.matchId}${language.value == 0 ?'100':'101'}3` |
| 68 | }) | 68 | }) |
| 69 | onMounted(() => { | 69 | onMounted(() => { |
| 70 | console.log(props.matchId,language.value) | ||
| 70 | getList(query1.value) | 71 | getList(query1.value) |
| 71 | getList2(query2.value) | 72 | getList2(query2.value) |
| 72 | getList3(query3.value) | 73 | getList3(query3.value) | ... | ... |
| ... | @@ -7,7 +7,7 @@ | ... | @@ -7,7 +7,7 @@ |
| 7 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="" :min-width="language==0?'100':'120'"> | 7 | <el-table-column :label="language==0?'所属国家':'Nationality'" prop="" :min-width="language==0?'100':'120'"> |
| 8 | <template #default="scope"> | 8 | <template #default="scope"> |
| 9 | <span v-if="scope.row.personInfo.countryName">{{scope.row.personInfo.countryName}}</span> | 9 | <span v-if="scope.row.personInfo.countryName">{{scope.row.personInfo.countryName}}</span> |
| 10 | <span v-if="scope.row.personInfo.Representing">{{scope.row.personInfo.Representing}}</span> | 10 | <span v-if="scope.row.personInfo.representing">{{scope.row.personInfo.representing}}</span> |
| 11 | </template> | 11 | </template> |
| 12 | </el-table-column> | 12 | </el-table-column> |
| 13 | <!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/>--> | 13 | <!-- <el-table-column :label="language==0?'短名':'Nick Name'" prop="personInfo.shortName" min-width="110"/>--> | ... | ... |
| ... | @@ -9,6 +9,36 @@ | ... | @@ -9,6 +9,36 @@ |
| 9 | <div v-if="isLogin"> | 9 | <div v-if="isLogin"> |
| 10 | <group-info-row v-if="groupId" :group-id="groupId"/> | 10 | <group-info-row v-if="groupId" :group-id="groupId"/> |
| 11 | <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/> | 11 | <coach-info-row v-if="groupId" :group-id="groupId" :match-id="matchId"/> |
| 12 | |||
| 13 | <div class="pd20" v-if="user.utype=='1'&&myMemberTable.length>0"> | ||
| 14 | <div class="leftboderTT">{{ language==0?'随行人员清单':'List of accompanying personnel' }} | ||
| 15 | </div> | ||
| 16 | <div> | ||
| 17 | <el-table class="mt20" :data="myMemberTable" border> | ||
| 18 | <el-table-column type="index" label="Index" width="70" align="center"/> | ||
| 19 | <el-table-column :label="language==0?'姓氏':'surname'" prop="xing" min-width="100"/> | ||
| 20 | <el-table-column :label="language==0?'名':'name'" prop="ming" min-width="100"/> | ||
| 21 | <el-table-column label="Passport number" prop="idcCode" min-width="120"/> | ||
| 22 | <el-table-column label="Birthday" prop="birth"/> | ||
| 23 | <el-table-column label="Sex" prop="sexStr"/> | ||
| 24 | <el-table-column label="Role" min-width="160"> | ||
| 25 | <template #default="scope"> | ||
| 26 | <div class="roletd"> | ||
| 27 | <span v-for="item in scope.row.label?.split(',')" :key="item.id" class="text-primary"> | ||
| 28 | <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span> | ||
| 29 | <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span> | ||
| 30 | <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'team leader' }}</span> | ||
| 31 | <span v-if="item==='3'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span> | ||
| 32 | <span v-if="item==='4'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span> | ||
| 33 | <span v-if="item==='5'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span> | ||
| 34 | <span v-if="item==='6'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span> | ||
| 35 | </span> | ||
| 36 | </div> | ||
| 37 | </template> | ||
| 38 | </el-table-column> | ||
| 39 | </el-table> | ||
| 40 | </div> | ||
| 41 | </div> | ||
| 12 | <div class="pd20" v-if="signInfoList?.length>0"> | 42 | <div class="pd20" v-if="signInfoList?.length>0"> |
| 13 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> | 43 | <div class="leftboderTT">{{ language == 0 ? '参赛人员保险费' : 'Participant Insurance Fee' }}</div> |
| 14 | <!-- 人员列表--> | 44 | <!-- 人员列表--> |
| ... | @@ -49,8 +79,10 @@ | ... | @@ -49,8 +79,10 @@ |
| 49 | </div> | 79 | </div> |
| 50 | <div class="text-danger flex" v-if="form.auditStatus=='3'"> | 80 | <div class="text-danger flex" v-if="form.auditStatus=='3'"> |
| 51 | <img src="@/assets/img/w.png"> | 81 | <img src="@/assets/img/w.png"> |
| 52 | {{ language==0?'报名信息审核拒绝':'Registration Information rejected' }} | 82 | <div> |
| 53 | <div>{{ language==0?'驳回理由:':'Reason:'}}</div> | 83 | {{ language==0?'报名信息审核拒绝':'Registration Information rejected' }} |
| 84 | <div v-if="form.reason" class="rre">{{language==0?'驳回理由':'Reason'}}:{{form.reason}}</div> | ||
| 85 | </div> | ||
| 54 | </div> | 86 | </div> |
| 55 | </el-col> | 87 | </el-col> |
| 56 | <el-col :lg="12"> | 88 | <el-col :lg="12"> |
| ... | @@ -284,6 +316,7 @@ const totalFee = ref('') | ... | @@ -284,6 +316,7 @@ const totalFee = ref('') |
| 284 | const wePayCodeUrl = ref('') | 316 | const wePayCodeUrl = ref('') |
| 285 | const form = ref({}) | 317 | const form = ref({}) |
| 286 | const voucherObj = ref({}) | 318 | const voucherObj = ref({}) |
| 319 | const myMemberTable = ref([]) | ||
| 287 | const upForm = ref({ | 320 | const upForm = ref({ |
| 288 | orderId:orderId.value | 321 | orderId:orderId.value |
| 289 | }) | 322 | }) |
| ... | @@ -291,6 +324,7 @@ const errorBox = ref(false) | ... | @@ -291,6 +324,7 @@ const errorBox = ref(false) |
| 291 | const hideconfirmbtn = ref(false) | 324 | const hideconfirmbtn = ref(false) |
| 292 | const insuranceFeeTotal = ref(0) | 325 | const insuranceFeeTotal = ref(0) |
| 293 | const serviceFeeTotal = ref(0) | 326 | const serviceFeeTotal = ref(0) |
| 327 | const user = useUserStore().user | ||
| 294 | console.log(route.query.orderId) | 328 | console.log(route.query.orderId) |
| 295 | // 1763462073870237698 | 329 | // 1763462073870237698 |
| 296 | getData() | 330 | getData() |
| ... | @@ -305,12 +339,20 @@ function getData() { | ... | @@ -305,12 +339,20 @@ function getData() { |
| 305 | groupId.value = form.value.groupId || 0 | 339 | groupId.value = form.value.groupId || 0 |
| 306 | if(isLogin.value){ | 340 | if(isLogin.value){ |
| 307 | getSignList() | 341 | getSignList() |
| 342 | if(user.utype=='1'){ | ||
| 343 | getMyMemberTable() | ||
| 344 | } | ||
| 308 | } | 345 | } |
| 309 | }).catch(err=>{ | 346 | }).catch(err=>{ |
| 310 | console.log(err) | 347 | console.log(err) |
| 311 | errorBox.value = true | 348 | errorBox.value = true |
| 312 | }) | 349 | }) |
| 313 | } | 350 | } |
| 351 | function getMyMemberTable() { | ||
| 352 | match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => { | ||
| 353 | myMemberTable.value = res.rows | ||
| 354 | }) | ||
| 355 | } | ||
| 314 | function upRR() { | 356 | function upRR() { |
| 315 | upForm.value.voucher = voucherObj.value[0].url | 357 | upForm.value.voucher = voucherObj.value[0].url |
| 316 | match.upReceipt(upForm.value).then(res=>{ | 358 | match.upReceipt(upForm.value).then(res=>{ |
| ... | @@ -486,4 +528,5 @@ function showLogin(){ | ... | @@ -486,4 +528,5 @@ function showLogin(){ |
| 486 | } | 528 | } |
| 487 | .size26{font-size: 26px;} | 529 | .size26{font-size: 26px;} |
| 488 | } | 530 | } |
| 531 | .rre{color: #333;font-size: 16px;margin-top: 10px} | ||
| 489 | </style> | 532 | </style> | ... | ... |
| ... | @@ -2,14 +2,44 @@ | ... | @@ -2,14 +2,44 @@ |
| 2 | <div> | 2 | <div> |
| 3 | <div class="box ph-30"> | 3 | <div class="box ph-30"> |
| 4 | <el-card class="mb20"> | 4 | <el-card class="mb20"> |
| 5 | <team-sign-step :language="language" :active-step="activeStep"/> | 5 | <team-sign-step v-if="user.utype=='2'" :language="language" :active-step="activeStep"/> |
| 6 | <single-sign-step v-if="user.utype=='1'" :language="language" :active-step="2"/> | ||
| 6 | </el-card> | 7 | </el-card> |
| 7 | <el-card :body-style="{ padding: '0px' }"> | 8 | <el-card :body-style="{ padding: '0px' }"> |
| 8 | <match-info-row v-if="matchId" :match-id="matchId"/> | 9 | <match-info-row v-if="matchId" :match-id="matchId"/> |
| 9 | <group-info-row v-if="matchId" :match-id="matchId" :group-id="groupId"/> | 10 | <group-info-row v-if="matchId&&groupId!=0" :match-id="matchId" :group-id="groupId"/> |
| 10 | <coach-info-row v-if="matchId" :match-id="matchId" :language="language"/> | 11 | <coach-info-row v-if="matchId&&user.utype=='2'" :match-id="matchId" :language="language"/> |
| 11 | <div style="margin: 20px"> | 12 | |
| 12 | 13 | ||
| 14 | |||
| 15 | <div style="margin: 20px"> | ||
| 16 | <div class="leftboderTT" v-if="user.utype=='1'&&myMemberTable.length>0">{{ language==0?'随行人员清单':'List of accompanying personnel' }} | ||
| 17 | </div> | ||
| 18 | <div v-if="user.utype=='1'&&myMemberTable.length>0"> | ||
| 19 | <el-table class="mt20" :data="myMemberTable" border> | ||
| 20 | <el-table-column type="index" label="Index" width="70" align="center"/> | ||
| 21 | <el-table-column :label="language==0?'姓氏':'surname'" prop="xing" min-width="100"/> | ||
| 22 | <el-table-column :label="language==0?'名':'name'" prop="ming" min-width="100"/> | ||
| 23 | <el-table-column label="Passport number" prop="idcCode" min-width="120"/> | ||
| 24 | <el-table-column label="Birthday" prop="birth"/> | ||
| 25 | <el-table-column label="Sex" prop="sexStr"/> | ||
| 26 | <el-table-column label="Role" min-width="160"> | ||
| 27 | <template #default="scope"> | ||
| 28 | <div class="roletd"> | ||
| 29 | <span v-for="item in scope.row.label?.split(',')" :key="item.id" class="text-primary"> | ||
| 30 | <span v-if="item==='0'" class="ml5">{{ language == 0 ? '运动员' : 'athletes' }}</span> | ||
| 31 | <span v-if="item==='1'" class="ml5">{{ language == 0 ? '教练' : 'coach' }}</span> | ||
| 32 | <span v-if="item==='2'" class="ml5">{{ language == 0 ? '领队' : 'team leader' }}</span> | ||
| 33 | <span v-if="item==='3'" class="ml5">{{ language == 0 ? '队医' : 'team doctor' }}</span> | ||
| 34 | <span v-if="item==='4'" class="ml5">{{ language == 0 ? '翻译' : 'translator' }}</span> | ||
| 35 | <span v-if="item==='5'" class="ml5">{{ language == 0 ? '官员' : 'official' }}</span> | ||
| 36 | <span v-if="item==='6'" class="ml5">{{ language == 0 ? '其他' : 'other' }}</span> | ||
| 37 | </span> | ||
| 38 | </div> | ||
| 39 | </template> | ||
| 40 | </el-table-column> | ||
| 41 | </el-table> | ||
| 42 | </div> | ||
| 13 | <div class="mt20"> | 43 | <div class="mt20"> |
| 14 | <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }} | 44 | <div class="leftboderTT">{{ language==0?'参赛人员清单':'Participant List' }} |
| 15 | <div class="fr"> | 45 | <div class="fr"> |
| ... | @@ -48,8 +78,9 @@ | ... | @@ -48,8 +78,9 @@ |
| 48 | <el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon> | 78 | <el-link type="primary" @click="exportSignList(2)"><el-icon><Upload /></el-icon> |
| 49 | {{ language==0?'导出设项报名清单':'Registration Fee for Event Entry' }}</el-link> | 79 | {{ language==0?'导出设项报名清单':'Registration Fee for Event Entry' }}</el-link> |
| 50 | 80 | ||
| 51 | <el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon> | 81 | <!-- <el-link type="primary" @click="exportPdf"><el-icon><Upload /></el-icon>--> |
| 52 | {{ language==0?'导出pdf':'Export PDF' }}</el-link> | 82 | <!-- {{ language==0?'导出pdf':'Export PDF' }}--> |
| 83 | <!-- </el-link>--> | ||
| 53 | </el-col> | 84 | </el-col> |
| 54 | </el-row> | 85 | </el-row> |
| 55 | <div class="text-center pd20"> | 86 | <div class="text-center pd20"> |
| ... | @@ -78,6 +109,7 @@ import useUserStore from "@/store/modules/user"; | ... | @@ -78,6 +109,7 @@ import useUserStore from "@/store/modules/user"; |
| 78 | import ZuTable from "@/viewsPc/match/components/zu-table"; | 109 | import ZuTable from "@/viewsPc/match/components/zu-table"; |
| 79 | import {ElMessageBox} from "element-plus"; | 110 | import {ElMessageBox} from "element-plus"; |
| 80 | import {exportCn} from "@/apiPc/match"; | 111 | import {exportCn} from "@/apiPc/match"; |
| 112 | import SingleSignStep from "@/viewsPc/match/components/singleSignStep"; | ||
| 81 | const route = useRoute() | 113 | const route = useRoute() |
| 82 | const router = useRouter() | 114 | const router = useRouter() |
| 83 | const activeStep = ref(3) | 115 | const activeStep = ref(3) |
| ... | @@ -87,7 +119,10 @@ const groupId = ref(route.query.groupId || 0) | ... | @@ -87,7 +119,10 @@ const groupId = ref(route.query.groupId || 0) |
| 87 | const form = ref({}) | 119 | const form = ref({}) |
| 88 | const matchId = ref(route.query.matchId) | 120 | const matchId = ref(route.query.matchId) |
| 89 | const signInfoList = ref([]) | 121 | const signInfoList = ref([]) |
| 122 | const signEndTime = ref('') | ||
| 90 | const zuTableList = ref([]) | 123 | const zuTableList = ref([]) |
| 124 | const myMemberTable = ref([]) | ||
| 125 | const user = useUserStore().user | ||
| 91 | const {proxy} = getCurrentInstance() | 126 | const {proxy} = getCurrentInstance() |
| 92 | const zuQuery = ref({ | 127 | const zuQuery = ref({ |
| 93 | cptId: matchId.value, | 128 | cptId: matchId.value, |
| ... | @@ -99,8 +134,23 @@ onMounted(()=>{ | ... | @@ -99,8 +134,23 @@ onMounted(()=>{ |
| 99 | // console.log(route.query) | 134 | // console.log(route.query) |
| 100 | getSignList() | 135 | getSignList() |
| 101 | getFee(groupId.value) | 136 | getFee(groupId.value) |
| 137 | if(user.utype=='1'){ | ||
| 138 | getMyMemberTable() | ||
| 139 | } | ||
| 140 | getMatch() | ||
| 102 | }) | 141 | }) |
| 103 | 142 | function getMatch() { | |
| 143 | match.getMatchById({ | ||
| 144 | id: matchId.value | ||
| 145 | }).then(res => { | ||
| 146 | signEndTime.value = res.data.signEndTime | ||
| 147 | }) | ||
| 148 | } | ||
| 149 | function getMyMemberTable() { | ||
| 150 | match.getPerPersonList({cptId: matchId.value, searchLabels: '1,2,3,4,5,6'}, user.userId).then(res => { | ||
| 151 | myMemberTable.value = res.rows | ||
| 152 | }) | ||
| 153 | } | ||
| 104 | 154 | ||
| 105 | function getSignList() { | 155 | function getSignList() { |
| 106 | match.getMySignInfoList(zuQuery.value).then(res=>{ | 156 | match.getMySignInfoList(zuQuery.value).then(res=>{ |
| ... | @@ -109,13 +159,26 @@ function getSignList() { | ... | @@ -109,13 +159,26 @@ function getSignList() { |
| 109 | }) | 159 | }) |
| 110 | } | 160 | } |
| 111 | const goPrev = () => { | 161 | const goPrev = () => { |
| 112 | router.push({ | 162 | if(user.type=='2'){ |
| 113 | name: 'chooseSportsman', | 163 | router.push({ |
| 114 | query: { | 164 | name: 'chooseSportsman', |
| 115 | matchId: matchId.value, | 165 | query: { |
| 116 | groupId: groupId.value | 166 | matchId: matchId.value, |
| 117 | } | 167 | groupId: groupId.value |
| 118 | }) | 168 | } |
| 169 | }) | ||
| 170 | } else { | ||
| 171 | router.push({ | ||
| 172 | name: 'chooseProject', | ||
| 173 | params:{ | ||
| 174 | id:matchId.value | ||
| 175 | }, | ||
| 176 | query: { | ||
| 177 | matchId: matchId.value | ||
| 178 | } | ||
| 179 | }) | ||
| 180 | } | ||
| 181 | |||
| 119 | } | 182 | } |
| 120 | const getFee = (entryId) => { | 183 | const getFee = (entryId) => { |
| 121 | match.getTotalFee({ | 184 | match.getTotalFee({ |
| ... | @@ -127,29 +190,40 @@ const getFee = (entryId) => { | ... | @@ -127,29 +190,40 @@ const getFee = (entryId) => { |
| 127 | } | 190 | } |
| 128 | const submitForm = (n) => { | 191 | const submitForm = (n) => { |
| 129 | if(n==0){ | 192 | if(n==0){ |
| 130 | ElMessageBox.confirm(`您当前的操作为暂存,并不是提交审核,必须在报名截止时间XXXX-XX-XX之前完成提交。\n` + | 193 | ElMessageBox.confirm(language.value==0?`您当前的操作为暂存,并不是提交审核, |
| 131 | '\n' + | 194 | 必须在报名截止时间${signEndTime.value}之前完成提交。 |
| 132 | '您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。','提示',{ | 195 | 您也可以在个人中心-我的报名中,找到这条报名,点击提交审核。`: |
| 133 | confirmButtonText: '去个人中心', | 196 | `Your current operation is temporary and not submitted for review, |
| 134 | cancelButtonText: '知道了', | 197 | Submission must be completed before the registration deadline${signEndTime.value}。 |
| 135 | type: 'warning' | 198 | You can also find this registration in the My Registration section of your personal center and click submit for review.`, |
| 136 | }).then((res)=>{ | 199 | language.value == 0 ? '提示' : 'Tip', { |
| 137 | console.log(res) | 200 | confirmButtonText: language.value == 0 ? '去个人中心' : 'Go My Eegistration ', |
| 138 | router.push({name: 'myMatch'}) | 201 | cancelButtonText: language.value == 0 ? '知道了' : 'OK', |
| 139 | }) | 202 | type: 'warning' |
| 203 | }).then((res) => { | ||
| 204 | console.log(res) | ||
| 205 | router.push({name: 'myMatch'}) | ||
| 206 | }) | ||
| 140 | return | 207 | return |
| 141 | } | 208 | } |
| 142 | match.commitSign({ | 209 | ElMessageBox.confirm(language.value == 0 ? '确定提交吗?' : 'Are you sure to submit?', |
| 143 | groupId: groupId.value, | 210 | language.value == 0 ? '提示' : 'Tip', |
| 144 | cptId: matchId.value | 211 | { |
| 145 | }).then(res=>{ | 212 | confirmButtonText: language.value == 0 ? '确定' : 'Yes', |
| 146 | router.push({ | 213 | cancelButtonText: language.value == 0 ? '取消' : 'Cancel', |
| 147 | name:`commitDone`, | 214 | }).then(()=>{ |
| 148 | params: { | 215 | match.commitSign({ |
| 149 | orderId: res.data | 216 | groupId: groupId.value||0, |
| 150 | } | 217 | cptId: matchId.value |
| 151 | }) | 218 | }).then(res => { |
| 152 | }) | 219 | router.push({ |
| 220 | name: `commitDone`, | ||
| 221 | params: { | ||
| 222 | orderId: res.data | ||
| 223 | } | ||
| 224 | }) | ||
| 225 | })} | ||
| 226 | ) | ||
| 153 | } | 227 | } |
| 154 | function exportSignList(n) { | 228 | function exportSignList(n) { |
| 155 | var obj = { | 229 | var obj = { | ... | ... |
| ... | @@ -111,7 +111,7 @@ const data = reactive({ | ... | @@ -111,7 +111,7 @@ const data = reactive({ |
| 111 | }, | 111 | }, |
| 112 | form: {}, | 112 | form: {}, |
| 113 | groupId: route.query.groupId||0, | 113 | groupId: route.query.groupId||0, |
| 114 | cptId: route.query.matchId||0, | 114 | cptId: route.params.id||0, |
| 115 | signType: false, | 115 | signType: false, |
| 116 | regionsList: [], | 116 | regionsList: [], |
| 117 | participantsInfoArr: [], | 117 | participantsInfoArr: [], | ... | ... |
-
Please register or sign in to post a comment