From 59c7fe6a6c76c87f8a56e4e46850d3aacc5c4322 Mon Sep 17 00:00:00 2001
From: zhanglipeng <chinazhanglipeng@qq.com>
Date: Sun, 15 Nov 2020 11:18:25 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E8=AF=84=E4=BC=B0-=E9=A2=86=E5=9F=9F-?=
 =?UTF-8?q?=E6=96=B0=E5=9B=BE=E8=A1=A8=E6=95=B0=E6=8D=AE=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ruoyi-ui/src/api/benyi/assessmentcontent.js   | 16 ++++
 ruoyi-ui/src/utils/request.js                 |  2 +-
 .../src/views/dashboard/RadarChart_jk.vue     | 74 +++++++++++--------
 .../src/views/dashboard/RadarChart_kx.vue     | 74 +++++++++++--------
 .../src/views/dashboard/RadarChart_sh.vue     | 74 +++++++++++--------
 .../src/views/dashboard/RadarChart_ys.vue     | 74 +++++++++++--------
 .../src/views/dashboard/RadarChart_yy.vue     | 74 +++++++++++--------
 .../ByAssessmentcontentController.java        | 47 ++++++++++++
 .../mapper/ByAssessmentcontentMapper.java     |  8 ++
 .../service/IByAssessmentcontentService.java  |  8 ++
 .../impl/ByAssessmentcontentServiceImpl.java  | 11 +++
 .../benyi/ByAssessmentcontentMapper.xml       |  6 ++
 12 files changed, 312 insertions(+), 156 deletions(-)

diff --git a/ruoyi-ui/src/api/benyi/assessmentcontent.js b/ruoyi-ui/src/api/benyi/assessmentcontent.js
index 62bec1ddd..0910f0bdb 100644
--- a/ruoyi-ui/src/api/benyi/assessmentcontent.js
+++ b/ruoyi-ui/src/api/benyi/assessmentcontent.js
@@ -85,3 +85,19 @@ export function getAssessmentStatistics(childid, scope) {
     method: 'get'
   })
 }
