幼儿班级图标之类
This commit is contained in:
parent
abd75b3167
commit
f592ba9354
10
src/api/system/KindergartenPhysicalTest.js
Normal file
10
src/api/system/KindergartenPhysicalTest.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function analysis(query) {
|
||||||
|
return request({
|
||||||
|
url: '/kindergarten/side/analysis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
10
src/api/system/action.js
Normal file
10
src/api/system/action.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function listAction(query) {
|
||||||
|
return request({
|
||||||
|
url: '/system/testActionDevelopment/listAction',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
10
src/api/system/classconstitution.js
Normal file
10
src/api/system/classconstitution.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function ClassList(query) {
|
||||||
|
return request({
|
||||||
|
url: 'system/testItemAvgScore/ClassList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
10
src/api/system/constitution.js
Normal file
10
src/api/system/constitution.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function analysis(query) {
|
||||||
|
return request({
|
||||||
|
url: '/children/ranking/analysis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
10
src/api/system/heightAndWeight.js
Normal file
10
src/api/system/heightAndWeight.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function analysis(query) {
|
||||||
|
return request({
|
||||||
|
url: '/average/heightAndWeight/analysis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
10
src/api/system/physique.js
Normal file
10
src/api/system/physique.js
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function analysis(query) {
|
||||||
|
return request({
|
||||||
|
url: '/kindergarten/physique/analysis',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
21
src/api/system/survey.js
Normal file
21
src/api/system/survey.js
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function StudentList(query) {
|
||||||
|
return request({
|
||||||
|
url: 'system/testAll/StudentList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 查询
|
||||||
|
export function ClassList(query) {
|
||||||
|
return request({
|
||||||
|
url: 'system/testAll/ClassList',
|
||||||
|
method: 'get',
|
||||||
|
params: query
|
||||||
|
})
|
||||||
|
}
|
||||||
640
src/views/system/KindergartenPhysicalTest/index.vue
Normal file
640
src/views/system/KindergartenPhysicalTest/index.vue
Normal file
@ -0,0 +1,640 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属批次" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" class="card-box" style="">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center; font-size: 20px">
|
||||||
|
<span>基本信息</span>
|
||||||
|
</div>
|
||||||
|
<div style="margin-left: 50px; text-align: center; margin-top: 20px">
|
||||||
|
<span>幼儿园名称:</span
|
||||||
|
><span style="margin-left: 20px; margin-right: 10px">{{
|
||||||
|
analysislist.kindergartenName
|
||||||
|
}}</span
|
||||||
|
>幼儿园
|
||||||
|
|
||||||
|
<span style="margin-left: 50px">幼儿园性质:</span
|
||||||
|
><span style="margin-left: 20px; margin-right: 20px">{{
|
||||||
|
analysislist.kindergartenType == type.dictValue
|
||||||
|
? type.dictLabel
|
||||||
|
: type2.dictLabel
|
||||||
|
}}</span>
|
||||||
|
|
||||||
|
<span style="margin-left: 50px">参与体测人数:</span
|
||||||
|
><span style="margin-left: 20px">{{
|
||||||
|
analysislist.testItemStudentCount
|
||||||
|
}}</span
|
||||||
|
>人
|
||||||
|
|
||||||
|
<div style="display: flex; margin-top: 40px">
|
||||||
|
<div
|
||||||
|
slot="header"
|
||||||
|
style="width: 50%; text-align: center; font-size: 18px"
|
||||||
|
>
|
||||||
|
<span>本园参加体测各年龄阶段人数分部</span>
|
||||||
|
<div
|
||||||
|
id="main"
|
||||||
|
style="
|
||||||
|
width: 500px;
|
||||||
|
height: 300px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 40px;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div
|
||||||
|
slot="header"
|
||||||
|
style="
|
||||||
|
width: 50%;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 18px;
|
||||||
|
position: relative;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<span>本园体测成绩达标率(%)</span>
|
||||||
|
<span>
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 58%;
|
||||||
|
left: 47.5%;
|
||||||
|
font-size: 25px;
|
||||||
|
"
|
||||||
|
>{{ analysislist.standardRate }}%</span
|
||||||
|
>
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 67%;
|
||||||
|
left: 46.5%;
|
||||||
|
font-size: 16px;
|
||||||
|
"
|
||||||
|
>达标率</span
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
<div
|
||||||
|
id="main2"
|
||||||
|
style="
|
||||||
|
width: 500px;
|
||||||
|
height: 300px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 20px;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { analysis } from "@/api/system/KindergartenPhysicalTest";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "KindergartenPhysicalTest",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//班级类型
|
||||||
|
kindergartenType: "kindergarten_type",
|
||||||
|
type: {},
|
||||||
|
type2: {},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
analysislist: [],
|
||||||
|
//查询传值
|
||||||
|
analysisqueryParams: {
|
||||||
|
kindergartenId: "",
|
||||||
|
batchCode: "",
|
||||||
|
// kindergartenId: "18",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
// this.analysisinfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
analysisinfo() {
|
||||||
|
analysis(this.analysisqueryParams).then((res) => {
|
||||||
|
this.analysislist = res.data;
|
||||||
|
console.log(this.analysislist);
|
||||||
|
this.options();
|
||||||
|
var app = {};
|
||||||
|
|
||||||
|
var myChart = echarts.init(document.getElementById("main"));
|
||||||
|
var option;
|
||||||
|
|
||||||
|
const posList = [
|
||||||
|
"left",
|
||||||
|
"right",
|
||||||
|
"top",
|
||||||
|
"bottom",
|
||||||
|
"inside",
|
||||||
|
"insideTop",
|
||||||
|
"insideLeft",
|
||||||
|
"insideRight",
|
||||||
|
"insideBottom",
|
||||||
|
"insideTopLeft",
|
||||||
|
"insideTopRight",
|
||||||
|
"insideBottomLeft",
|
||||||
|
"insideBottomRight",
|
||||||
|
];
|
||||||
|
app.configParameters = {
|
||||||
|
rotate: {
|
||||||
|
min: 0,
|
||||||
|
max: 90,
|
||||||
|
},
|
||||||
|
align: {
|
||||||
|
options: {
|
||||||
|
left: "left",
|
||||||
|
center: "center",
|
||||||
|
right: "right",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
verticalAlign: {
|
||||||
|
options: {
|
||||||
|
top: "top",
|
||||||
|
middle: "middle",
|
||||||
|
bottom: "bottom",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
position: {
|
||||||
|
options: posList.reduce(function (map, pos) {
|
||||||
|
map[pos] = pos;
|
||||||
|
return map;
|
||||||
|
}, {}),
|
||||||
|
},
|
||||||
|
distance: {
|
||||||
|
min: 0,
|
||||||
|
max: 100,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
app.config = {
|
||||||
|
rotate: 0,
|
||||||
|
align: "center",
|
||||||
|
verticalAlign: "middle",
|
||||||
|
position: "top",
|
||||||
|
distance: 15,
|
||||||
|
onChange: function () {
|
||||||
|
const labelOption = {
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
};
|
||||||
|
myChart.setOption({
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const labelOption = {
|
||||||
|
show: true,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
formatter: "{c}",
|
||||||
|
fontSize: 16,
|
||||||
|
rich: {
|
||||||
|
name: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
option = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
data: ["男", "女"],
|
||||||
|
},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: ["3-4岁", "4-5岁", "5-6岁", "6岁以上"],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: "男",
|
||||||
|
type: "bar",
|
||||||
|
barGap: 0,
|
||||||
|
color: "#60C5F1",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: [
|
||||||
|
this.analysislist.threeAndFourMaleCount,
|
||||||
|
this.analysislist.fourAndFiveMaleCount,
|
||||||
|
this.analysislist.fiveAndSixMaleCount,
|
||||||
|
this.analysislist.sixAndMoreMaleCount,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "女",
|
||||||
|
type: "bar",
|
||||||
|
color: "#98E0AD",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: [
|
||||||
|
this.analysislist.threeAndFourFeMaleCount,
|
||||||
|
this.analysislist.fourAndFiveFeMaleCount,
|
||||||
|
this.analysislist.fiveAndSixFeMaleCount,
|
||||||
|
this.analysislist.sixAndMoreFeMaleCount,
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
option && myChart.setOption(option);
|
||||||
|
this.itemshow = ture;
|
||||||
|
this.itemshow2 = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
options() {
|
||||||
|
var chartDom = document.getElementById("main2");
|
||||||
|
var myChart = echarts.init(chartDom);
|
||||||
|
var option2;
|
||||||
|
|
||||||
|
option2 = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "item",
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
top: "5%",
|
||||||
|
left: "center",
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
center: ["50%", "60%"],
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
formatter: "{d}%", //只要百分比
|
||||||
|
},
|
||||||
|
labelLine: { show: true },
|
||||||
|
color: function (colors) {
|
||||||
|
var colorList = [
|
||||||
|
"#5470c6",
|
||||||
|
"#fc8251",
|
||||||
|
"#91cd77",
|
||||||
|
"#ef6567",
|
||||||
|
"#f9c956",
|
||||||
|
"#75bedc",
|
||||||
|
];
|
||||||
|
return colorList[colors.dataIndex];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
name: "",
|
||||||
|
type: "pie",
|
||||||
|
radius: ["40%", "70%"],
|
||||||
|
avoidLabelOverlap: false,
|
||||||
|
label: {
|
||||||
|
show: false,
|
||||||
|
position: "center",
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
label: {
|
||||||
|
show: false,
|
||||||
|
fontSize: "20",
|
||||||
|
fontWeight: "bold",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
labelLine: {
|
||||||
|
show: false,
|
||||||
|
},
|
||||||
|
data: [
|
||||||
|
{ value: this.analysislist.excellentRate, name: ">80优秀" },
|
||||||
|
{ value: this.analysislist.qualifyRate, name: "60-80合格" },
|
||||||
|
{ value: this.analysislist.unQualifyRate, name: "<60不合格" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
option2 && myChart.setOption(option2);
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.analysisqueryParams.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.analysisinfo();
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.analysisqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.analysisqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
tKindergartenInfo(this.kindergartenType).then((res) => {
|
||||||
|
this.type = res.data[0];
|
||||||
|
this.type2 = res.data[1];
|
||||||
|
});
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
::v-deep .el-card__header {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
782
src/views/system/action/index.vue
Normal file
782
src/views/system/action/index.vue
Normal file
@ -0,0 +1,782 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属班级" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="className == '请选择班级'"
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="学生" prop="categoryName" label-width="45px">
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
v-if="studentname == '请选择学生'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属批次" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //学生 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择学生"
|
||||||
|
:visible.sync="studentshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 70px"
|
||||||
|
:before-close="studentcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="studentInfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
v-if="studentId == scope.row.id"
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="学生姓名"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="性别"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.studentSex == "MALE" ? "男" : "女" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="homeAddress"
|
||||||
|
label="住址"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total3 > 0"
|
||||||
|
:total="total3"
|
||||||
|
:page.sync="studentqueryParams.pageNum"
|
||||||
|
:limit.sync="studentqueryParams.pageSize"
|
||||||
|
@pagination="studentlist"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //班级 -->
|
||||||
|
<el-dialog
|
||||||
|
width="1000px"
|
||||||
|
title="选择所属班级"
|
||||||
|
:visible.sync="classshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="classcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
v-if="classId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="classType"
|
||||||
|
label="班级类型"
|
||||||
|
width="160"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.classType == dictValue1 ? "大班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue2 ? "中班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue3 ? "小班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue4 ? "毕业" : "" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="classTeacher"
|
||||||
|
label="班主任姓名"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total2 > 0"
|
||||||
|
:total="total2"
|
||||||
|
:page.sync="classqueryParams.pageNum"
|
||||||
|
:limit.sync="classqueryParams.pageSize"
|
||||||
|
@pagination="classinfo"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" class="card-box" style="">
|
||||||
|
<!-- <el-card> -->
|
||||||
|
<div slot="header" style="text-align: center; font-size: 25px">
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100%; display: flex; flex-wrap: wrap">
|
||||||
|
<el-table
|
||||||
|
:data="actionlist"
|
||||||
|
border
|
||||||
|
:span-method="arraySpanMethod"
|
||||||
|
style="width: 100%; margin-top: 20px"
|
||||||
|
>
|
||||||
|
<el-table-column
|
||||||
|
prop="categoryName"
|
||||||
|
label="测试分类"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="itemName"
|
||||||
|
label="测试项目"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="itemScore"
|
||||||
|
label="动作技能总分"
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="unifiedStandardScore"
|
||||||
|
label="统一最高得分"
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="smallStandardScore"
|
||||||
|
label="小班最高得分"
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="middleStandardScore"
|
||||||
|
label="中班最高得分"
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="largeStandardScore"
|
||||||
|
label="大班最高得分"
|
||||||
|
width="120"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="itemScoreAll"
|
||||||
|
label="综合得分"
|
||||||
|
width="176"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="syntheticalAssess"
|
||||||
|
label="综合评价"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
prop="remark"
|
||||||
|
label="测试目的"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
<!-- </el-card> -->
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { listStudentInfo } from "@/api/system/studentInfo";
|
||||||
|
import { listClassinfo } from "@/api/system/classinfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { listAction } from "@/api/system/action";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "action",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total2: 0,
|
||||||
|
total3: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
classshow: false,
|
||||||
|
studentshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
//班级类型
|
||||||
|
dictValue1: "",
|
||||||
|
dictValue2: "",
|
||||||
|
dictValue3: "",
|
||||||
|
dictValue4: "",
|
||||||
|
ClassType: "class_type",
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//学生查询
|
||||||
|
studentqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
classId: "",
|
||||||
|
nationDictId: null,
|
||||||
|
studentName: null,
|
||||||
|
studentSex: null,
|
||||||
|
studentNumber: null,
|
||||||
|
birthDate: null,
|
||||||
|
cardNumber: null,
|
||||||
|
onceName: null,
|
||||||
|
homeAddress: null,
|
||||||
|
},
|
||||||
|
//班级查询
|
||||||
|
classqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
kindergartenId: "",
|
||||||
|
className: null,
|
||||||
|
classType: null,
|
||||||
|
},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//班级list
|
||||||
|
classinfoList: [],
|
||||||
|
//班级名字
|
||||||
|
className: "请选择班级",
|
||||||
|
//班级ID
|
||||||
|
classId: "",
|
||||||
|
//学生list
|
||||||
|
studentInfoList: [],
|
||||||
|
//学生名字
|
||||||
|
studentname: "请选择学生",
|
||||||
|
//学生ID
|
||||||
|
studentId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
//
|
||||||
|
actionlist: [],
|
||||||
|
spanArr: [],
|
||||||
|
position: 0, // 标记位置
|
||||||
|
spanArr2: [],
|
||||||
|
position2: 0, // 标记位置
|
||||||
|
//查询传值
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
// studentId: "10",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
studentId: "",
|
||||||
|
batchCode: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.class();
|
||||||
|
// this.listActioninfo();
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
// 需求,也就是合并多少行,
|
||||||
|
// 对于被合并的单元格,rowspan和colspan都为零。而合并的单元格,他的colspan为1,因为它不跨列。
|
||||||
|
// 对表格数据进行以下处理。假设要合并的字段为a。相同的a单元格合并起来。
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
actionforeach() {
|
||||||
|
this.actionlist.forEach((item, index) => {
|
||||||
|
if (index == 0) {
|
||||||
|
this.spanArr.push(1);
|
||||||
|
this.position = 0;
|
||||||
|
this.spanArr2.push(1);
|
||||||
|
this.position2 = 0;
|
||||||
|
} else {
|
||||||
|
// 判断当前元素与上一个元素是否相同 也就是判断 a 的值是否相同
|
||||||
|
if (
|
||||||
|
this.actionlist[index].categoryName ==
|
||||||
|
this.actionlist[index - 1].categoryName
|
||||||
|
) {
|
||||||
|
// 如果相同 当前位置的 值 加1
|
||||||
|
this.spanArr[this.position] += 1;
|
||||||
|
this.spanArr.push(0); // 下一个位置 给 0
|
||||||
|
} else {
|
||||||
|
this.spanArr.push(1); // 不相等下一个位置给 1
|
||||||
|
this.position = index; // 标记位置 设置为当前位置
|
||||||
|
}
|
||||||
|
|
||||||
|
if (
|
||||||
|
this.actionlist[index].itemScoreAll ==
|
||||||
|
this.actionlist[index - 1].itemScoreAll
|
||||||
|
) {
|
||||||
|
this.spanArr2[this.position] += 1;
|
||||||
|
this.spanArr2.push(0); // 下一个位置 给 0
|
||||||
|
} else {
|
||||||
|
this.spanArr2.push(1); // 不相等下一个位置给 1
|
||||||
|
this.position2 = index; // 标记位置 设置为当前位置
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
// console.log(this.spanArr);
|
||||||
|
},
|
||||||
|
|
||||||
|
// 合并单元格
|
||||||
|
arraySpanMethod({ row, column, rowIndex, columnIndex }) {
|
||||||
|
// console.log(columnIndex);
|
||||||
|
// 对第一列 相对字段 a 进行合并
|
||||||
|
if (columnIndex == 0) {
|
||||||
|
// console.log(this.spanArr);
|
||||||
|
const _row = this.spanArr[rowIndex];
|
||||||
|
const _col = _row > 0 ? 1 : 0;
|
||||||
|
return {
|
||||||
|
rowspan: _row,
|
||||||
|
colspan: _col,
|
||||||
|
};
|
||||||
|
} else if (columnIndex == 7) {
|
||||||
|
// console.log(this.spanArr2);
|
||||||
|
const _row = this.spanArr2[rowIndex];
|
||||||
|
const _col = _row > 0 ? 1 : 0;
|
||||||
|
return {
|
||||||
|
rowspan: _row,
|
||||||
|
colspan: _col,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//动作发展检测
|
||||||
|
|
||||||
|
listActioninfo() {
|
||||||
|
listAction(this.queryParams).then((res) => {
|
||||||
|
if (!res.rows || res.rows == "") {
|
||||||
|
this.itemshow2 = true;
|
||||||
|
this.itemshow = false;
|
||||||
|
this.batchCodeName = "请选择批次";
|
||||||
|
this.batchCodeId = "";
|
||||||
|
} else {
|
||||||
|
// res.rows.itemCategoryList.forEach((e) => {
|
||||||
|
// e.push(res.rows.categoryName);
|
||||||
|
// });
|
||||||
|
this.itemshow = true;
|
||||||
|
this.itemshow2 = false;
|
||||||
|
this.actionlist = res.rows;
|
||||||
|
console.log(this.actionlist);
|
||||||
|
this.actionforeach();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 点击学生按钮
|
||||||
|
studentshowclick() {
|
||||||
|
if (this.studentqueryParams.classId == "") {
|
||||||
|
this.$message.error("请先选择班级");
|
||||||
|
} else {
|
||||||
|
this.studentshow = true;
|
||||||
|
this.studentlist();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.analysisqueryParams.studentId == "") {
|
||||||
|
this.$message.error("请先选择学生");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.analysisqueryParams.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
// this.listActioninfo();
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//学生左侧按钮
|
||||||
|
studentclick(row) {
|
||||||
|
this.studentname = row.studentName;
|
||||||
|
this.studentId = row.id;
|
||||||
|
this.studentshow = false;
|
||||||
|
this.analysisqueryParams.studentId = row.id;
|
||||||
|
},
|
||||||
|
//获取学生
|
||||||
|
studentlist() {
|
||||||
|
listStudentInfo(this.studentqueryParams).then((res) => {
|
||||||
|
this.studentInfoList = res.rows;
|
||||||
|
this.total3 = res.total;
|
||||||
|
// console.log(this.studentInfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击所属班级
|
||||||
|
classshowclick() {
|
||||||
|
if (this.classqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.classshow = true;
|
||||||
|
this.classinfo();
|
||||||
|
}
|
||||||
|
// console.log(this.classqueryParams);
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//学生关闭
|
||||||
|
studentcancel() {
|
||||||
|
this.studentshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级关闭
|
||||||
|
classcancel() {
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//班级左侧点击
|
||||||
|
classclick(row) {
|
||||||
|
// console.log(row);
|
||||||
|
this.className = row.className;
|
||||||
|
this.classId = row.id;
|
||||||
|
this.studentqueryParams.classId = row.id;
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.classqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级类型
|
||||||
|
class() {
|
||||||
|
tKindergartenInfo(this.ClassType).then((res) => {
|
||||||
|
this.dictValue1 = res.data[0].dictValue;
|
||||||
|
this.dictValue2 = res.data[1].dictValue;
|
||||||
|
this.dictValue3 = res.data[2].dictValue;
|
||||||
|
this.dictValue4 = res.data[3].dictValue;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//班级list
|
||||||
|
classinfo() {
|
||||||
|
listClassinfo(this.classqueryParams).then((response) => {
|
||||||
|
this.classinfoList = response.rows;
|
||||||
|
this.total2 = response.total;
|
||||||
|
|
||||||
|
// console.log(this.classinfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
::v-deep .el-card__header {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
767
src/views/system/classconstitution/index.vue
Normal file
767
src/views/system/classconstitution/index.vue
Normal file
@ -0,0 +1,767 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属班级" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="className == '请选择班级'"
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="批次成绩" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //班级 -->
|
||||||
|
<el-dialog
|
||||||
|
width="1000px"
|
||||||
|
title="选择所属班级"
|
||||||
|
:visible.sync="classshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="classcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
v-if="classId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="classType"
|
||||||
|
label="班级类型"
|
||||||
|
width="160"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.classType == dictValue1 ? "大班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue2 ? "中班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue3 ? "小班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue4 ? "毕业" : "" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="classTeacher"
|
||||||
|
label="班主任姓名"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total2 > 0"
|
||||||
|
:total="total2"
|
||||||
|
:page.sync="classqueryParams.pageNum"
|
||||||
|
:limit.sync="classqueryParams.pageSize"
|
||||||
|
@pagination="classinfo"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<div style="margin: 0 auto">
|
||||||
|
<div
|
||||||
|
style="display: flex; text-align: center; justify-content: center"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 120px;
|
||||||
|
line-height: 60px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
年龄
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 120px;
|
||||||
|
line-height: 60px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
平均总分
|
||||||
|
</div>
|
||||||
|
<div v-for="item in categoryTableNameList" :key="item.prentId">
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
text-align: center;
|
||||||
|
line-height: 30px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.parentName }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
line-height: 30px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="uitem in item.childrenTableNameList"
|
||||||
|
:key="uitem.categoryId"
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
|
{{ uitem.categoryName }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
style="text-align: center; display: flex; justify-content: center"
|
||||||
|
v-for="item in categoryScoreList"
|
||||||
|
:key="item.prentId"
|
||||||
|
>
|
||||||
|
<div style="width: 120px; line-height: 60px">
|
||||||
|
{{ item.className }}
|
||||||
|
</div>
|
||||||
|
<div style="width: 120px; line-height: 60px">
|
||||||
|
{{ item.totalAvScore }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div style="display: flex; line-height: 60px">
|
||||||
|
<div
|
||||||
|
v-for="uitem in item.list"
|
||||||
|
:key="uitem.categoryId"
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
|
{{ uitem }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<div style="text-align: center">
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<div class="">
|
||||||
|
<div
|
||||||
|
ref="chart"
|
||||||
|
id="chart"
|
||||||
|
style="width: 1300px; height: 600px; margin: 50px auto"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没成绩</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { listClassinfo } from "@/api/system/classinfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { ClassList } from "@/api/system/classconstitution";
|
||||||
|
export default {
|
||||||
|
name: "comprehensive",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: true,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total2: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
classshow: false,
|
||||||
|
studentshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
//班级类型
|
||||||
|
dictValue1: "",
|
||||||
|
dictValue2: "",
|
||||||
|
dictValue3: "",
|
||||||
|
dictValue4: "",
|
||||||
|
ClassType: "class_type",
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//班级查询
|
||||||
|
classqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
kindergartenId: "",
|
||||||
|
className: null,
|
||||||
|
classType: null,
|
||||||
|
},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//班级list
|
||||||
|
classinfoList: [],
|
||||||
|
//班级名字
|
||||||
|
className: "请选择班级",
|
||||||
|
//班级ID
|
||||||
|
classId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
// 查询参数
|
||||||
|
ClassListlist: {
|
||||||
|
// batchCode: "",
|
||||||
|
batchCode: "PC202208030005",
|
||||||
|
kindergartenId: "18",
|
||||||
|
classId: "2",
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
categoryTableNameList: [],
|
||||||
|
categoryAgeFractionList: [],
|
||||||
|
categoryScoreList: [],
|
||||||
|
totalAvgFraction: "",
|
||||||
|
listname: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.class();
|
||||||
|
this.ClassListinfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
ClassListinfo() {
|
||||||
|
ClassList(this.ClassListlist).then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
|
||||||
|
this.totalAvgFraction = res.data.totalAvgFraction;
|
||||||
|
this.categoryTableNameList = res.data.categoryTableNameList;
|
||||||
|
this.categoryAgeFractionList = res.data.categoryAgeFractionList;
|
||||||
|
this.categoryScoreList = res.data.categoryScoreList;
|
||||||
|
|
||||||
|
if (res.data == [] || !res.data) {
|
||||||
|
this.itemshow2 = true;
|
||||||
|
this.itemshow = false;
|
||||||
|
} else {
|
||||||
|
var list = [];
|
||||||
|
this.categoryTableNameList.forEach((e) => {
|
||||||
|
e.childrenTableNameList.forEach((el) => {
|
||||||
|
list.push(el.categoryId);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
let yname = [];
|
||||||
|
|
||||||
|
this.categoryScoreList.forEach((el) => {
|
||||||
|
yname.push(el.className);
|
||||||
|
var listname = list.map((e) => {
|
||||||
|
var num = 0;
|
||||||
|
var number = el.categoryScoreList.findIndex(
|
||||||
|
(o) => o.categoryId == e
|
||||||
|
);
|
||||||
|
if (number != -1) {
|
||||||
|
num = el.categoryScoreList[number].categoryName;
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
});
|
||||||
|
this.listname = listname;
|
||||||
|
|
||||||
|
var list1 = list.map((e) => {
|
||||||
|
var num = 0;
|
||||||
|
var number = el.categoryScoreList.findIndex(
|
||||||
|
(o) => o.categoryId == e
|
||||||
|
);
|
||||||
|
if (number != -1) {
|
||||||
|
num = el.categoryScoreList[number].avgScore;
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
});
|
||||||
|
el.list = list1;
|
||||||
|
});
|
||||||
|
console.log(this.categoryScoreList);
|
||||||
|
|
||||||
|
var myChart = echarts.init(document.getElementById("chart"));
|
||||||
|
|
||||||
|
var option;
|
||||||
|
|
||||||
|
const posList = [
|
||||||
|
"left",
|
||||||
|
"right",
|
||||||
|
"top",
|
||||||
|
"bottom",
|
||||||
|
"inside",
|
||||||
|
"insideTop",
|
||||||
|
"insideLeft",
|
||||||
|
"insideRight",
|
||||||
|
"insideBottom",
|
||||||
|
"insideTopLeft",
|
||||||
|
"insideTopRight",
|
||||||
|
"insideBottomLeft",
|
||||||
|
"insideBottomRight",
|
||||||
|
];
|
||||||
|
app.configParameters = {
|
||||||
|
rotate: {
|
||||||
|
min: 0,
|
||||||
|
max: 90,
|
||||||
|
},
|
||||||
|
align: {
|
||||||
|
options: {
|
||||||
|
left: "left",
|
||||||
|
center: "center",
|
||||||
|
right: "right",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
verticalAlign: {
|
||||||
|
options: {
|
||||||
|
top: "top",
|
||||||
|
middle: "middle",
|
||||||
|
bottom: "bottom",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
position: {
|
||||||
|
options: posList.reduce(function (map, pos) {
|
||||||
|
map[pos] = pos;
|
||||||
|
return map;
|
||||||
|
}, {}),
|
||||||
|
},
|
||||||
|
distance: {
|
||||||
|
min: 0,
|
||||||
|
max: 100,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
app.config = {
|
||||||
|
rotate: 0,
|
||||||
|
align: "center",
|
||||||
|
verticalAlign: "middle",
|
||||||
|
position: "top",
|
||||||
|
distance: 15,
|
||||||
|
onChange: function () {
|
||||||
|
const labelOption = {
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
};
|
||||||
|
myChart.setOption({
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const labelOption = {
|
||||||
|
show: true,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
formatter: "{c}",
|
||||||
|
fontSize: 16,
|
||||||
|
rich: {
|
||||||
|
name: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
var yseries = [];
|
||||||
|
var name = "";
|
||||||
|
var names = [];
|
||||||
|
|
||||||
|
for (var i = 0; i < this.listname.length; i++) {
|
||||||
|
name = this.categoryScoreList[0].categoryScoreList[i].categoryName;
|
||||||
|
var ydata = [
|
||||||
|
this.categoryScoreList[0].list[i],
|
||||||
|
this.categoryScoreList[1].list[i],
|
||||||
|
this.categoryScoreList[2].list[i],
|
||||||
|
];
|
||||||
|
var obj = {
|
||||||
|
name: name,
|
||||||
|
type: "bar",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: ydata,
|
||||||
|
};
|
||||||
|
yseries.push(obj);
|
||||||
|
names.push(name);
|
||||||
|
}
|
||||||
|
console.log(yseries)
|
||||||
|
|
||||||
|
option = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
data: names,
|
||||||
|
},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: yname,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: yseries,
|
||||||
|
};
|
||||||
|
|
||||||
|
option && myChart.setOption(option);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.ClassListlist.classId == "") {
|
||||||
|
this.$message.error("请先选择班级");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.ClassListlist.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击所属班级
|
||||||
|
classshowclick() {
|
||||||
|
if (this.classqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.classshow = true;
|
||||||
|
this.classinfo();
|
||||||
|
}
|
||||||
|
// console.log(this.classqueryParams);
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级关闭
|
||||||
|
classcancel() {
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//班级左侧点击
|
||||||
|
classclick(row) {
|
||||||
|
// console.log(row);
|
||||||
|
this.className = row.className;
|
||||||
|
this.classId = row.id;
|
||||||
|
this.ClassListlist.classId = row.id;
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.ClassListlist.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级类型
|
||||||
|
class() {
|
||||||
|
tKindergartenInfo(this.ClassType).then((res) => {
|
||||||
|
this.dictValue1 = res.data[0].dictValue;
|
||||||
|
this.dictValue2 = res.data[1].dictValue;
|
||||||
|
this.dictValue3 = res.data[2].dictValue;
|
||||||
|
this.dictValue4 = res.data[3].dictValue;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//班级list
|
||||||
|
classinfo() {
|
||||||
|
listClassinfo(this.classqueryParams).then((response) => {
|
||||||
|
this.classinfoList = response.rows;
|
||||||
|
this.total2 = response.total;
|
||||||
|
// console.log(this.classinfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
@ -593,8 +593,8 @@ export default {
|
|||||||
synthesizelist: {
|
synthesizelist: {
|
||||||
studentId: "",
|
studentId: "",
|
||||||
batchCode: "",
|
batchCode: "",
|
||||||
// studentId: "10",
|
studentId: "10",
|
||||||
// batchCode: "PC202208030005",
|
batchCode: "PC202208030005",
|
||||||
},
|
},
|
||||||
//批次编号
|
//批次编号
|
||||||
testqueryParams: {
|
testqueryParams: {
|
||||||
@ -607,7 +607,7 @@ export default {
|
|||||||
created() {
|
created() {
|
||||||
this.getList();
|
this.getList();
|
||||||
this.class();
|
this.class();
|
||||||
// this.synthesizeinfo();
|
this.synthesizeinfo();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
//综合体质分析素质
|
//综合体质分析素质
|
||||||
@ -624,6 +624,9 @@ export default {
|
|||||||
res.data.physiqueCategoryList.forEach((el) => {
|
res.data.physiqueCategoryList.forEach((el) => {
|
||||||
// console.log(el.categoryScore);
|
// console.log(el.categoryScore);
|
||||||
seriesData.push(el.categoryScore);
|
seriesData.push(el.categoryScore);
|
||||||
|
if(el.levelName==null){
|
||||||
|
el.levelName='暂无'
|
||||||
|
}
|
||||||
yindicator.push({
|
yindicator.push({
|
||||||
name: el.categoryName + " " + "(" + el.levelName + "" + ")",
|
name: el.categoryName + " " + "(" + el.levelName + "" + ")",
|
||||||
max: el.maxScore,
|
max: el.maxScore,
|
||||||
|
|||||||
754
src/views/system/constitution/index.vue
Normal file
754
src/views/system/constitution/index.vue
Normal file
@ -0,0 +1,754 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属班级" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="className == '请选择班级'"
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
@click="classshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ className }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="学生" prop="categoryName" label-width="45px">
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
v-if="studentname == '请选择学生'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="studentshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ studentname }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属批次" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //学生 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择学生"
|
||||||
|
:visible.sync="studentshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 70px"
|
||||||
|
:before-close="studentcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="studentInfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
v-if="studentId == scope.row.id"
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="studentclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="学生姓名"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="性别"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.studentSex == "MALE" ? "男" : "女" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="homeAddress"
|
||||||
|
label="住址"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total3 > 0"
|
||||||
|
:total="total3"
|
||||||
|
:page.sync="studentqueryParams.pageNum"
|
||||||
|
:limit.sync="studentqueryParams.pageSize"
|
||||||
|
@pagination="studentlist"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //班级 -->
|
||||||
|
<el-dialog
|
||||||
|
width="1000px"
|
||||||
|
title="选择所属班级"
|
||||||
|
:visible.sync="classshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="classcancel"
|
||||||
|
>
|
||||||
|
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
v-if="classId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="classclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级名称"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="classType"
|
||||||
|
label="班级类型"
|
||||||
|
width="160"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
{{ scope.row.classType == dictValue1 ? "大班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue2 ? "中班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue3 ? "小班" : "" }}
|
||||||
|
{{ scope.row.classType == dictValue4 ? "毕业" : "" }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="classTeacher"
|
||||||
|
label="班主任姓名"
|
||||||
|
width="180"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total2 > 0"
|
||||||
|
:total="total2"
|
||||||
|
:page.sync="classqueryParams.pageNum"
|
||||||
|
:limit.sync="classqueryParams.pageSize"
|
||||||
|
@pagination="classinfo"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" class="card-box" style="">
|
||||||
|
<el-card>
|
||||||
|
<div style="margin-left: 50px">
|
||||||
|
<span>学校排名:</span
|
||||||
|
><span style="margin-left: 20px; margin-right: 20px">{{
|
||||||
|
analysislist.schoolRank
|
||||||
|
}}</span
|
||||||
|
>名
|
||||||
|
</div>
|
||||||
|
<div slot="header" style="text-align: center; font-size: 25px">
|
||||||
|
<span>体测项目分值与全校、全市对比</span>
|
||||||
|
</div>
|
||||||
|
<div style="width: 100%; display: flex; flex-wrap: wrap">
|
||||||
|
<div
|
||||||
|
v-for="(item, index) in analysislist.itemScoreList"
|
||||||
|
:key="index"
|
||||||
|
style="
|
||||||
|
width: 30%;
|
||||||
|
height: 300px;
|
||||||
|
margin-left: 3%;
|
||||||
|
margin-top: 20px;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
class="bar"
|
||||||
|
style="width: 400px; height: 300px; margin: 0 auto"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { listStudentInfo } from "@/api/system/studentInfo";
|
||||||
|
import { listClassinfo } from "@/api/system/classinfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { analysis } from "@/api/system/constitution";
|
||||||
|
export default {
|
||||||
|
name: "constitution",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total2: 0,
|
||||||
|
total3: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
classshow: false,
|
||||||
|
studentshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
//班级类型
|
||||||
|
dictValue1: "",
|
||||||
|
dictValue2: "",
|
||||||
|
dictValue3: "",
|
||||||
|
dictValue4: "",
|
||||||
|
ClassType: "class_type",
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//学生查询
|
||||||
|
studentqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
classId: "",
|
||||||
|
nationDictId: null,
|
||||||
|
studentName: null,
|
||||||
|
studentSex: null,
|
||||||
|
studentNumber: null,
|
||||||
|
birthDate: null,
|
||||||
|
cardNumber: null,
|
||||||
|
onceName: null,
|
||||||
|
homeAddress: null,
|
||||||
|
},
|
||||||
|
//班级查询
|
||||||
|
classqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
kindergartenId: "",
|
||||||
|
className: null,
|
||||||
|
classType: null,
|
||||||
|
},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//班级list
|
||||||
|
classinfoList: [],
|
||||||
|
//班级名字
|
||||||
|
className: "请选择班级",
|
||||||
|
//班级ID
|
||||||
|
classId: "",
|
||||||
|
//学生list
|
||||||
|
studentInfoList: [],
|
||||||
|
//学生名字
|
||||||
|
studentname: "请选择学生",
|
||||||
|
//学生ID
|
||||||
|
studentId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
//analysislist
|
||||||
|
analysislist: [],
|
||||||
|
//查询传值
|
||||||
|
analysisqueryParams: {
|
||||||
|
// studentId: "10",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
studentId: "",
|
||||||
|
batchCode: "",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.class();
|
||||||
|
// this.analysislists();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
options() {
|
||||||
|
var myEchart = document.getElementsByClassName("bar");
|
||||||
|
// var myEchart = document.querySelectorAll(".bar");
|
||||||
|
for (var i = 0; i <= this.analysislist.itemScoreList.length; i++) {
|
||||||
|
var ydata = [
|
||||||
|
this.analysislist.itemScoreList[i].itemScore,
|
||||||
|
this.analysislist.itemScoreList[i].schoolAvgScore,
|
||||||
|
this.analysislist.itemScoreList[i].cityAvgScore,
|
||||||
|
];
|
||||||
|
|
||||||
|
var textname = this.analysislist.itemScoreList[i].itemName;
|
||||||
|
// console.log(ydata);
|
||||||
|
var myChart = echarts.init(myEchart[i]);
|
||||||
|
var option = {
|
||||||
|
title: {
|
||||||
|
text: textname,
|
||||||
|
subtext: "",
|
||||||
|
left: "50%",
|
||||||
|
},
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
formatter: function (params) {
|
||||||
|
var tar = params[1];
|
||||||
|
return tar.name + "<br/>" + tar.seriesName + " : " + tar.value;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
grid: {
|
||||||
|
left: "3%",
|
||||||
|
right: "4%",
|
||||||
|
bottom: "3%",
|
||||||
|
containLabel: true,
|
||||||
|
},
|
||||||
|
xAxis: {
|
||||||
|
type: "category",
|
||||||
|
splitLine: { show: false },
|
||||||
|
data: this.analysislist.itemStudentList,
|
||||||
|
},
|
||||||
|
yAxis: {
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: "Placeholder",
|
||||||
|
type: "bar",
|
||||||
|
stack: "Total",
|
||||||
|
itemStyle: {
|
||||||
|
borderColor: "blue",
|
||||||
|
color: "blue",
|
||||||
|
},
|
||||||
|
emphasis: {
|
||||||
|
itemStyle: {
|
||||||
|
borderColor: "transparent",
|
||||||
|
color: "transparent",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data: [0, 0, 0],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "分数",
|
||||||
|
type: "bar",
|
||||||
|
stack: "Total",
|
||||||
|
// center: ["50%", "50%"],
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
position: "inside",
|
||||||
|
},
|
||||||
|
itemStyle: {
|
||||||
|
normal: {
|
||||||
|
color: function (colors) {
|
||||||
|
var colorList = [
|
||||||
|
"#91cd77",
|
||||||
|
"#5470c6",
|
||||||
|
"#fc8251",
|
||||||
|
"#ef6567",
|
||||||
|
"#f9c956",
|
||||||
|
"#75bedc",
|
||||||
|
];
|
||||||
|
return colorList[i];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
// itemStyle: {
|
||||||
|
// borderColor: "#94D8F6",
|
||||||
|
// color: "#94D8F6",
|
||||||
|
// },
|
||||||
|
data: ydata,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
myChart.setOption(option);
|
||||||
|
this.itemshow = true;
|
||||||
|
this.itemshow2 = false;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//综合体质分析
|
||||||
|
analysislists() {
|
||||||
|
analysis(this.analysisqueryParams).then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
if (!res.data || res.data == "") {
|
||||||
|
this.itemshow2 = true;
|
||||||
|
this.itemshow = false;
|
||||||
|
this.batchCodeName = "请选择批次";
|
||||||
|
this.batchCodeId = "";
|
||||||
|
} else {
|
||||||
|
this.analysislist = res.data;
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.options();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 点击学生按钮
|
||||||
|
studentshowclick() {
|
||||||
|
if (this.studentqueryParams.classId == "") {
|
||||||
|
this.$message.error("请先选择班级");
|
||||||
|
} else {
|
||||||
|
this.studentshow = true;
|
||||||
|
this.studentlist();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.analysisqueryParams.studentId == "") {
|
||||||
|
this.$message.error("请先选择学生");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.analysisqueryParams.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.analysislists();
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//学生左侧按钮
|
||||||
|
studentclick(row) {
|
||||||
|
this.studentname = row.studentName;
|
||||||
|
this.studentId = row.id;
|
||||||
|
this.studentshow = false;
|
||||||
|
this.analysisqueryParams.studentId = row.id;
|
||||||
|
},
|
||||||
|
//获取学生
|
||||||
|
studentlist() {
|
||||||
|
listStudentInfo(this.studentqueryParams).then((res) => {
|
||||||
|
this.studentInfoList = res.rows;
|
||||||
|
this.total3 = res.total;
|
||||||
|
// console.log(this.studentInfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击所属班级
|
||||||
|
classshowclick() {
|
||||||
|
if (this.classqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.classshow = true;
|
||||||
|
this.classinfo();
|
||||||
|
}
|
||||||
|
// console.log(this.classqueryParams);
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//学生关闭
|
||||||
|
studentcancel() {
|
||||||
|
this.studentshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级关闭
|
||||||
|
classcancel() {
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//班级左侧点击
|
||||||
|
classclick(row) {
|
||||||
|
// console.log(row);
|
||||||
|
this.className = row.className;
|
||||||
|
this.classId = row.id;
|
||||||
|
this.studentqueryParams.classId = row.id;
|
||||||
|
this.classshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.classqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//班级类型
|
||||||
|
class() {
|
||||||
|
tKindergartenInfo(this.ClassType).then((res) => {
|
||||||
|
this.dictValue1 = res.data[0].dictValue;
|
||||||
|
this.dictValue2 = res.data[1].dictValue;
|
||||||
|
this.dictValue3 = res.data[2].dictValue;
|
||||||
|
this.dictValue4 = res.data[3].dictValue;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//班级list
|
||||||
|
classinfo() {
|
||||||
|
listClassinfo(this.classqueryParams).then((response) => {
|
||||||
|
this.classinfoList = response.rows;
|
||||||
|
this.total2 = response.total;
|
||||||
|
|
||||||
|
// console.log(this.classinfoList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
::v-deep .el-card__header {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
625
src/views/system/heightAndWeight/index.vue
Normal file
625
src/views/system/heightAndWeight/index.vue
Normal file
@ -0,0 +1,625 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属批次" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" class="card-box" style="">
|
||||||
|
<el-card>
|
||||||
|
<div style="display: flex; margin-top: 40px">
|
||||||
|
<div
|
||||||
|
slot="header"
|
||||||
|
style="width: 50%; text-align: center; font-size: 18px"
|
||||||
|
>
|
||||||
|
<span>各年级男/女平均身高(cm)</span>
|
||||||
|
<div
|
||||||
|
id="main"
|
||||||
|
style="
|
||||||
|
width: 500px;
|
||||||
|
height: 300px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 40px;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
slot="header"
|
||||||
|
style="width: 50%; text-align: center; font-size: 18px"
|
||||||
|
>
|
||||||
|
<span>各年级男/女平均体重(kg)</span>
|
||||||
|
<div
|
||||||
|
id="main2"
|
||||||
|
style="
|
||||||
|
width: 500px;
|
||||||
|
height: 300px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding-top: 40px;
|
||||||
|
"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { analysis } from "@/api/system/heightAndWeight";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "KindergartenPhysicalTest",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//班级类型
|
||||||
|
kindergartenType: "kindergarten_type",
|
||||||
|
type: {},
|
||||||
|
type2: {},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
analysislist: [],
|
||||||
|
//查询传值
|
||||||
|
analysisqueryParams: {
|
||||||
|
// kindergartenId: "",
|
||||||
|
// batchCode: "",
|
||||||
|
kindergartenId: "18",
|
||||||
|
batchCode: "PC202208030005",
|
||||||
|
},
|
||||||
|
|
||||||
|
// weightAndHeightAvgScoreList: [
|
||||||
|
// {
|
||||||
|
// studentSex: "FEMALE",
|
||||||
|
// measureUnit: "cm",
|
||||||
|
// itemCode: "H001",
|
||||||
|
// averageScore: 0,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// studentSex: "FEMALE",
|
||||||
|
// measureUnit: "kg",
|
||||||
|
// itemCode: "W001",
|
||||||
|
// averageScore: 0,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// studentSex: "MALE",
|
||||||
|
// measureUnit: "cm",
|
||||||
|
// itemCode: "H001",
|
||||||
|
// averageScore: 0,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// studentSex: "MALE",
|
||||||
|
// measureUnit: "kg",
|
||||||
|
// itemCode: "W001",
|
||||||
|
// averageScore: 0,
|
||||||
|
// },
|
||||||
|
// ],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
// this.analysisinfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
analysisinfo() {
|
||||||
|
analysis(this.analysisqueryParams).then((res) => {
|
||||||
|
this.analysislist = res.data;
|
||||||
|
console.log(this.analysislist);
|
||||||
|
var yclassname = [];
|
||||||
|
var grilsheight = [];
|
||||||
|
var boyheight = [];
|
||||||
|
var boyweight = [];
|
||||||
|
var grilsweight = [];
|
||||||
|
|
||||||
|
for (var i = 0; i < this.analysislist.length; i++) {
|
||||||
|
this.analysislist[i].weightAndHeightAvgScoreList.forEach((el) => {
|
||||||
|
if (el.itemCode == "H001" && el.studentSex == "MALE") {
|
||||||
|
boyheight.push(el.averageScore);
|
||||||
|
} else if (el.itemCode == "H001" && el.studentSex == "FEMALE") {
|
||||||
|
grilsheight.push(el.averageScore);
|
||||||
|
} else if (el.itemCode == "W001" && el.studentSex == "FEMALE") {
|
||||||
|
grilsweight.push(el.averageScore);
|
||||||
|
} else if (el.itemCode == "W001" && el.studentSex == "MALE") {
|
||||||
|
boyweight.push(el.averageScore);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
if (grilsheight.length == i) {
|
||||||
|
grilsheight.push(0);
|
||||||
|
}
|
||||||
|
if (boyheight.length == i) {
|
||||||
|
boyheight.push(0);
|
||||||
|
}
|
||||||
|
if (boyweight.length == i) {
|
||||||
|
boyweight.push(0);
|
||||||
|
}
|
||||||
|
if (grilsweight.length == i) {
|
||||||
|
grilsweight.push(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
this.analysislist.forEach((e) => {
|
||||||
|
yclassname.push(e.className);
|
||||||
|
});
|
||||||
|
console.log(grilsheight, boyheight);
|
||||||
|
console.log(grilsweight, boyweight);
|
||||||
|
var app = {};
|
||||||
|
|
||||||
|
var myChart = echarts.init(document.getElementById("main"));
|
||||||
|
var myChart2 = echarts.init(document.getElementById("main2"));
|
||||||
|
var option;
|
||||||
|
var option2;
|
||||||
|
const posList = [
|
||||||
|
"left",
|
||||||
|
"right",
|
||||||
|
"top",
|
||||||
|
"bottom",
|
||||||
|
"inside",
|
||||||
|
"insideTop",
|
||||||
|
"insideLeft",
|
||||||
|
"insideRight",
|
||||||
|
"insideBottom",
|
||||||
|
"insideTopLeft",
|
||||||
|
"insideTopRight",
|
||||||
|
"insideBottomLeft",
|
||||||
|
"insideBottomRight",
|
||||||
|
];
|
||||||
|
app.configParameters = {
|
||||||
|
rotate: {
|
||||||
|
min: 0,
|
||||||
|
max: 90,
|
||||||
|
},
|
||||||
|
align: {
|
||||||
|
options: {
|
||||||
|
left: "left",
|
||||||
|
center: "center",
|
||||||
|
right: "right",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
verticalAlign: {
|
||||||
|
options: {
|
||||||
|
top: "top",
|
||||||
|
middle: "middle",
|
||||||
|
bottom: "bottom",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
position: {
|
||||||
|
options: posList.reduce(function (map, pos) {
|
||||||
|
map[pos] = pos;
|
||||||
|
return map;
|
||||||
|
}, {}),
|
||||||
|
},
|
||||||
|
distance: {
|
||||||
|
min: 0,
|
||||||
|
max: 100,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
app.config = {
|
||||||
|
rotate: 0,
|
||||||
|
align: "center",
|
||||||
|
verticalAlign: "middle",
|
||||||
|
position: "top",
|
||||||
|
distance: 15,
|
||||||
|
onChange: function () {
|
||||||
|
const labelOption = {
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
};
|
||||||
|
myChart.setOption({
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const labelOption = {
|
||||||
|
show: true,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
formatter: "{c}",
|
||||||
|
fontSize: 16,
|
||||||
|
rich: {
|
||||||
|
name: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
option = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
data: ["男", "女"],
|
||||||
|
},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: yclassname,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: "男",
|
||||||
|
type: "bar",
|
||||||
|
barGap: 0,
|
||||||
|
color: "#00B050",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: boyheight,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "女",
|
||||||
|
type: "bar",
|
||||||
|
color: "red",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: grilsheight,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
option2 = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {
|
||||||
|
data: ["男", "女"],
|
||||||
|
},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: yclassname,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
name: "男",
|
||||||
|
type: "bar",
|
||||||
|
barGap: 0,
|
||||||
|
color: "#00B050",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: boyweight,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "女",
|
||||||
|
type: "bar",
|
||||||
|
color: "red",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: grilsweight,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
option && myChart.setOption(option);
|
||||||
|
option2 && myChart2.setOption(option2);
|
||||||
|
this.itemshow = true;
|
||||||
|
this.itemshow2 = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.analysisqueryParams.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.analysisinfo();
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.analysisqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.analysisqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
tKindergartenInfo(this.kindergartenType).then((res) => {
|
||||||
|
this.type = res.data[0];
|
||||||
|
this.type2 = res.data[1];
|
||||||
|
});
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
::v-deep .el-card__header {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -168,7 +168,7 @@
|
|||||||
v-hasPermi="['system:itemCategory:add']"
|
v-hasPermi="['system:itemCategory:add']"
|
||||||
>新增</el-button
|
>新增</el-button
|
||||||
>
|
>
|
||||||
<!--
|
<!--
|
||||||
<el-button
|
<el-button
|
||||||
size="mini"
|
size="mini"
|
||||||
type="text"
|
type="text"
|
||||||
@ -224,7 +224,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="项目成绩级别" prop="testItemLevelList">
|
<el-form-item label="测试分类得分" prop="testItemLevelList">
|
||||||
<div
|
<div
|
||||||
v-for="(item, index) in form.testItemLevelList"
|
v-for="(item, index) in form.testItemLevelList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
@ -232,8 +232,8 @@
|
|||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="item.levelName"
|
v-model="item.levelName"
|
||||||
placeholder="级别名"
|
placeholder="得分描述"
|
||||||
style="width: 75px; margin-right: 20px"
|
style="width: 90px; margin-right: 20px"
|
||||||
/>
|
/>
|
||||||
<el-input
|
<el-input
|
||||||
v-model.number="item.levelMinScore"
|
v-model.number="item.levelMinScore"
|
||||||
|
|||||||
591
src/views/system/physique/index.vue
Normal file
591
src/views/system/physique/index.vue
Normal file
@ -0,0 +1,591 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="学生性别" prop="studentSex" label-width="70px">
|
||||||
|
<el-select
|
||||||
|
v-model="analysisqueryParams.studentSex"
|
||||||
|
clearable
|
||||||
|
placeholder="请选择"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in sexs"
|
||||||
|
:key="item.value"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="所属批次" prop="batchCodeId" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<div style="text-align: center; height: 100px">
|
||||||
|
<div
|
||||||
|
class="el-table--enable-row-hover el-table--medium"
|
||||||
|
style="margin: 20px auto; height: 40px; text-align: center"
|
||||||
|
>
|
||||||
|
<div style="display: inline-block">
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 80px;
|
||||||
|
text-align: center;
|
||||||
|
"
|
||||||
|
v-for="(item, index) in firstCategoryScoreList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
<span :style="index == 0 ? '' : 'margin-right:20px'">{{
|
||||||
|
index == 0 ? null : "+"
|
||||||
|
}}</span>
|
||||||
|
<span>
|
||||||
|
{{ item.avgCategoryFraction }}
|
||||||
|
</span>
|
||||||
|
<span
|
||||||
|
:style="index != 0 ? 'left:18px' : ''"
|
||||||
|
style="position: absolute; left: 0px; top: 20px; width: 80px"
|
||||||
|
>{{ item.categoryName }}</span
|
||||||
|
>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div style="display: inline-block; position: relative">
|
||||||
|
<span style="margin: 0 20px">= </span>
|
||||||
|
<span>{{ totalAvgFraction }}</span>
|
||||||
|
|
||||||
|
<span
|
||||||
|
style="
|
||||||
|
display: inline-block;
|
||||||
|
position: absolute;
|
||||||
|
top: 20px;
|
||||||
|
width: 80px;
|
||||||
|
left: 40px;
|
||||||
|
"
|
||||||
|
>(综合得分)</span
|
||||||
|
>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<div style="text-align: center">
|
||||||
|
<span>园所幼儿综合体质分析图</span>
|
||||||
|
</div>
|
||||||
|
<div class="el-table el-table--enable-row-hover el-table--medium">
|
||||||
|
<div
|
||||||
|
ref="chart"
|
||||||
|
id="chart"
|
||||||
|
style="width: 1000px; height: 600px; margin: 0 auto"
|
||||||
|
></div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<div style="margin: 0 auto">
|
||||||
|
<div
|
||||||
|
style="display: flex; text-align: center; justify-content: center"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 120px;
|
||||||
|
line-height: 60px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
年龄
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 120px;
|
||||||
|
line-height: 60px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
平均总分
|
||||||
|
</div>
|
||||||
|
<div v-for="item in categoryTableNameList" :key="item.prentId">
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
text-align: center;
|
||||||
|
line-height: 30px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
{{ item.parentName }}
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
display: flex;
|
||||||
|
line-height: 30px;
|
||||||
|
border: 1px solid #f0f0f0;
|
||||||
|
background: #f0f0f0;
|
||||||
|
"
|
||||||
|
>
|
||||||
|
<div
|
||||||
|
v-for="uitem in item.childrenTableNameList"
|
||||||
|
:key="uitem.categoryId"
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
|
{{ uitem.categoryName }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div
|
||||||
|
style="text-align: center; display: flex; justify-content: center"
|
||||||
|
v-for="item in categoryAgeFractionList"
|
||||||
|
:key="item.prentId"
|
||||||
|
>
|
||||||
|
<div style="width: 120px; line-height: 60px">
|
||||||
|
{{ item.studentAge }}
|
||||||
|
</div>
|
||||||
|
<div style="width: 120px; line-height: 60px">
|
||||||
|
{{ item.totalAvgFraction }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<div style="display: flex; line-height: 60px">
|
||||||
|
<div
|
||||||
|
v-for="uitem in item.list"
|
||||||
|
:key="uitem.categoryId"
|
||||||
|
style="width: 120px"
|
||||||
|
>
|
||||||
|
{{ uitem }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div></div>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { analysis } from "@/api/system/physique";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "KindergartenPhysicalTest",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
sexs: [
|
||||||
|
{
|
||||||
|
value: "MALE",
|
||||||
|
label: "男",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
value: "FEMALE",
|
||||||
|
label: "女",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total4: 0,
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
//查询传值
|
||||||
|
analysisqueryParams: {
|
||||||
|
// kindergartenId: "18",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
// studentSex: "FEMALE",
|
||||||
|
kindergartenId: "",
|
||||||
|
batchCode: "",
|
||||||
|
studentSex: "",
|
||||||
|
},
|
||||||
|
categoryTableNameList: [],
|
||||||
|
categoryAgeFractionList: [],
|
||||||
|
categoryScoreList: [],
|
||||||
|
firstCategoryScoreList: [],
|
||||||
|
totalAvgFraction: "",
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
// this.analysisinfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
analysisinfo() {
|
||||||
|
analysis(this.analysisqueryParams).then((res) => {
|
||||||
|
this.totalAvgFraction = res.data.totalAvgFraction;
|
||||||
|
this.categoryTableNameList = res.data.categoryTableNameList;
|
||||||
|
this.categoryAgeFractionList = res.data.categoryAgeFractionList;
|
||||||
|
this.categoryScoreList = res.data.categoryScoreList;
|
||||||
|
this.firstCategoryScoreList = res.data.firstCategoryScoreList;
|
||||||
|
console.log(this.firstCategoryScoreList);
|
||||||
|
if (res.data == [] || !res.data) {
|
||||||
|
this.itemshow2 = true;
|
||||||
|
this.itemshow = false;
|
||||||
|
} else {
|
||||||
|
var list = [];
|
||||||
|
this.categoryTableNameList.forEach((e) => {
|
||||||
|
e.childrenTableNameList.forEach((el) => {
|
||||||
|
list.push(el.categoryId);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
this.categoryAgeFractionList.forEach((el) => {
|
||||||
|
var list1 = list.map((e) => {
|
||||||
|
var num = 0;
|
||||||
|
var number = el.categoryAvgFractionList.findIndex(
|
||||||
|
(o) => o.categoryId == e
|
||||||
|
);
|
||||||
|
if (number != -1) {
|
||||||
|
num = el.categoryAvgFractionList[number].avgCategoryFraction;
|
||||||
|
}
|
||||||
|
return num;
|
||||||
|
});
|
||||||
|
el.list = list1;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
let seriesData = [];
|
||||||
|
let yindicator = [];
|
||||||
|
this.categoryScoreList.forEach((el) => {
|
||||||
|
console.log(el);
|
||||||
|
seriesData.push(el.itemFraction);
|
||||||
|
if (el.avgCategoryName == null) {
|
||||||
|
el.avgCategoryName = "暂无";
|
||||||
|
}
|
||||||
|
yindicator.push({
|
||||||
|
name: el.categoryName + " " + "(" + el.avgCategoryName + "" + ")",
|
||||||
|
max: el.maxFraction,
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
var myChart = echarts.init(document.getElementById("chart"));
|
||||||
|
|
||||||
|
let option = {
|
||||||
|
//配置维度的最大值
|
||||||
|
color: "blue",
|
||||||
|
radar: {
|
||||||
|
name: {
|
||||||
|
show: true,
|
||||||
|
color: "black",
|
||||||
|
},
|
||||||
|
center: ["50%", "50%"],
|
||||||
|
// 雷达图的指示器,用来指定雷达图中的多个变量(维度)
|
||||||
|
indicator: yindicator,
|
||||||
|
shape: "polygon", //对雷达图形设置成一个圆形,可选 circle:圆形,polygon:多角形(默认)
|
||||||
|
},
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: "radar",
|
||||||
|
label: {
|
||||||
|
show: true,
|
||||||
|
color: "blue", //显示数值
|
||||||
|
},
|
||||||
|
areaStyle: {}, //每个雷达图形成一个阴影的面积
|
||||||
|
data: [
|
||||||
|
{
|
||||||
|
name: "成绩区域",
|
||||||
|
value: seriesData,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
areaStyle: {
|
||||||
|
color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [
|
||||||
|
{
|
||||||
|
color: "rgba(50, 50, 255, 0.1)",
|
||||||
|
offset: 0,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
color: "rgba(50, 50, 200, 0.9)",
|
||||||
|
offset: 1,
|
||||||
|
},
|
||||||
|
]),
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
// 绘制图表
|
||||||
|
myChart.setOption(option);
|
||||||
|
this.itemshow2 = false;
|
||||||
|
this.itemshow = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.analysisqueryParams.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.analysisinfo();
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.analysisqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.analysisqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
tKindergartenInfo(this.kindergartenType).then((res) => {
|
||||||
|
this.type = res.data[0];
|
||||||
|
this.type2 = res.data[1];
|
||||||
|
});
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
</style>
|
||||||
@ -426,6 +426,7 @@
|
|||||||
border-right: 1px solid #ededed;
|
border-right: 1px solid #ededed;
|
||||||
border-bottom: 1px solid #ededed;
|
border-bottom: 1px solid #ededed;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
<span style="position: absolute; left: 5%; top: 10px"
|
<span style="position: absolute; left: 5%; top: 10px"
|
||||||
@ -436,15 +437,7 @@
|
|||||||
}}({{ item.measureUnit }})</span
|
}}({{ item.measureUnit }})</span
|
||||||
>
|
>
|
||||||
|
|
||||||
<span
|
<span style="position: absolute; left: 6%; top: 70%">评价</span>
|
||||||
style="
|
|
||||||
margin-top: 20px;
|
|
||||||
float: left;
|
|
||||||
margin-left: 6%;
|
|
||||||
margin-top: 14%;
|
|
||||||
"
|
|
||||||
>评价</span
|
|
||||||
>
|
|
||||||
<div
|
<div
|
||||||
style="
|
style="
|
||||||
width: 70%;
|
width: 70%;
|
||||||
@ -455,7 +448,14 @@
|
|||||||
"
|
"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
style="position: absolute; top: 1px; left: 79%; line-height: 20px"
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 79%;
|
||||||
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 32px;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
((((item.maxScore - item.minScore) / item.minScore) *
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
@ -476,7 +476,14 @@
|
|||||||
"
|
"
|
||||||
></div>
|
></div>
|
||||||
<div
|
<div
|
||||||
style="position: absolute; top: 1px; left: 59%; line-height: 20px"
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 59%;
|
||||||
|
overflow: hidden;
|
||||||
|
line-height: 20px;
|
||||||
|
width: 32px;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
((((item.maxScore - item.minScore) / item.minScore) *
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
@ -497,7 +504,14 @@
|
|||||||
"
|
"
|
||||||
></div>
|
></div>
|
||||||
<div
|
<div
|
||||||
style="position: absolute; top: 1px; left: 39%; line-height: 20px"
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 39%;
|
||||||
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 32px;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
((((item.maxScore - item.minScore) / item.minScore) *
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
@ -519,7 +533,14 @@
|
|||||||
></div>
|
></div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
style="position: absolute; top: 1px; left: 19%; line-height: 20px"
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: 19%;
|
||||||
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 32px;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
{{
|
{{
|
||||||
((((item.maxScore - item.minScore) / item.minScore) *
|
((((item.maxScore - item.minScore) / item.minScore) *
|
||||||
@ -540,7 +561,14 @@
|
|||||||
"
|
"
|
||||||
></div>
|
></div>
|
||||||
<div
|
<div
|
||||||
style="position: absolute; top: 1px; left: -1%; line-height: 20px"
|
style="
|
||||||
|
position: absolute;
|
||||||
|
top: 1px;
|
||||||
|
left: -1%;
|
||||||
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 32px;
|
||||||
|
"
|
||||||
>
|
>
|
||||||
{{ item.minScore == null ? 0 : item.minScore }}
|
{{ item.minScore == null ? 0 : item.minScore }}
|
||||||
</div>
|
</div>
|
||||||
@ -561,6 +589,8 @@
|
|||||||
top: 1px;
|
top: 1px;
|
||||||
right: -1%;
|
right: -1%;
|
||||||
line-height: 20px;
|
line-height: 20px;
|
||||||
|
overflow: hidden;
|
||||||
|
width: 32px;
|
||||||
"
|
"
|
||||||
>
|
>
|
||||||
{{ item.maxScore == null ? 100 : item.maxScore }}
|
{{ item.maxScore == null ? 100 : item.maxScore }}
|
||||||
@ -744,6 +774,8 @@ export default {
|
|||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
studentId: "",
|
studentId: "",
|
||||||
batchCode: "",
|
batchCode: "",
|
||||||
|
// studentId: "12",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
// studentId: "14",
|
// studentId: "14",
|
||||||
// batchCode: "PC202208030005",
|
// batchCode: "PC202208030005",
|
||||||
// studentId: "9",
|
// studentId: "9",
|
||||||
@ -773,6 +805,8 @@ export default {
|
|||||||
this.itemshow2 = true;
|
this.itemshow2 = true;
|
||||||
this.itemshow = false;
|
this.itemshow = false;
|
||||||
} else {
|
} else {
|
||||||
|
this.itemshow = true;
|
||||||
|
this.itemshow2 = false;
|
||||||
this.studentscorelist = res.rows;
|
this.studentscorelist = res.rows;
|
||||||
console.log(this.studentscorelist);
|
console.log(this.studentscorelist);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -798,7 +798,7 @@
|
|||||||
<div
|
<div
|
||||||
ref="chart"
|
ref="chart"
|
||||||
id="chart"
|
id="chart"
|
||||||
style="width: 100%; height: 320px"
|
style="width: 450px; height: 320px;margin:0 auto"
|
||||||
></div>
|
></div>
|
||||||
|
|
||||||
<div
|
<div
|
||||||
@ -912,7 +912,7 @@
|
|||||||
<div style="text-align: center">
|
<div style="text-align: center">
|
||||||
{{ item.levelMinScore }}~{{ item.levelMaxScore }}
|
{{ item.levelMinScore }}~{{ item.levelMaxScore }}
|
||||||
</div>
|
</div>
|
||||||
</span>
|
</span>
|
||||||
</div> -->
|
</div> -->
|
||||||
<div></div>
|
<div></div>
|
||||||
</div>
|
</div>
|
||||||
@ -1061,7 +1061,7 @@ export default {
|
|||||||
//学生身体形态
|
//学生身体形态
|
||||||
studentanalysis() {
|
studentanalysis() {
|
||||||
analysis(this.analysisstudent).then((res) => {
|
analysis(this.analysisstudent).then((res) => {
|
||||||
if (!res.data || res.data == "" || res.data == []) {
|
if (!res.data || res.data == "") {
|
||||||
this.itemshow2 = true;
|
this.itemshow2 = true;
|
||||||
this.itemshow = false;
|
this.itemshow = false;
|
||||||
} else {
|
} else {
|
||||||
@ -1094,6 +1094,7 @@ export default {
|
|||||||
{
|
{
|
||||||
type: "pie",
|
type: "pie",
|
||||||
radius: ["40%", "70%"],
|
radius: ["40%", "70%"],
|
||||||
|
// center: ["37%", "50%"],
|
||||||
itemStyle: {
|
itemStyle: {
|
||||||
normal: {
|
normal: {
|
||||||
color: function (colors) {
|
color: function (colors) {
|
||||||
|
|||||||
@ -299,6 +299,7 @@
|
|||||||
type="date"
|
type="date"
|
||||||
value-format="yyyy-MM-dd"
|
value-format="yyyy-MM-dd"
|
||||||
placeholder="请选择出生日期"
|
placeholder="请选择出生日期"
|
||||||
|
:picker-options="pickerOptions"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -701,6 +702,11 @@ export default {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
|
pickerOptions: {
|
||||||
|
disabledDate(time) {
|
||||||
|
return time.getTime() > Date.now();
|
||||||
|
},
|
||||||
|
},
|
||||||
//查看家长
|
//查看家长
|
||||||
parentStudentInfoList: [],
|
parentStudentInfoList: [],
|
||||||
//民族
|
//民族
|
||||||
@ -1373,7 +1379,7 @@ export default {
|
|||||||
handleDelete(row) {
|
handleDelete(row) {
|
||||||
const ids = row.id || this.ids;
|
const ids = row.id || this.ids;
|
||||||
this.$modal
|
this.$modal
|
||||||
.confirm('是否确认删除该学生信息吗?')
|
.confirm("是否确认删除该学生信息吗?")
|
||||||
.then(function () {
|
.then(function () {
|
||||||
return delStudentInfo(ids);
|
return delStudentInfo(ids);
|
||||||
})
|
})
|
||||||
|
|||||||
645
src/views/system/survey/index.vue
Normal file
645
src/views/system/survey/index.vue
Normal file
@ -0,0 +1,645 @@
|
|||||||
|
<template>
|
||||||
|
<div class="app-container">
|
||||||
|
<el-form
|
||||||
|
ref="queryForm"
|
||||||
|
size="small"
|
||||||
|
:inline="true"
|
||||||
|
v-show="showSearch"
|
||||||
|
label-width="90px"
|
||||||
|
>
|
||||||
|
<el-form-item label="所属幼儿园" prop="categoryName">
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
v-if="kindergartenName == '请选择幼儿园'"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="kindergartenshow = true"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ kindergartenName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
|
<el-form-item label="所属批次" prop="categoryName" label-width="70px">
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
|
||||||
|
v-if="batchCodeName == '请选择批次'"
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
<el-button
|
||||||
|
@click="batchCodeshowclick"
|
||||||
|
style="width: 250px; text-align: left; height: 32px"
|
||||||
|
v-else
|
||||||
|
>{{ batchCodeName }}</el-button
|
||||||
|
>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<right-toolbar
|
||||||
|
:showSearch.sync="showSearch"
|
||||||
|
@queryTable="getList"
|
||||||
|
></right-toolbar>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<!-- //批次 -->
|
||||||
|
<el-dialog
|
||||||
|
width="500px"
|
||||||
|
title="选择批次"
|
||||||
|
:visible.sync="batchCodeshow"
|
||||||
|
append-to-body
|
||||||
|
style="margin-top: 20px"
|
||||||
|
:before-close="batchCodecancel"
|
||||||
|
>
|
||||||
|
<el-table :data="testScorelist" align="center" style="margin-top: 0px">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 20px; height: 20px"
|
||||||
|
v-if="batchCodeId == scope.row.id"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="batchCodeclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="batchCode"
|
||||||
|
label="批次编号"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
<el-table-column
|
||||||
|
property="batchName"
|
||||||
|
label="批次名称"
|
||||||
|
width="190"
|
||||||
|
align="center"
|
||||||
|
/>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total4 > 0"
|
||||||
|
:total="total4"
|
||||||
|
:page.sync="testqueryParams.pageNum"
|
||||||
|
:limit.sync="testqueryParams.pageSize"
|
||||||
|
@pagination="testScore"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<!-- //幼儿园 -->
|
||||||
|
<el-dialog
|
||||||
|
width="850px"
|
||||||
|
title="选择所属幼儿园"
|
||||||
|
:visible.sync="kindergartenshow"
|
||||||
|
append-to-body
|
||||||
|
:before-close="kindergartencancel"
|
||||||
|
>
|
||||||
|
<el-table :data="kindergartenList">
|
||||||
|
<el-table-column label="请选择" width="70" align="center">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
v-if="kindergartenId == scope.row.id"
|
||||||
|
></el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
v-else
|
||||||
|
style="width: 15px; height: 15px"
|
||||||
|
circle
|
||||||
|
@click="kindergartenNameclick(scope.row)"
|
||||||
|
></el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenName"
|
||||||
|
label="幼儿园名字"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="kindergartenAddress"
|
||||||
|
label="幼儿园地址"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="幼儿园所在组织"
|
||||||
|
align="center"
|
||||||
|
prop="organizeName"
|
||||||
|
width="150"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="contacts"
|
||||||
|
label="联系人"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="phone"
|
||||||
|
label="联系电话"
|
||||||
|
width="150"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total1 > 0"
|
||||||
|
:total="total1"
|
||||||
|
:page.sync="kqueryParams.pageNum"
|
||||||
|
:limit.sync="kqueryParams.pageSize"
|
||||||
|
@pagination="getList"
|
||||||
|
/>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-row v-show="itemshow">
|
||||||
|
<el-col :span="12" class="card-box" style=""
|
||||||
|
><div
|
||||||
|
id="main"
|
||||||
|
style="width: 500px; height: 300px; margin: 0 auto"
|
||||||
|
></div>
|
||||||
|
</el-col>
|
||||||
|
<el-col v-show="yclassname2 == []" :span="12" class="card-box" style=""
|
||||||
|
><div
|
||||||
|
id="main2"
|
||||||
|
style="width: 500px; height: 300px; margin: 0 auto"
|
||||||
|
></div>
|
||||||
|
</el-col>
|
||||||
|
<el-col v-show="yclassname3 == []" :span="12" class="card-box" style=""
|
||||||
|
><div
|
||||||
|
id="main3"
|
||||||
|
style="width: 500px; height: 300px; margin: 0 auto"
|
||||||
|
></div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12" class="card-box" style="padding-top: 50px">
|
||||||
|
<el-table
|
||||||
|
ref="singleTable"
|
||||||
|
:data="studentlist"
|
||||||
|
highlight-current-row
|
||||||
|
style="margin: 0 auto; width: 530px"
|
||||||
|
>
|
||||||
|
<el-table-column type="index" width="130" label="排名" align="center">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="studentName"
|
||||||
|
label="姓名"
|
||||||
|
width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="className"
|
||||||
|
label="班级"
|
||||||
|
width="130"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
property="itemFraction"
|
||||||
|
label="分数"
|
||||||
|
width="140"
|
||||||
|
align="center"
|
||||||
|
>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="20" v-if="itemshow2">
|
||||||
|
<el-col :span="24" :offset="0">
|
||||||
|
<el-card>
|
||||||
|
<div slot="header" style="text-align: center">
|
||||||
|
<img style="width: 40px" src="@/icons/笑脸.png" alt="" />
|
||||||
|
|
||||||
|
<div><!-- card title -->该学生此批次暂没数据</div>
|
||||||
|
</div>
|
||||||
|
<!-- card body -->
|
||||||
|
</el-card>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import * as echarts from "echarts";
|
||||||
|
import {
|
||||||
|
listKindergartenInfo,
|
||||||
|
tKindergartenInfo,
|
||||||
|
} from "@/api/system/kindergartenInfo";
|
||||||
|
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
|
||||||
|
import { StudentList, ClassList } from "@/api/system/survey";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "KindergartenPhysicalTest",
|
||||||
|
components: {},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
itemshow: false,
|
||||||
|
itemshow2: false,
|
||||||
|
total1: 0,
|
||||||
|
total4: 0,
|
||||||
|
|
||||||
|
//遮罩层
|
||||||
|
kindergartenshow: false,
|
||||||
|
batchCodeshow: false,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 表单参数
|
||||||
|
form: {},
|
||||||
|
//班级类型
|
||||||
|
kindergartenType: "kindergarten_type",
|
||||||
|
type: {},
|
||||||
|
type2: {},
|
||||||
|
//幼儿园查询参数
|
||||||
|
kqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
organizeId: null,
|
||||||
|
kindergartenName: null,
|
||||||
|
kindergartenAddress: null,
|
||||||
|
kindergartenType: null,
|
||||||
|
phone: null,
|
||||||
|
contacts: null,
|
||||||
|
},
|
||||||
|
//幼儿园list
|
||||||
|
kindergartenList: [],
|
||||||
|
//幼儿园名字
|
||||||
|
kindergartenName: "请选择幼儿园",
|
||||||
|
//幼儿园ID
|
||||||
|
kindergartenId: "",
|
||||||
|
//批次名称
|
||||||
|
batchCodeName: "请选择批次",
|
||||||
|
//批次ID
|
||||||
|
batchCodeId: "",
|
||||||
|
//批次list
|
||||||
|
testScorelist: [],
|
||||||
|
//批次编号
|
||||||
|
testqueryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
},
|
||||||
|
studentlist: [],
|
||||||
|
//查询传值
|
||||||
|
classqueryParams: {
|
||||||
|
kindergartenId: "",
|
||||||
|
batchCode: "",
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
// kindergartenId: "12",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
},
|
||||||
|
studentlistqueryParams: {
|
||||||
|
kindergartenId: "",
|
||||||
|
batchCode: "",
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
// kindergartenId: "1",
|
||||||
|
// batchCode: "PC202208030005",
|
||||||
|
},
|
||||||
|
LARGECLASS: "LARGE_CLASS",
|
||||||
|
MIDDLECLASS: "MIDDLE_CLASS",
|
||||||
|
SMALLCLASS: "SMALL_CLASS",
|
||||||
|
yclassname1: [],
|
||||||
|
yclassname2: [],
|
||||||
|
yclassname3: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.StudentListinfo();
|
||||||
|
// this.ClassListinfo();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
ClassListinfo() {
|
||||||
|
ClassList(this.classqueryParams).then((res) => {
|
||||||
|
var classscore1 = [];
|
||||||
|
var classscore2 = [];
|
||||||
|
var classscore3 = [];
|
||||||
|
res.rows.forEach((e) => {
|
||||||
|
if (e.classType == this.LARGECLASS) {
|
||||||
|
this.yclassname1.push(e.className);
|
||||||
|
if (
|
||||||
|
e.itemScoreAll == "" ||
|
||||||
|
!e.itemScoreAll ||
|
||||||
|
e.itemScoreAll == null
|
||||||
|
) {
|
||||||
|
classscore1.push(0);
|
||||||
|
} else {
|
||||||
|
classscore1.push(e.itemScoreAll);
|
||||||
|
}
|
||||||
|
} else if (e.classType == this.MIDDLECLASS) {
|
||||||
|
this.yclassname2.push(e.className);
|
||||||
|
if (
|
||||||
|
e.itemScoreAll == "" ||
|
||||||
|
!e.itemScoreAll ||
|
||||||
|
e.itemScoreAll == null
|
||||||
|
) {
|
||||||
|
classscore2.push(0);
|
||||||
|
} else {
|
||||||
|
classscore2.push(e.itemScoreAll);
|
||||||
|
}
|
||||||
|
} else if (e.classType == this.SMALLCLASS) {
|
||||||
|
this.yclassname3.push(e.className);
|
||||||
|
if (
|
||||||
|
e.itemScoreAll == "" ||
|
||||||
|
!e.itemScoreAll ||
|
||||||
|
e.itemScoreAll == null
|
||||||
|
) {
|
||||||
|
classscore3.push(0);
|
||||||
|
} else {
|
||||||
|
classscore3.push(e.itemScoreAll);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
var app = {};
|
||||||
|
var myChart = echarts.init(document.getElementById("main"));
|
||||||
|
var myChart2 = echarts.init(document.getElementById("main2"));
|
||||||
|
var myChart3 = echarts.init(document.getElementById("main3"));
|
||||||
|
var option;
|
||||||
|
var option2;
|
||||||
|
var option3;
|
||||||
|
const posList = [
|
||||||
|
"left",
|
||||||
|
"right",
|
||||||
|
"top",
|
||||||
|
"bottom",
|
||||||
|
"inside",
|
||||||
|
"insideTop",
|
||||||
|
"insideLeft",
|
||||||
|
"insideRight",
|
||||||
|
"insideBottom",
|
||||||
|
"insideTopLeft",
|
||||||
|
"insideTopRight",
|
||||||
|
"insideBottomLeft",
|
||||||
|
"insideBottomRight",
|
||||||
|
];
|
||||||
|
app.configParameters = {
|
||||||
|
rotate: {
|
||||||
|
min: 0,
|
||||||
|
max: 90,
|
||||||
|
},
|
||||||
|
align: {
|
||||||
|
options: {
|
||||||
|
left: "left",
|
||||||
|
center: "center",
|
||||||
|
right: "right",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
verticalAlign: {
|
||||||
|
options: {
|
||||||
|
top: "top",
|
||||||
|
middle: "middle",
|
||||||
|
bottom: "bottom",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
position: {
|
||||||
|
options: posList.reduce(function (map, pos) {
|
||||||
|
map[pos] = pos;
|
||||||
|
return map;
|
||||||
|
}, {}),
|
||||||
|
},
|
||||||
|
distance: {
|
||||||
|
min: 0,
|
||||||
|
max: 100,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
app.config = {
|
||||||
|
rotate: 0,
|
||||||
|
align: "center",
|
||||||
|
verticalAlign: "middle",
|
||||||
|
position: "top",
|
||||||
|
distance: 15,
|
||||||
|
onChange: function () {
|
||||||
|
const labelOption = {
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
};
|
||||||
|
myChart.setOption({
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: labelOption,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const labelOption = {
|
||||||
|
show: true,
|
||||||
|
position: app.config.position,
|
||||||
|
distance: app.config.distance,
|
||||||
|
align: app.config.align,
|
||||||
|
verticalAlign: app.config.verticalAlign,
|
||||||
|
rotate: app.config.rotate,
|
||||||
|
formatter: "{c}",
|
||||||
|
fontSize: 16,
|
||||||
|
rich: {
|
||||||
|
name: {},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
option = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: this.yclassname1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: "bar",
|
||||||
|
barGap: 0,
|
||||||
|
color: "#00B050",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: classscore1,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
option2 = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: this.yclassname2,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: "bar",
|
||||||
|
barGap: 0,
|
||||||
|
color: "#00B050",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: classscore2,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
option3 = {
|
||||||
|
tooltip: {
|
||||||
|
trigger: "axis",
|
||||||
|
axisPointer: {
|
||||||
|
type: "shadow",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
legend: {},
|
||||||
|
xAxis: [
|
||||||
|
{
|
||||||
|
type: "category",
|
||||||
|
axisTick: { show: false },
|
||||||
|
data: this.yclassname3,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
yAxis: [
|
||||||
|
{
|
||||||
|
type: "value",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
series: [
|
||||||
|
{
|
||||||
|
type: "bar",
|
||||||
|
barGap: 0,
|
||||||
|
color: "#00B050",
|
||||||
|
label: labelOption,
|
||||||
|
emphasis: {
|
||||||
|
focus: "series",
|
||||||
|
},
|
||||||
|
data: classscore3,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
};
|
||||||
|
|
||||||
|
option && myChart.setOption(option);
|
||||||
|
option2 && myChart2.setOption(option2);
|
||||||
|
option3 && myChart3.setOption(option3);
|
||||||
|
this.itemshow = true;
|
||||||
|
this.itemshow2 = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
StudentListinfo() {
|
||||||
|
StudentList(this.studentlistqueryParams).then((res) => {
|
||||||
|
this.studentlist = res.rows;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//点击批次左边
|
||||||
|
batchCodeclick(row) {
|
||||||
|
this.batchCodeName = row.batchName;
|
||||||
|
this.batchCodeId = row.id;
|
||||||
|
this.classqueryParams.batchCode = row.batchCode;
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
this.ClassListinfo();
|
||||||
|
},
|
||||||
|
//点击批次
|
||||||
|
batchCodeshowclick() {
|
||||||
|
if (this.classqueryParams.kindergartenId == "") {
|
||||||
|
this.$message.error("请先选择幼儿园");
|
||||||
|
} else {
|
||||||
|
this.testScore();
|
||||||
|
this.batchCodeshow = true;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
//批次
|
||||||
|
testScore() {
|
||||||
|
testScoreBatch(this.testqueryParams).then((res) => {
|
||||||
|
this.testScorelist = res.rows;
|
||||||
|
this.total4 = res.total;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
//批次关闭
|
||||||
|
batchCodecancel() {
|
||||||
|
this.batchCodeshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园关闭
|
||||||
|
kindergartencancel() {
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
//幼儿园左侧点击
|
||||||
|
kindergartenNameclick(row) {
|
||||||
|
this.classqueryParams.kindergartenId = row.id;
|
||||||
|
this.kindergartenName = row.kindergartenName;
|
||||||
|
this.kindergartenId = row.id;
|
||||||
|
this.kindergartenshow = false;
|
||||||
|
},
|
||||||
|
|
||||||
|
getList() {
|
||||||
|
tKindergartenInfo(this.kindergartenType).then((res) => {
|
||||||
|
this.type = res.data[0];
|
||||||
|
this.type2 = res.data[1];
|
||||||
|
});
|
||||||
|
//用户权限
|
||||||
|
getRoleInfo().then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
//获取幼儿园list
|
||||||
|
listKindergartenInfo(this.kqueryParams).then((response) => {
|
||||||
|
this.kindergartenList = response.rows;
|
||||||
|
this.total1 = response.total;
|
||||||
|
// console.log(this.kindergartenList);
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {};
|
||||||
|
this.resetForm("form");
|
||||||
|
},
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped='scss'>
|
||||||
|
::v-deep .el-card__header {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -325,6 +325,37 @@
|
|||||||
:before-close="cancel"
|
:before-close="cancel"
|
||||||
>
|
>
|
||||||
<el-form ref="form" :model="form2" :rules="rules" label-width="130px">
|
<el-form ref="form" :model="form2" :rules="rules" label-width="130px">
|
||||||
|
<el-form-item label="所属幼儿园" prop="classId">
|
||||||
|
<el-button
|
||||||
|
this.xmname="row.className;"
|
||||||
|
type=""
|
||||||
|
@click="yryinnerVisible = true"
|
||||||
|
style="
|
||||||
|
width: 360px;
|
||||||
|
text-align: left;
|
||||||
|
height: 36px;
|
||||||
|
color: #c0c4cc;
|
||||||
|
padding-left: -10px;
|
||||||
|
"
|
||||||
|
>请选择所属幼儿园</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
<!-- <el-button
|
||||||
|
this.xmname="row.className;"
|
||||||
|
type=""
|
||||||
|
@click="innerVisible = true"
|
||||||
|
v-if="xmname == '请选择所属幼儿园'"
|
||||||
|
v-else
|
||||||
|
style="
|
||||||
|
width: 360px;
|
||||||
|
text-align: left;
|
||||||
|
height: 36px;
|
||||||
|
padding-left: -10px;
|
||||||
|
"
|
||||||
|
>{{ xmname }}</el-button
|
||||||
|
> -->
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="所属班级" prop="classId">
|
<el-form-item label="所属班级" prop="classId">
|
||||||
<el-button
|
<el-button
|
||||||
this.xmname="row.className;"
|
this.xmname="row.className;"
|
||||||
@ -1442,7 +1473,7 @@ export default {
|
|||||||
|
|
||||||
// str = str.replace(/[^\d^\.]+/g, "");
|
// str = str.replace(/[^\d^\.]+/g, "");
|
||||||
// this.form.itemAvgScore = str;
|
// this.form.itemAvgScore = str;
|
||||||
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
// 班级信息
|
// 班级信息
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user