HZH hace 5 años
padre
commit
fed549d172

+ 10 - 0
src/api/report.js

@@ -41,3 +41,13 @@ export function getSpecialReport(pid,uid) {
     })
     .then(res => res.data);
 }
+
+export function generateMind(pid,uid) {
+    return axios.get('/specialReport/generateMind',{
+        params: {
+            pid: pid,
+            uid: uid
+        }
+    })
+    .then(res => res.data);
+}

+ 1 - 1
src/components/TestResult2.vue

@@ -74,7 +74,7 @@ import Knowledge from '@/components/report/Knowledge';
 export default {
   name: 'TestResult2',
   components: {
-    Knowledge
+    Knowledge,
   },
   data () {
       return {

+ 190 - 8
src/components/report/Knowledge.vue

@@ -13,11 +13,16 @@
             float: left;
         }
     }
+    .sec{
+        width: 1200px;
+        margin: 0 auto;
+        margin-bottom:70px;
+    }
     .hint-img{
         position: absolute;
         width: 360px;
-        bottom: -225px;
-        left: calc(50% + 180px);
+        bottom: 10px;
+        right: 20px;
     }
 }
 .table-common{
@@ -75,10 +80,155 @@
         }
     }
     &.smallWidth{
+        width: 800px;
+        margin: 15px 0;
+    }
+}
+.problem-part{
+    width: 1200px;
+    height: 670px;
+    text-align: center;
+    margin: 0 auto;
+    position: relative;
+    &>ul{
+        position: absolute;
+        li{
+            &:nth-child(1){
+                height: 80px;
+            }
+            &:nth-child(2){
+                height: 215px;
+            }
+            &:nth-child(3){
+                height: 280px;
+            }
+            &:nth-child(4){
+                height: 90px;
+            }
+        }
+        &:nth-child(1){
+            left: 10px;
+            width: 100px;
+            div{
+                position: relative;
+                top:50%;
+                transform:translateY(-50%);
+            }
+            p{
+                span{
+                    display: inline-block;
+                    padding: 2px 5px;
+                }
+            }
+        }
+        &:nth-child(2){
+            width: 600px;
+            left: 110px;
+            border: solid 2px #acaaab;
+            &>li{
+                border-bottom: solid 2px #acaaab;
+                position: relative;
+                &:nth-child(4){
+                    border-bottom: none;
+                }
+                &>div{
+                    &:nth-child(1){
+                        height: 100%;
+                        opacity: 0.4;
+                    }
+                    &:nth-child(2){
+                        width: 450px;
+                        position: absolute;
+                        left: 600px;
+                        top:50%;
+                        transform:translateY(-50%);
+                        text-align: left;
+                        &>i{
+                            display: inline-block;
+                            width: 50px;
+                            height: 2px;
+                            background: black;
+                            vertical-align: middle;
+                        }
+                        &>ul{
+                            display: inline-block;
+                            vertical-align: middle;
+                            width: 400px;
+                            li{
+                                position: relative;
+                                height: 40px;
+                                i:nth-child(1){
+                                    display: inline-block;
+                                    width: 46px;
+                                    height: 2px;
+                                    background: black;
+                                    vertical-align: middle;
+                                }
+                                i:nth-child(2){
+                                    display: inline-block;
+                                    vertical-align: middle;
+                                    width: 0;
+                                    height: 0;
+                                    border-top: 5px solid transparent;
+                                    border-left: 4px solid black;
+                                    border-bottom: 5px solid transparent;
+                                }
+                                p{
+                                    display: inline-block;
+                                    vertical-align: middle;
+                                    width: 350px;
+                                    height: 40px;
+                                    border: solid 2px black;
+                                    border-bottom: none;
+                                    span{
+                                        position: relative;
+                                        padding: 0 2px;
+                                        display: inline-block;
+                                        top:50%;
+                                        transform:translateY(-50%);
+                                    }
+                                }
+                                &::before{
+                                    position: absolute;
+                                    content: '';
+                                    left: 0;
+                                    width: 2px;
+                                    height: 100%;
+                                    background: black;
+                                }
+                                &:first-child::before{
+                                    height: 50%;
+                                    bottom: 0;
+                                }
+                                &:last-child{
+                                    &::before{
+                                        height: 50%;
+                                    }
+                                    p{
+                                        border-bottom: solid 2px black;
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+    &>img{
         position: absolute;
-        width: 600px;
-        left: calc(50% - 600px);
-        bottom: -255px;
+        left: 140px;
+        top: 6px;
+    }
+    &>.word-list{
+        position: absolute;
+        p{
+            position: absolute;
+            &:nth-child(1){
+                left: 20px;
+                top: 20px;
+            }
+        }
     }
 }
 </style>
@@ -108,7 +258,7 @@
             </tbody>
         </table>
     </div>
-    <div v-if="treeToObj[1][0].grade + treeToObj[1][0].subjectId == '9Y2'" style="margin-bottom:300px;">
+    <div v-if="treeToObj[1][0].grade + treeToObj[1][0].subjectId == '9Y2'" class="sec">
         <table class="table-common special1" :class="{'smallWidth':index == 2}" border="1" cellspacing="0" v-for="(root,index) in resultList" :key="index">
             <tbody>
                 <tr>
@@ -133,11 +283,37 @@
         </table>
         <img src="@/images/report/hint.png" class="hint-img">
     </div>
+    <div class="problem-part" v-if="treeToObj[1][0].grade + treeToObj[1][0].subjectId == '9Y2'">
+        <ul>
+            <li v-for="(item,index) in problemList" :key="index">
+                <div>
+                    <p>{{item.step}}:</p>
+                    <p>达成率:<span :style="{'background':colorMap[item.masterStatus]}">{{item.master}}%</span></p>
+                </div>
+            </li>
+        </ul>
+        <ul>
+            <li v-for="(item,index) in problemList" :key="index">
+                <div :style="{'background':colorMap[item.masterStatus]}"></div>
+                <div>
+                    <i></i>
+                    <ul>
+                        <li v-for="(mind,i) in item.minds" :key="i">
+                            <i></i>
+                            <i></i>
+                            <p :style="{'background':mind.mistake?'#f9a0a0':white}"><span>{{mind.content}}</span></p>
+                        </li>
+                    </ul>
+                </div>
+            </li>
+        </ul>
+        <img src="@/images/report/report-pic2.png">
+    </div>
 </div>
 </template>
 
 <script>
-import { getSpecialReport } from '@/api/report';
+import { getSpecialReport ,generateMind } from '@/api/report';
 import { SUBJECT_MAP } from '@/services/constant';
 
 export default {
@@ -149,7 +325,8 @@ export default {
             treeToObj:{'1':[{}],'2':[{}],'3':[{}]},
             resultList:[],
             subjectMap:SUBJECT_MAP,
-            colorMap:{'green':'#00b050','red':'#ff0000','yellow':'#ffc000'}
+            colorMap:{'green':'#00b050','red':'#ff0000','yellow':'#ffc000'},
+            problemList: [],
         }
     },
     computed: {
@@ -162,6 +339,11 @@ export default {
                 this.resultList.push(this.splitTreeList(tree,range,3,[]));
             })
             console.log(this.resultList);
+            if(this.treeToObj[1][0].grade + this.treeToObj[1][0].subjectId == '9Y2'){
+                generateMind(this.$route.params.pid,this.$route.params.uid).then((result2) => {
+                    this.problemList = result2;
+                })
+            }
         })
     },
     methods: {

+ 31 - 0
src/components/report/Problem.vue

@@ -0,0 +1,31 @@
+<style lang="scss" scoped>
+.report5{
+}
+</style>
+<template>
+<div class="report5">
+</div>
+</template>
+
+<script>
+import {generateMind} from '@/api/report';
+
+export default {
+    name: 'Problem',
+    components: {
+    },
+    data () {
+        return {
+        }
+    },
+    computed: {
+    },
+    created() {
+        generateMind(this.$route.params.pid,this.$route.params.uid).then((result) => {
+            console.log(this.result);
+        })
+    },
+    methods: {
+    }
+}
+</script>

BIN
src/images/report/report-pic2.png


+ 1 - 1
src/main.js

@@ -18,7 +18,7 @@ Vue.prototype.$http = axios;
 //请求拦截
 axios.interceptors.request.use((config) => {
   //请求之前重新拼装url
-  config.url = '/rest/diagnosis' + config.url;
+  // config.url = '/rest/diagnosis' + config.url;
   return config;
 });
 

+ 0 - 1
static/css/group-controlApp~group-doTest.3aa9ff2a.css

@@ -1 +0,0 @@
-.report4>div[data-v-66c65750]{position:relative}.report4>p[data-v-66c65750]{text-align:center;font-size:25px;padding:30px 10px}.report4>p a[data-v-66c65750]{cursor:pointer;font-size:15px;float:left}.report4 .hint-img[data-v-66c65750]{position:absolute;width:360px;bottom:-225px;left:calc(50% + 180px)}.table-common[data-v-66c65750]{width:1200px;text-align:center;font-size:15px;margin:15px auto}.table-common tbody tr:first-child td[data-v-66c65750]{padding:10px 0;color:#fff;background:#4c4daa}.table-common tbody tr:first-child td p[data-v-66c65750]:first-child{font-size:28px}.table-common tbody tr:nth-child(2) td[data-v-66c65750]{padding:8px 0;background:#cfcdff}.table-common tbody tr:nth-child(2) td p[data-v-66c65750]:first-child{font-size:20px}.table-common tbody tr:nth-child(3) td[data-v-66c65750]{padding:8px 0}.table-common.special1 tbody tr:first-child td[data-v-66c65750]{color:#000;background:#c5d1e9}.table-common.special1 tbody tr:nth-child(2) td[data-v-66c65750]{background:#ccecff}.table-common.special1 tbody tr:nth-child(3) td[data-v-66c65750]{background:#dcf4df}.table-common.special1 tbody tr:nth-child(3) td span[data-v-66c65750]{padding:2px 5px}.table-common.smallWidth[data-v-66c65750]{position:absolute;width:600px;left:calc(50% - 600px);bottom:-255px}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/css/group-controlApp~group-doTest.d515d56b.css


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/css/group-doTest.c440bfd3.css


BIN
static/img/report-pic2.40ac47ce.png


+ 1 - 1
static/index.html

@@ -31,4 +31,4 @@
           if(window.confirm("您的浏览器版本过低,推荐使用IE10及以上浏览器或者chrome浏览器,点击确定下载chrome安装浏览器。若是360等浏览器,开启兼容模式")){
               window.open("/download/44.0.2403.89_chrome_installer.exe", "_blank");
           }
-      }</script><link href=/css/group-app.000700aa.css rel=prefetch><link href=/css/group-controlApp.9756e9d7.css rel=prefetch><link href=/css/group-controlApp~group-doTest.3aa9ff2a.css rel=prefetch><link href=/css/group-doTest.b2da4bf6.css rel=prefetch><link href=/css/group-mainPage.5a4551a7.css rel=prefetch><link href=/js/group-app.24429b9c.js rel=prefetch><link href=/js/group-controlApp.625a8afa.js rel=prefetch><link href=/js/group-controlApp~group-doTest.be8fd1f2.js rel=prefetch><link href=/js/group-doTest.cbd51bb6.js rel=prefetch><link href=/js/group-mainPage.5fd1c98c.js rel=prefetch><link href=/css/app.e9f156cc.css rel=preload as=style><link href=/css/chunk-vendors.723a90c8.css rel=preload as=style><link href=/js/app.a0a30409.js rel=preload as=script><link href=/js/chunk-vendors.2493bbd2.js rel=preload as=script><link href=/css/chunk-vendors.723a90c8.css rel=stylesheet><link href=/css/app.e9f156cc.css rel=stylesheet></head><body><noscript><strong>We're sorry but my-project doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.2493bbd2.js></script><script src=/js/app.a0a30409.js></script></body></html>
+      }</script><link href=/css/group-app.000700aa.css rel=prefetch><link href=/css/group-controlApp.9756e9d7.css rel=prefetch><link href=/css/group-controlApp~group-doTest.d515d56b.css rel=prefetch><link href=/css/group-doTest.c440bfd3.css rel=prefetch><link href=/css/group-mainPage.5a4551a7.css rel=prefetch><link href=/js/group-app.24429b9c.js rel=prefetch><link href=/js/group-controlApp.aa5a8a7b.js rel=prefetch><link href=/js/group-controlApp~group-doTest.d74ed862.js rel=prefetch><link href=/js/group-doTest.9e882abb.js rel=prefetch><link href=/js/group-mainPage.5fd1c98c.js rel=prefetch><link href=/css/app.e9f156cc.css rel=preload as=style><link href=/css/chunk-vendors.723a90c8.css rel=preload as=style><link href=/js/app.7f207828.js rel=preload as=script><link href=/js/chunk-vendors.2493bbd2.js rel=preload as=script><link href=/css/chunk-vendors.723a90c8.css rel=stylesheet><link href=/css/app.e9f156cc.css rel=stylesheet></head><body><noscript><strong>We're sorry but my-project doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=app></div><script src=/js/chunk-vendors.2493bbd2.js></script><script src=/js/app.7f207828.js></script></body></html>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/js/app.7f207828.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/js/group-controlApp.aa5a8a7b.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/js/group-controlApp~group-doTest.be8fd1f2.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/js/group-controlApp~group-doTest.d74ed862.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/js/group-doTest.9e882abb.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 0 - 0
static/js/group-doTest.cbd51bb6.js


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio