181250114 пре 4 година
родитељ
комит
33c8539430

Разлика између датотеке није приказан због своје велике величине
+ 1 - 14885
package-lock.json


+ 2 - 1
package.json

@@ -16,7 +16,8 @@
     "mint-ui": "^2.2.13",
     "moment": "^2.29.1",
     "vue": "^2.6.11",
-    "vue-router": "^3.1.5"
+    "vue-router": "^3.1.5",
+    "vuex": "^4.0.2"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "~4.2.0",

+ 23 - 11
src/components/content/Layout.vue

@@ -1,8 +1,8 @@
 <template>
-    <el-container style="height: 100%; border: 1px solid #eee">
+    <el-container style="height: 100%; border: 1px solid #eee; background-color: #f8f9fb">
         <el-aside width="250px" style="background-color: #545c64">
             <header class="title">
-                <div class="title-inner">SEEC-ANALY</div>
+                <div class="title-inner">SEEC-SMART</div>
             </header>
             <el-menu
                     :default-active="this.$route.path"
@@ -11,20 +11,28 @@
                     text-color="#000000DE"
                     @open="handleOpen"
                     @close="handleClose"
-                    active-text-color="#7e57c2"
+                    active-text-color="#409EFF"
                     router>
 				<el-menu-item index="/studentPage" v-if="permit([ROLE.STUDENT, ROLE.ADMIN])">
 				    <i class="el-icon-s-data"></i>
-				    <span slot="title">Competency-tree</span>
+				    <span slot="title">Eval学生能力树</span>
 				</el-menu-item>
 				<el-menu-item index="/questionList" v-if="permit([ROLE.STUDENT, ROLE.ADMIN])">
 				    <i class="el-icon-s-order"></i>
-				    <span slot="title">Question-list</span>
+				    <span slot="title">Eval学生做题列表</span>
 				</el-menu-item>
-                <el-menu-item index="/teacherPage" v-if="permit([ROLE.TEACHER, ROLE.ADMIN])">
-                    <i class="el-icon-receiving"></i>
-                    <span slot="title">Teacher-page</span>
+<!--                <el-menu-item index="/teacherPage" v-if="permit([ROLE.TEACHER, ROLE.ADMIN])">-->
+<!--                    <i class="el-icon-receiving"></i>-->
+<!--                    <span slot="title">Teacher-page</span>-->
+<!--                </el-menu-item>-->
+                <el-menu-item @click="toDev" v-if="permit([ROLE.TEACHER, ROLE.ADMIN])">
+                    <i class="el-icon-s-data"></i>
+                    <span slot="title">Devcloud信息分析</span>
                 </el-menu-item>
+<!--                <el-menu-item index="/devGroupPage" v-if="permit([ROLE.TEACHER, ROLE.ADMIN])">-->
+<!--                    <i class="el-icon-s-data"></i>-->
+<!--                    <span slot="title">Devcloud小组视角信息分析</span>-->
+<!--                </el-menu-item>-->
             </el-menu>
             <div class="logout-fix">
                 <div class="logout-name">{{getUsername()}}</div>
@@ -51,6 +59,10 @@
         mounted() {
         },
         methods: {
+            toDev(){
+                window.location.replace("http://localhost:8081/#/student/201250076");
+            },
+
             handleOpen(key, keyPath) {
                 console.log(key, keyPath);
             },
@@ -80,7 +92,7 @@
         margin-bottom: 10px;
     }
     .title-inner {
-            background-color: #9fa8da!important;
+            background-color: #98e7ff !important;
             border-color: #9fa8da!important;
             border-radius: 8px!important;
             line-height: 40px;
@@ -113,7 +125,7 @@
     }
     .el-menu-item.is-active {
         color: #7e57c2;
-        background-color: #f0ebf8!important;
+        background-color: #e0f3f8 !important;
     }
     .logout-fix {
         position: fixed;
@@ -122,7 +134,7 @@
     }
     .logout-fix .logout-name {
         min-width: 60px;
-        background-color: #7e57c2 !important;
+        background-color: #409eff !important;
         border-color: #7e57c2 !important;
         color: #fff;
         border-radius: 16px;

+ 1 - 1
src/mock/mocks/authMock.js

@@ -15,7 +15,7 @@ module.exports = {
           "phone": "17301585267",
           "email": "admin@seecoder.cn",
           "id": 419,
-          "name": "admin",
+          "name": "pyy",
           "role": "ADMIN"
         }
       }

