修改问题11.29

base
JayChou 6 months ago
parent cf585cb6ba
commit a3988ffc6b
  1. 5
      src/Layout/main/index.vue
  2. 1
      src/Layout/tabbar/index.vue
  3. BIN
      src/assets/images/banner.jpg
  4. BIN
      src/assets/images/banner1.jpg
  5. 36
      src/views/competition/index.vue
  6. 4
      src/views/home/index.vue
  7. 31
      src/views/login/index.vue
  8. 42
      src/views/login/registered.vue
  9. 9
      src/views/projectName/index.vue
  10. 32
      src/views/raceInfo/index.vue
  11. 9
      src/views/registrationGroup/components/stuList.vue
  12. 8
      src/views/registrationGroup/index.vue
  13. 4
      src/views/registrationPersonage/index.vue
  14. 2
      src/views/userInfo/components/reacList.vue

@ -4,12 +4,13 @@
<router-view :key="$route.path" />
</transition>
</section> -->
<router-view v-slot="{ Component }">
<router-view></router-view>
<!-- <router-view v-slot="{ Component }">
<keep-alive>
<component :is="Component"></component>
</keep-alive>
</router-view>
</router-view> -->
</template>
<script lang="ts" setup>

@ -86,6 +86,7 @@ onMounted(() => {
})
const layout = async () => {
useUserStore.layOut()
$router.push('/login')
}
const setImageUrl = (url: string) => {
return import.meta.env.VITE_APP_BASE_API + '/sys/common/static/' + url

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

@ -2,7 +2,7 @@
<template>
<div class="fill"></div>
<div class="banner">
<img src="../../assets/images/banner2.png" alt="" />
<img src="../../assets/images/banner.jpg" alt="" />
</div>
<div class="competition" v-loading="loading">
<!-- 简介 -->
@ -19,10 +19,12 @@
<div class="left">
<div class="text-box">
<div class="title">选择项目</div>
<div class="small">300+竞赛登陆后请报名</div>
<div class="small">选择下面的项目报名参与比赛</div>
<div class="back"><el-button type="primary" style="margin-top: 10px;" @click="$router.back()">返回</el-button></div>
</div>
<div class="card-list">
<div v-if="dataList.length == 0" style="font-size: 20px; color:#828282 ;">没有项目请创建年度比赛项目</div>
<template v-for="(o, i) in dataList" :key="o.id">
<div v-if="(i + 5) % 4 == 1" class="card" type="yellow">
<div class="top" :title="o.objName">{{ o.objName }}</div>
@ -73,14 +75,14 @@
</div>
<div class="game-list">
<div class="card-game" v-for="i in 5" :key="i">
<div class="pos">前往查看</div>
<div class="top">2023年度</div>
<div class="card-game" v-for="i in historyRaceList" :key="i.id">
<!-- <div class="pos">前往查看</div> -->
<div class="top">2024年度</div>
<div class="center">
<div class="text">河南省大学生创新创业大赛</div>
<div class="text">{{ i.name }}</div>
<img src="../../assets/images/编组.png" alt="" />
</div>
<div class="bottom">报名时间2023.08.23-2023.09.23</div>
<div class="bottom">报名时间{{ i.starttime }} - {{ i.endtime }}</div>
</div>
</div>
</div>
@ -93,7 +95,7 @@ import { getCompetitionApi } from '@/api/person'
import { ref, watch } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { ElMessage, ElLoading } from 'element-plus'
import { getYearRaceInfo } from '@/api/race'
import { getYearRaceInfo,getHistoryRaceList } from '@/api/race'
const route = useRoute()
const router = useRouter()
@ -134,6 +136,14 @@ const getYearRaceInfoEvent = async () => {
console.log(res, 'yearRaceInfo.value ')
}
getYearRaceInfoEvent()
//
const historyRaceList = ref<any>([])
const getHistoryRaceListEvent = async () => {
const res: any = await getHistoryRaceList({ id: route.query.raceId })
console.log(res)
historyRaceList.value = res.result
}
getHistoryRaceListEvent()
</script>
<style lang="scss" scoped>
@ -177,7 +187,8 @@ getYearRaceInfoEvent()
font-weight: 400;
font-size: 20px;
color: #555555;
line-height: 23px;
line-height: 35px;
text-indent: 2em;
}
.date {
@ -207,12 +218,12 @@ getYearRaceInfoEvent()
flex-wrap: wrap;
column-gap: 20px;
row-gap: 40px;
.card {
width: 260px;
height: 160px;
padding: 40px 0 0 30px;
box-shadow: 3px 2px 18px -7px rgba(0, 0, 0, 0.45);
transition: all 0.3s;
&[type='yellow'] {
background: url(../../assets/images/yellow.png) no-repeat;
background-size: cover;
@ -285,6 +296,9 @@ getYearRaceInfoEvent()
}
}
}
.card:hover {
transform: translateY(-5px);
}
}
}

@ -2,9 +2,9 @@
<div class="container-1420" v-if="isLoading">
<div class="banner">
<div class="title">{{ reacProjectList[0].compName }}火热报名中</div>
<div class="description">
<!-- <div class="description">
<div v-html="reacProjectList[0].compName"></div>
</div>
</div> -->
<div
class="application gradient"
@click="toDetail(reacProjectList[0].id)"