+
+// 查询领域目标
+export function getAssessmentStatisticsmb(childid, scope, type) {
+  return request({
+    url: '/benyi/assessmentcontent/getassessmentstatisticsmb/' + childid + '/' + scope + '/' + type,
+    method: 'get'
+  })
+}
+
+// 查询评估统计
+export function getAssessmentStatisticsbymb(childid, scope, type) {
+  return request({
+    url: '/benyi/assessmentcontent/getassessmentstatisticsbymb/' + childid + '/' + scope + '/' + type,
+    method: 'get'
+  })
+}
diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js
index 4ea9568a3..75c316b1b 100644
--- a/ruoyi-ui/src/utils/request.js
+++ b/ruoyi-ui/src/utils/request.js
@@ -9,7 +9,7 @@ const service = axios.create({
   // axios中请求配置有baseURL选项,表示请求URL公共部分
   baseURL: process.env.VUE_APP_BASE_API,
   // 超时
-  timeout: 10000
+  timeout: 1000000
 })
 // request拦截器
 service.interceptors.request.use(
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue b/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue
index c7f3f8a74..35127b550 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue
@@ -6,12 +6,17 @@
 import echarts from "echarts";
 require("echarts/theme/macarons"); // echarts theme
 import resize from "./mixins/resize";
-import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent";
+import {
+  getAssessmentStatisticsmb,
+  getAssessmentStatisticsbymb,
+} from "@/api/benyi/assessmentcontent";
 
 const animationDuration = 3000;
 
 export default {
+  mbvalues: [],
   values: [],
+  names: [],
   mixins: [resize],
   props: {
     className: {
@@ -42,9 +47,9 @@ export default {
     this.childId = childId;
     // console.log("child-chart:" + childId);
     // console.log("psMsg:" + this.psMsg);
-    // this.$nextTick(() => {
-    //   this.initChart();
-    // });
+    this.$nextTick(() => {
+      this.initChart();
+    });
   },
   beforeDestroy() {
     if (!this.chart) {
@@ -55,13 +60,12 @@ export default {
   },
   methods: {
     async getData() {
-      await getAssessmentStatistics(this.childId, this.psMsg).then(
+      await getAssessmentStatisticsbymb(this.childId, this.psMsg, 0).then(
         (response) => {
-          console.log(response);
           let value = [];
           let len = response.statistics;
           for (var j = 0; j < len.length; j++) {
-            console.log(len[j]);
+            // console.log(len[j]);
             if (len[j] == "NaN") {
               value.push(0);
             } else {
@@ -74,8 +78,34 @@ export default {
         }
       );
     },
+    async getNameData() {
+      await getAssessmentStatisticsmb(this.childId, this.psMsg, 0).then(
+        (response) => {
+          let value = [];
+          let mbvalues=[];
+          let len = response.mb;
+          for (var j = 0; j < len.length; j++) {
+            // console.log(len[j]);
+            if (this.psMsg == "1") {
+              len[j].max = 48;
+            } else if (this.psMsg == "2") {
+              len[j].max = 60;
+            } else if (this.psMsg == "3") {
+              len[j].max = 72;
+            }
+            mbvalues.push(len[j].max);
+            value.push(len[j]);
+          }
+          this.mbvalues=mbvalues;
+          this.names = value;
+          //console.log(this.names);
+          //console.log(this.values);
+        }
+      );
+    },
     async initChart() {
       await this.getData();
+      await this.getNameData();
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
@@ -101,13 +131,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -129,7 +153,7 @@ export default {
               },
               data: [
                 {
-                  value: [72, 72, 72, 72, 72],
+                  value: this.mbvalues,
                   name: "60-72个月幼儿测评范围值",
                 },
                 {
@@ -164,13 +188,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -192,7 +210,7 @@ export default {
               },
               data: [
                 {
-                  value: [60, 60, 60, 60, 60],
+                  value: this.mbvalues,
                   name: "48-60个月幼儿测评范围值",
                 },
                 {
@@ -227,13 +245,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -255,7 +267,7 @@ export default {
               },
               data: [
                 {
-                  value: [48, 48, 48, 48, 48],
+                  value: this.mbvalues,
                   name: "36-48个月幼儿测评范围值",
                 },
                 {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue b/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue
index c7f3f8a74..19ea3fb82 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue
@@ -6,12 +6,17 @@
 import echarts from "echarts";
 require("echarts/theme/macarons"); // echarts theme
 import resize from "./mixins/resize";
-import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent";
+import {
+  getAssessmentStatisticsmb,
+  getAssessmentStatisticsbymb,
+} from "@/api/benyi/assessmentcontent";
 
 const animationDuration = 3000;
 
 export default {
+  mbvalues: [],
   values: [],
+  names: [],
   mixins: [resize],
   props: {
     className: {
@@ -42,9 +47,9 @@ export default {
     this.childId = childId;
     // console.log("child-chart:" + childId);
     // console.log("psMsg:" + this.psMsg);
-    // this.$nextTick(() => {
-    //   this.initChart();
-    // });
+    this.$nextTick(() => {
+      this.initChart();
+    });
   },
   beforeDestroy() {
     if (!this.chart) {
@@ -55,13 +60,12 @@ export default {
   },
   methods: {
     async getData() {
-      await getAssessmentStatistics(this.childId, this.psMsg).then(
+      await getAssessmentStatisticsbymb(this.childId, this.psMsg, 3).then(
         (response) => {
-          console.log(response);
           let value = [];
           let len = response.statistics;
           for (var j = 0; j < len.length; j++) {
-            console.log(len[j]);
+            // console.log(len[j]);
             if (len[j] == "NaN") {
               value.push(0);
             } else {
@@ -74,8 +78,34 @@ export default {
         }
       );
     },
+    async getNameData() {
+      await getAssessmentStatisticsmb(this.childId, this.psMsg, 3).then(
+        (response) => {
+          let value = [];
+          let mbvalues=[];
+          let len = response.mb;
+          for (var j = 0; j < len.length; j++) {
+            // console.log(len[j]);
+            if (this.psMsg == "1") {
+              len[j].max = 48;
+            } else if (this.psMsg == "2") {
+              len[j].max = 60;
+            } else if (this.psMsg == "3") {
+              len[j].max = 72;
+            }
+            mbvalues.push(len[j].max);
+            value.push(len[j]);
+          }
+          this.mbvalues=mbvalues;
+          this.names = value;
+          //console.log(this.names);
+          //console.log(this.values);
+        }
+      );
+    },
     async initChart() {
       await this.getData();
+      await this.getNameData();
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
@@ -101,13 +131,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -129,7 +153,7 @@ export default {
               },
               data: [
                 {
-                  value: [72, 72, 72, 72, 72],
+                  value: this.mbvalues,
                   name: "60-72个月幼儿测评范围值",
                 },
                 {
@@ -164,13 +188,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -192,7 +210,7 @@ export default {
               },
               data: [
                 {
-                  value: [60, 60, 60, 60, 60],
+                  value: this.mbvalues,
                   name: "48-60个月幼儿测评范围值",
                 },
                 {
@@ -227,13 +245,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -255,7 +267,7 @@ export default {
               },
               data: [
                 {
-                  value: [48, 48, 48, 48, 48],
+                  value: this.mbvalues,
                   name: "36-48个月幼儿测评范围值",
                 },
                 {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue b/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue
index c7f3f8a74..39309af21 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue
@@ -6,12 +6,17 @@
 import echarts from "echarts";
 require("echarts/theme/macarons"); // echarts theme
 import resize from "./mixins/resize";
-import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent";
+import {
+  getAssessmentStatisticsmb,
+  getAssessmentStatisticsbymb,
+} from "@/api/benyi/assessmentcontent";
 
 const animationDuration = 3000;
 
 export default {
+  mbvalues: [],
   values: [],
+  names: [],
   mixins: [resize],
   props: {
     className: {
@@ -42,9 +47,9 @@ export default {
     this.childId = childId;
     // console.log("child-chart:" + childId);
     // console.log("psMsg:" + this.psMsg);
-    // this.$nextTick(() => {
-    //   this.initChart();
-    // });
+    this.$nextTick(() => {
+      this.initChart();
+    });
   },
   beforeDestroy() {
     if (!this.chart) {
@@ -55,13 +60,12 @@ export default {
   },
   methods: {
     async getData() {
-      await getAssessmentStatistics(this.childId, this.psMsg).then(
+      await getAssessmentStatisticsbymb(this.childId, this.psMsg, 2).then(
         (response) => {
-          console.log(response);
           let value = [];
           let len = response.statistics;
           for (var j = 0; j < len.length; j++) {
-            console.log(len[j]);
+            // console.log(len[j]);
             if (len[j] == "NaN") {
               value.push(0);
             } else {
@@ -74,8 +78,34 @@ export default {
         }
       );
     },
+    async getNameData() {
+      await getAssessmentStatisticsmb(this.childId, this.psMsg, 2).then(
+        (response) => {
+          let value = [];
+          let mbvalues=[];
+          let len = response.mb;
+          for (var j = 0; j < len.length; j++) {
+            // console.log(len[j]);
+            if (this.psMsg == "1") {
+              len[j].max = 48;
+            } else if (this.psMsg == "2") {
+              len[j].max = 60;
+            } else if (this.psMsg == "3") {
+              len[j].max = 72;
+            }
+            mbvalues.push(len[j].max);
+            value.push(len[j]);
+          }
+          this.mbvalues=mbvalues;
+          this.names = value;
+          //console.log(this.names);
+          //console.log(this.values);
+        }
+      );
+    },
     async initChart() {
       await this.getData();
+      await this.getNameData();
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
@@ -101,13 +131,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -129,7 +153,7 @@ export default {
               },
               data: [
                 {
-                  value: [72, 72, 72, 72, 72],
+                  value: this.mbvalues,
                   name: "60-72个月幼儿测评范围值",
                 },
                 {
@@ -164,13 +188,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -192,7 +210,7 @@ export default {
               },
               data: [
                 {
-                  value: [60, 60, 60, 60, 60],
+                  value: this.mbvalues,
                   name: "48-60个月幼儿测评范围值",
                 },
                 {
@@ -227,13 +245,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -255,7 +267,7 @@ export default {
               },
               data: [
                 {
-                  value: [48, 48, 48, 48, 48],
+                  value: this.mbvalues,
                   name: "36-48个月幼儿测评范围值",
                 },
                 {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue b/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue
index c7f3f8a74..3b5c4c371 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue
@@ -6,12 +6,17 @@
 import echarts from "echarts";
 require("echarts/theme/macarons"); // echarts theme
 import resize from "./mixins/resize";
-import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent";
+import {
+  getAssessmentStatisticsmb,
+  getAssessmentStatisticsbymb,
+} from "@/api/benyi/assessmentcontent";
 
 const animationDuration = 3000;
 
 export default {
+  mbvalues: [],
   values: [],
+  names: [],
   mixins: [resize],
   props: {
     className: {
@@ -42,9 +47,9 @@ export default {
     this.childId = childId;
     // console.log("child-chart:" + childId);
     // console.log("psMsg:" + this.psMsg);
-    // this.$nextTick(() => {
-    //   this.initChart();
-    // });
+    this.$nextTick(() => {
+      this.initChart();
+    });
   },
   beforeDestroy() {
     if (!this.chart) {
@@ -55,13 +60,12 @@ export default {
   },
   methods: {
     async getData() {
-      await getAssessmentStatistics(this.childId, this.psMsg).then(
+      await getAssessmentStatisticsbymb(this.childId, this.psMsg, 4).then(
         (response) => {
-          console.log(response);
           let value = [];
           let len = response.statistics;
           for (var j = 0; j < len.length; j++) {
-            console.log(len[j]);
+            // console.log(len[j]);
             if (len[j] == "NaN") {
               value.push(0);
             } else {
@@ -74,8 +78,34 @@ export default {
         }
       );
     },
+    async getNameData() {
+      await getAssessmentStatisticsmb(this.childId, this.psMsg, 4).then(
+        (response) => {
+          let value = [];
+          let mbvalues=[];
+          let len = response.mb;
+          for (var j = 0; j < len.length; j++) {
+            // console.log(len[j]);
+            if (this.psMsg == "1") {
+              len[j].max = 48;
+            } else if (this.psMsg == "2") {
+              len[j].max = 60;
+            } else if (this.psMsg == "3") {
+              len[j].max = 72;
+            }
+            mbvalues.push(len[j].max);
+            value.push(len[j]);
+          }
+          this.mbvalues=mbvalues;
+          this.names = value;
+          //console.log(this.names);
+          //console.log(this.values);
+        }
+      );
+    },
     async initChart() {
       await this.getData();
+      await this.getNameData();
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
@@ -101,13 +131,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -129,7 +153,7 @@ export default {
               },
               data: [
                 {
-                  value: [72, 72, 72, 72, 72],
+                  value: this.mbvalues,
                   name: "60-72个月幼儿测评范围值",
                 },
                 {
@@ -164,13 +188,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -192,7 +210,7 @@ export default {
               },
               data: [
                 {
-                  value: [60, 60, 60, 60, 60],
+                  value: this.mbvalues,
                   name: "48-60个月幼儿测评范围值",
                 },
                 {
@@ -227,13 +245,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -255,7 +267,7 @@ export default {
               },
               data: [
                 {
-                  value: [48, 48, 48, 48, 48],
+                  value: this.mbvalues,
                   name: "36-48个月幼儿测评范围值",
                 },
                 {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue b/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue
index c7f3f8a74..6093eabf5 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue
@@ -6,12 +6,17 @@
 import echarts from "echarts";
 require("echarts/theme/macarons"); // echarts theme
 import resize from "./mixins/resize";
-import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent";
+import {
+  getAssessmentStatisticsmb,
+  getAssessmentStatisticsbymb,
+} from "@/api/benyi/assessmentcontent";
 
 const animationDuration = 3000;
 
 export default {
+  mbvalues: [],
   values: [],
+  names: [],
   mixins: [resize],
   props: {
     className: {
@@ -42,9 +47,9 @@ export default {
     this.childId = childId;
     // console.log("child-chart:" + childId);
     // console.log("psMsg:" + this.psMsg);
-    // this.$nextTick(() => {
-    //   this.initChart();
-    // });
+    this.$nextTick(() => {
+      this.initChart();
+    });
   },
   beforeDestroy() {
     if (!this.chart) {
@@ -55,13 +60,12 @@ export default {
   },
   methods: {
     async getData() {
-      await getAssessmentStatistics(this.childId, this.psMsg).then(
+      await getAssessmentStatisticsbymb(this.childId, this.psMsg, 1).then(
         (response) => {
-          console.log(response);
           let value = [];
           let len = response.statistics;
           for (var j = 0; j < len.length; j++) {
-            console.log(len[j]);
+            // console.log(len[j]);
             if (len[j] == "NaN") {
               value.push(0);
             } else {
@@ -74,8 +78,34 @@ export default {
         }
       );
     },
+    async getNameData() {
+      await getAssessmentStatisticsmb(this.childId, this.psMsg, 1).then(
+        (response) => {
+          let value = [];
+          let mbvalues=[];
+          let len = response.mb;
+          for (var j = 0; j < len.length; j++) {
+            // console.log(len[j]);
+            if (this.psMsg == "1") {
+              len[j].max = 48;
+            } else if (this.psMsg == "2") {
+              len[j].max = 60;
+            } else if (this.psMsg == "3") {
+              len[j].max = 72;
+            }
+            mbvalues.push(len[j].max);
+            value.push(len[j]);
+          }
+          this.mbvalues=mbvalues;
+          this.names = value;
+          //console.log(this.names);
+          //console.log(this.values);
+        }
+      );
+    },
     async initChart() {
       await this.getData();
+      await this.getNameData();
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
@@ -101,13 +131,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -129,7 +153,7 @@ export default {
               },
               data: [
                 {
-                  value: [72, 72, 72, 72, 72],
+                  value: this.mbvalues,
                   name: "60-72个月幼儿测评范围值",
                 },
                 {
@@ -164,13 +188,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -192,7 +210,7 @@ export default {
               },
               data: [
                 {
-                  value: [60, 60, 60, 60, 60],
+                  value: this.mbvalues,
                   name: "48-60个月幼儿测评范围值",
                 },
                 {
@@ -227,13 +245,7 @@ export default {
                 shadowOffsetY: 15,
               },
             },
-            indicator: [
-              { name: "健康", max: 100 },
-              { name: "语言", max: 100 },
-              { name: "社会", max: 100 },
-              { name: "科学", max: 100 },
-              { name: "艺术", max: 100 },
-            ],
+            indicator: this.names,
           },
           legend: {
             left: "center",
@@ -255,7 +267,7 @@ export default {
               },
               data: [
                 {
-                  value: [48, 48, 48, 48, 48],
+                  value: this.mbvalues,
                   name: "36-48个月幼儿测评范围值",
                 },
                 {
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByAssessmentcontentController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByAssessmentcontentController.java
index 705040f79..59f6eebd9 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByAssessmentcontentController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByAssessmentcontentController.java
@@ -177,4 +177,51 @@ public class ByAssessmentcontentController extends BaseController {
         return ajaxResult;
     }
 
+    ///根据id获取领域目标
+    @GetMapping(value = "/getassessmentstatisticsmb/{childid}/{scope}/{type}")
+    public AjaxResult getAssessmentStatisticsmb(@PathVariable("childid") Long childid, @PathVariable("scope") String scope, @PathVariable("type") String type) {
+        AjaxResult ajaxResult = AjaxResult.success();
+        String[] strArr = new String[]{"健康", "语言", "社会", "科学", "艺术"};
+        ByAssessmentcontent byAssessmentcontent = new ByAssessmentcontent();
+        byAssessmentcontent.setName(strArr[Integer.parseInt(type)]);
+        byAssessmentcontent.setScope(scope);
+
+        long a = byAssessmentcontentService.selectByAssessmentcontentList(byAssessmentcontent).get(0).getId();
+        List<ByAssessmentcontent> list = byAssessmentcontentService.selectNodeByid(a);
+        ajaxResult.put("mb", list);
+        return ajaxResult;
+    }
+
+    ///统计结果
+    @GetMapping(value = "/getassessmentstatisticsbymb/{childid}/{scope}/{type}")
+    public AjaxResult getAssessmentStatisticsbymb(@PathVariable("childid") Long childid, @PathVariable("scope") String scope, @PathVariable("type") String type) {
+        AjaxResult ajaxResult = AjaxResult.success();
+        String[] strArr = new String[]{"健康", "语言", "社会", "科学", "艺术"};
+        ByAssessmentcontent byAssessmentcontent0 = new ByAssessmentcontent();
+        byAssessmentcontent0.setName(strArr[Integer.parseInt(type)]);
+        byAssessmentcontent0.setScope(scope);
+        long a = byAssessmentcontentService.selectByAssessmentcontentList(byAssessmentcontent0).get(0).getId();
+        List<ByAssessmentcontent> list0 = byAssessmentcontentService.selectNodeByid(a);
+
+        List<Double> douArr = new ArrayList<Double>();
+        ByAssessmentcontent byAssessmentcontent = null;
+        for (int i = 0; i < list0.size(); i++) {
+            byAssessmentcontent = new ByAssessmentcontent();
+            byAssessmentcontent.setScope(scope);
+            byAssessmentcontent.setId(list0.get(i).getId());
+            byAssessmentcontent.setSort(childid);
+            int count = byAssessmentcontentService.selectCountElement(byAssessmentcontent);
+            int countChild = byAssessmentcontentService.selectCountElementByChild(byAssessmentcontent);
+            if (scope.equals("1")) {
+                douArr.add((((double) 48 / count) * countChild));
+            } else if (scope.equals("2")) {
+                douArr.add((((double) 60 / count) * countChild));
+            } else if (scope.equals("3")) {
+                douArr.add((((double) 72 / count) * countChild));
+            }
+        }
+        ajaxResult.put("statistics", douArr);
+        return ajaxResult;
+    }
+
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByAssessmentcontentMapper.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByAssessmentcontentMapper.java
index e5a4d0776..692c9e336 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByAssessmentcontentMapper.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/mapper/ByAssessmentcontentMapper.java
@@ -90,4 +90,12 @@ public interface ByAssessmentcontentMapper {
      * @return 结果
      */
     public int selectCountElementByChild(ByAssessmentcontent byAssessmentcontent);
+
+    /**
+     * 节点根据id
+     *
+     * @param id 内容ID
+     * @return 结果
+     */
+    public List<ByAssessmentcontent> selectNodeByid(Long id);
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByAssessmentcontentService.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByAssessmentcontentService.java
index 446cd7ddd..3e78af4cd 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByAssessmentcontentService.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/IByAssessmentcontentService.java
@@ -107,4 +107,12 @@ public interface IByAssessmentcontentService {
      * @return 结果
      */
     public int selectCountElementByChild(ByAssessmentcontent byAssessmentcontent);
+
+    /**
+     * 节点根据id
+     *
+     * @param id 内容ID
+     * @return 结果
+     */
+    public List<ByAssessmentcontent> selectNodeByid(Long id);
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByAssessmentcontentServiceImpl.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByAssessmentcontentServiceImpl.java
index 30da75430..686ff7aaa 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByAssessmentcontentServiceImpl.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/service/impl/ByAssessmentcontentServiceImpl.java
@@ -224,4 +224,15 @@ public class ByAssessmentcontentServiceImpl implements IByAssessmentcontentServi
         return byAssessmentcontentMapper.selectCountElementByChild(byAssessmentcontent);
     }
 
+    /**
+     * 节点根据id
+     *
+     * @param id 内容ID
+     * @return 结果
+     */
+    @Override
+    public List<ByAssessmentcontent> selectNodeByid(Long id){
+        return byAssessmentcontentMapper.selectNodeByid(id);
+    }
+
 }
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByAssessmentcontentMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByAssessmentcontentMapper.xml
index b69009751..bafafca18 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByAssessmentcontentMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByAssessmentcontentMapper.xml
@@ -70,6 +70,12 @@ right join by_assessmentchild b on a.id=b.contentid where b.childid=#{sort} and
 where find_in_set(id, getChildLst(#{id})) ;
 	</select>
 
+    <!--根据节点id获取领域目标-->
+    <select id="selectNodeByid" parameterType="Long" resultMap="ByAssessmentcontentResult">
+		select id, parentId, name, iselement, scope, create_time, sort, ckbz  from by_assessmentcontent
+where find_in_set(id, getChildLst(#{id})) and parentId>#{id} and iselement='N';
+	</select>
+
     <insert id="insertByAssessmentcontent" parameterType="ByAssessmentcontent" useGeneratedKeys="true" keyProperty="id">
         insert into by_assessmentcontent
         <trim prefix="(" suffix=")" suffixOverrides=",">

From d7f8394f7197a76b84992645c316674d8d150773 Mon Sep 17 00:00:00 2001
From: zhanglipeng <chinazhanglipeng@qq.com>
Date: Sun, 15 Nov 2020 15:14:43 +0800
Subject: [PATCH 2/2] =?UTF-8?q?=E8=AF=84=E4=BC=B0-=E9=A2=86=E5=9F=9F-?=
 =?UTF-8?q?=E6=96=B0=E5=9B=BE=E8=A1=A8=E6=95=B0=E6=8D=AE=E5=8C=96-?=
 =?UTF-8?q?=E4=BC=98=E5=8C=96?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../src/views/benyi/assessment/history.vue    |  4 +-
 .../src/views/benyi/assessment/student.vue    |  2 +-
 ruoyi-ui/src/views/dashboard/RadarChart.vue   | 43 +++++++++++++++--
 .../src/views/dashboard/RadarChart_jk.vue     | 47 ++++++++++++++++---
 .../src/views/dashboard/RadarChart_kx.vue     | 47 ++++++++++++++++---
 .../src/views/dashboard/RadarChart_sh.vue     | 47 ++++++++++++++++---
 .../src/views/dashboard/RadarChart_ys.vue     | 47 ++++++++++++++++---
 .../src/views/dashboard/RadarChart_yy.vue     | 47 ++++++++++++++++---
 8 files changed, 246 insertions(+), 38 deletions(-)

diff --git a/ruoyi-ui/src/views/benyi/assessment/history.vue b/ruoyi-ui/src/views/benyi/assessment/history.vue
index fb7593765..4fa00af2a 100644
--- a/ruoyi-ui/src/views/benyi/assessment/history.vue
+++ b/ruoyi-ui/src/views/benyi/assessment/history.vue
@@ -31,7 +31,7 @@
           <radar-chart_ys :psMsg="item.dictValue" />
         </div>
         <div class="block">
-          <h2 class="block-item-title flex align-center">评估建议</h2>
+          <h2 class="block-item-title flex align-center">教育建议</h2>
           <!-- <ul class="block-content">
             <li>
               <p class="block-content-title">
@@ -108,8 +108,6 @@ export default {
       assessmentscope: "",
       // tabs列表
       tabsList: [],
-      // 遮罩层
-      loading: true,
       activeName: "",
     };
   },
diff --git a/ruoyi-ui/src/views/benyi/assessment/student.vue b/ruoyi-ui/src/views/benyi/assessment/student.vue
index 3f0801065..cd8e39720 100644
--- a/ruoyi-ui/src/views/benyi/assessment/student.vue
+++ b/ruoyi-ui/src/views/benyi/assessment/student.vue
@@ -45,7 +45,7 @@
         :label="itemLy.name"
         :name="itemLy.name"
       >
-        <div
+        <div v-loading="loading"
           class="block"
           v-for="itemFzly in assessmentcontentList.filter(
             (p) => p.parentId == itemLy.id
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart.vue b/ruoyi-ui/src/views/dashboard/RadarChart.vue
index 35cd7982f..21b1f8533 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart.vue
@@ -1,5 +1,9 @@
 <template>
-  <div :class="className" :style="{ height: height, width: width }" />
+  <div
+    v-loading="loading"
+    :class="className"
+    :style="{ height: height, width: width }"
+  />
 </template>
 
 <script>
@@ -35,6 +39,8 @@ export default {
     return {
       chart: null,
       childId: "",
+      // 遮罩层
+      loading: true,
     };
   },
   mounted() {
@@ -75,11 +81,22 @@ export default {
       );
     },
     async initChart() {
+      this.loading = true;
       await this.getData();
+      this.loading = false;
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
         this.chart.setOption({
+          title: {
+            text: "幼儿学习与发展评估结果综合统计",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -89,7 +106,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "52%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -143,6 +160,15 @@ export default {
         });
       } else if (this.psMsg == "2") {
         this.chart.setOption({
+          title: {
+            text: "幼儿学习与发展评估结果综合统计",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -152,7 +178,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "52%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -206,6 +232,15 @@ export default {
         });
       } else if (this.psMsg == "1") {
         this.chart.setOption({
+          title: {
+            text: "幼儿学习与发展评估结果综合统计",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -215,7 +250,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "52%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue b/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue
index 35127b550..e1556488d 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_jk.vue
@@ -1,5 +1,9 @@
 <template>
-  <div :class="className" :style="{ height: height, width: width }" />
+  <div
+    v-loading="loading"
+    :class="className"
+    :style="{ height: height, width: width }"
+  />
 </template>
 
 <script>
@@ -40,6 +44,8 @@ export default {
     return {
       chart: null,
       childId: "",
+      // 遮罩层
+      loading: true,
     };
   },
   mounted() {
@@ -82,7 +88,7 @@ export default {
       await getAssessmentStatisticsmb(this.childId, this.psMsg, 0).then(
         (response) => {
           let value = [];
-          let mbvalues=[];
+          let mbvalues = [];
           let len = response.mb;
           for (var j = 0; j < len.length; j++) {
             // console.log(len[j]);
@@ -96,7 +102,7 @@ export default {
             mbvalues.push(len[j].max);
             value.push(len[j]);
           }
-          this.mbvalues=mbvalues;
+          this.mbvalues = mbvalues;
           this.names = value;
           //console.log(this.names);
           //console.log(this.values);
@@ -104,12 +110,23 @@ export default {
       );
     },
     async initChart() {
+      this.loading = true;
       await this.getData();
       await this.getNameData();
+      this.loading = false;
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-健康",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -119,7 +136,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -167,6 +184,15 @@ export default {
         });
       } else if (this.psMsg == "2") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-健康",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -176,7 +202,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -224,6 +250,15 @@ export default {
         });
       } else if (this.psMsg == "1") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-健康",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -233,7 +268,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue b/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue
index 19ea3fb82..2d986a3db 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_kx.vue
@@ -1,5 +1,9 @@
 <template>
-  <div :class="className" :style="{ height: height, width: width }" />
+  <div
+    v-loading="loading"
+    :class="className"
+    :style="{ height: height, width: width }"
+  />
 </template>
 
 <script>
@@ -40,6 +44,8 @@ export default {
     return {
       chart: null,
       childId: "",
+      // 遮罩层
+      loading: true,
     };
   },
   mounted() {
@@ -82,7 +88,7 @@ export default {
       await getAssessmentStatisticsmb(this.childId, this.psMsg, 3).then(
         (response) => {
           let value = [];
-          let mbvalues=[];
+          let mbvalues = [];
           let len = response.mb;
           for (var j = 0; j < len.length; j++) {
             // console.log(len[j]);
@@ -96,7 +102,7 @@ export default {
             mbvalues.push(len[j].max);
             value.push(len[j]);
           }
-          this.mbvalues=mbvalues;
+          this.mbvalues = mbvalues;
           this.names = value;
           //console.log(this.names);
           //console.log(this.values);
@@ -104,12 +110,23 @@ export default {
       );
     },
     async initChart() {
+      this.loading = true;
       await this.getData();
       await this.getNameData();
+      this.loading = false;
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-科学",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -119,7 +136,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -167,6 +184,15 @@ export default {
         });
       } else if (this.psMsg == "2") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-科学",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -176,7 +202,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -224,6 +250,15 @@ export default {
         });
       } else if (this.psMsg == "1") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-科学",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -233,7 +268,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue b/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue
index 39309af21..9aad095dd 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_sh.vue
@@ -1,5 +1,9 @@
 <template>
-  <div :class="className" :style="{ height: height, width: width }" />
+  <div
+    v-loading="loading"
+    :class="className"
+    :style="{ height: height, width: width }"
+  />
 </template>
 
 <script>
@@ -40,6 +44,8 @@ export default {
     return {
       chart: null,
       childId: "",
+      // 遮罩层
+      loading: true,
     };
   },
   mounted() {
@@ -82,7 +88,7 @@ export default {
       await getAssessmentStatisticsmb(this.childId, this.psMsg, 2).then(
         (response) => {
           let value = [];
-          let mbvalues=[];
+          let mbvalues = [];
           let len = response.mb;
           for (var j = 0; j < len.length; j++) {
             // console.log(len[j]);
@@ -96,7 +102,7 @@ export default {
             mbvalues.push(len[j].max);
             value.push(len[j]);
           }
-          this.mbvalues=mbvalues;
+          this.mbvalues = mbvalues;
           this.names = value;
           //console.log(this.names);
           //console.log(this.values);
@@ -104,12 +110,23 @@ export default {
       );
     },
     async initChart() {
+      this.loading = true;
       await this.getData();
       await this.getNameData();
+      this.loading = false;
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-社会",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -119,7 +136,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -167,6 +184,15 @@ export default {
         });
       } else if (this.psMsg == "2") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-社会",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -176,7 +202,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -224,6 +250,15 @@ export default {
         });
       } else if (this.psMsg == "1") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-社会",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -233,7 +268,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue b/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue
index 3b5c4c371..95a568dc0 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_ys.vue
@@ -1,5 +1,9 @@
 <template>
-  <div :class="className" :style="{ height: height, width: width }" />
+  <div
+    v-loading="loading"
+    :class="className"
+    :style="{ height: height, width: width }"
+  />
 </template>
 
 <script>
@@ -40,6 +44,8 @@ export default {
     return {
       chart: null,
       childId: "",
+      // 遮罩层
+      loading: true,
     };
   },
   mounted() {
@@ -82,7 +88,7 @@ export default {
       await getAssessmentStatisticsmb(this.childId, this.psMsg, 4).then(
         (response) => {
           let value = [];
-          let mbvalues=[];
+          let mbvalues = [];
           let len = response.mb;
           for (var j = 0; j < len.length; j++) {
             // console.log(len[j]);
@@ -96,7 +102,7 @@ export default {
             mbvalues.push(len[j].max);
             value.push(len[j]);
           }
-          this.mbvalues=mbvalues;
+          this.mbvalues = mbvalues;
           this.names = value;
           //console.log(this.names);
           //console.log(this.values);
@@ -104,12 +110,23 @@ export default {
       );
     },
     async initChart() {
+      this.loading = true;
       await this.getData();
       await this.getNameData();
+      this.loading = false;
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-艺术",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -119,7 +136,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -167,6 +184,15 @@ export default {
         });
       } else if (this.psMsg == "2") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-艺术",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -176,7 +202,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -224,6 +250,15 @@ export default {
         });
       } else if (this.psMsg == "1") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-艺术",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -233,7 +268,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
diff --git a/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue b/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue
index 6093eabf5..4a80d5583 100644
--- a/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue
+++ b/ruoyi-ui/src/views/dashboard/RadarChart_yy.vue
@@ -1,5 +1,9 @@
 <template>
-  <div :class="className" :style="{ height: height, width: width }" />
+  <div
+    v-loading="loading"
+    :class="className"
+    :style="{ height: height, width: width }"
+  />
 </template>
 
 <script>
@@ -40,6 +44,8 @@ export default {
     return {
       chart: null,
       childId: "",
+      // 遮罩层
+      loading: true,
     };
   },
   mounted() {
@@ -82,7 +88,7 @@ export default {
       await getAssessmentStatisticsmb(this.childId, this.psMsg, 1).then(
         (response) => {
           let value = [];
-          let mbvalues=[];
+          let mbvalues = [];
           let len = response.mb;
           for (var j = 0; j < len.length; j++) {
             // console.log(len[j]);
@@ -96,7 +102,7 @@ export default {
             mbvalues.push(len[j].max);
             value.push(len[j]);
           }
-          this.mbvalues=mbvalues;
+          this.mbvalues = mbvalues;
           this.names = value;
           //console.log(this.names);
           //console.log(this.values);
@@ -104,12 +110,23 @@ export default {
       );
     },
     async initChart() {
+      this.loading = true;
       await this.getData();
       await this.getNameData();
+      this.loading = false;
       this.chart = echarts.init(this.$el, "macarons");
 
       if (this.psMsg == "3") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-语言",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -119,7 +136,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -167,6 +184,15 @@ export default {
         });
       } else if (this.psMsg == "2") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-语言",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -176,7 +202,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {
@@ -224,6 +250,15 @@ export default {
         });
       } else if (this.psMsg == "1") {
         this.chart.setOption({
+          title: {
+            text: "幼儿评估结果-语言",
+            textStyle: {
+              fontSize: 14,
+              lineHeight: 20,
+            },
+            top: "top",
+            left: "center",
+          },
           tooltip: {
             trigger: "axis",
             axisPointer: {
@@ -233,7 +268,7 @@ export default {
           },
           radar: {
             radius: "66%",
-            center: ["50%", "42%"],
+            center: ["50%", "50%"],
             splitNumber: 8,
             splitArea: {
               areaStyle: {