+ 15 - 0
src/router/index.js

@@ -7,6 +7,10 @@ const Error = () => import("@/components/content/Error");
 const StudentPage = () => import("@/views/StudentPage");
 const QuestionList = () => import("@/views/QuestionList");
 const TeacherPage = () => import("@/views/TeacherPage");
+
+const DevStudentPage = () => import("@/views/DevStudentPage");
+const DevGroupPage = () => import("@/views/DevGroupPage");
+
 const Home = () => import("@/views/Home");
 
 Vue.use(VueRouter);
@@ -36,6 +40,17 @@ const routes = [
     meta: { requiresAuth: [ROLE.TEACHER,ROLE.ADMIN] }
   },
 
+  {
+    path: '/devStudentPage',
+    component: DevStudentPage,
+    meta: { requiresAuth: [ROLE.TEACHER,ROLE.ADMIN] }
+  },
+
+  {
+    path: '/devGroupPage',
+    component: DevGroupPage,
+    meta: { requiresAuth: [ROLE.TEACHER,ROLE.ADMIN] }
+  },
 
 // -----------------------未找到页面-----------------------------
   {

+ 405 - 0
src/views/DevGroupPage.vue

@@ -0,0 +1,405 @@
+<template>
+    <Layout >
+        <Title title="Devcloud小组数据分析"></Title>
+        <a-row style="margin-top: 5px;">
+            <a-button type="link" @click="clickBackHome">
+                <a-icon type="caret-left" theme="filled"/>
+                返回首页
+            </a-button>
+        </a-row>
+        <a-col :span="12">
+            <!--      小组信息-->
+            <div style="padding: 5px">
+                <a-card title="小组信息" v-model="group_message" class="outer_border_color" :bordered="false">
+                    <a-row>
+                        <a-col :span="12" style="font-size: 15px">
+                            组号:{{group_message[0].group}}
+                        </a-col>
+                    </a-row>
+                    <a-card title="项目信息:" class="inner_border_color">
+                        <a-row v-for="projectItem in group_message[0].projects" :key="projectItem" style="margin-top: 5px" >
+                            <a-col :span="12">
+                                项目id:{{projectItem.projectId}}
+                            </a-col>
+                            <a-col>
+                                项目名称:{{projectItem.projectName}}
+                            </a-col>
+                        </a-row>
+                    </a-card>
+                    <a-card title="小组成员:" class="inner_border_color">
+                        <a-row v-for="memberItem in group_message[0].members" :key="memberItem" style="margin-top: 5px">
+                            <a-col :span="8">
+                                用户id:{{memberItem.userId}}
+                            </a-col>
+                            <a-col :span="8">
+                                学号:
+                                <a-button type="link" @click="clickStudent(memberItem.studentId)">
+                                    {{memberItem.studentId}}
+                                </a-button>
+                            </a-col>
+                            <a-col>
+                                姓名:{{memberItem.name}}
+                            </a-col>
+                        </a-row>
+                    </a-card>
+                </a-card>
+            </div>
+            <!--      commit信息-->
+            <div style="padding: 5px">
+                <a-card title="commit信息" v-model="group_message" class="outer_border_color" :bordered="false">
+                    <a-row>
+                        <a-col :span="12">
+                            commit总次数:{{group_message[0].commit["commit-times"]}}
+                        </a-col>
+                        <a-col>
+                            有效commit次数:{{group_message[0].commit["valid-commit-times"]}}
+                        </a-col>
+                    </a-row>
+                    <a-row>
+                        <a-col :span="12">
+                            bugList_commit次数:{{group_message[0].commit["buglist-commit"]}}
+                        </a-col>
+                        <a-col>
+                            feature_commit次数:{{group_message[0].commit["feature-commit"]}}
+                        </a-col>
+                    </a-row>
+                    <a-card title="commit具体信息:" class="inner_border_color">
+                        <a-row v-for="commitItem in group_message[0].commit['commit-msg-overview']" :key="commitItem" style="margin-top: 2px" >
+                            <a-col :span="1"/>
+                            <a-col :span="12">
+                                - {{commitItem}}
+                            </a-col>
+                        </a-row>
+                    </a-card>
+                </a-card>
+            </div>
+        </a-col>
+
+        <a-col :span="12">
+            <!--      测试信息-->
+            <div style="padding: 5px">
+                <a-card title="测试信息" v-model="group_message" class="outer_border_color" :bordered="false">
+                    <a-card title="接口测试" class="inner_border_color" :bordered="false">
+                        <a-row>
+                            <a-col :span="12">
+                                接口测试总数:{{group_message[0].test["interface-test"]["interface-test-times"]}}
+                            </a-col>
+                            <a-col>
+                                接口测试执行次数:{{group_message[0].test["interface-test"]["interface-test-concurrency-count"]}}
+                            </a-col>
+                        </a-row>
+                        <a-row style="margin-top: 5px">
+                            <a-col :span="12">
+                                接口测试失败次数:{{group_message[0].test["interface-test"]["interface-test-concurrency-failure"]}}
+                            </a-col>
+                            <a-col>
+                                接口测试通过次数:{{group_message[0].test["interface-test"]["interface-test-concurrency-pass"]}}
+                            </a-col>
+                        </a-row>
+                    </a-card>
+                </a-card>
+            </div>
+            <!--      流水线信息-->
+            <div style="padding: 5px">
+                <a-card title="流水线部署信息" v-model="group_message" class="outer_border_color" :bordered="false">
+                    <a-row>
+                        流水线部署次数:{{group_message[0].pipeline["pipeline-deploy"]}}
+                    </a-row>
+                    <a-row>
+                        <a-col :span="12">
+                            部署成功次数:{{group_message[0].pipeline["pipeline-pass"]}}
+                        </a-col>
+                        <a-col>
+                            部署失败次数:{{group_message[0].pipeline["pipeline-failure"]}}
+                        </a-col>
+                    </a-row>
+                </a-card>
+            </div>
+
+            <div style="padding: 5px">
+                <a-row class="outer_border_color">
+                    <a-row>
+                        <a-col :span="7">
+                            <p class="table_font">commit贡献占比</p>
+                            <div id="main1" class="pie"/>
+                        </a-col>
+                        <a-col :span="1"/>
+                        <a-col :span="7">
+                            <p class="table_font">接口测试贡献占比</p>
+                            <div id="main2" class="pie"/>
+                        </a-col>
+                        <a-col :span="1"/>
+                        <a-col :span="7">
+                            <a-col>
+                                <p class="table_font">流水线部署贡献占比</p>
+                                <div id="main3" class="pie"/>
+                            </a-col>
+                        </a-col>
+                    </a-row>
+                </a-row>
+            </div>
+        </a-col>
+    </Layout>
+</template>
+
+<script>
+    import {mapGetters, mapMutations} from "vuex"
+    import * as echarts from 'echarts';
+    import Layout from "@/components/content/Layout";
+    import Title from "@/components/content/Title";
+    export default {
+        name: "Group",
+        components: {
+            Layout,
+            Title
+        },
+        data() {
+            return {
+                testData: [                  //每个模块的名字和值
+                    { name: '未领取', value: 10 },
+                    { name: '处理中', value: 30},
+                    { name: '已完成', value: 50 }
+                ],
+                group_message:[
+                    {
+                        group: 10,
+                        projects: [
+                            {projectId:1, projectName:"fun_frontEnd",},
+                            {projectId:2, projectName:"fun_backEnd",},
+                        ],
+                        members: [
+                            {userId: 11,studentId: 201250076, name:"周棋秋"},
+                            {userId: 12,studentId: 201250075,name: "田野"},
+                            {userId: 13,studentId: 201250077,name: "金采源"},
+                            {userId: 14,studentId: 201250230,name: "李泽玉"},
+                        ],
+                        commit: {
+                            ["commit-times"]: 5,
+                            ["valid-commit-times"]: 5,
+                            ["buglist-commit"]: 2,
+                            ["feature-commit"]: 3,
+                            ["commit-msg-overview"]: [
+                                "fix: 修改错误",
+                                "feat: 增加评论区功能",
+                                "feat: 增加头像上传",
+                                "fix: 修复登录页面的错误",
+                                "feat: 增加优惠券功能",
+                            ],
+                            ["commit-contribution"]: [
+                                {name: "周棋秋", times: 0, proportion: 0},
+                                {name:"田野",times:2, proportion: 0.4},
+                                {name:"金采源",times:1, proportion: 0.2},
+                                {name:"李泽玉",times:2, proportion: 0.4},
+                            ]
+                        },
+                        test: {
+                            ["interface-test"]: {
+                                ["interface-test-times"]: 5,
+                                ["interface-test-concurrency-count"]: 100,
+                                ["interface-test-concurrency-failure"]: 20,
+                                ["interface-test-concurrency-pass"]: 80,
+                                ["interface-test-contribution"]: [
+                                    {name: "周棋秋", times: 4, proportion: 0.8},
+                                    {name:"田野",times:0, proportion: 0},
+                                    {name:"金采源",times:0, proportion: 0},
+                                    {name:"李泽玉",times:1, proportion: 0.2},
+                                ]
+                            },
+                        },
+                        pipeline: {
+                            ["pipeline-deploy"]:10,
+                            ["pipeline-pass"]:10,
+                            ["pipeline-failure"]:0,
+                            ["pipeline-contribution"]: [
+                                {name: "周棋秋", times: 1, proportion: 0.1},
+                                {name:"田野",times:1, proportion: 0.1},
+                                {name:"金采源",times:2, proportion: 0.2},
+                                {name:"李泽玉",times:6, proportion: 0.6},
+                            ]
+                        },
+                    }],
+                // group_message:[],
+                commitPie:[],
+                testPie:[],
+                deployPie:[],
+                current_student:-1,
+            };
+        },
+
+        async mounted () {
+            console.log('here');
+            // await this.set_group({
+            //   groupId: Number(this.$route.params.groupId),
+            // })
+            // await this.initData(this.groupId);
+            this.getAnalysis();
+            this.getCommitPie();
+            this.getTestPie();
+            this.getDeployPie();
+        },
+
+        clickStudent(studentId){
+            console.log(studentId);
+            this.current_student = studentId;
+            this.$router.push({
+                name: 'student',
+                params: {
+                    studentId: this.current_student,
+                }
+            })
+        },
+
+        async initData(groupId){
+            // var res = await getGroupAPI(groupId);
+            // this.group_message = [];
+            // this.group_message.push({
+            //     group: res.data.group,
+            //     projects: res.data.projects,
+            //     members: res.data.members,
+            //     commit: res.data.commit,
+            //     test: res.data.test,
+            //     pipeline: res.data.pipeline,
+            // })
+        },
+
+        getAnalysis(){
+            for(let i=0;i<this.group_message[0].commit["commit-contribution"].length;i++){
+                this.commitPie.push({
+                    value: this.group_message[0].commit["commit-contribution"][i].times,
+                    name: this.group_message[0].commit["commit-contribution"][i].name,
+                })
+            }
+            for(let i=0;i<this.group_message[0].test["interface-test"]["interface-test-contribution"].length;i++){
+                this.testPie.push({
+                    value: this.group_message[0].test["interface-test"]["interface-test-contribution"][i].times,
+                    name: this.group_message[0].test["interface-test"]["interface-test-contribution"][i].name,
+                })
+            }
+            for(let i=0;i<this.group_message[0].pipeline["pipeline-contribution"].length;i++){
+                this.deployPie.push({
+                    value: this.group_message[0].pipeline["pipeline-contribution"][i].times,
+                    name: this.group_message[0].pipeline["pipeline-contribution"][i].name,
+                })
+            }
+        },
+
+        getCommitPie() {
+            // 绘制图表
+            var myChart1 = echarts.init(document.getElementById('main1'))
+            // 指定图表的配置项和数据
+            var option = {
+                title: {
+                    // text: 'commit占比信息',
+                },
+                grid: {
+                    top: 90
+                },
+                tooltip: {
+                    trigger: 'item'
+                },
+                series: [
+                    {
+                        name: 'commit次数',
+                        center: ['50%', '30%'],
+                        type: 'pie',    // 设置图表类型为饼图
+                        radius: '55%',  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
+                        data: this.commitPie,
+                    }
+                ]
+            }
+            // 使用刚指定的配置项和数据显示图表。
+            myChart1.setOption(option)
+        },
+
+        getTestPie(){
+            var myChart2 = echarts.init(document.getElementById('main2'))
+            // 指定图表的配置项和数据
+            var option = {
+                title: {
+                    // text: 'commit占比信息',
+                },
+                grid: {
+                    top: 90
+                },
+                tooltip: {
+                    trigger: 'item'
+                },
+                series: [
+                    {
+                        name: '测试次数',
+                        center: ['50%', '30%'],
+                        type: 'pie',    // 设置图表类型为饼图
+                        radius: '55%',  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
+                        data: this.testPie,
+                    }
+                ]
+            }
+            // 使用刚指定的配置项和数据显示图表。
+            myChart2.setOption(option)
+        },
+
+        getDeployPie(){
+            console.log("start Deploy")
+            var myChart3 = echarts.init(document.getElementById('main3'))
+            // 指定图表的配置项和数据
+            var option = {
+                title: {
+                    // text: 'commit占比信息',
+                },
+                grid: {
+                    top: 90
+                },
+                tooltip: {
+                    trigger: 'item'
+                },
+                series: [
+                    {
+                        name: '部署次数',
+                        center: ['50%', '30%'],
+                        type: 'pie',    // 设置图表类型为饼图
+                        radius: '55%',  // 饼图的半径,外半径为可视区尺寸(容器高宽中较小一项)的 55% 长度。
+                        data: this.deployPie,
+                    }
+                ]
+            }
+            // 使用刚指定的配置项和数据显示图表。
+            myChart3.setOption(option)
+        }
+
+    };
+</script>
+
+<style scoped>
+    .el-carousel__item h2 {
+        color: #475669;
+        font-size: 14px;
+        opacity: 0.75;
+        margin: 0;
+    }
+
+    .outer_border_color {
+        min-width: 550px;
+        border-radius: 20px;
+        margin: 15px;
+        background-color: #f9f9f9;
+        border: 2px solid #d6d6d6;
+    }
+
+    .inner_border_color{
+        min-width: 150px;
+        border-radius: 10px;
+        margin-top: 10px;
+        background-color: #ffffff;
+    }
+
+    .table_font{
+        font-size: 15px;
+        margin: 20px;
+    }
+
+    .pie{
+        width: 200px;
+        height: 120px;
+    }
+
+</style>

+ 21 - 0
src/views/DevStudentPage.vue

@@ -0,0 +1,21 @@
+<template>
+    <Layout>
+        <Title title="Devcloud个人数据分析"></Title>
+        <a-row style="background-color: #7deeff">??????????</a-row>
+    </Layout>
+</template>
+
+<script>
+    import Layout from "@/components/content/Layout";
+    import Title from "@/components/content/Title";
+    export default {
+        components: {
+            Layout,
+            Title
+        },
+    };
+</script>
+
+<style scoped>
+
+</style>

+ 25 - 25
src/views/QuestionList.vue

@@ -24,44 +24,44 @@
       return {
         tableData: [
           {
-            "questionId": 1,
-            "knowledgeType": "需求",
-            "score": 20,
-            "maxScore":30,
-            "proportion": 0.67,
+            "questionId": 4360,
+            "knowledgeType": "需求分类",
+            "score": 0,
+            "maxScore":20,
+            "proportion": 0,
             "time": "2022-04-29 14:00:00"
           },
           {
-            "questionId": 2,
-            "knowledgeType": "设计",
-            "score": 20,
-            "maxScore":40,
+            "questionId": 3900 ,
+            "knowledgeType": "变更管理",
+            "score": 10,
+            "maxScore":20,
             "proportion": 0.5,
             "time": "2022-04-29 14:00:00"
           },
           {
-            "questionId": 3,
-            "knowledgeType": "需求",
+            "questionId": 7776,
+            "knowledgeType": "需求分类",
             "score": 20,
-            "maxScore":50,
-            "proportion": 0.4,
-            "time": "2022-04-29 14:00:00"
+            "maxScore":20,
+            "proportion": 1,
+            "time": "2022-04-30 17:00:00"
           },
           {
-            "questionId": 4,
-            "knowledgeType": "需求",
-            "score": 20,
-            "maxScore":60,
-            "proportion": 0.33,
-            "time": "2022-04-27 14:00:00"
+            "questionId": 6356,
+            "knowledgeType": "软件需求基础",
+            "score": 5,
+            "maxScore":20,
+            "proportion": 0.25,
+            "time": "2022-04-30 17:00:00"
           },
           {
-            "questionId": 5,
-            "knowledgeType": "需求",
+            "questionId": 445,
+            "knowledgeType": "需求工具",
             "score": 20,
-            "maxScore":30,
-            "proportion": 0.67,
-            "time": "2022-04-28 14:00:00"
+            "maxScore":20,
+            "proportion": 1,
+            "time": "2022-04-30 17:00:00"
           },
         ],
       };

+ 282 - 97
src/views/StudentPage.vue

@@ -15,11 +15,11 @@
           <el-tooltip
             class="item"
             effect="dark"
-            content="点击进行相关题目推荐.."
+            content="点击进行相关题目推荐"
             placement="right"
           >
             <a href="#" @click="recommend(scope.row.name)" class="recommend"
-            >{{ scope.row.name }} 💁‍♂️</a
+            >{{ scope.row.name }} ️</a
           >
           </el-tooltip>
         </template>
@@ -68,138 +68,322 @@
     },
     data() {
       return {
+        // tableData: [
+        //   {
+        //     name: "软件需求",
+        //     score: 55,
+        //     skills: [10, 2, 6, 4, 5, 4],
+        //     disposition: [
+        //       { name: "细心", score: 55 },
+        //       { name: "责任心", score: 55 },
+        //       { name: "耐心",score: 35},
+        //     ],
+        //     children: [
+        //       {
+        //         name: "需求验证",
+        //         score: 25,
+        //         skills: [5, 1, 2, 1, 2, 3],
+        //         disposition: [
+        //           { name: "细心", score: 20 },
+        //           { name: "责任心", score: 20 },
+        //           { name: "耐心",score: 10},
+        //         ],
+        //         children: [
+        //           {
+        //             name: "原型法",
+        //             score: 20,
+        //             skills: [5, 1, 2, 1, 2, 3],
+        //             disposition: [
+        //               { name: "细心", score: 20 },
+        //               { name: "责任心", score: 20 },
+        //               { name: "耐心",score: 10},
+        //             ],
+        //           },
+        //         ],
+        //       },
+        //       {
+        //         name: "需求分析",
+        //         score: 20,
+        //         skills: [3, 2, 3, 4, 5, 3],
+        //         disposition: [
+        //           { name: "细心", score: 15 },
+        //           { name: "责任心", score: 25 },
+        //           { name: "耐心", score: 10 },
+        //         ],
+        //         children: [
+        //           {
+        //             name: "需求分类",
+        //             score: 25,
+        //             skills: [3, 2, 3, 4, 5, 3],
+        //             disposition: [
+        //               { name: "细心", score: 15 },
+        //               { name: "责任心", score: 25 },
+        //               { name: "耐心", score: 10 },
+        //             ],
+        //           },
+        //         ],
+        //       },
+        //       {
+        //         name: "软件需求基础",
+        //         score: 22,
+        //         skills: [4, 3, 2, 5, 5, 4],
+        //         disposition: [
+        //           { name: "细心", score: 20 },
+        //           { name: "责任心", score: 15 },
+        //           { name: "耐心", score: 20 },
+        //         ],
+        //       },
+        //     ],
+        //   },
+        // ],
+
+
         tableData: [
           {
-            name: "软件工程",
-            score: 57,
-            skills: [1, 2, 3, 4, 5, 6],
+            name: "软件需求",
+            score: 135,
+            skills: [10, 6, 8, 3, 4, 2],
             disposition: [
-              { name: "细心", score: 45 },
+              { name: "细心", score: 55 },
               { name: "责任心", score: 55 },
-              { name: "耐心", score: 25 },
-              { name: "合作能力", score: 75 },
+              { name: "耐心",score: 35},
+              { name: "求知欲",score: 15},
             ],
             children: [
               {
-                name: "需求",
-                score: 19,
-                skills: [1, 2, 3, 4, 5, 6],
+                name: "需求验证",
+                score: 30,
+                skills: [5, 1, 2, 1, 2, 3],
                 disposition: [
-                  { name: "细心", score: 45 },
-                  { name: "责任心", score: 55 },
-                  { name: "耐心", score: 25 },
-                  { name: "合作能力", score: 75 },
+                  { name: "细心", score: 20 },
+                  { name: "责任心", score: 20 },
+                  { name: "耐心",score: 10},
+                  { name: "求知欲",score: 15},
                 ],
                 children: [
                   {
-                    name: "需求基础",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
+                    name: "原型法",
+                    score: 20,
+                    skills: [5, 1, 2, 1, 2, 3],
                     disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
+                      { name: "细心", score: 20 },
+                      { name: "责任心", score: 20 },
+                      { name: "耐心",score: 10},
+                      { name: "求知欲",score: 10},
                     ],
                   },
                   {
-                    name: "需求XX",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
+                    name: "需求评审",
+                    score: 25,
+                    skills: [1, 2, 2, 3, 4, 5],
                     disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
+                      { name: "细心", score: 20 },
+                      { name: "责任心", score: 20 },
+                      { name: "耐心",score: 10},
+                      { name: "求知欲",score: 5},
                     ],
                   },
                 ],
               },
               {
-                name: "设计",
-                score: 19,
-                skills: [1, 2, 3, 4, 5, 6],
+                name: "需求分析",
+                score: 22,
+                skills: [3, 2, 3, 4, 5, 3],
                 disposition: [
-                  { name: "细心", score: 45 },
-                  { name: "责任心", score: 55 },
-                  { name: "耐心", score: 25 },
+                  { name: "细心", score: 15 },
+                  { name: "责任心", score: 25 },
+                  { name: "耐心", score: 10 },
                 ],
                 children: [
                   {
-                    name: "设计1",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
-                    disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
-                    ],
-                  },
-                  {
-                    name: "设计2",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
-                    disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
-                    ],
-                  },
-                  {
-                    name: "设计3",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
+                    name: "需求分类",
+                    score: 25,
+                    skills: [3, 2, 3, 4, 5, 3],
                     disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
+                      { name: "细心", score: 15 },
+                      { name: "责任心", score: 25 },
+                      { name: "耐心", score: 10 },
                     ],
                   },
                 ],
               },
               {
-                name: "测试",
-                score: 19,
-                skills: [1, 2, 3, 4, 5, 6],
+                name: "软件需求基础",
+                score: 23,
+                skills: [4, 3, 2, 5, 5, 4],
                 disposition: [
-                  { name: "细心", score: 45 },
-                  { name: "责任心", score: 55 },
-                  { name: "耐心", score: 25 },
+                  { name: "细心", score: 20 },
+                  { name: "责任心", score: 15 },
+                  { name: "耐心", score: 20 },
                 ],
-                children: [
-                  {
-                    name: "黑盒测试",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
-                    disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
-                    ],
-                  },
-                  {
-                    name: "白盒测试",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
-                    disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
-                    ],
-                  },
-                  {
-                    name: "验收测试",
-                    score: 19,
-                    skills: [1, 2, 3, 4, 5, 6],
-                    disposition: [
-                      { name: "细心", score: 45 },
-                      { name: "责任心", score: 55 },
-                      { name: "耐心", score: 25 },
-                    ],
-                  },
+              },
+              {
+                name: "需求规约",
+                score: 22,
+                skills: [1, 2, 3, 6, 5, 4],
+                disposition: [
+                  { name: "细心", score: 20 },
+                  { name: "责任心", score: 15 },
+                  { name: "耐心", score: 20 },
+                ],
+              },
+              {
+                name: "需求过程",
+                score: 23,
+                skills: [4, 3, 2, 5, 5, 4],
+                disposition: [
+                  { name: "细心", score: 20 },
+                  { name: "责任心", score: 15 },
+                  { name: "耐心", score: 20 },
+                ],
+              },
+              {
+                name: "软件需求-实际考虑",
+                score: 22,
+                skills: [4, 3, 2, 5, 5, 4],
+                disposition: [
+                  { name: "细心", score: 20 },
+                  { name: "责任心", score: 15 },
+                  { name: "耐心", score: 20 },
                 ],
               },
             ],
           },
         ],
