评估-领域-新图表数据化

This commit is contained in:
zhanglipeng 2020-11-15 11:18:25 +08:00
parent 8de6c6900c
commit 59c7fe6a6c
12 changed files with 312 additions and 156 deletions

View File

@ -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'
})
}

View File

@ -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(

View File

@ -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个月幼儿测评范围值",
},
{

View File

@ -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个月幼儿测评范围值",
},
{

View File

@ -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个月幼儿测评范围值",
},
{

View File

@ -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个月幼儿测评范围值",
},
{

View File

@ -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个月幼儿测评范围值",
},
{

View File

@ -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;
}
}

View File

@ -90,4 +90,12 @@ public interface ByAssessmentcontentMapper {
* @return 结果
*/
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 结果
*/
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);
}
/**
* 节点根据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})) ;
</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=",">