Merge branch 'master' into xinbo

This commit is contained in:
wangxinbo 2020-11-15 16:48:04 +08:00
commit 60335056df
15 changed files with 548 additions and 184 deletions

View File

@ -85,3 +85,19 @@ export function getAssessmentStatistics(childid, scope) {
method: 'get' 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'
})
}

View File

@ -9,7 +9,7 @@ const service = axios.create({
// axios中请求配置有baseURL选项表示请求URL公共部分 // axios中请求配置有baseURL选项表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API, baseURL: process.env.VUE_APP_BASE_API,
// 超时 // 超时
timeout: 10000 timeout: 1000000
}) })
// request拦截器 // request拦截器
service.interceptors.request.use( service.interceptors.request.use(

View File

@ -31,7 +31,7 @@
<radar-chart_ys :psMsg="item.dictValue" /> <radar-chart_ys :psMsg="item.dictValue" />
</div> </div>
<div class="block"> <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"> <!-- <ul class="block-content">
<li> <li>
<p class="block-content-title"> <p class="block-content-title">
@ -108,8 +108,6 @@ export default {
assessmentscope: "", assessmentscope: "",
// tabs // tabs
tabsList: [], tabsList: [],
//
loading: true,
activeName: "", activeName: "",
}; };
}, },

View File