+
+
+        // tableData: [
+        //   {
+        //     name: "软件工程",
+        //     score: 57,
+        //     skills: [1, 2, 3, 4, 5, 6],
+        //     disposition: [
+        //       { name: "细心", score: 45 },
+        //       { name: "责任心", score: 55 },
+        //       { name: "耐心", score: 25 },
+        //       { name: "合作能力", score: 75 },
+        //     ],
+        //     children: [
+        //       {
+        //         name: "需求",
+        //         score: 19,
+        //         skills: [1, 2, 3, 4, 5, 6],
+        //         disposition: [
+        //           { name: "细心", score: 45 },
+        //           { name: "责任心", score: 55 },
+        //           { name: "耐心", score: 25 },
+        //           { name: "合作能力", score: 75 },
+        //         ],
+        //         children: [
+        //           {
+        //             name: "需求基础",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //           {
+        //             name: "需求开发工具",
+        //             score: 19,
+        //             skills: [6, 2, 1, 4, 5, 3],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //         ],
+        //       },
+        //       {
+        //         name: "设计",
+        //         score: 19,
+        //         skills: [1, 2, 3, 4, 5, 6],
+        //         disposition: [
+        //           { name: "细心", score: 45 },
+        //           { name: "责任心", score: 55 },
+        //           { name: "耐心", score: 25 },
+        //         ],
+        //         children: [
+        //           {
+        //             name: "设计1",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //           {
+        //             name: "设计2",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //           {
+        //             name: "设计3",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //         ],
+        //       },
+        //       {
+        //         name: "测试",
+        //         score: 19,
+        //         skills: [1, 2, 3, 4, 5, 6],
+        //         disposition: [
+        //           { name: "细心", score: 45 },
+        //           { name: "责任心", score: 55 },
+        //           { name: "耐心", score: 25 },
+        //         ],
+        //         children: [
+        //           {
+        //             name: "黑盒测试",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //           {
+        //             name: "白盒测试",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //           {
+        //             name: "验收测试",
+        //             score: 19,
+        //             skills: [1, 2, 3, 4, 5, 6],
+        //             disposition: [
+        //               { name: "细心", score: 45 },
+        //               { name: "责任心", score: 55 },
+        //               { name: "耐心", score: 25 },
+        //             ],
+        //           },
+        //         ],
+        //       },
+        //     ],
+        //   },
+        // ],
       };
     },
     methods: {
@@ -208,6 +392,7 @@
       },
       recommend(knowledge) {
         alert("推荐"+knowledge+"相关题目...")
+        window.location.replace("https://eval.seec.seecoder.cn/student/exams");
       },
       getBarOption(disposition) {
         // console.log("秒啊");
@@ -255,7 +440,7 @@
                 color: "rgba(220, 220, 220, 0.8)",
               },
               itemStyle: {
-                color: "#a17be3",
+                color: "#5c96ff",
               },
             },
           ],

Неке датотеке нису приказане због велике количине промена