@ -12,6 +12,7 @@
v-model="form.password"
style="height: 0.2344rem"
type="password"
show-password
/>
</el-form-item>
<el-form-item label="验证码">
@ -27,7 +28,11 @@
</div>
</el-form-item>
</el-form>
<div class="submit gradient" @click="submit">登录</div>
<!-- <div class="submit gradient" @click="submit">登录</div> -->
<div class="btn">
<div @click="Router.push('/')">返回首页</div>
<div class="gradient" @click="submit">登录</div>
</div>
</div>
<div class="registered">
还没账号
@ -77,6 +82,7 @@ const submit = async () => {
}
const res = await useUserStore.login(data)
console.log(res)
if (res === 0) {
ElMessage('验证码错误')
getcodeinfo()
@ -88,7 +94,7 @@ const submit = async () => {
}
}
onMounted(() => {
window.addEventListener('keydown', keyDown)
window.addEventListener('keyup', keyDown)
// setTimeout(() => {
// getcodeinfo()
// },6000)
@ -184,6 +190,27 @@ const backLoginEvent = () => {
}
}
}
.btn {
display: flex;
justify-content: space-between;
margin-top: 45px;
div {
width: 210px;
height: 42px;
text-align: center;
line-height: 42px;
font-size: 14px;
cursor: pointer;
border-radius: 10px;
}
div:nth-child(1) {
border: 1px solid #dbdbdb;
color: #3c3c3c;
}
div:nth-child(2) {
color: #fff;
}
}
:deep(.el-form-item) {
display: flex;
flex-direction: column;

@ -3,7 +3,7 @@
<div class="login-title">注册</div>
<div class="form">
<el-form :model="form" label-width="0">
<el-form-item>
<!-- <el-form-item>
<el-col :span="11">
<el-input
v-model="form.username"
@ -23,6 +23,20 @@
style="height: 0.2344rem"
/>
</el-col>
</el-form-item> -->
<el-form-item>
<el-input
v-model="form.username"
:prefix-icon="User"
placeholder="账号"
/>
</el-form-item>
<el-form-item>
<el-input
v-model="form.realname"
:prefix-icon="User"
placeholder="姓名"
/>
</el-form-item>
<el-form-item>
<el-input
@ -42,6 +56,9 @@
:props="props"
style="width: 100%; height: 0.2344rem"
v-model="form.department"
:show-all-levels="false"
@change="handleChange"
ref="cascader"
/>
</el-form-item>
<el-form-item>
@ -57,6 +74,7 @@
v-model="form.password"
:prefix-icon="Lock"
type="password"
show-password
></el-input>
</el-form-item>
<el-form-item>
@ -65,6 +83,7 @@
v-model="form.confirmPassword"
:prefix-icon="Lock"
type="password"
show-password
></el-input>
</el-form-item>
<el-form-item>
@ -133,18 +152,37 @@ const props = {
lazy: true,
checkStrictly: true,
emitPath: false,
async lazyLoad(node: any, resolve: any) {
console.log(node)
await getFacultiesList({
primaryKey: 'key',
pid: node.value,
})
const nodes = FacultiesList.value.map((item: any) => ({
if(node.level == 0 || node.level == 1){
const nodes = FacultiesList.value.map((item: any) => ({
value: item.id,
label: item.title,
disabled : true
}))
resolve(nodes)
}else{
const nodes = FacultiesList.value.map((item: any) => ({
value: item.id,
label: item.title,
}))
resolve(nodes)
}
},
}
const cascader = ref()
const handleChange = (e:any) => {
// console.log(e,cascader.value);
cascader.value.togglePopperVisible()
}
const ragistered = async () => {
for (const key in form) {

@ -2,7 +2,7 @@
<template>
<div class="fill"></div>
<div class="banner">
<img src="../../assets/images/banner2.png" alt="" />
<img src="../../assets/images/banner.jpg" alt="" />
</div>
<div class="project-name">
@ -21,6 +21,7 @@
</el-breadcrumb-item>
</template>
</el-breadcrumb>
<div class="black"><el-button type="primary" style="margin-top: 10px;" @click="$router.back()">返回</el-button></div>
</div>
<div class="content">
@ -37,6 +38,7 @@
<div class="btn-box">
<el-button class="btn" @click="handleSub">立刻报名</el-button>
</div>
</div>
</template>
@ -133,13 +135,14 @@ getData()
font-size: 18px;
color: #666666;
text-indent: 2em;
min-height: 500px;
min-height: 200px;
}
.foot {
margin: 120px 0 20px;
display: flex;
align-items: center;
justify-content: center;
gap: 110px;
}
}
@ -147,7 +150,7 @@ getData()
.btn-box {
display: flex;
justify-content: center;
margin-top: 80px;
margin-top: 50px;
.btn {
--color1: #00d0d0;

@ -1,7 +1,6 @@
<template>
<div class="container-1420 container">
<el-card v-if="reacProjectList.length === 0">
<div
style="
@ -52,15 +51,15 @@
<div class="label">比赛名称:</div>
<div class="text">{{ raceInfo.compName }}</div>
</li>
<li>
<div class="label">负责人:</div>
<li style="width: 40%;">
<div class="label" >负责人:</div>
<div class="text">{{ raceInfo.createBy }}</div>
</li>
<li>
<li style="width: 60%;">
<div class="label">负责部门:</div>
<div class="text">{{ raceInfo.comporderc }}</div>
</li>
<li style="width: 33%">
<!-- <li style="width: 33%">
<div class="label">比赛类型:</div>
<div class="text">{{ raceInfo.compTypeId }}</div>
</li>
@ -71,7 +70,7 @@
<li style="width: 33%">
<div class="label">比赛内部排名:</div>
<div class="text">{{ raceInfo.compOrder }}</div>
</li>
</li> -->
</ul>
</div>
</div>
@ -89,8 +88,8 @@
</div>
<div class="label">附件:</div>
<div class="file">
<el-tag type="primary" @click="doLoadFile(raceInfo.compFile)">
{{ raceInfo.compFile }}
<el-tag v-for="item in fileList" :key="item" type="primary" @click="doLoadFile(item)" style="margin-right: 15px;">
{{ item }}
</el-tag>
</div>
</div>
@ -110,9 +109,9 @@
<div class="time">
报名时间:{{ item.starttime }} - {{ item.endtime }}
</div>
<div class="go-to" @click="goToCompetition(item.id)">
<!-- <div class="go-to" @click="goToCompetition(item.id)">
前往查看
</div>
</div> -->
<div class="icon">
<img src="../../assets/images/编组.png" alt="" srcset="" />
</div>
@ -183,13 +182,14 @@ const raceInfo = ref<any>({})
const getraceInfoEvent = async () => {
const res: any = await getRaceInfo({ id: Route.query.id })
console.log(res)
createfileLink(res.result.compFile)
raceInfo.value = res.result
}
getraceInfoEvent()
//
const goToCompetition = (id: any) => {
Router.push({ path: '/competition', query: { id } })
Router.push({ path: '/competition', query: { id ,raceId:Route.query.id } })
}
const doLoadFile = (url: any) => {
@ -205,6 +205,16 @@ const getHistoryRaceListEvent = async () => {
historyRaceList.value = res.result
}
getHistoryRaceListEvent()
const fileList = ref<any>([])
const createfileLink = (url: any) => {
console.log(url);
const list = url.split(",")
console.log(list);
fileList.value = list
}
</script>
<style lang="scss" scoped>

@ -8,7 +8,7 @@
icon="Delete"
@click="del"
class="btn"
v-show="isSele"
>
删除
</el-button>
@ -157,6 +157,13 @@ const multipleTableRef = ref<any>(null)
const isSele = ref(false)
const del = () => {
const rows = multipleTableRef.value.getSelectionRows()
console.log(rows,'111');
if (rows.length === 0) {
return ElMessage({
message: '请选择要删除的成员',
type: 'error',
})
}
rows.forEach((row: any) => {
const index = tableData.indexOf(row)
if (index === -1) return

@ -5,11 +5,11 @@
<div class="box">
<div class="title-box">
<div class="title">报名信息确认</div>
<div class="text">
<!-- <div class="text">
请仔细核对报名信息报名成功后无法修改请仔细核对报名信息报名成功后无法修改
请仔细核对报名信息报名成功后无法修改请仔细核对报名信息报名成功后无法修改
请仔细核对报名信息报名成功后无法修改请仔细核对报名信息报名成功后无法修改
</div>
</div> -->
</div>
<div class="img-box">
@ -21,7 +21,7 @@
<div class="top">
<!-- 比赛信息 -->
<el-card class="com">
<div class="title">比赛信息</div>
<div class="title">年度比赛信息</div>
<div class="content">
<div class="card-annual padding">
<div class="annual">{{ ndbs.annualid }}年度</div>
@ -50,7 +50,7 @@
</el-card>
<!-- 项目信息 -->
<el-card class="com">
<div class="title">项目信息</div>
<div class="title">比赛项目信息</div>
<div class="content track">
<div class="card-annual padding">
<p>{{ ndbsXm.objName }}</p>

@ -19,7 +19,7 @@
<div class="top">
<!-- 比赛信息 -->
<el-card class="com">
<div class="title">比赛信息</div>
<div class="title">年度比赛信息</div>
<div class="content">
<div class="card-annual padding">
<div class="annual">{{ ndbs.annualid }}年度</div>
@ -48,7 +48,7 @@
</el-card>
<!-- 项目信息 -->
<el-card class="com">
<div class="title">项目信息</div>
<div class="title">比赛项目信息</div>
<div class="content track">
<div class="card-annual padding">
<p>{{ ndbsXm.objName }}</p>

@ -54,7 +54,7 @@
type="primary"
size="small"
@click="saveEvent(row.enrollCode)"
:disabled="row.workStatus != '4'"
:disabled="row.workStatus != '4' || row.workStatus != '3'"
>
提交
</el-button>

Loading…
Cancel
Save