@ -45,7 +45,7 @@
:label="itemLy.name" :label="itemLy.name"
:name="itemLy.name" :name="itemLy.name"
> >
<div <div v-loading="loading"
class="block" class="block"
v-for="itemFzly in assessmentcontentList.filter( v-for="itemFzly in assessmentcontentList.filter(
(p) => p.parentId == itemLy.id (p) => p.parentId == itemLy.id

View File

@ -1,5 +1,9 @@
<template> <template>
<div :class="className" :style="{ height: height, width: width }" /> <div
v-loading="loading"
:class="className"
:style="{ height: height, width: width }"
/>
</template> </template>
<script> <script>
@ -35,6 +39,8 @@ export default {
return { return {
chart: null, chart: null,
childId: "", childId: "",
//
loading: true,
}; };
}, },
mounted() { mounted() {
@ -75,11 +81,22 @@ export default {
); );
}, },
async initChart() { async initChart() {
this.loading = true;
await this.getData(); await this.getData();
this.loading = false;
this.chart = echarts.init(this.$el, "macarons"); this.chart = echarts.init(this.$el, "macarons");
if (this.psMsg == "3") { if (this.psMsg == "3") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿学习与发展评估结果综合统计",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -89,7 +106,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "52%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -143,6 +160,15 @@ export default {
}); });
} else if (this.psMsg == "2") { } else if (this.psMsg == "2") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿学习与发展评估结果综合统计",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -152,7 +178,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "52%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -206,6 +232,15 @@ export default {
}); });
} else if (this.psMsg == "1") { } else if (this.psMsg == "1") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿学习与发展评估结果综合统计",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -215,7 +250,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "52%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {

View File

@ -1,17 +1,26 @@
<template> <template>
<div :class="className" :style="{ height: height, width: width }" /> <div
v-loading="loading"
:class="className"
:style="{ height: height, width: width }"
/>
</template> </template>
<script> <script>
import echarts from "echarts"; import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme require("echarts/theme/macarons"); // echarts theme
import resize from "./mixins/resize"; import resize from "./mixins/resize";
import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent"; import {
getAssessmentStatisticsmb,
getAssessmentStatisticsbymb,
} from "@/api/benyi/assessmentcontent";
const animationDuration = 3000; const animationDuration = 3000;
export default { export default {
mbvalues: [],
values: [], values: [],
names: [],
mixins: [resize], mixins: [resize],
props: { props: {
className: { className: {
@ -35,6 +44,8 @@ export default {
return { return {
chart: null, chart: null,
childId: "", childId: "",
//
loading: true,
}; };
}, },
mounted() { mounted() {
@ -42,9 +53,9 @@ export default {
this.childId = childId; this.childId = childId;
// console.log("child-chart:" + childId); // console.log("child-chart:" + childId);
// console.log("psMsg:" + this.psMsg); // console.log("psMsg:" + this.psMsg);
// this.$nextTick(() => { this.$nextTick(() => {
// this.initChart(); this.initChart();
// }); });
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -55,13 +66,12 @@ export default {
}, },
methods: { methods: {
async getData() { async getData() {
await getAssessmentStatistics(this.childId, this.psMsg).then( await getAssessmentStatisticsbymb(this.childId, this.psMsg, 0).then(
(response) => { (response) => {
console.log(response);
let value = []; let value = [];
let len = response.statistics; let len = response.statistics;
for (var j = 0; j < len.length; j++) { for (var j = 0; j < len.length; j++) {
console.log(len[j]); // console.log(len[j]);
if (len[j] == "NaN") { if (len[j] == "NaN") {
value.push(0); value.push(0);
} else { } else {
@ -74,12 +84,49 @@ 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() { async initChart() {
this.loading = true;
await this.getData(); await this.getData();
await this.getNameData();
this.loading = false;
this.chart = echarts.init(this.$el, "macarons"); this.chart = echarts.init(this.$el, "macarons");
if (this.psMsg == "3") { if (this.psMsg == "3") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-健康",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -89,7 +136,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -101,13 +148,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -129,7 +170,7 @@ export default {
}, },
data: [ data: [
{ {
value: [72, 72, 72, 72, 72], value: this.mbvalues,
name: "60-72个月幼儿测评范围值", name: "60-72个月幼儿测评范围值",
}, },
{ {
@ -143,6 +184,15 @@ export default {
}); });
} else if (this.psMsg == "2") { } else if (this.psMsg == "2") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-健康",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -152,7 +202,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -164,13 +214,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -192,7 +236,7 @@ export default {
}, },
data: [ data: [
{ {
value: [60, 60, 60, 60, 60], value: this.mbvalues,
name: "48-60个月幼儿测评范围值", name: "48-60个月幼儿测评范围值",
}, },
{ {
@ -206,6 +250,15 @@ export default {
}); });
} else if (this.psMsg == "1") { } else if (this.psMsg == "1") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-健康",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -215,7 +268,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -227,13 +280,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -255,7 +302,7 @@ export default {
}, },
data: [ data: [
{ {
value: [48, 48, 48, 48, 48], value: this.mbvalues,
name: "36-48个月幼儿测评范围值", name: "36-48个月幼儿测评范围值",
}, },
{ {

View File

@ -1,17 +1,26 @@
<template> <template>
<div :class="className" :style="{ height: height, width: width }" /> <div
v-loading="loading"
:class="className"
:style="{ height: height, width: width }"
/>
</template> </template>
<script> <script>
import echarts from "echarts"; import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme require("echarts/theme/macarons"); // echarts theme
import resize from "./mixins/resize"; import resize from "./mixins/resize";
import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent"; import {
getAssessmentStatisticsmb,
getAssessmentStatisticsbymb,
} from "@/api/benyi/assessmentcontent";
const animationDuration = 3000; const animationDuration = 3000;
export default { export default {
mbvalues: [],
values: [], values: [],
names: [],
mixins: [resize], mixins: [resize],
props: { props: {
className: { className: {
@ -35,6 +44,8 @@ export default {
return { return {
chart: null, chart: null,
childId: "", childId: "",
//
loading: true,
}; };
}, },
mounted() { mounted() {
@ -42,9 +53,9 @@ export default {
this.childId = childId; this.childId = childId;
// console.log("child-chart:" + childId); // console.log("child-chart:" + childId);
// console.log("psMsg:" + this.psMsg); // console.log("psMsg:" + this.psMsg);
// this.$nextTick(() => { this.$nextTick(() => {
// this.initChart(); this.initChart();
// }); });
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -55,13 +66,12 @@ export default {
}, },
methods: { methods: {
async getData() { async getData() {
await getAssessmentStatistics(this.childId, this.psMsg).then( await getAssessmentStatisticsbymb(this.childId, this.psMsg, 3).then(
(response) => { (response) => {
console.log(response);
let value = []; let value = [];
let len = response.statistics; let len = response.statistics;
for (var j = 0; j < len.length; j++) { for (var j = 0; j < len.length; j++) {
console.log(len[j]); // console.log(len[j]);
if (len[j] == "NaN") { if (len[j] == "NaN") {
value.push(0); value.push(0);
} else { } else {
@ -74,12 +84,49 @@ 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() { async initChart() {
this.loading = true;
await this.getData(); await this.getData();
await this.getNameData();
this.loading = false;
this.chart = echarts.init(this.$el, "macarons"); this.chart = echarts.init(this.$el, "macarons");
if (this.psMsg == "3") { if (this.psMsg == "3") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-科学",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -89,7 +136,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -101,13 +148,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -129,7 +170,7 @@ export default {
}, },
data: [ data: [
{ {
value: [72, 72, 72, 72, 72], value: this.mbvalues,
name: "60-72个月幼儿测评范围值", name: "60-72个月幼儿测评范围值",
}, },
{ {
@ -143,6 +184,15 @@ export default {
}); });
} else if (this.psMsg == "2") { } else if (this.psMsg == "2") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-科学",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -152,7 +202,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -164,13 +214,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -192,7 +236,7 @@ export default {
}, },
data: [ data: [
{ {
value: [60, 60, 60, 60, 60], value: this.mbvalues,
name: "48-60个月幼儿测评范围值", name: "48-60个月幼儿测评范围值",
}, },
{ {
@ -206,6 +250,15 @@ export default {
}); });
} else if (this.psMsg == "1") { } else if (this.psMsg == "1") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-科学",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -215,7 +268,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -227,13 +280,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -255,7 +302,7 @@ export default {
}, },
data: [ data: [
{ {
value: [48, 48, 48, 48, 48], value: this.mbvalues,
name: "36-48个月幼儿测评范围值", name: "36-48个月幼儿测评范围值",
}, },
{ {

View File

@ -1,17 +1,26 @@
<template> <template>
<div :class="className" :style="{ height: height, width: width }" /> <div
v-loading="loading"
:class="className"
:style="{ height: height, width: width }"
/>
</template> </template>
<script> <script>
import echarts from "echarts"; import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme require("echarts/theme/macarons"); // echarts theme
import resize from "./mixins/resize"; import resize from "./mixins/resize";
import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent"; import {
getAssessmentStatisticsmb,
getAssessmentStatisticsbymb,
} from "@/api/benyi/assessmentcontent";
const animationDuration = 3000; const animationDuration = 3000;
export default { export default {
mbvalues: [],
values: [], values: [],
names: [],
mixins: [resize], mixins: [resize],
props: { props: {
className: { className: {
@ -35,6 +44,8 @@ export default {
return { return {
chart: null, chart: null,
childId: "", childId: "",
//
loading: true,
}; };
}, },
mounted() { mounted() {
@ -42,9 +53,9 @@ export default {
this.childId = childId; this.childId = childId;
// console.log("child-chart:" + childId); // console.log("child-chart:" + childId);
// console.log("psMsg:" + this.psMsg); // console.log("psMsg:" + this.psMsg);
// this.$nextTick(() => { this.$nextTick(() => {
// this.initChart(); this.initChart();
// }); });
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -55,13 +66,12 @@ export default {
}, },
methods: { methods: {
async getData() { async getData() {
await getAssessmentStatistics(this.childId, this.psMsg).then( await getAssessmentStatisticsbymb(this.childId, this.psMsg, 2).then(
(response) => { (response) => {
console.log(response);
let value = []; let value = [];
let len = response.statistics; let len = response.statistics;
for (var j = 0; j < len.length; j++) { for (var j = 0; j < len.length; j++) {
console.log(len[j]); // console.log(len[j]);
if (len[j] == "NaN") { if (len[j] == "NaN") {
value.push(0); value.push(0);
} else { } else {
@ -74,12 +84,49 @@ 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() { async initChart() {
this.loading = true;
await this.getData(); await this.getData();
await this.getNameData();
this.loading = false;
this.chart = echarts.init(this.$el, "macarons"); this.chart = echarts.init(this.$el, "macarons");
if (this.psMsg == "3") { if (this.psMsg == "3") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-社会",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -89,7 +136,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -101,13 +148,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -129,7 +170,7 @@ export default {
}, },
data: [ data: [
{ {
value: [72, 72, 72, 72, 72], value: this.mbvalues,
name: "60-72个月幼儿测评范围值", name: "60-72个月幼儿测评范围值",
}, },
{ {
@ -143,6 +184,15 @@ export default {
}); });
} else if (this.psMsg == "2") { } else if (this.psMsg == "2") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-社会",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -152,7 +202,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -164,13 +214,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -192,7 +236,7 @@ export default {
}, },
data: [ data: [
{ {
value: [60, 60, 60, 60, 60], value: this.mbvalues,
name: "48-60个月幼儿测评范围值", name: "48-60个月幼儿测评范围值",
}, },
{ {
@ -206,6 +250,15 @@ export default {
}); });
} else if (this.psMsg == "1") { } else if (this.psMsg == "1") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-社会",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -215,7 +268,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -227,13 +280,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -255,7 +302,7 @@ export default {
}, },
data: [ data: [
{ {
value: [48, 48, 48, 48, 48], value: this.mbvalues,
name: "36-48个月幼儿测评范围值", name: "36-48个月幼儿测评范围值",
}, },
{ {

View File

@ -1,17 +1,26 @@
<template> <template>
<div :class="className" :style="{ height: height, width: width }" /> <div
v-loading="loading"
:class="className"
:style="{ height: height, width: width }"
/>
</template> </template>
<script> <script>
import echarts from "echarts"; import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme require("echarts/theme/macarons"); // echarts theme
import resize from "./mixins/resize"; import resize from "./mixins/resize";
import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent"; import {
getAssessmentStatisticsmb,
getAssessmentStatisticsbymb,
} from "@/api/benyi/assessmentcontent";
const animationDuration = 3000; const animationDuration = 3000;
export default { export default {
mbvalues: [],
values: [], values: [],
names: [],
mixins: [resize], mixins: [resize],
props: { props: {
className: { className: {
@ -35,6 +44,8 @@ export default {
return { return {
chart: null, chart: null,
childId: "", childId: "",
//
loading: true,
}; };
}, },
mounted() { mounted() {
@ -42,9 +53,9 @@ export default {
this.childId = childId; this.childId = childId;
// console.log("child-chart:" + childId); // console.log("child-chart:" + childId);
// console.log("psMsg:" + this.psMsg); // console.log("psMsg:" + this.psMsg);
// this.$nextTick(() => { this.$nextTick(() => {
// this.initChart(); this.initChart();
// }); });
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -55,13 +66,12 @@ export default {
}, },
methods: { methods: {
async getData() { async getData() {
await getAssessmentStatistics(this.childId, this.psMsg).then( await getAssessmentStatisticsbymb(this.childId, this.psMsg, 4).then(
(response) => { (response) => {
console.log(response);
let value = []; let value = [];
let len = response.statistics; let len = response.statistics;
for (var j = 0; j < len.length; j++) { for (var j = 0; j < len.length; j++) {
console.log(len[j]); // console.log(len[j]);
if (len[j] == "NaN") { if (len[j] == "NaN") {
value.push(0); value.push(0);
} else { } else {
@ -74,12 +84,49 @@ 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() { async initChart() {
this.loading = true;
await this.getData(); await this.getData();
await this.getNameData();
this.loading = false;
this.chart = echarts.init(this.$el, "macarons"); this.chart = echarts.init(this.$el, "macarons");
if (this.psMsg == "3") { if (this.psMsg == "3") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-艺术",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -89,7 +136,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -101,13 +148,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -129,7 +170,7 @@ export default {
}, },
data: [ data: [
{ {
value: [72, 72, 72, 72, 72], value: this.mbvalues,
name: "60-72个月幼儿测评范围值", name: "60-72个月幼儿测评范围值",
}, },
{ {
@ -143,6 +184,15 @@ export default {
}); });
} else if (this.psMsg == "2") { } else if (this.psMsg == "2") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-艺术",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -152,7 +202,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -164,13 +214,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -192,7 +236,7 @@ export default {
}, },
data: [ data: [
{ {
value: [60, 60, 60, 60, 60], value: this.mbvalues,
name: "48-60个月幼儿测评范围值", name: "48-60个月幼儿测评范围值",
}, },
{ {
@ -206,6 +250,15 @@ export default {
}); });
} else if (this.psMsg == "1") { } else if (this.psMsg == "1") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-艺术",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -215,7 +268,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -227,13 +280,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -255,7 +302,7 @@ export default {
}, },
data: [ data: [
{ {
value: [48, 48, 48, 48, 48], value: this.mbvalues,
name: "36-48个月幼儿测评范围值", name: "36-48个月幼儿测评范围值",
}, },
{ {

View File

@ -1,17 +1,26 @@
<template> <template>
<div :class="className" :style="{ height: height, width: width }" /> <div
v-loading="loading"
:class="className"
:style="{ height: height, width: width }"
/>
</template> </template>
<script> <script>
import echarts from "echarts"; import echarts from "echarts";
require("echarts/theme/macarons"); // echarts theme require("echarts/theme/macarons"); // echarts theme
import resize from "./mixins/resize"; import resize from "./mixins/resize";
import { getAssessmentStatistics } from "@/api/benyi/assessmentcontent"; import {
getAssessmentStatisticsmb,
getAssessmentStatisticsbymb,
} from "@/api/benyi/assessmentcontent";
const animationDuration = 3000; const animationDuration = 3000;
export default { export default {
mbvalues: [],
values: [], values: [],
names: [],
mixins: [resize], mixins: [resize],
props: { props: {
className: { className: {
@ -35,6 +44,8 @@ export default {
return { return {
chart: null, chart: null,
childId: "", childId: "",
//
loading: true,
}; };
}, },
mounted() { mounted() {
@ -42,9 +53,9 @@ export default {
this.childId = childId; this.childId = childId;
// console.log("child-chart:" + childId); // console.log("child-chart:" + childId);
// console.log("psMsg:" + this.psMsg); // console.log("psMsg:" + this.psMsg);
// this.$nextTick(() => { this.$nextTick(() => {
// this.initChart(); this.initChart();
// }); });
}, },
beforeDestroy() { beforeDestroy() {
if (!this.chart) { if (!this.chart) {
@ -55,13 +66,12 @@ export default {
}, },
methods: { methods: {
async getData() { async getData() {
await getAssessmentStatistics(this.childId, this.psMsg).then( await getAssessmentStatisticsbymb(this.childId, this.psMsg, 1).then(
(response) => { (response) => {
console.log(response);
let value = []; let value = [];
let len = response.statistics; let len = response.statistics;
for (var j = 0; j < len.length; j++) { for (var j = 0; j < len.length; j++) {
console.log(len[j]); // console.log(len[j]);
if (len[j] == "NaN") { if (len[j] == "NaN") {
value.push(0); value.push(0);
} else { } else {
@ -74,12 +84,49 @@ 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() { async initChart() {
this.loading = true;
await this.getData(); await this.getData();
await this.getNameData();
this.loading = false;
this.chart = echarts.init(this.$el, "macarons"); this.chart = echarts.init(this.$el, "macarons");
if (this.psMsg == "3") { if (this.psMsg == "3") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-语言",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -89,7 +136,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -101,13 +148,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -129,7 +170,7 @@ export default {
}, },
data: [ data: [
{ {
value: [72, 72, 72, 72, 72], value: this.mbvalues,
name: "60-72个月幼儿测评范围值", name: "60-72个月幼儿测评范围值",
}, },
{ {
@ -143,6 +184,15 @@ export default {
}); });
} else if (this.psMsg == "2") { } else if (this.psMsg == "2") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-语言",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -152,7 +202,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -164,13 +214,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -192,7 +236,7 @@ export default {
}, },
data: [ data: [
{ {
value: [60, 60, 60, 60, 60], value: this.mbvalues,
name: "48-60个月幼儿测评范围值", name: "48-60个月幼儿测评范围值",
}, },
{ {
@ -206,6 +250,15 @@ export default {
}); });
} else if (this.psMsg == "1") { } else if (this.psMsg == "1") {
this.chart.setOption({ this.chart.setOption({
title: {
text: "幼儿评估结果-语言",
textStyle: {
fontSize: 14,
lineHeight: 20,
},
top: "top",
left: "center",
},
tooltip: { tooltip: {
trigger: "axis", trigger: "axis",
axisPointer: { axisPointer: {
@ -215,7 +268,7 @@ export default {
}, },
radar: { radar: {
radius: "66%", radius: "66%",
center: ["50%", "42%"], center: ["50%", "50%"],
splitNumber: 8, splitNumber: 8,
splitArea: { splitArea: {
areaStyle: { areaStyle: {
@ -227,13 +280,7 @@ export default {
shadowOffsetY: 15, shadowOffsetY: 15,
}, },
}, },
indicator: [ indicator: this.names,
{ name: "健康", max: 100 },
{ name: "语言", max: 100 },
{ name: "社会", max: 100 },
{ name: "科学", max: 100 },
{ name: "艺术", max: 100 },
],
}, },
legend: { legend: {
left: "center", left: "center",
@ -255,7 +302,7 @@ export default {
}, },
data: [ data: [
{ {
value: [48, 48, 48, 48, 48], value: this.mbvalues,
name: "36-48个月幼儿测评范围值", name: "36-48个月幼儿测评范围值",
}, },
{ {

View File

@ -177,4 +177,51 @@ public class ByAssessmentcontentController extends BaseController {
return ajaxResult; 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;
}
} }

View File

@ -90,4 +90,12 @@ public interface ByAssessmentcontentMapper {
* @return 结果 * @return 结果
*/ */
public int selectCountElementByChild(ByAssessmentcontent byAssessmentcontent); public int selectCountElementByChild(ByAssessmentcontent byAssessmentcontent);
/**
* 节点根据id
*
* @param id 内容ID
* @return 结果
*/
public List<ByAssessmentcontent> selectNodeByid(Long id);
} }

View File

@ -107,4 +107,12 @@ public interface IByAssessmentcontentService {
* @return 结果 * @return 结果
*/ */
public int selectCountElementByChild(ByAssessmentcontent byAssessmentcontent); public int selectCountElementByChild(ByAssessmentcontent byAssessmentcontent);
/**
* 节点根据id
*
* @param id 内容ID
* @return 结果
*/
public List<ByAssessmentcontent> selectNodeByid(Long id);
} }

View File

@ -224,4 +224,15 @@ public class ByAssessmentcontentServiceImpl implements IByAssessmentcontentServi
return byAssessmentcontentMapper.selectCountElementByChild(byAssessmentcontent); return byAssessmentcontentMapper.selectCountElementByChild(byAssessmentcontent);
} }
/**
* 节点根据id
*
* @param id 内容ID
* @return 结果
*/
@Override
public List<ByAssessmentcontent> selectNodeByid(Long id){
return byAssessmentcontentMapper.selectNodeByid(id);
}
} }

View File

@ -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})) ; where find_in_set(id, getChildLst(#{id})) ;
</select> </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 id="insertByAssessmentcontent" parameterType="ByAssessmentcontent" useGeneratedKeys="true" keyProperty="id">
insert into by_assessmentcontent insert into by_assessmentcontent
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">