增加年度比赛历史 设置logo

main
JayChou 8 months ago
parent 1784df99ec
commit 816b3cbc3b
  1. 20
      src/Layout/tabbar/index.vue
  2. 10
      src/api/race.ts
  3. 8
      src/api/setting.ts
  4. 23
      src/store/module/user.ts
  5. 5
      src/utils/requset.ts
  6. 2
      src/views/home/index.vue
  7. 28
      src/views/raceInfo/index.vue
  8. 4
      src/views/raceList/index.vue

@ -3,7 +3,10 @@
<div class="container">
<div class="left">
<div class="logo-box">
<div class="lesson">LGOG</div>
<div class="lesson">
<img :src="setImageUrl(logoUrl)" alt="" v-default-image="'/src/assets/images/LOGO.png'">
<!-- <img src="../../assets/images/LOGO.png" alt=""> -->
</div>
</div>
<div class="menu">
@ -55,6 +58,7 @@ import { useRouter, useRoute } from 'vue-router'
import { onMounted, ref } from 'vue'
import userStore from '@/store/module/user'
import Item from './components/item.vue'
import {getLogo} from '@/api/setting'
const useUserStore = userStore()
const $router = useRouter()
const $route = useRoute()
@ -74,6 +78,16 @@ const layout = async () => {
const setImageUrl = (url: string) => {
return import.meta.env.VITE_APP_BASE_API + "/sys/common/static/" + url
}
// logo
const logoUrl = ref<string>('')
const getLogoSetting = async() => {
const res:any = await getLogo()
console.log(res,'res');
logoUrl.value = res.result.logo
}
getLogoSetting()
</script>
<style lang="scss" scoped>
@ -94,6 +108,10 @@ const setImageUrl = (url: string) => {
font-size: 30px;
font-weight: bolder;
color: #1d2129;
img{
width: 40px;
height: 40px;
}
}
}

@ -72,4 +72,12 @@ export const saveSz = (data: any) => {
method: 'POST',
data,
})
}
}
// 获取年度历史比赛
export const getHistoryRaceList = (params: any) => {
return request({
url: '/annualcomp/annualComp/findndndbslist',
params,
})
}

@ -0,0 +1,8 @@
import request from '@/utils/requset'
export const getLogo = () => {
return request({
url:'/sysconfiguration/sysConfiguration/findconfig',
method:'POST',
})
}

@ -1,7 +1,7 @@
import { defineStore } from 'pinia'
import { loginApi,getUserInfoApi ,logOut} from '@/api/user'
import { loginApi, getUserInfoApi, logOut } from '@/api/user'
import { ElNotification } from 'element-plus'
import { setToken, getToken ,removeToken} from '@/utils/token'
import { setToken, getToken, removeToken } from '@/utils/token'
const userStore = defineStore('defineStore', {
state: (): any => ({
@ -25,21 +25,24 @@ const userStore = defineStore('defineStore', {
title: '登录成功',
message: '欢迎回来' + this.userInfo.realname,
type: 'success',
})
})
}
},
async getUserInfo(){
const res:any = await getUserInfoApi()
this.userInfo = res.result.userInfo
console.log(res);
async getUserInfo() {
try {
const res: any = await getUserInfoApi()
this.userInfo = res.result.userInfo
} catch (error:any) {
this.layOut()
}
},
async layOut(){
async layOut() {
await logOut()
removeToken()
this.token = ''
this.userInfo = {}
}
},
},
})
export default userStore

@ -19,12 +19,7 @@ server.interceptors.request.use((config) => {
})
// 创建相应拦截器
server.interceptors.response.use((response) => {
const useuserStore = userStore(pinia)
if (response.data.code === 401) {
useuserStore.logout()
return
}
return response.data
})

@ -101,7 +101,7 @@ const getRaceProjectListEvent = async () => {
getRaceProjectListEvent()
const active = ref(0)
const setImageUrl = (url: string) => {
return import.meta.env.VITE_APP_BASE_API + url
return import.meta.env.VITE_APP_BASE_API + "/sys/common/static/" + url
}
//

@ -114,21 +114,24 @@
</el-card>
</div>
<div class="right-history">
<el-card style="padding: 0">
<el-card style="padding: 0">
<div class="title">历史比赛</div>
<div class="description">往年历史赛事</div>
<ul>
<li v-for="i in 4" :key="i">
<el-scrollbar height="650px">
<ul>
<li v-for="item in historyRaceList" :key="item.id">
<div class="year">2024年度</div>
<div class="name">河南省大学生创新创业大赛</div>
<div class="time">报名时间:2023.06.01 - 2023.06.30</div>
<div class="go-to">前往查看</div>
<div class="name">{{ item.name }}</div>
<div class="time">报名时间:{{item.starttime}} - {{ item.endtime }}</div>
<div class="go-to" @click="goToCompetition(item.id)">前往查看</div>
<div class="icon">
<img src="../../assets/images/编组.png" alt="" srcset="" />
</div>
</li>
</ul>
</el-card>
</el-scrollbar>
</el-card>
</div>
</div>
</div>
@ -136,7 +139,7 @@
<script lang="ts" setup>
import { onMounted, reactive, ref, toRefs, watch } from 'vue'
import { getYearRaceList, getRaceInfo } from '@/api/race'
import { getYearRaceList, getRaceInfo,getHistoryRaceList } from '@/api/race'
import { useRouter, useRoute } from 'vue-router'
const Route = useRoute()
const Router = useRouter()
@ -179,6 +182,15 @@ const doLoadFile = (url:any) => {
// console.log( import.meta.env.VITE_APP_BASE_API + "/sys/common/static/" + url)
window.open( import.meta.env.VITE_APP_BASE_API + "/sys/common/static/" + url)
}
//
const historyRaceList = ref<any>([])
const getHistoryRaceListEvent = async () => {
const res: any = await getHistoryRaceList({ id: Route.query.id })
console.log(res)
historyRaceList.value = res.result
}
getHistoryRaceListEvent()
</script>
<style lang="scss" scoped>

@ -13,7 +13,7 @@
@click="toDetail(item.id)"
>
<div class="image">
<img :src="setImageUrl(item.compImg)" alt="" v-default-image />
<img :src="setImageUrl(item.compImg)" alt="" v-default-image/>
</div>
<div class="reac-info">
<div class="reac-title">{{ item.compName }}</div>
@ -65,7 +65,7 @@ const getRaceProjectListEvent = async () => {
}
getRaceProjectListEvent()
const setImageUrl = (url: string) => {
return import.meta.env.VITE_APP_BASE_API + url
return import.meta.env.VITE_APP_BASE_API + "/sys/common/static/" + url
}
//
const toDetail = (id: number) => {

Loading…
Cancel
Save