|
|
@ -5,11 +5,7 @@ |
|
|
|
<div class="box"> |
|
|
|
<div class="box"> |
|
|
|
<div class="title-box"> |
|
|
|
<div class="title-box"> |
|
|
|
<div class="title">报名信息确认</div> |
|
|
|
<div class="title">报名信息确认</div> |
|
|
|
<!-- <div class="text"> |
|
|
|
<div class="text">请仔细核对报名信息,报名成功后无法修改。</div> |
|
|
|
请仔细核对报名信息,报名成功后无法修改。请仔细核对报名信息,报名成功后无法修改。 |
|
|
|
|
|
|
|
请仔细核对报名信息,报名成功后无法修改。请仔细核对报名信息,报名成功后无法修改。 |
|
|
|
|
|
|
|
请仔细核对报名信息,报名成功后无法修改。请仔细核对报名信息,报名成功后无法修改。 |
|
|
|
|
|
|
|
</div> --> |
|
|
|
|
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
|
|
<div class="img-box"> |
|
|
|
<div class="img-box"> |
|
|
@ -154,7 +150,7 @@ |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</el-card> |
|
|
|
</el-card> |
|
|
|
<div class="bottom"> |
|
|
|
<div class="bottom"> |
|
|
|
<el-button class="btn" @click="$router.push('/')">取消报名</el-button> |
|
|
|
<el-button class="btn" @click="$router.back()">取消报名</el-button> |
|
|
|
<el-button class="btn cyan" @click="submit" :loading="loading"> |
|
|
|
<el-button class="btn cyan" @click="submit" :loading="loading"> |
|
|
|
确认报名 |
|
|
|
确认报名 |
|
|
|
</el-button> |
|
|
|
</el-button> |
|
|
@ -163,7 +159,7 @@ |
|
|
|
</template> |
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
|
|
<script lang="ts" setup> |
|
|
|
<script lang="ts" setup> |
|
|
|
import { reactive, ref, toRefs,nextTick } from 'vue' |
|
|
|
import { reactive, ref, toRefs, nextTick } from 'vue' |
|
|
|
import { useRoute, useRouter } from 'vue-router' |
|
|
|
import { useRoute, useRouter } from 'vue-router' |
|
|
|
import userStore from '@/store/module/user' |
|
|
|
import userStore from '@/store/module/user' |
|
|
|
import type { FormInstance, FormRules } from 'element-plus' |
|
|
|
import type { FormInstance, FormRules } from 'element-plus' |
|
|
@ -172,6 +168,7 @@ import { getSignUpApi } from '@/api/person' |
|
|
|
import stuList from './components/stuList.vue' |
|
|
|
import stuList from './components/stuList.vue' |
|
|
|
import teaList from './components/teaList.vue' |
|
|
|
import teaList from './components/teaList.vue' |
|
|
|
import { getNdbswxqList, getComppxqList } from '@/api/person' |
|
|
|
import { getNdbswxqList, getComppxqList } from '@/api/person' |
|
|
|
|
|
|
|
import { getOldRaceList,getOldRaceInfo } from '@/api/oldRace' |
|
|
|
import { getTopicList } from '@/api/race' |
|
|
|
import { getTopicList } from '@/api/race' |
|
|
|
const user = userStore() |
|
|
|
const user = userStore() |
|
|
|
const route = useRoute() |
|
|
|
const route = useRoute() |
|
|
@ -189,13 +186,59 @@ function pasSex(num: number) { |
|
|
|
// 比赛信息、项目信息 |
|
|
|
// 比赛信息、项目信息 |
|
|
|
const ndbs = ref<any>({}) |
|
|
|
const ndbs = ref<any>({}) |
|
|
|
const ndbsXm = ref<any>({}) |
|
|
|
const ndbsXm = ref<any>({}) |
|
|
|
getNdbswxqList(route.query.bcId as string).then((res: any) => { |
|
|
|
console.log(route.query.edit, 'route.query.edit') |
|
|
|
|
|
|
|
const options = ref([]) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (route.query.edit) { |
|
|
|
|
|
|
|
const getOldRaceListEvent = async () => { |
|
|
|
|
|
|
|
const res: any = await getOldRaceList({ id: route.query.id}) |
|
|
|
|
|
|
|
ndbs.value = res.result.annualComp |
|
|
|
|
|
|
|
ndbsXm.value = res.result.annualCompPoint |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
const getOldRaceInfoEvent = async () => { |
|
|
|
|
|
|
|
const res: any = await getOldRaceInfo({ id: route.query.id}) |
|
|
|
|
|
|
|
console.log(res,'res~~~'); |
|
|
|
|
|
|
|
ruleForm.annualCompid = route.query.annualCompid |
|
|
|
|
|
|
|
ruleForm.teamName = res.result.teamName |
|
|
|
|
|
|
|
ruleForm.topicId = res.result.topicObj.id |
|
|
|
|
|
|
|
options.value = res.result.topicList.map((item) => { |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
value: item.id, |
|
|
|
|
|
|
|
label: item.name, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
getOldRaceListEvent() |
|
|
|
|
|
|
|
getOldRaceInfoEvent() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
|
|
|
getNdbswxqList(route.query.bcId as string).then((res: any) => { |
|
|
|
if (res.result) ndbs.value = res.result |
|
|
|
if (res.result) ndbs.value = res.result |
|
|
|
}) |
|
|
|
}) |
|
|
|
getComppxqList(route.query.id as string).then((res: any) => { |
|
|
|
getComppxqList(route.query.id as string).then((res: any) => { |
|
|
|
//console.log(res.result, 'xm') |
|
|
|
//console.log(res.result, 'xm') |
|
|
|
if (res.result) ndbsXm.value = res.result |
|
|
|
if (res.result) ndbsXm.value = res.result |
|
|
|
}) |
|
|
|
}) |
|
|
|
|
|
|
|
const getTopicListApi = async () => { |
|
|
|
|
|
|
|
const res: any = await getTopicList({ annualCompid: route.query.id }) |
|
|
|
|
|
|
|
console.log(res) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nextTick(() => { |
|
|
|
|
|
|
|
if (res.result.length != 0) { |
|
|
|
|
|
|
|
ruleForm.topicId = res.result[0].id |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
options.value = res.result.map((item) => { |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
value: item.id, |
|
|
|
|
|
|
|
label: item.name, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
getTopicListApi() |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// members:学生 adviser:老师 |
|
|
|
// members:学生 adviser:老师 |
|
|
|
const activeName = ref('members') |
|
|
|
const activeName = ref('members') |
|
|
@ -219,18 +262,23 @@ const teaRef = ref<any>(null) |
|
|
|
const loading = ref(false) |
|
|
|
const loading = ref(false) |
|
|
|
|
|
|
|
|
|
|
|
const submit = () => { |
|
|
|
const submit = () => { |
|
|
|
if(!ruleForm.teamName) return ElMessage.warning('请输入队伍名称') |
|
|
|
if (!ruleForm.teamName) return ElMessage.warning('请输入队伍名称') |
|
|
|
if(!ruleForm.topicId) return ElMessage.warning('请选择题目') |
|
|
|
if (!ruleForm.topicId) return ElMessage.warning('请选择题目') |
|
|
|
ruleForm.instructorSheetList = [...teaRef.value.submit()] |
|
|
|
ruleForm.instructorSheetList = [...teaRef.value.submit()] |
|
|
|
ruleForm.teamManagementList = [...stuRef.value.submit()] |
|
|
|
ruleForm.teamManagementList = [...stuRef.value.submit()] |
|
|
|
loading.value = true |
|
|
|
loading.value = true |
|
|
|
|
|
|
|
ruleForm.id = route.query.id |
|
|
|
|
|
|
|
if(route.query.edit){ |
|
|
|
|
|
|
|
ruleForm.enrollCode = route.query.enrollCode |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
getSignUpApi(ruleForm) |
|
|
|
getSignUpApi(ruleForm) |
|
|
|
.then((res: any) => { |
|
|
|
.then((res: any) => { |
|
|
|
ElMessage({ |
|
|
|
ElMessage({ |
|
|
|
message: res?.message || '报名成功', |
|
|
|
message: res?.message || '报名成功', |
|
|
|
type: 'success', |
|
|
|
type: 'success', |
|
|
|
}) |
|
|
|
}) |
|
|
|
router.push('/') |
|
|
|
router.push('/user-info') |
|
|
|
}) |
|
|
|
}) |
|
|
|
.catch((err) => { |
|
|
|
.catch((err) => { |
|
|
|
ElMessage({ |
|
|
|
ElMessage({ |
|
|
@ -240,24 +288,7 @@ const submit = () => { |
|
|
|
}) |
|
|
|
}) |
|
|
|
.finally(() => (loading.value = false)) |
|
|
|
.finally(() => (loading.value = false)) |
|
|
|
} |
|
|
|
} |
|
|
|
const options = ref([]) |
|
|
|
|
|
|
|
const getTopicListApi = async () => { |
|
|
|
|
|
|
|
const res: any = await getTopicList({ annualCompid: route.query.id }) |
|
|
|
|
|
|
|
console.log(res) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nextTick(( ) => { |
|
|
|
|
|
|
|
if(res.result.length != 0){ |
|
|
|
|
|
|
|
ruleForm.topicId = res.result[0].id |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
options.value = res.result.map((item) => { |
|
|
|
|
|
|
|
return { |
|
|
|
|
|
|
|
value: item.id, |
|
|
|
|
|
|
|
label: item.name, |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
getTopicListApi() |
|
|
|
|
|
|
|
</script> |
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
|
|
<style lang="scss" scoped> |
|
|
|
<style lang="scss" scoped> |
|
|
|