123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282 |
- <script setup lang="ts">
- defineOptions({
- name: "workerDrak"
- });
- import { ref, reactive } from "vue";
- import { useRouter } from "vue-router";
- import radar from "@/components/echarts/radar.vue";
- import barEcharts from "@/components/echarts/bar.vue";
- import rankTable from "@/components/rankTable/index.vue";
- import personList from "@/components/personList/index.vue";
- import qvanping from "@/assets/rank/qvanping@2x.png";
- import seachData from "./componements/seach.vue";
- import {
- getPersonDimensionChartsList,
- getAssessmentList,
- getChartsList
- } from "@/api/draw";
- import type { TabsPaneContext } from "element-plus";
- const router = useRouter();
- const value = ref("");
- const activeName = ref("1");
- // 柱状图
- const barEchartsRef = ref();
- const params = reactive({
- params: {
- chartsQueryVo: {
- assessmentName: "",
- assessmentId: "",
- assessmentModelName: "",
- assessmentModelId: "",
- assessmentObjectId: "",
- assessmentObjectName: "",
- dimId: "",
- dimensionName: ""
- }
- }
- });
- const getPersonDimensionChartsListApi = async () => {
- const { code, data } = await getPersonDimensionChartsList(params.params);
- // barEchartsRef.value.setOption(data);
- // console.log("data", data);
- };
- // 维度表格
- const personListRef = ref();
- const barEchartsList = reactive({
- zongfen: {
- title: "总得分"
- },
- shuliang: {
- title: "数量维度"
- },
- xiaolve: {
- title: "效率维度"
- },
- zhiliang: {
- title: "质量维度"
- },
- nandu: {
- title: "难度维度"
- },
- qiandu: {
- title: "强度维度"
- },
- jiaoxue: {
- title: "教学维度"
- },
- keyan: {
- title: "科研维度"
- }
- });
- const options = [
- {
- value: "Option1",
- label: "Option1"
- },
- {
- value: "Option2",
- label: "Option2"
- },
- {
- value: "Option3",
- label: "Option3"
- },
- {
- value: "Option4",
- label: "Option4"
- },
- {
- value: "Option5",
- label: "Option5"
- }
- ];
- const handleClick = (tab: TabsPaneContext, event: Event) => {
- // console.log(tab, event);
- barEchartsRef.value.dataList(tab.props);
- };
- const fullBig = (item: any) => {
- console.log(item);
- router.push({ path: "/fullBig", query: { ...item } });
- };
- </script>
- <template>
- <div class="w-[100%]">
- <div class="w-[100%]">
- <seachData />
- <div class="flex mr-2">
- <radar />
- </div>
- <el-tabs
- v-model="activeName"
- class="demo-tabs"
- :lazy="true"
- @tab-click="handleClick"
- >
- <el-tab-pane label="总览" name="1">
- <div class="flex mr-8">
- <rankTable />
- </div>
- <!-- 总得分 -->
- <div class="mt-5 pr-8 w-full h-60">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.zongfen" />
- </div>
- <!-- 维度得分 -->
- <div class="mt-5 pr-8 w-full h-60 flex justify-between item-center">
- <div class="w-1/2 h-full">
- <barEcharts :title="barEchartsList.shuliang" />
- </div>
- <div class="w-1/2 h-full">
- <barEcharts :title="barEchartsList.xiaolve" />
- </div>
- </div>
- <div class="mt-5 pr-8 w-full h-60 flex justify-between item-center">
- <div class="w-1/2 h-full">
- <barEcharts
- ref="barEchartsRef"
- :title="barEchartsList.zhiliang"
- />
- </div>
- <div class="w-1/2 h-full">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.nandu" />
- </div>
- </div>
- <div class="mt-5 pr-8 w-full h-60 flex justify-between item-center">
- <div class="w-1/2 h-full">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.qiandu" />
- </div>
- <div class="w-1/2 h-full">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.jiaoxue" />
- </div>
- </div>
- <div class="mt-5 pr-8 w-full h-60 flex justify-between item-center">
- <div class="w-1/2 h-full">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.keyan" />
- </div>
- <div class="w-1/2 h-full">
- <!-- <barEcharts :title="barEchartsList.kexue" /> -->
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="数量" name="2" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.shuliang)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts
- ref="barEchartsRef"
- :title="barEchartsList.shuliang"
- />
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="效率" name="3" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.xiaolve)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.xiaolve" />
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="质量" name="4" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.zhiliang)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts
- ref="barEchartsRef"
- :title="barEchartsList.zhiliang"
- />
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="难度" name="5" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.nandu)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.nandu" />
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="强度" name="6" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.qiandu)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.qiandu" />
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="教学" name="7" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.jiaoxue)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.jiaoxue" />
- </div>
- </div>
- </el-tab-pane>
- <el-tab-pane label="科研" name="8" :lazy="true">
- <div class="w-full">
- <div class="flex justify-between">
- <personList ref="personListRef" class="w-11/12" />
- <div
- class="w-[30px] h-[30px] mr-10 cursor-pointer"
- @click="fullBig(barEchartsList.keyan)"
- >
- <img class="w-full h-full" :src="qvanping" alt="" />
- </div>
- </div>
- <div class="w-full h-60 mt-5 pr-8">
- <barEcharts ref="barEchartsRef" :title="barEchartsList.keyan" />
- </div>
- </div>
- </el-tab-pane>
- </el-tabs>
- </div>
- </div>
- </template>
|