|
|
|
@ -1,10 +1,10 @@ |
|
|
|
|
<template> |
|
|
|
|
<div style="padding: 30px 18.6vw 0; width: 100%; margin: auto"> |
|
|
|
|
<div style="padding: 30px 18.6vw 0; width: 100%; margin: auto"> |
|
|
|
|
年度:<j-dict-select-tag placeholder="请选择年度" v-model:value="annualid" dictCode="annual,annual_name,id" /> |
|
|
|
|
</div> |
|
|
|
|
<div class="container" v-if="isLoading"> |
|
|
|
|
<div class="title">河南机电学院比赛部门报告</div> |
|
|
|
|
<div class="rebuild" ><div @click="Rebuild">重新生成报告</div></div> |
|
|
|
|
<div class="rebuild"><div @click="Rebuild">重新生成报告</div></div> |
|
|
|
|
<p class="description" |
|
|
|
|
>我是比赛综述:全面落实立德树人根本任务,依据CDI0工程教育理念,培养德、智、体、美、劳全面发展,掌握软件工程专业所需的数学与自然科学基础知识、专业基础理论知识;在企业级软件开发和工业智能软件开发方向,能承担软件分析、设计、开发、项目管理等任务,具备解决复杂工程问题的能力;具有终身学习和创新创业意识、国际交流能力、团队合作精神等良好案养,能适应产业与社会变革的国际化应用型人才。<br />本专业毕业生经过五年左右的实际工作,能够达到以下目标:</p |
|
|
|
|
> |
|
|
|
@ -13,7 +13,7 @@ |
|
|
|
|
<div class="top-title">本年度已开展比赛数</div> |
|
|
|
|
<div class="sum">{{ data.本年度已开展比赛项目数 }}</div> |
|
|
|
|
<div class="content"> |
|
|
|
|
<div>国赛:{{data.国赛}}</div> |
|
|
|
|
<div>国赛:{{ data.国赛 }}</div> |
|
|
|
|
<div>省赛:{{ data.省赛 }}</div> |
|
|
|
|
<div>校赛:{{ data.校赛 }}</div> |
|
|
|
|
</div> |
|
|
|
@ -22,16 +22,16 @@ |
|
|
|
|
<div class="top-title">本年度已开展比赛数</div> |
|
|
|
|
<div class="sum">{{ data.本年度已开展比赛数 }}</div> |
|
|
|
|
<div class="content"> |
|
|
|
|
<div>国赛:{{data.国赛}}</div> |
|
|
|
|
<div>国赛:{{ data.国赛 }}</div> |
|
|
|
|
<div>省赛:{{ data.省赛 }}</div> |
|
|
|
|
<div>校赛:{{ data.校赛 }}</div> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="item"> |
|
|
|
|
<div class="top-title">本年度参加比赛队伍数</div> |
|
|
|
|
<div class="sum">{{ data.本年度参加比赛队伍数}}</div> |
|
|
|
|
<div class="sum">{{ data.本年度参加比赛队伍数 }}</div> |
|
|
|
|
<div class="content"> |
|
|
|
|
<div>国赛:{{data.国赛}}</div> |
|
|
|
|
<div>国赛:{{ data.国赛 }}</div> |
|
|
|
|
<div>省赛:{{ data.省赛 }}</div> |
|
|
|
|
<div>校赛:{{ data.校赛 }}</div> |
|
|
|
|
</div> |
|
|
|
@ -40,7 +40,7 @@ |
|
|
|
|
<div class="top-title">已完成的比赛</div> |
|
|
|
|
<div class="sum">{{ data.已完成的比赛 }}</div> |
|
|
|
|
<div class="content"> |
|
|
|
|
<div>国赛:{{data.国赛}}</div> |
|
|
|
|
<div>国赛:{{ data.国赛 }}</div> |
|
|
|
|
<div>省赛:{{ data.省赛 }}</div> |
|
|
|
|
<div>校赛:{{ data.校赛 }}</div> |
|
|
|
|
</div> |
|
|
|
@ -54,10 +54,10 @@ |
|
|
|
|
<div class="year-content-top"> |
|
|
|
|
<div class="left border-000"> |
|
|
|
|
<div class="border-title">年度维度分析</div> |
|
|
|
|
<randerChart :data="data.学生能力平均值"/> |
|
|
|
|
<randerChart :data="data.学生能力平均值" /> |
|
|
|
|
</div> |
|
|
|
|
<div class="right border-000"> |
|
|
|
|
<cardList :DATA="data12"/> |
|
|
|
|
<cardList :DATA="data12" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
@ -99,11 +99,11 @@ |
|
|
|
|
<div class="left border-000"> |
|
|
|
|
<!-- <div class="border-title">年度维度分析</div> --> |
|
|
|
|
|
|
|
|
|
<cakeChart :data="data.比赛类型占比"/> |
|
|
|
|
<cakeChart :data="data.比赛类型占比" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="footer-edit border-000"> |
|
|
|
|
<cardList2 :data="data.学生参赛情况"/> |
|
|
|
|
<cardList2 :data="data.学生参赛情况" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<cardTitle title="比赛学生获奖情况分析" /> |
|
|
|
@ -117,12 +117,11 @@ |
|
|
|
|
</div> |
|
|
|
|
<div class="left border-000"> |
|
|
|
|
<!-- <div class="border-title">年度维度分析</div> --> |
|
|
|
|
<ringChart :data="data.比赛获奖占比"/> |
|
|
|
|
|
|
|
|
|
<ringChart :data="data.比赛获奖占比" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<div class="footer-edit border-000"> |
|
|
|
|
<cardList3 :data="data.比赛获奖情况列表"/> |
|
|
|
|
<cardList3 :data="data.比赛获奖情况列表" /> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
|
<cardTitle title="部门参赛情况分析" /> |
|
|
|
@ -131,9 +130,8 @@ |
|
|
|
|
> |
|
|
|
|
<div class="participation-status-content"> |
|
|
|
|
<div class="right border-000"> |
|
|
|
|
<cardList7 :data="data.部门参赛情况列表"/> |
|
|
|
|
<cardList7 :data="data.部门参赛情况列表" /> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
<!-- <div class="footer border-000"> |
|
|
|
|
<cardList6 :data="data.部门获奖情况列表"/> |
|
|
|
@ -141,7 +139,6 @@ |
|
|
|
|
</div> |
|
|
|
|
<div class="loading" v-else> |
|
|
|
|
<a-spin /> |
|
|
|
|
|
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
@ -157,36 +154,43 @@ |
|
|
|
|
import cakeChart from './components/cakeChart.vue'; |
|
|
|
|
import ringChart from './components/ringChart.vue'; |
|
|
|
|
import pillarChart from './components/pillarChart.vue'; |
|
|
|
|
import {getdepartmentReport} from '/@/api/common/api'; |
|
|
|
|
import { getdepartmentReport } from '/@/api/common/api'; |
|
|
|
|
import JDictSelectTag from '/@/components/Form/src/jeecg/components/JDictSelectTag.vue'; |
|
|
|
|
|
|
|
|
|
import { ref,watch } from 'vue'; |
|
|
|
|
import {useUserStore} from '/@/store/modules/user' |
|
|
|
|
const userStore = useUserStore() |
|
|
|
|
import { ref, watch } from 'vue'; |
|
|
|
|
import { useUserStore } from '/@/store/modules/user'; |
|
|
|
|
const userStore = useUserStore(); |
|
|
|
|
const activeKey = ref('1'); |
|
|
|
|
const data = ref<any>({}) |
|
|
|
|
const isLoading = ref<any>(false) |
|
|
|
|
const data12 = ref<any>([]) |
|
|
|
|
const data = ref<any>({}); |
|
|
|
|
const isLoading = ref<any>(false); |
|
|
|
|
const data12 = ref<any>([]); |
|
|
|
|
|
|
|
|
|
const getdepartmentReportEvent = async() => { |
|
|
|
|
const res = await getdepartmentReport({orgCode:userStore.userInfo.id |
|
|
|
|
}) |
|
|
|
|
const getdepartmentReportEvent = async () => { |
|
|
|
|
const res = await getdepartmentReport({ orgCode: userStore.userInfo.orgCode }); |
|
|
|
|
console.log(res); |
|
|
|
|
data.value = res |
|
|
|
|
data12.value = JSON.stringify(res.学生能力平均值) |
|
|
|
|
isLoading.value = true |
|
|
|
|
} |
|
|
|
|
getdepartmentReportEvent() |
|
|
|
|
const Rebuild = async() => { |
|
|
|
|
isLoading.value = false |
|
|
|
|
data.value = res; |
|
|
|
|
data12.value = JSON.stringify(res.学生能力平均值); |
|
|
|
|
isLoading.value = true; |
|
|
|
|
}; |
|
|
|
|
getdepartmentReportEvent(); |
|
|
|
|
const Rebuild = async () => { |
|
|
|
|
isLoading.value = false; |
|
|
|
|
|
|
|
|
|
const res = await getdepartmentReport({recreateFlag:true,orgCode:userStore.userInfo.id,annualid: annualid.value |
|
|
|
|
}) |
|
|
|
|
const res = await getdepartmentReport({ recreateFlag: true, orgCode: userStore.userInfo.orgCode, annualid: annualid.value }); |
|
|
|
|
console.log(res); |
|
|
|
|
data.value = res |
|
|
|
|
data12.value = JSON.stringify(res.学生能力平均值) |
|
|
|
|
isLoading.value = true |
|
|
|
|
} |
|
|
|
|
data.value = res; |
|
|
|
|
data12.value = JSON.stringify(res.学生能力平均值); |
|
|
|
|
isLoading.value = true; |
|
|
|
|
}; |
|
|
|
|
const selectYeay = async () => { |
|
|
|
|
isLoading.value = false; |
|
|
|
|
|
|
|
|
|
const res = await getdepartmentReport({ orgCode: userStore.userInfo.orgCode, annualid: annualid.value }); |
|
|
|
|
console.log(res); |
|
|
|
|
data.value = res; |
|
|
|
|
data12.value = JSON.stringify(res.学生能力平均值); |
|
|
|
|
isLoading.value = true; |
|
|
|
|
}; |
|
|
|
|
var indicator = [ |
|
|
|
|
{ |
|
|
|
|
text: '前言探索', |
|
|
|
@ -242,20 +246,20 @@ |
|
|
|
|
() => annualid.value, |
|
|
|
|
() => { |
|
|
|
|
console.log(annualid); |
|
|
|
|
|
|
|
|
|
Rebuild(); |
|
|
|
|
|
|
|
|
|
selectYeay(); |
|
|
|
|
} |
|
|
|
|
); |
|
|
|
|
</script> |
|
|
|
|
|
|
|
|
|
<style lang="less" scoped> |
|
|
|
|
.loading{ |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100vh; |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: center; |
|
|
|
|
} |
|
|
|
|
.loading { |
|
|
|
|
width: 100%; |
|
|
|
|
height: 100vh; |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
justify-content: center; |
|
|
|
|
} |
|
|
|
|
.container { |
|
|
|
|
width: 1200px; |
|
|
|
|
margin: 0 auto; |
|
|
|
@ -344,7 +348,7 @@ |
|
|
|
|
align-items: center; |
|
|
|
|
.content-left, |
|
|
|
|
.content-right { |
|
|
|
|
padding-left: 40px; |
|
|
|
|
padding-left: 40px; |
|
|
|
|
width: 100%; |
|
|
|
|
.item { |
|
|
|
|
display: flex; |
|
|
|
@ -428,13 +432,13 @@ |
|
|
|
|
padding: 0 20px; |
|
|
|
|
} |
|
|
|
|
.tetx-style { |
|
|
|
|
font-size: 24px; |
|
|
|
|
} |
|
|
|
|
.rebuild{ |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: center; |
|
|
|
|
div{ |
|
|
|
|
cursor: pointer; |
|
|
|
|
} |
|
|
|
|
font-size: 24px; |
|
|
|
|
} |
|
|
|
|
.rebuild { |
|
|
|
|
display: flex; |
|
|
|
|
justify-content: center; |
|
|
|
|
div { |
|
|
|
|
cursor: pointer; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|