Merge remote-tracking branch 'origin/dev'

This commit is contained in:
纪寒 2022-09-01 15:09:51 +08:00
commit 9621fb8f6e
30 changed files with 2992 additions and 5287 deletions

View File

@ -38,7 +38,7 @@ export function updateMotionInfo(data) {
// 删除运动处方字典
export function delMotionInfo(id) {
return request({
url: '/system/motionInfo' + id,
url: '/system/motionInfo/' + id,
method: 'delete'
})
}

View File

@ -16,7 +16,14 @@ export function getParentInfo(id) {
method: 'get'
})
}
//添加家长信息
export function addParentInfo(data) {
return request({
url: '/system/parentInfo/add',
method: 'post',
data: data
})
}
// 修改家长信息
export function updateParentInfo(data) {

View File

@ -9,6 +9,16 @@ export function listTestItemScore(query) {
})
}
// 查询测试项目
export function testItems(query) {
return request({
url: '/system/testItems/list',
method: 'get',
params: query
})
}
// 查询班级信息列表
export function classInfo(query) {
return request({
@ -46,6 +56,14 @@ export function getTestItemScore(query) {
})
}
// 查询个人成绩
// export function getAllTestItemScoreInfo(id) {
// return request({
// url: 'system/testItemScore/getAllTestItemScoreInfo' + id,
// method: 'get'
// })
// }
// 新增个人成绩录入管理
export function addTestItemScore(data) {
return request({
@ -76,6 +94,6 @@ export function getAllTestItemScoreInfo(query) {
return request({
url: '/system/testItemScore/getAllTestItemScoreInfo',
method: 'get',
params: query
params: query,
})
}

View File

@ -0,0 +1,325 @@
<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">
<el-button
@click="batchCodeshowclick"
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
v-if="batchCode == '请选择批次'"
>{{ batchCode }}</el-button
>
<el-button
@click="batchCodeshowclick"
style="width: 250px; text-align: left; height: 32px"
v-else
>{{ batchCode }}</el-button
>
</el-form-item>
</el-form>
<!-- // -->
<el-dialog
width="590px"
title="选择批次"
:visible.sync="batchCodeshow"
append-to-body
style="margin-top: 20px"
:before-close="batchCodecancel"
>
<el-table
:data="testScorelist"
align="center"
style="margin-top: 0px"
@cell-dblclick="batchCodeclick"
>
<el-table-column label="请选择" width="100" align="center">
<template slot-scope="scope">
<el-button
type="primary"
style="width: 20px; height: 20px"
v-if="batchCode == scope.row.batchCode"
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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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" @cell-dblclick="kindergartenNameclick">
<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>
</div>
</template>
<script>
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
export default {
name: "",
components: {},
data() {
return {
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: "",
//
batchCode: "请选择批次",
//list
testScorelist: [],
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
};
},
mounted() {},
created() {
this.getList();
this.onshow();
},
methods: {
onshow() {
this.batchCode = localStorage.getItem("batchCode2");
this.kindergartenId = localStorage.getItem("kindergartenId");
if (localStorage.getItem("kindergartenName") == null) {
this.kindergartenName = "请选择幼儿园";
this.batchCode = "请选择批次";
} else {
this.kindergartenName = localStorage.getItem("kindergartenName");
}
if (localStorage.getItem("batchCode2") == null) {
this.batchCode = "请选择批次";
} else {
this.batchCode = localStorage.getItem("batchCode2");
}
this.$emit("kinbatlist", this.kindergartenId, this.batchCode);
},
//
kindergartenNameclick(row) {
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.kindergartenshow = false;
localStorage.setItem("kindergartenName", this.kindergartenName);
localStorage.setItem("kindergartenId", this.kindergartenId);
this.$emit("kinbatlist", this.kindergartenId, this.batchCode, 1);
},
//
batchCodeclick(row) {
this.batchCode = row.batchCode;
this.batchCodeshow = false;
localStorage.setItem("batchCode2", this.batchCode);
if (this.kindergartenId != "") {
this.$emit("kinbatlist", this.kindergartenId, this.batchCode, 2);
}
},
//
batchCodeshowclick() {
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;
},
getList() {
//
getRoleInfo().then((res) => {
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
return;
} else if (user.includes("teacher")) {
if (res.data != 999999) {
this.kindergartenId = res.data.kindergartenId;
this.kindergartenName = res.data.kindergartenName;
this.$emit("kinbatlist", this.kindergartenId, this.batchCode, 0);
localStorage.setItem("kindergartenName", res.data.kindergartenName);
localStorage.setItem("kindergartenId", res.data.kindergartenId);
}
return;
} else if (user.includes("parent")) {
return;
}
});
tKindergartenInfo(this.kindergartenType).then((res) => {
this.type = res.data[0];
this.type2 = res.data[1];
});
//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>

View File

@ -0,0 +1,643 @@
<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" 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="batchCode == '请选择批次'"
>{{ batchCode }}</el-button
>
<el-button
@click="batchCodeshowclick"
style="width: 250px; text-align: left; height: 32px"
v-else
>{{ batchCode }}</el-button
>
</el-form-item>
</el-form>
<!-- // -->
<el-dialog
width="880px"
title="选择学生"
:visible.sync="studentshow"
append-to-body
:before-close="studentcancel"
><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>
<el-table
:data="studentInfoList"
align="center"
style="margin-top: 10px"
@cell-dblclick="studentclick"
>
<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="860px"
title="选择所属幼儿园"
:visible.sync="kindergartenshow"
append-to-body
:before-close="kindergartencancel"
>
<el-table :data="kindergartenList" @cell-dblclick="kindergartenNameclick" >
<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="1050px"
title="选择所属班级"
:visible.sync="classshow"
append-to-body
:before-close="classcancel"
>
<el-table
:data="classinfoList"
align="center"
style="margin-top: 10px"
@cell-dblclick="classclick"
>
<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-dialog
width="590px"
title="选择批次"
:visible.sync="batchCodeshow"
append-to-body
style="margin-top: 20px"
:before-close="batchCodecancel"
>
<el-table
:data="testScorelist"
align="center"
style="margin-top: 0px"
@cell-dblclick="batchCodeclick"
>
<el-table-column label="请选择" width="100" align="center">
<template slot-scope="scope">
<el-button
type="primary"
style="width: 20px; height: 20px"
v-if="batchCode == scope.row.batchCode"
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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
align="center"
/>
</el-table>
<pagination
v-show="total4 > 0"
:total="total4"
:page.sync="testqueryParams.pageNum"
:limit.sync="testqueryParams.pageSize"
@pagination="testScore"
/>
</el-dialog>
</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";
export default {
name: "comprehensive",
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,
kindergartenId: 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: "",
//
batchCode: "请选择批次",
//list
testScorelist: [],
//
sythesizestudent: [],
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
};
},
created() {
this.getList();
this.class();
this.onshow();
},
methods: {
onshow() {
this.batchCode = localStorage.getItem("batchCode");
this.studentId = localStorage.getItem("studentId");
console.log(localStorage.getItem("studentname"));
if (localStorage.getItem("batchCode") == null) {
this.batchCode = "请选择批次";
} else {
this.batchCode = localStorage.getItem("batchCode");
}
if (localStorage.getItem("studentname") == null) {
this.studentname = "请选择学生";
} else {
this.studentname = localStorage.getItem("studentname");
}
if (
localStorage.getItem("batchCode") != null &&
localStorage.getItem("studentId") != null
) {
this.$emit("itemlist", this.studentId, this.batchCode);
}
console.log(this.batchCode, this.studentId);
},
//
batchCodeshowclick() {
this.testScore();
this.batchCodeshow = true;
},
//
batchCodeclick(row) {
console.log(row);
this.batchCode = row.batchCode;
this.batchCodeshow = false;
localStorage.setItem("batchCode", this.batchCode);
if (this.studentId != "") {
this.$emit("itemlist", this.studentId, this.batchCode);
}
},
//
testScore() {
testScoreBatch(this.testqueryParams).then((res) => {
this.testScorelist = res.rows;
this.total4 = res.total;
});
},
//
studentshowclick() {
this.studentshow = true;
this.studentlist();
},
//
studentclick(row) {
this.studentname = row.studentName;
this.studentId = row.id;
this.studentshow = false;
localStorage.setItem("studentId", this.studentId);
localStorage.setItem("studentname", this.studentname);
if (this.batchCode != "") {
this.$emit("itemlist", this.studentId, this.batchCode);
}
},
//
studentlist() {
listStudentInfo(this.studentqueryParams).then((res) => {
this.studentInfoList = res.rows;
this.total3 = res.total;
// console.log(this.studentInfoList);
});
},
//
classshowclick() {
console.log(this.classqueryParams);
if (
this.classqueryParams.kindergartenId == "" ||
this.classqueryParams.kindergartenId == null
) {
this.$message.error("请先选择幼儿园");
} else {
this.classshow = true;
this.classinfo();
}
// console.log(this.classqueryParams);
},
//
batchCodecancel() {
this.batchCodeshow = false;
},
//
studentcancel() {
this.studentshow = false;
this.kindergartenName = "请选择幼儿园";
this.kindergartenId = "";
this.className = "请选择班级";
this.classId = "";
},
//
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;
this.studentname = "请选择学生";
this.studentId = "";
this.studentlist();
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
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);
var user = res.data.roleKeys;
if (user.includes("enchou")) {
this.classqueryParams.kindergartenId = res.data.kindergartenId;
this.studentqueryParams.kindergartenId = res.data.kindergartenId;
return;
} else if (user.includes("teacher")) {
this.kindergartenId = res.data.kindergartenId;
this.classqueryParams.kindergartenId = res.data.kindergartenId;
this.kindergartenName = String(res.data.kindergartenName);
console.log(1, this.kindergartenName);
return;
} else if (user.includes("parent")) {
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
batchCodecancel() {
this.batchCodeshow = false;
},
//
reset() {
this.form = {};
this.resetForm("form");
},
},
};
</script>

View File

@ -7,33 +7,17 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<kindergarten
@kinbatlist="kinbatlist"
style="width: 500px; display: inline"
></kindergarten>
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -43,134 +27,11 @@
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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>
<span>体测达标分析</span>
</div>
<div style="margin-left: 50px; text-align: center; margin-top: 20px">
<span>幼儿园名称:</span
@ -196,7 +57,7 @@
slot="header"
style="width: 50%; text-align: center; font-size: 18px"
>
<span>本园参加体测各年龄阶段人数分部</span>
<span class="title">本园参加体测各年龄阶段人数分部</span>
<div
id="main"
style="
@ -217,7 +78,7 @@
position: relative;
"
>
<span>本园体测成绩达标率(%)</span>
<span class="title">本园体测成绩达标率(%)</span>
<span>
<span
style="
@ -270,62 +131,23 @@
</template>
<script>
import * as echarts from "echarts";
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
import { getRoleInfo } from "@/api/system/quality";
import { analysis } from "@/api/system/KindergartenPhysicalTest";
import Kindergarten from "../../assembly/kindergarten.vue";
export default {
name: "KindergartenPhysicalTest",
components: {},
components: { Kindergarten },
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
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: {
@ -339,9 +161,20 @@ export default {
mounted() {},
created() {
this.getList();
// this.analysisinfo();
},
methods: {
handleQuery() {
this.analysisinfo();
},
kinbatlist(kindergartenId, batchCode) {
console.log(kindergartenId, batchCode);
this.analysisqueryParams.kindergartenId = kindergartenId;
this.analysisqueryParams.batchCode = batchCode;
if (batchCode == "请选择批次") {
this.analysisqueryParams.batchCode = "";
}
},
analysisinfo() {
analysis(this.analysisqueryParams).then((res) => {
if (res.data == [] || !res.data) {
@ -575,52 +408,6 @@ export default {
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.analysisqueryParams.kindergartenId == null
) {
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;
if (this.analysisqueryParams.batchCode != "") {
this.analysisinfo();
}
this.kindergartenshow = false;
},
getList() {
tKindergartenInfo(this.kindergartenType).then((res) => {
this.type = res.data[0];
@ -629,29 +416,15 @@ export default {
//
getRoleInfo().then((res) => {
console.log(res);
this.analysisqueryParams.kindergartenId = res.data.kindergartenId;
console.log(this.analysisqueryParams);
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -665,4 +438,17 @@ export default {
::v-deep .el-card__header {
border: none;
}
::v-deep .el-form {
display: inline;
}
.title {
display: block;
width: 350px;
margin: 0 auto;
line-height: 35px;
background-color: #60c5f1;
color: #fff;
font-size: 15px;
border-radius: 20px;
}
</style>

View File

@ -7,69 +7,18 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<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>
<student
style="width: 500px; display: inline"
@itemlist="itemlists"
></student>
<el-form-item
label="所属班级"
prop="categoryName"
label-width="70px"
v-if="showbj"
>
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -79,360 +28,85 @@
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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>
<div v-if="itemshow" style="width:1361px;margin: 10px auto">
<el-table
:data="actionlist"
border
:span-method="arraySpanMethod"
style="width:100%"
>
<el-table-column
property="batchCode"
label="批次编号"
width="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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"
prop="categoryName"
label="测试分类"
width="140"
align="center"
>
</el-table-column>
<el-table-column
property="kindergartenAddress"
label="幼儿园地址"
width="150"
prop="itemName"
label="测试项目"
width="135"
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"
prop="itemFraction"
label="动作技能总分"
width="115"
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"
prop="unifiedStandardScore"
label="统一最高得分"
width="115"
align="center"
>
</el-table-column>
<el-table-column
property="classType"
label="班级类型"
prop="smallStandardScore"
label="小班最高得分"
width="115"
align="center"
>
</el-table-column>
<el-table-column
prop="middleStandardScore"
label="中班最高得分"
width="115"
align="center"
>
</el-table-column>
<el-table-column
prop="largeStandardScore"
label="大班最高得分"
width="115"
align="center"
>
</el-table-column>
<el-table-column
prop="itemScoreAll"
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="班主任姓名"
prop="syntheticalAssess"
label="综合评价"
width="170"
align="center"
>
</el-table-column>
<el-table-column
prop="remark"
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="itemFraction"
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>
</div>
<el-row :gutter="20" v-if="itemshow2">
<el-col :span="24" :offset="0">
<el-card>
@ -448,106 +122,19 @@
</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 student from "@/views/assembly/student.vue";
import { getRoleInfo } from "@/api/system/quality";
import { listAction } from "@/api/system/action";
export default {
name: "action",
components: {},
components: { student },
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
showbj: true,
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, //
@ -564,16 +151,8 @@ export default {
},
};
},
created() {
this.getList();
this.class();
// this.listActioninfo();
},
mounted() {
//
// rowspancolspancolspan1
// aa
},
created() {},
mounted() {},
methods: {
actionforeach() {
this.actionlist.forEach((item, index) => {
@ -597,8 +176,10 @@ export default {
}
if (
this.actionlist[index].categoryName ==
this.actionlist[index - 1].categoryName &&
this.actionlist[index].itemScoreAll ==
this.actionlist[index - 1].itemScoreAll
this.actionlist[index - 1].itemScoreAll
) {
this.spanArr2[this.position] += 1;
this.spanArr2.push(0); // 0
@ -623,7 +204,8 @@ export default {
rowspan: _row,
colspan: _col,
};
} else if (columnIndex == 7) {
}
if (columnIndex == 7) {
// console.log(this.spanArr2);
const _row = this.spanArr2[rowIndex];
const _col = _row > 0 ? 1 : 0;
@ -643,7 +225,6 @@ export default {
// res.rows.itemCategoryList.forEach((e) => {
// e.push(res.rows.categoryName);
// });
this.actionlist = res.rows;
this.actionforeach();
this.itemshow = true;
@ -652,136 +233,19 @@ export default {
}
});
},
//
studentshowclick() {
if (this.studentqueryParams.classId == "") {
this.$message.error("请先选择班级");
} else {
this.studentshow = true;
this.studentlist();
}
itemlists(studentId, batchCode) {
console.log(studentId, batchCode);
this.queryParams.studentId = studentId;
this.queryParams.batchCode = batchCode;
},
//
batchCodeshowclick() {
if (this.queryParams.studentId == "") {
this.$message.error("请先选择学生");
} else {
this.testScore();
this.batchCodeshow = true;
}
},
//
batchCodeclick(row) {
/** 查看按钮操作 */
handleQuery() {
this.spanArr = [];
this.position = 0; //
this.spanArr2 = [];
this.position2 = 0; //
console.log(row);
this.batchCodeName = row.batchName;
this.batchCodeId = row.id;
this.queryParams.batchCode = row.batchCode;
this.batchCodeshow = false;
this.listActioninfo();
},
//
testScore() {
testScoreBatch(this.testqueryParams).then((res) => {
this.testScorelist = res.rows;
this.total4 = res.total;
});
},
//
studentlist() {
listStudentInfo(this.studentqueryParams).then((res) => {
this.studentInfoList = res.rows;
this.total3 = res.total;
// console.log(this.studentInfoList);
});
},
//
classshowclick() {
if (
this.classqueryParams.kindergartenId == "" ||
this.classqueryParams.kindergartenId == null
) {
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;
}, //
studentclick(row) {
this.spanArr = [];
this.position = 0; //
this.spanArr2 = [];
this.position2 = 0; //
this.studentname = row.studentName;
this.studentId = row.id;
this.studentshow = false;
this.queryParams.studentId = row.id;
if (this.queryParams.batchCode != "") {
this.listActioninfo();
}
},
//
classclick(row) {
// console.log(row);
this.className = row.className;
this.classId = row.id;
this.studentqueryParams.classId = row.id;
this.studentname = "请选择学生";
this.studentId = "";
this.queryParams.studentId = "";
this.classshow = false;
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
this.queryParams.studentId = "";
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() {
//
@ -789,25 +253,14 @@ export default {
console.log(res);
this.classqueryParams.kindergartenId = res.data.kindergartenId;
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
this.showbj = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -821,4 +274,7 @@ export default {
::v-deep .el-card__header {
border: none;
}
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -142,13 +142,25 @@
/>
</el-form-item>
<el-form-item label="区域名称" prop="name">
<el-input v-model="form.name" placeholder="请输入区域名称" />
<el-input
v-model="form.name"
placeholder="请输入区域名称"
maxlength="20"
/>
</el-form-item>
<el-form-item label="区域编码" prop="code">
<el-input v-model.number="form.code" placeholder="请输入区域编码" />
<el-input
v-model="form.code"
placeholder="请输入区域编码"
maxlength="14"
/>
</el-form-item>
<el-form-item label="排序" prop="sort">
<el-input v-model.number="form.sort" placeholder="请输入排序" />
<el-input
v-model.number="form.sort"
placeholder="请输入排序"
maxlength="10"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -173,6 +185,17 @@ export default {
components: { Treeselect },
name: "areas",
data() {
var roleMoeny = (rule, value, callback) => {
var str = this.form.code;
if (Number.isNaN(Number.parseFloat(str))) {
callback(new Error("请输入区域编码"));
} else if (str.length == 0) {
callback(new Error("请输入区域编码")); //
} else {
callback();
}
};
return {
//
loading: true,
@ -216,8 +239,12 @@ export default {
{ type: "number", message: "排序必须为数字值", trigger: "blur" },
],
code: [
{ required: true, message: "区域编码不能为空" },
{ type: "number", message: "区域编码必须为数字值", trigger: "blur" },
{
required: true,
validator: roleMoeny,
message: "",
trigger: "blur",
},
],
parentId: [
{ required: true, message: "请选择所属上级区域", trigger: "blur" },
@ -325,6 +352,7 @@ export default {
this.form2.code = this.form.code;
this.form2.sort = this.form.sort;
this.form2.parentId = this.form.parentId;
console.log(this.form);
if (this.areaList.length == 0) {
this.form.parentId = 0;
}

View File

@ -7,27 +7,11 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<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"
v-if="showbj"
>
<kindergarten
@kinbatlist="kinbatlist"
style="width: 500px; display: inline"
></kindergarten>
<el-form-item label="所属班级" prop="categoryName" label-width="70px">
<el-button
@click="classshowclick"
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
@ -42,19 +26,13 @@
>{{ className }}</el-button
>
</el-form-item>
<el-form-item label="批次成绩" prop="categoryName" label-width="70px">
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -65,128 +43,6 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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"
@ -195,7 +51,12 @@
append-to-body
:before-close="classcancel"
>
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
<el-table
:data="classinfoList"
align="center"
style="margin-top: 10px"
@cell-dblclick="classclick"
>
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
@ -325,16 +186,28 @@
</div>
</div>
</div>
<div>
<div style="font-size:15px">
<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">
<div
style="
width: 120px;
line-height: 60px;
border: 1px solid #f0f0f0;
"
>
{{ item.className }}
</div>
<div style="width: 120px; line-height: 60px">
<div
style="
width: 120px;
line-height: 60px;
border: 1px solid #f0f0f0;
"
>
{{ item.totalAvScore }}
</div>
<div>
@ -342,7 +215,7 @@
<div
v-for="uitem in item.list"
:key="uitem.categoryId"
style="width: 120px"
style="width: 120px; border: 0.5px solid #f0f0f0"
>
{{ uitem }}
</div>
@ -384,30 +257,20 @@
<script>
import * as echarts from "echarts";
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
import { listClassinfo } from "@/api/system/classinfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
import { getRoleInfo } from "@/api/system/quality";
import { ClassList } from "@/api/system/classconstitution";
import kindergarten from "../../assembly/kindergarten.vue";
export default {
components: { kindergarten },
name: "classconstitution",
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
showbj: true,
total1: 0,
total2: 0,
total4: 0,
//
kindergartenshow: false,
classshow: false,
studentshow: false,
batchCodeshow: false,
total2: 0,
//
dictValue1: "",
dictValue2: "",
@ -416,8 +279,6 @@ export default {
ClassType: "class_type",
//
showSearch: true,
//
form: {},
//
classqueryParams: {
pageNum: 1,
@ -426,52 +287,23 @@ export default {
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: "",
kindergartenId: "",
classId: "",
// batchCode: "PC202208030005",
// kindergartenId: "18",
// classId: "2",
pageNum: 1,
pageSize: 10,
},
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
categoryTableNameList: [],
categoryAgeFractionList: [],
categoryScoreList: [],
@ -486,6 +318,28 @@ export default {
// this.ClassListinfo();
},
methods: {
handleQuery() {
this.ClassListinfo();
},
kinbatlist(kindergartenId, batchCode, text) {
console.log(kindergartenId, batchCode, text);
if (text == 1) {
if (this.ClassListlist.kindergartenId != "") {
this.classqueryParams.kindergartenId = "";
this.className = "请选择班级";
this.classId = "";
}
if (this.classId != "") {
this.classqueryParams.kindergartenId = "";
this.className = "请选择班级";
this.classId = "";
}
}
this.ClassListlist.kindergartenId = kindergartenId;
this.ClassListlist.batchCode = batchCode;
this.classqueryParams.kindergartenId = kindergartenId;
},
ClassListinfo() {
ClassList(this.ClassListlist).then((res) => {
console.log(res);
@ -686,50 +540,10 @@ export default {
}
});
},
//
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;
this.ClassListinfo();
},
//
testScore() {
testScoreBatch(this.testqueryParams).then((res) => {
this.testScorelist = res.rows;
this.total4 = res.total;
});
},
//
classshowclick() {
if (
this.classqueryParams.kindergartenId == "" ||
this.classqueryParams.kindergartenId == null
) {
this.$message.error("请先选择幼儿园");
} else {
this.classshow = true;
this.classinfo();
}
// console.log(this.classqueryParams);
},
//
batchCodecancel() {
this.batchCodeshow = false;
},
//
kindergartencancel() {
this.kindergartenshow = false;
this.classinfo();
this.classshow = true;
},
//
classcancel() {
@ -742,20 +556,6 @@ export default {
this.classId = row.id;
this.ClassListlist.classId = row.id;
this.classshow = false;
if (this.ClassListlist.batchCode != "") {
this.ClassListinfo();
}
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.ClassListlist.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.ClassListlist.classId = "";
this.kindergartenshow = false;
},
//
class() {
@ -771,7 +571,6 @@ export default {
listClassinfo(this.classqueryParams).then((response) => {
this.classinfoList = response.rows;
this.total2 = response.total;
// console.log(this.classinfoList);
});
},
@ -779,29 +578,15 @@ export default {
//
getRoleInfo().then((res) => {
console.log(res);
this.ClassListlist.kindergartenId = res.data.kindergartenId;
this.classqueryParams.kindergartenId = res.data.kindergartenId;
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
this.showbj = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -811,3 +596,8 @@ export default {
},
};
</script>
<style scoped='scss'>
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -205,7 +205,7 @@
>
</el-form-item>
<el-form-item label="班级名称" prop="className">
<el-input v-model="form.className" placeholder="请输入班级名称" />
<el-input v-model="form.className" placeholder="请输入班级名称" maxlength="40"/>
</el-form-item>
<el-form-item label="班级类型" prop="classType">
@ -221,6 +221,7 @@
<el-input
v-model="form.classTeacher"
placeholder="请输入班主任姓名"
maxlength="10"
/>
</el-form-item>
@ -247,7 +248,9 @@
<el-button @click="cancel"> </el-button>
</div>
<el-dialog
</el-dialog>
<el-dialog
width="850px"
title="选择所属幼儿园"
:visible.sync="innerVisible"
@ -293,7 +296,7 @@
<el-table
:data="kindergartenInfoList"
@row-click="kindergartenNameclick"
@cell-dblclick="kindergartenNameclick"
>
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
@ -359,7 +362,6 @@
@pagination="getList"
/>
</el-dialog>
</el-dialog>
</div>
</template>
@ -388,9 +390,11 @@ export default {
console.log(str);
//
const regMobile =
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
// /^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\d{8}$/;
// /^(?:(?:\+|0086))?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[0-9]))\d{8}$/;
const reg = /^(0[0-9]{2,3}\-)([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
const isTel = reg.test(str);
const isTel = reg.test(value);
if (str.length == 11) {
if (regMobile.test(str)) {

View File

@ -7,72 +7,22 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<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>
<student
style="width: 500px; display: inline"
@itemlist="itemlists"
></student>
<el-form-item
label="所属班级"
prop="categoryName"
label-width="70px"
v-if="showbj"
>
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<right-toolbar
:showSearch.sync="showSearch"
@ -80,270 +30,6 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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">
<el-card>
@ -356,15 +42,10 @@
margin-top: 10px;
padding-bottom: 20px;
border-bottom: 1px solid #f0f0f0;
padding-left: 20px;
"
>
<div
style="
display: flex;
justify-content: space-around;
text-align: center;
"
>
<div style="display: flex; justify-content: space-around">
<div class="cell" style="width: 20%">
姓名:{{ sythesizestudent.studentName }}
</div>
@ -383,12 +64,12 @@
</div>
<div style="display: flex; margin-top: 20px">
<div class="cell" style="width: 60%; margin-left: 7.7%">
<div class="cell" style="width: 60%">
所属幼儿园:{{ sythesizestudent.kindergartenName }}
</div>
<div class="cell">班级:{{ sythesizestudent.className }}</div>
</div>
<div style="margin-top: 20px; margin-left: 7.7%">
<div style="width: 60%; margin-top: 20px">
<div class="cell">
地址:{{ sythesizestudent.kindergartenAddress }}
</div>
@ -397,17 +78,28 @@
</el-card>
</el-col>
<el-col :span="24" class="card-box">
<el-card style="margin-top: 40px">
<el-card style="margin-top: 10px">
<div
class="el-table--enable-row-hover el-table--medium"
style="margin: 20px auto; height: 40px; text-align: center"
style="
margin: 20px auto;
height: 110px;
text-align: center;
border-bottom: 1px solid #f0f0f0;
line-height: 40px;
"
>
<div
style="text-align: center; font-size: 18px; margin-bottom: 10px"
>
幼儿综合得分
</div>
<div style="display: inline-block">
<span
style="
position: relative;
display: inline-block;
width: 80px;
width: 160px;
text-align: center;
"
v-for="(item, index) in sythesizestudent.firstItemCategoryList"
@ -416,19 +108,15 @@
<span :style="index == 0 ? '' : 'margin-right:20px'">{{
index == 0 ? null : "+"
}}</span>
<span>
{{ item.categoryScore }}
{{ item.categoryName }}( {{ item.categoryScore }})
</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>{{ sythesizestudent.totalCategoryScore }}</span>
<span>综合得分({{ sythesizestudent.totalCategoryScore }})</span>
<span
style="
@ -438,19 +126,19 @@
width: 80px;
left: 29px;
"
>(综合得分)</span
>
></span>
</div>
</div>
<div style="text-align: center; font-size: 25px; margin-top: 30px">
<div style="text-align: center; font-size: 18px; margin-top: 20px">
获取徽章
</div>
<div
style="
width: 70%;
display: flex;
text-align: center;
justify-content: space-around;
margin-top: 20px;
margin: 20px auto 10px;
"
>
<span
@ -458,17 +146,17 @@
:key="index"
>
<img
style="width: 80px; height: 80px"
style="width: 60px; height: 60px"
src="@/icons/金牌2.png"
alt=""
/>
<div style="margin-top: 10px">{{ item }}</div>
<div style="margin-top: 10px; font-size: 14px">{{ item }}</div>
</span>
</div>
</el-card>
</el-col>
<el-col :span="24" class="card-box" style="margin-top: 40px">
<el-col :span="24" class="card-box" style="margin-top: 10px">
<el-card>
<div slot="header" style="text-align: center">
<span>综合体质分析图</span>
@ -501,122 +189,43 @@
<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 student from "@/views/assembly/student.vue";
import { getRoleInfo } from "@/api/system/quality";
import { synthesize } from "@/api/system/comprehensive";
export default {
name: "comprehensive",
components: { student },
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
showbj: true,
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: [],
//
sythesizestudent: [],
//
synthesizelist: {
studentId: "",
batchCode: "",
// studentId: "10",
// batchCode: "PC202208030005",
},
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
// studentId: "27",
// batchCode: "PC202208230011",
},
};
},
created() {
this.getList();
this.class();
// this.synthesizeinfo();
},
methods: {
itemlists(studentId, batchCode) {
console.log(studentId, batchCode);
this.synthesizelist.studentId = studentId;
this.synthesizelist.batchCode = batchCode;
},
/** 查看按钮操作 */
handleQuery() {
this.synthesizeinfo();
},
//
synthesizeinfo() {
synthesize(this.synthesizelist).then((res) => {
@ -628,8 +237,33 @@ export default {
console.log(this.sythesizestudent);
let seriesData = [];
let yindicator = [];
console.log(res.data);
if (res.data.physiqueCategoryList.length == 1) {
var obj = {
categoryName: "暂无",
categoryNameAbbreviate: "暂无",
categoryScore: null,
levelName: "暂无",
maxScore: null,
};
res.data.physiqueCategoryList.push(obj);
res.data.physiqueCategoryList.push(obj);
res.data.physiqueCategoryList.push(obj);
}
if (res.data.physiqueCategoryList.length == 2) {
var obj = {
categoryName: "暂无",
categoryNameAbbreviate: "暂无",
categoryScore: null,
levelName: "暂无",
maxScore: null,
};
res.data.physiqueCategoryList.push(obj);
res.data.physiqueCategoryList.push(obj);
}
res.data.physiqueCategoryList.forEach((el) => {
// console.log(el.categoryScore);
console.log(el);
seriesData.push(el.categoryScore);
if (el.levelName == null) {
el.levelName = "暂无";
@ -639,10 +273,9 @@ export default {
max: el.maxScore,
});
});
// console.log(seriesData, yindicator);
console.log(seriesData, yindicator);
var myChart = echarts.init(document.getElementById("chart"));
let option = {
//
color: "blue",
@ -777,126 +410,6 @@ export default {
// option && myChart.setOption(option);
});
},
//
studentshowclick() {
if (this.studentqueryParams.classId == "") {
this.$message.error("请先选择班级");
} else {
this.studentshow = true;
this.studentlist();
}
},
//
batchCodeshowclick() {
if (this.synthesizelist.studentId == "") {
this.$message.error("请先选择学生");
} else {
this.testScore();
this.batchCodeshow = true;
}
},
//
batchCodeclick(row) {
this.batchCodeName = row.batchName;
this.batchCodeId = row.id;
this.synthesizelist.batchCode = row.batchCode;
this.batchCodeshow = false;
this.synthesizeinfo();
},
//
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.synthesizelist.studentId = row.id;
if (this.synthesizelist.batchCode != "") {
this.synthesizeinfo();
}
},
//
studentlist() {
listStudentInfo(this.studentqueryParams).then((res) => {
this.studentInfoList = res.rows;
this.total3 = res.total;
// console.log(this.studentInfoList);
});
},
//
classshowclick() {
console.log(this.classqueryParams)
if (this.classqueryParams.kindergartenId == ""||this.classqueryParams.kindergartenId ==null) {
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;
this.studentname = "请选择学生";
this.studentId = "";
this.synthesizelist.studentId = "";
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
this.synthesizelist.studentId = "";
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.kindergartenshow = false;
// this.synthesizeinfo();
},
//
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) => {
@ -915,12 +428,6 @@ export default {
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -930,3 +437,8 @@ export default {
},
};
</script>
<style scoped='scss'>
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -7,69 +7,17 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<student
style="width: 500px; display: inline"
@itemlist="itemlists"
></student>
<el-form-item>
<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"
v-if="showbj"
>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -80,270 +28,6 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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>
@ -394,122 +78,41 @@
</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 student from "@/views/assembly/student.vue";
import { getRoleInfo } from "@/api/system/quality";
import { analysis } from "@/api/system/constitution";
export default {
name: "constitution",
components: {},
components: {
student,
},
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
showbj: true,
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();
},
created() {},
methods: {
itemlists(studentId, batchCode) {
console.log(studentId, batchCode);
this.analysisqueryParams.studentId = studentId;
this.analysisqueryParams.batchCode = batchCode;
},
/** 查看按钮操作 */
handleQuery() {
this.analysislists();
},
options() {
var myEchart = document.getElementsByClassName("bar");
// var myEchart = document.querySelectorAll(".bar");
@ -575,6 +178,7 @@ export default {
type: "bar",
stack: "Total",
// center: ["50%", "50%"],
barWidth: 35,
label: {
show: true,
position: "inside",
@ -626,154 +230,20 @@ export default {
}
});
},
//
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;
});
},
//
studentlist() {
listStudentInfo(this.studentqueryParams).then((res) => {
this.studentInfoList = res.rows;
this.total3 = res.total;
// console.log(this.studentInfoList);
});
},
//
classshowclick() {
if (
this.classqueryParams.kindergartenId == "" ||
this.classqueryParams.kindergartenId == null
) {
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;
},
//
studentclick(row) {
this.studentname = row.studentName;
this.studentId = row.id;
this.studentshow = false;
this.analysisqueryParams.studentId = row.id;
if (this.analysisqueryParams.batchCode != "") {
this.analysislists();
}
},
//
classclick(row) {
// console.log(row);
this.className = row.className;
this.classId = row.id;
this.studentqueryParams.classId = row.id;
this.studentname = "请选择学生";
this.studentId = "";
this.analysisqueryParams.studentId = "";
this.classshow = false;
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
this.analysisqueryParams.studentId = "";
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);
this.classqueryParams.kindergartenId = res.data.kindergartenId;
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
this.showbj = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -787,4 +257,7 @@ export default {
::v-deep .el-card__header {
border: none;
}
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -7,36 +7,12 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<el-button
@click="kindergartenshow = true"
v-if="kindergartenName == '请选择幼儿园'"
style="width: 208px; text-align: left; height: 32px; color: #c0c4cc"
>{{ kindergartenName }}</el-button
>
<el-button
@click="kindergartenshow = true"
style="width: 208px; text-align: left; height: 32px"
v-else
>{{ kindergartenName }}</el-button
>
</el-form-item>
<kindergarten
@kinbatlist="kinbatlist"
style="width: 500px; display: inline"
></kindergarten>
<el-form-item label="班级类型" prop="categoryName" label-width="70px">
<el-select
v-if="
analysislist.kindergartenId == '' ||
this.analysislist.kindergartenId == null
"
placeholder="请选择"
disabled
@click.native="selecetclick"
v-model="analysislist.classType"
>
</el-select>
<el-select
v-else
v-model="analysislist.classType"
clearable
placeholder="请选择"
@ -46,24 +22,17 @@
:key="item.name"
:label="item.name"
:value="item.type"
@click.native="classTypeclick"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="批次成绩" prop="categoryName" label-width="70px">
<el-form-item>
<el-button
@click="batchCodeshowclick"
style="width: 208px; text-align: left; height: 32px; color: #c0c4cc"
v-if="batchCodeName == '请选择批次'"
>{{ batchCodeName }}</el-button
>
<el-button
@click="batchCodeshowclick"
style="width: 208px; text-align: left; height: 32px"
v-else
>{{ batchCodeName }}</el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -74,128 +43,6 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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-table
:data="physicalActionList"
@ -295,55 +142,21 @@
</template>
<script>
import * as echarts from "echarts";
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
import { tKindergartenInfo } from "@/api/system/kindergartenInfo";
import { getRoleInfo } from "@/api/system/quality";
import { analysis } from "@/api/system/development";
import kindergarten from "../../assembly/kindergarten.vue";
export default {
components: { kindergarten },
name: "classconstitution",
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
total1: 0,
total4: 0,
//
kindergartenshow: false,
batchCodeshow: false,
//
ClassType: "class_type",
//
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: [],
//
analysislist: {
kindergartenId: "",
@ -353,11 +166,6 @@ export default {
// classType: "SMALL_CLASS",
// batchCode: "PC202208030005",
},
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
dictValues: [],
classTypeName: "",
physicalActionList: [],
@ -370,13 +178,15 @@ export default {
// this.analysisinfo();
},
methods: {
selecetclick() {
if (
this.analysislist.kindergartenId == "" ||
this.analysislist.kindergartenId == null
) {
this.$message.error("请先选择幼儿园");
} else {
handleQuery() {
this.analysisinfo();
},
kinbatlist(kindergartenId, batchCode) {
console.log(kindergartenId, batchCode);
this.analysislist.kindergartenId = kindergartenId;
this.analysislist.batchCode = batchCode;
if (batchCode == "请选择批次") {
this.analysislist.batchCode = "";
}
},
//
@ -394,45 +204,6 @@ export default {
}
});
},
//
batchCodeclick(row) {
this.batchCodeName = row.batchName;
this.batchCodeId = row.id;
this.analysislist.batchCode = row.batchCode;
this.batchCodeshow = false;
this.physicalActionList = [];
this.analysisinfo();
},
//
batchCodeshowclick() {
if (this.analysislist.classType == "") {
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;
},
//classTypeclick
classTypeclick() {
if (this.analysislist.batchCode != "") {
this.analysisinfo();
}
},
//
kindergartenNameclick(row) {
this.analysislist.kindergartenId = row.id;
@ -457,28 +228,15 @@ export default {
//
getRoleInfo().then((res) => {
console.log(res);
this.analysislist.kindergartenId = res.data.kindergartenId;
console.log(this.analysislist);
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -488,3 +246,8 @@ export default {
},
};
</script>
<style scoped='scss'>
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -7,33 +7,17 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<kindergarten
@kinbatlist="kinbatlist"
style="width: 500px; display: inline"
></kindergarten>
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -44,128 +28,6 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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>
@ -221,62 +83,19 @@
</template>
<script>
import * as echarts from "echarts";
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
import { getRoleInfo } from "@/api/system/quality";
import { analysis } from "@/api/system/heightAndWeight";
import Kindergarten from "../../assembly/kindergarten.vue";
export default {
name: "KindergartenPhysicalTest",
components: {},
components: { Kindergarten },
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
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: {
@ -285,41 +104,25 @@ export default {
// 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: {
handleQuery() {
this.analysisinfo();
},
kinbatlist(kindergartenId, batchCode) {
console.log(kindergartenId, batchCode);
this.analysisqueryParams.kindergartenId = kindergartenId;
this.analysisqueryParams.batchCode = batchCode;
if (batchCode == "请选择批次") {
this.analysisqueryParams.batchCode = "";
}
},
analysisinfo() {
analysis(this.analysisqueryParams).then((res) => {
if (!res.data) {
@ -487,6 +290,7 @@ export default {
{
name: "男",
type: "bar",
barWidth: 35,
barGap: 0,
color: "#00B050",
label: labelOption,
@ -498,6 +302,7 @@ export default {
{
name: "女",
type: "bar",
barWidth: 35,
color: "red",
label: labelOption,
emphasis: {
@ -532,6 +337,7 @@ export default {
series: [
{
name: "男",
barWidth: 35,
type: "bar",
barGap: 0,
color: "#00B050",
@ -542,6 +348,7 @@ export default {
data: boyweight,
},
{
barWidth: 35,
name: "女",
type: "bar",
color: "red",
@ -560,82 +367,20 @@ export default {
}
});
},
//
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.analysisqueryParams.kindergartenId == null
) {
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;
if (this.analysisqueryParams.batchCode != "") {
this.analysisinfo();
}
},
getList() {
tKindergartenInfo(this.kindergartenType).then((res) => {
this.type = res.data[0];
this.type2 = res.data[1];
});
//
getRoleInfo().then((res) => {
console.log(res);
this.analysisqueryParams.kindergartenId = res.data.kindergartenId;
console.log(this.analysisqueryParams);
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -649,4 +394,7 @@ export default {
::v-deep .el-card__header {
border: none;
}
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -14,7 +14,7 @@
:options="List2"
placeholder="请选择所属组织"
v-model="queryParams.id"
style="width: 300px"
style="width: 208px"
/>
</el-form-item>
<el-form-item label="区域名称" prop="">
@ -23,7 +23,7 @@
:options="areaList"
placeholder="请选择所属区域"
v-model="queryParams.areaId"
style="width: 300px"
style="width: 208px"
/>
</el-form-item>
<el-form-item label="组织地址" prop="">
@ -179,16 +179,25 @@
</el-form-item>
<el-form-item label="组织名称" prop="organizeName">
<el-input v-model="form.organizeName" placeholder="请输入组织名称" />
<el-input
v-model="form.organizeName"
placeholder="请输入组织名称"
maxlength="50"
/>
</el-form-item>
<el-form-item label="组织地址" prop="organizeAddress">
<el-input
v-model="form.organizeAddress"
placeholder="请输入组织地址"
maxlength="100"
/>
</el-form-item>
<el-form-item label="联系人" prop="contacts">
<el-input v-model="form.contacts" placeholder="请输入联系人姓名" />
<el-input
v-model="form.contacts"
placeholder="请输入联系人姓名"
maxlength="10"
/>
</el-form-item>
<el-form-item label="联系人电话" prop="phone">
<el-input
@ -220,8 +229,8 @@ export default {
var checkMobile = (rule, value, cb) => {
//
const regMobile =
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
// /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
// /^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
const reg = /^(0[0-9]{2,3}\-)([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
const isTel = reg.test(value);

View File

@ -124,12 +124,18 @@
align="center"
prop="categoryNameAbbreviate"
/>
<el-table-column label="分类排序" align="center" prop="sorting" />
<el-table-column label="备注信息" align="center" prop="remark" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" />
<el-table-column label="分类排序" align="center" prop="sorting" />
<el-table-column
label="备注信息"
align="center"
prop="remark"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" /> -->
<el-table-column
label="操作"
align="center"
@ -141,6 +147,7 @@
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-if="scope.row.id != 1"
v-hasPermi="['system:itemCategory:edit']"
>修改</el-button
>
@ -152,25 +159,15 @@
v-hasPermi="['system:itemCategory:add']"
>新增</el-button
>
<!--
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:area:remove']"
v-if="scope.row.id != 1"
>删除</el-button
> -->
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:itemCategory:remove']"
v-if="scope.row.id != 1"
>删除</el-button
>
<!-- v-if="scope.row.categoryName != '跳不'" -->
</template>
</el-table-column>
</el-table>
@ -186,7 +183,11 @@
<!-- 添加或修改测试项目分类对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="所属上级分类" prop="parentId" v-if="itemCategoryList.length != 0 && form.parentId != 0">
<el-form-item
label="所属上级分类"
prop="parentId"
v-if="itemCategoryList.length != 0 && form.parentId != 0"
>
<treeselect
:normalizer="normalizer"
:options="itemCategoryList"
@ -199,12 +200,17 @@
<el-input v-model="form.parentId" placeholder="请输入父级id" />
</el-form-item> -->
<el-form-item label="分类名称" prop="categoryName">
<el-input v-model="form.categoryName" placeholder="请输入分类名称" />
<el-input
v-model="form.categoryName"
placeholder="请输入分类名称"
maxlength="80"
/>
</el-form-item>
<el-form-item label="分类名称简写" prop="categoryNameAbbreviate">
<el-input
v-model="form.categoryNameAbbreviate"
placeholder="请输入分类名称简写"
maxlength="80"
/>
</el-form-item>
@ -217,15 +223,18 @@
<el-input
v-model="item.levelName"
placeholder="得分描述"
maxlength="15"
style="width: 90px; margin-right: 20px"
/>
<el-input
v-model.number="item.levelMinScore"
placeholder="最低分"
maxlength="5"
style="width: 75px; margin-right: 10px"
/><el-input
v-model.number="item.levelMaxScore"
placeholder="最高分"
maxlength="5"
style="width: 75px; margin-right: 9px"
/>
<el-button
@ -250,12 +259,17 @@
<el-form-item label="分类排序" prop="sorting">
<el-input
v-model.number="form.sorting"
v-model="form.sorting"
placeholder="请输入分类排序"
maxlength="8"
/>
</el-form-item>
<el-form-item label="备注信息" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注信息" />
<el-input
v-model="form.remark"
placeholder="请输入备注信息"
maxlength="200"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -281,6 +295,17 @@ export default {
name: "ItemCategory",
components: { Treeselect },
data() {
var roleMoeny = (rule, value, callback) => {
var str = this.form.sorting;
if (Number.isNaN(Number.parseFloat(str))) {
callback(new Error("请输入分类排序"));
} else if (str.length == 0) {
callback(new Error("请输入分类排序")); //
} else {
callback();
}
};
let testItemLevelList = (rule, value, callback) => {
let min = value
.map((e) => {
@ -295,13 +320,11 @@ export default {
console.log(min, max);
if (Number(max) < Number(min)) {
if(max && min && max < min){
if (max && min && max < min) {
callback(new Error("最高分必须大于最低分,请重新填写!"));
}else{
console.log(min, max);
} else {
console.log(min, max);
}
}
if (
value.map((e) => {
@ -372,8 +395,12 @@ export default {
// { type: "number", message: "", trigger: "blur" },
],
sorting: [
{ required: true, message: "排序不能为空", trigger: "blur" },
{ type: "number", message: "排序必须为数字值", trigger: "blur" },
{
required: true,
validator: roleMoeny,
message: "",
trigger: "blur",
},
],
remark: [
{ required: true, message: "备注信息不能为空", trigger: "blur" },

View File

@ -217,12 +217,14 @@
<el-input
v-model="form.kindergartenName"
placeholder="请输入幼儿园名称"
maxlength="40"
/>
</el-form-item>
<el-form-item label="幼儿园地址" prop="kindergartenAddress">
<el-input
v-model="form.kindergartenAddress"
placeholder="请输入幼儿园地址"
maxlength="40"
/>
</el-form-item>
<el-form-item label="幼儿园类型" prop="kindergartenType">
@ -248,7 +250,7 @@
</el-select>
</el-form-item>
<el-form-item label="联系人" prop="contacts">
<el-input v-model="form.contacts" placeholder="请输入联系人" />
<el-input v-model="form.contacts" placeholder="请输入联系人" maxlength="15" />
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input
@ -285,23 +287,28 @@ export default {
data() {
//
var checkMobile = (rule, value, cb) => {
console.log(value);
var str = String(value);
console.log(str);
//
const regMobile =
/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
/^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
const reg = /^(0[0-9]{2,3}\-)([2-9][0-9]{6,7})+(\-[0-9]{1,4})?$/;
const isTel = reg.test(value);
if (value.length == 11) {
if (regMobile.test(value)) {
if (str.length == 11) {
if (regMobile.test(str)) {
return cb();
}
} else if (11 < value.length <= 13) {
} else if (11 < str.length <= 13) {
if (isTel) {
return cb();
}
}
cb(new Error("请输入正确的联系电话"));
};
return {
//
loading: true,

View File

@ -108,7 +108,7 @@
>
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="处方名称" align="center" prop="motionName" />
<el-table-column label="处方内容" align="center" prop="motionContent" />
<el-table-column label="处方内容" align="center" prop="motionContent" :show-overflow-tooltip="true"/>
<el-table-column label="适用人群" align="center" prop="applyCrowd">
<template slot-scope="scope">
{{ scope.row.applyCrowd == 0 ? "普通" : "" }}
@ -117,8 +117,8 @@
</el-table-column>
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" />
<!-- <el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" /> -->
<el-table-column
label="操作"
align="center"
@ -157,10 +157,10 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="处方名称" prop="motionName">
<el-input v-model="form.motionName" placeholder="请输入处方名称" />
<el-input v-model="form.motionName" placeholder="请输入处方名称" maxlength="50" />
</el-form-item>
<el-form-item label="处方内容">
<editor v-model="form.motionContent" :min-height="192" />
<editor v-model="form.motionContent" :min-height="192" maxlength="200"/>
</el-form-item>
<el-form-item
label="适用人群等级"

View File

@ -38,8 +38,19 @@
>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:parentInfo:add']"
>新增</el-button
>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
@ -95,8 +106,8 @@
<el-table-column label="联系电话" align="center" prop="phone" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" />
<!-- <el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" /> -->
<el-table-column
label="操作"
@ -136,7 +147,7 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="家长姓名" prop="parentName">
<el-input v-model="form.parentName" placeholder="请输入家长姓名" />
<el-input v-model="form.parentName" placeholder="请输入家长姓名" maxlength="10"/>
</el-form-item>
<el-form-item label="家长性别" prop="parentSex">
@ -168,6 +179,7 @@ import {
getParentInfo,
delParentInfo,
updateParentInfo,
addParentInfo,
} from "@/api/system/parentInfo";
export default {
@ -177,7 +189,7 @@ export default {
var checkMobile = (rule, value, cb) => {
//
const regMobile =
/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57])[0-9]{8}$/;
/^(0|86|17951)?(13[0-9]|15[012356789]|17[678]|18[0-9]|14[57]|19[0-9])[0-9]{8}$/;
if (regMobile.test(value)) {
return cb();
@ -276,8 +288,8 @@ export default {
this.total = response.total;
this.loading = false;
});
this.queryParams.parentName = null;
this.queryParams.phone = null;
// this.queryParams.parentName = null;
// this.queryParams.phone = null;
},
/** 重置按钮操作 */
resetQuery() {
@ -316,6 +328,12 @@ export default {
this.open = false;
this.getList();
});
}else {
addParentInfo(this.form).then((response) => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});

View File

@ -7,20 +7,11 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<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>
<kindergarten
@kinbatlist="kinbatlist"
style="width: 500px; display: inline"
></kindergarten>
<el-form-item label="学生性别" prop="studentSex" label-width="70px">
<el-select
v-model="analysisqueryParams.studentSex"
@ -32,23 +23,17 @@
:key="item.value"
:label="item.label"
:value="item.value"
@click.native="sexclick"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="所属批次" prop="batchCodeId" label-width="70px">
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -59,129 +44,75 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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"
style="
margin-bottom: 40px;
font-size: 15px;
border-bottom: 1px solid #8fd6d9;
"
>
<div class="test" style="height: 90px">
<div style="text-align: center; line-height: 40px">
<span>本园幼儿综合体质评估综合得分</span>
</div>
<div
class="el-table--enable-row-hover el-table--medium"
style="margin: 0 auto; line-height: 40px; text-align: center"
>
<div style="display: inline-block">
<span
style="
position: relative;
display: inline-block;
width: 200px;
text-align: center;
"
v-for="(item, index) in firstCategoryScoreList"
:key="index"
>
<span :style="index == 0 ? '' : 'margin-right:40px'">{{
index == 0 ? null : "+"
}}</span>
<span>
{{ item.categoryName }} ({{ item.avgCategoryFraction }})
</span>
</span>
</div>
<div style="display: inline-block; position: relative">
<span style="margin: 0 20px">= </span>
<span style="display: inline-block; width: 120px"
>综合得分({{ totalAvgFraction }})</span
>
<span
style="
display: inline-block;
position: absolute;
top: 20px;
width: 100px;
left: 40px;
margin: 0 20px;
"
></span>
</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: 1000px; height: 600px; margin: 0 auto"
></div>
</div>
</el-col>
<el-col :span="24" :offset="0">
<div style="margin: 0 auto">
<div
@ -246,10 +177,22 @@
v-for="item in categoryAgeFractionList"
:key="item.prentId"
>
<div style="width: 120px; line-height: 60px">
<div
style="
width: 120px;
line-height: 60px;
border: 1px solid #f0f0f0;
"
>
{{ item.studentAge }}
</div>
<div style="width: 120px; line-height: 60px">
<div
style="
width: 120px;
line-height: 60px;
border: 1px solid #f0f0f0;
"
>
{{ item.totalAvgFraction }}
</div>
<div>
@ -257,7 +200,7 @@
<div
v-for="uitem in item.list"
:key="uitem.categoryId"
style="width: 120px"
style="width: 120px; border: 0.5px solid #f0f0f0"
>
{{ uitem }}
</div>
@ -268,70 +211,6 @@
<div></div>
</div>
</el-col>
<el-col :span="24" :offset="0" style="margin-top: 30px">
<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: 120px;
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: 120px"
>{{ item.categoryName }}</span
>
</span>
</div>
<div style="display: inline-block; position: relative">
<span style="margin: 0 20px">= </span>
<span style="display: inline-block; width: 100px">{{
totalAvgFraction
}}</span>
<span
style="
display: inline-block;
position: absolute;
top: 20px;
width: 100px;
left: 40px;
margin: 0 20px;
"
>(综合得分)</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-row>
<el-row :gutter="20" v-if="itemshow2">
@ -350,16 +229,13 @@
</template>
<script>
import * as echarts from "echarts";
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
import { getRoleInfo } from "@/api/system/quality";
import { analysis } from "@/api/system/physique";
import Kindergarten from "../../assembly/kindergarten.vue";
export default {
name: "KindergartenPhysicalTest",
components: {},
components: { Kindergarten },
data() {
return {
sexs: [
@ -374,48 +250,12 @@ export default {
],
itemshow: false,
itemshow2: false,
showyey: true,
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",
// kindergartenId: "2",
// batchCode: "PC202208290002",
// studentSex: "FEMALE",
kindergartenId: "",
batchCode: "",
@ -434,6 +274,18 @@ export default {
// this.analysisinfo();
},
methods: {
handleQuery() {
this.analysisinfo();
},
kinbatlist(kin, batchCode) {
console.log(kin);
var a = kin;
console.log(a)
this.analysisqueryParams.kindergartenId = a;
this.analysisqueryParams.batchCode = batchCode;
console.log(this.analysisqueryParams)
},
analysisinfo() {
analysis(this.analysisqueryParams).then((res) => {
if (res.data == [] || !res.data) {
@ -515,7 +367,7 @@ export default {
let option = {
//
color: "blue",
color: "#D9A508",
radar: {
name: {
show: true,
@ -531,7 +383,7 @@ export default {
type: "radar",
label: {
show: true,
color: "blue", //
color: "#D9A508", //
},
areaStyle: {}, //
data: [
@ -543,11 +395,11 @@ export default {
areaStyle: {
color: new echarts.graphic.RadialGradient(0.1, 0.6, 1, [
{
color: "rgba(50, 50, 255, 0.1)",
color: "rgba(255,192,0, 0.8)",
offset: 0,
},
{
color: "rgba(50, 50, 200, 0.9)",
color: "rgba(255,192,0, 0.9)",
offset: 1,
},
]),
@ -563,93 +415,19 @@ export default {
}
});
},
//
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.analysisqueryParams.kindergartenId == null
) {
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;
},
//
sexclick() {
console.log(this.analysisqueryParams);
if (
this.analysisqueryParams.kindergartenId != null &&
this.analysisqueryParams.batchCode != ""
) {
this.analysisinfo();
}
},
//
kindergartenNameclick(row) {
this.analysisqueryParams.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.kindergartenshow = false;
if (
this.analysisqueryParams.batchCode != "" &&
this.analysisqueryParams.studentSex != ""
) {
this.analysisinfo();
}
},
getList() {
tKindergartenInfo(this.kindergartenType).then((res) => {
this.type = res.data[0];
this.type2 = res.data[1];
});
//
getRoleInfo().then((res) => {
console.log(res);
this.analysisqueryParams.kindergartenId = res.data.kindergartenId;
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -660,4 +438,13 @@ export default {
};
</script>
<style scoped='scss'>
.test {
/* width: 70%; */
margin: 0 auto;
/* background-color: #f0f0f0; */
color: #27848B;
}
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -7,69 +7,17 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<student
style="width: 500px; display: inline"
@itemlist="itemlists"
></student>
<el-form-item>
<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"
v-if="showbj"
>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -79,284 +27,19 @@
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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-card
v-show="itemshow"
class="box-card"
style="width: 95%; margin: 0 auto"
>
<div slot="header" style="text-align: center; margin-bottom: 30px">
<div slot="header" style="text-align: center; ">
身体素质测试
</div>
<el-row style="text-align: center">
<el-col
:span="5"
class="toptitle"
style="
height: 60px;
line-height: 60px;
border-right: 1px solid #ededed;
border-bottom: 1px solid #ededed;
"
@ -364,9 +47,8 @@
>
<el-col
:span="5"
class="toptitle"
style="
height: 60px;
line-height: 60px;
border-right: 1px solid #ededed;
border-bottom: 1px solid #ededed;
"
@ -374,9 +56,8 @@
>
<el-col
:span="9"
class="toptitle"
style="
height: 60px;
line-height: 60px;
border-right: 1px solid #ededed;
border-bottom: 1px solid #ededed;
"
@ -384,11 +65,8 @@
>
<el-col
:span="5"
style="
height: 60px;
line-height: 60px;
border-bottom: 1px solid #ededed;
"
class="toptitle"
style="border-bottom: 1px solid #ededed"
>综合评价</el-col
>
</el-row>
@ -399,6 +77,7 @@
>
<el-col
:span="5"
class="text"
style="
height: 100px;
line-height: 100px;
@ -409,6 +88,7 @@
{{ item.itemName }}
</el-col>
<el-col
class="text"
:span="5"
style="
height: 100px;
@ -423,6 +103,7 @@
</el-col>
<el-col
class="text"
v-if="item.itemScore"
:span="9"
style="
@ -457,7 +138,7 @@
style="
position: absolute;
top: 1px;
left: 79%;
left: 75%;
line-height: 20px;
overflow: hidden;
width: 32px;
@ -479,7 +160,7 @@
style="
position: absolute;
top: 1px;
left: 59%;
left: 55%;
overflow: hidden;
line-height: 20px;
width: 32px;
@ -501,7 +182,7 @@
style="
position: absolute;
top: 1px;
left: 39%;
left: 35%;
line-height: 20px;
overflow: hidden;
width: 32px;
@ -524,7 +205,7 @@
style="
position: absolute;
top: 1px;
left: 19%;
left: 15%;
line-height: 20px;
overflow: hidden;
width: 32px;
@ -546,7 +227,7 @@
style="
position: absolute;
top: 1px;
left: -1%;
left: -5%;
line-height: 20px;
overflow: hidden;
width: 32px;
@ -569,7 +250,7 @@
style="
position: absolute;
top: 1px;
right: -1%;
right: -3%;
line-height: 20px;
overflow: hidden;
width: 32px;
@ -605,6 +286,7 @@
</div>
</el-col>
<el-col
class="text"
v-else
:span="9"
style="
@ -618,16 +300,17 @@
style="
margin-top: 20px;
float: left;
margin-left: 10%;
margin-left: 5%;
margin-top: 7%;
"
>成绩评价</span
>
<div style="position: absolute; left: 48%; top: 40%">
{{ item.leveName }}
<div style="position: absolute; left: 25%; top: 40%">
{{ item.scoreDictValue }}
</div>
</el-col>
<el-col
class="text"
:span="5"
style="
height: 100px;
@ -653,103 +336,20 @@
</div>
</template>
<script>
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { listStudentInfo } from "@/api/system/studentInfo";
import { listClassinfo } from "@/api/system/classinfo";
import {
getRoleInfo,
testBodyScoreInfo,
testScoreBatch,
} from "@/api/system/quality";
import student from "@/views/assembly/student.vue";
import { getRoleInfo, testBodyScoreInfo } from "@/api/system/quality";
export default {
name: "quality",
components: {},
components: {
student,
},
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
showbj: true,
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: [],
//
studentscorelist: [],
//
@ -765,20 +365,20 @@ export default {
// studentId: "9",
// batchCode: "PC202208030004",
},
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
};
},
created() {
this.getList();
this.class();
// this.studenttext();
},
created() {},
methods: {
itemlists(studentId, batchCode) {
console.log(studentId, batchCode);
this.studentscore.studentId = studentId;
this.studentscore.batchCode = batchCode;
},
/** 查看按钮操作 */
handleQuery() {
this.studenttext();
},
//
studenttext() {
testBodyScoreInfo(this.studentscore).then((res) => {
@ -796,155 +396,20 @@ export default {
}
});
},
//
studentshowclick() {
if (this.studentqueryParams.classId == "") {
this.$message.error("请先选择班级");
} else {
this.studentshow = true;
this.studentlist();
}
},
//
batchCodeshowclick() {
if (this.studentscore.studentId == "") {
this.$message.error("请先选择学生");
} else {
this.testScore();
this.batchCodeshow = true;
}
},
//
batchCodeclick(row) {
this.batchCodeName = row.batchName;
this.batchCodeId = row.id;
this.studentscore.batchCode = row.batchCode;
this.batchCodeshow = false;
this.studenttext();
},
//
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.studentscore.studentId = row.id;
if (this.studentscore.batchCode != "") {
this.studenttext();
}
},
//
studentlist() {
listStudentInfo(this.studentqueryParams).then((res) => {
this.studentInfoList = res.rows;
this.total3 = res.total;
// console.log(this.studentInfoList);
});
},
//
classshowclick() {
if (
this.classqueryParams.kindergartenId == "" ||
this.classqueryParams.kindergartenId == null
) {
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.studentname = "请选择学生";
this.studentId = "";
this.studentscore.studentId = "";
this.classshow = false;
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
this.studentscore.studentId = "";
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);
this.classqueryParams.kindergartenId = res.data.kindergartenId;
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
this.showbj = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -955,6 +420,16 @@ export default {
};
</script>
<style scoped='scss'>
.text {
font-size:14px
}
.toptitle {
height: 50px;
line-height: 50px;
background-color: #f8f8f9;
font-size: 15px;
font-weight: 600;
}
::v-deep .el-card__header {
border: none;
}
@ -966,4 +441,7 @@ export default {
position: absolute;
top: 40px;
}
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -7,69 +7,17 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<student
style="width: 500px; display: inline"
@itemlist="itemlists"
></student>
<el-form-item>
<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"
v-if="showbj"
>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -80,270 +28,6 @@
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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="11"
@ -954,17 +638,12 @@
</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 student from "@/views/assembly/student.vue";
import { getRoleInfo } from "@/api/system/quality";
import { analysis } from "@/api/system/shape";
export default {
name: "shape",
components: {},
components: { student },
data() {
return {
itemshow: false,
@ -972,99 +651,18 @@ export default {
itemshow3: true,
weightshow: true,
heightshow: true,
showyey: true,
showbj: true,
total1: 0,
total2: 0,
total3: 0,
total4: 0,
itemweight: "",
weightMax: 70,
weightMin: 10,
itemheight: "",
heightMax: 150,
heightMin: 30,
//
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: [],
//list
analysislist: [],
//bmi
bmiItemLevel: [],
//
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
//
analysisstudent: {
// studentId: "10",
@ -1076,11 +674,18 @@ export default {
},
mounted() {},
created() {
this.getList();
this.class();
// this.studentanalysis();
},
methods: {
itemlists(studentId, batchCode) {
console.log(studentId, batchCode);
this.analysisstudent.studentId = studentId;
this.analysisstudent.batchCode = batchCode;
},
/** 查看按钮操作 */
handleQuery() {
this.studentanalysis();
},
//
studentanalysis() {
analysis(this.analysisstudent).then((res) => {
@ -1178,125 +783,6 @@ export default {
}
});
},
//
studentshowclick() {
if (this.studentqueryParams.classId == "") {
this.$message.error("请先选择班级");
} else {
this.studentshow = true;
this.studentlist();
}
},
//
batchCodeshowclick() {
if (this.analysisstudent.studentId == "") {
this.$message.error("请先选择学生");
} else {
this.testScore();
this.batchCodeshow = true;
}
},
//
batchCodeclick(row) {
this.batchCodeName = row.batchName;
this.batchCodeId = row.id;
this.analysisstudent.batchCode = row.batchCode;
this.batchCodeshow = false;
this.studentanalysis();
},
//
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.analysisstudent.studentId = row.id;
if (this.analysisstudent.batchCode != "") {
this.studentanalysis();
}
},
//
studentlist() {
listStudentInfo(this.studentqueryParams).then((res) => {
this.studentInfoList = res.rows;
this.total3 = res.total;
// console.log(this.studentInfoList);
});
},
//
classshowclick() {
if (this.classqueryParams.kindergartenId == ""||this.classqueryParams.kindergartenId == null) {
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.studentname = "请选择学生";
this.studentId = "";
this.analysisstudent.studentId = "";
this.classshow = false;
},
//
kindergartenNameclick(row) {
this.classqueryParams.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
this.analysisstudent.studentId = "";
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) => {
@ -1305,23 +791,13 @@ export default {
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
this.showbj = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -1343,4 +819,7 @@ export default {
position: absolute;
top: 40px;
}
::v-deep .el-form {
display: inline;
}
</style>

File diff suppressed because it is too large Load Diff

View File

@ -7,33 +7,17 @@
v-show="showSearch"
label-width="90px"
>
<el-form-item label="所属幼儿园" prop="categoryName" v-if="showyey">
<kindergarten
@kinbatlist="kinbatlist"
style="width: 500px; display: inline"
></kindergarten>
<el-form-item>
<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
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>查看</el-button
>
</el-form-item>
</el-form>
@ -43,181 +27,75 @@
@queryTable="getList"
></right-toolbar>
</el-row>
<!-- // -->
<el-dialog
width="590px"
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="100" 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="200"
align="center"
/>
<el-table-column
property="batchName"
label="批次名称"
width="200"
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">
<div style="display: flex">
<div style="width: 50%">
<div
id="main"
style="width: 500px; height: 300px; margin: 0 auto"
></div>
<div
id="main2"
style="width: 500px; height: 300px; margin: 0 auto"
></div>
<div
id="main3"
style="width: 500px; height: 300px; margin: 0 auto"
></div>
</div>
<div style="width: 50%; margin-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"
<div>
<div style="display: flex; margin-top: 20px">
<div style="width: 50%">
<div slot="header" class="header">
<span>班级综合体测成绩排名</span>
</div>
<div v-if="yclassname1.length != 0" style="position: relative">
<div class="title">大班</div>
<div
id="main"
style="width: 500px; height: 300px; margin: 0 auto"
></div>
</div>
<div v-if="yclassname2.length != 0" style="position: relative">
<div class="title">中班</div>
<div
id="main2"
style="width: 500px; height: 300px; margin: 0 auto"
></div>
</div>
<div v-if="yclassname3.length != 0" style="position: relative">
<div class="title">小班</div>
<div
id="main3"
style="width: 500px; height: 300px; margin: 0 auto"
></div>
</div>
</div>
<div style="width: 50%">
<div slot="header" class="header" style="margin-bottom: 40px">
<span>全国优秀幼儿榜(TOP10)</span>
</div>
<el-table
ref="singleTable"
:data="studentlist"
highlight-current-row
style="margin: 0 auto; width: 530px"
>
</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-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>
</div>
</div>
</div>
</el-row>
@ -237,63 +115,18 @@
</template>
<script>
import * as echarts from "echarts";
import {
listKindergartenInfo,
tKindergartenInfo,
} from "@/api/system/kindergartenInfo";
import { getRoleInfo, testScoreBatch } from "@/api/system/quality";
import { getRoleInfo } from "@/api/system/quality";
import { StudentList, ClassList } from "@/api/system/survey";
import Kindergarten from "../../assembly/kindergarten.vue";
export default {
name: "KindergartenPhysicalTest",
components: {},
components: { Kindergarten },
data() {
return {
itemshow: false,
itemshow2: false,
showyey: true,
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: {
@ -301,16 +134,16 @@ export default {
batchCode: "",
pageNum: 1,
pageSize: 10,
// kindergartenId: "12",
// batchCode: "PC202208030005",
// kindergartenId: "2",
// batchCode: "PC202208260011",
},
studentlistqueryParams: {
kindergartenId: "",
batchCode: "",
pageNum: 1,
pageSize: 10,
// kindergartenId: "1",
// batchCode: "PC202208030005",
// kindergartenId: "2",
// batchCode: "PC202208260011",
},
LARGECLASS: "LARGE_CLASS",
MIDDLECLASS: "MIDDLE_CLASS",
@ -325,62 +158,71 @@ export default {
},
mounted() {},
created() {
this.getList();
// this.StudentListinfo();
// this.ClassListinfo();
},
methods: {
handleQuery() {
this.StudentListinfo();
this.ClassListinfo();
},
kinbatlist(kindergartenId, batchCode) {
console.log(kindergartenId, batchCode);
this.studentlistqueryParams.kindergartenId = kindergartenId;
this.studentlistqueryParams.batchCode = batchCode;
this.classqueryParams.kindergartenId = kindergartenId;
this.classqueryParams.batchCode = batchCode;
},
ClassListinfo() {
ClassList(this.classqueryParams).then((res) => {
if (res.rows.length == 0) {
this.itemshow2 = true;
this.itemshow = false;
} else {
this.$nextTick((e) => {
this.yclassname1 = [];
this.yclassname2 = [];
this.yclassname3 = [];
this.classscore1 = [];
this.classscore2 = [];
this.classscore3 = [];
res.rows.forEach((e) => {
if (e.classType == this.LARGECLASS) {
this.yclassname1.push(e.className);
if (
e.itemScoreAll == "" ||
!e.itemScoreAll ||
e.itemScoreAll == null
) {
this.classscore1.push(0);
} else {
this.classscore1.push(e.itemScoreAll);
}
} else if (e.classType == this.MIDDLECLASS) {
this.yclassname2.push(e.className);
if (
e.itemScoreAll == "" ||
!e.itemScoreAll ||
e.itemScoreAll == null
) {
this.classscore2.push(0);
} else {
this.classscore2.push(e.itemScoreAll);
}
} else if (e.classType == this.SMALLCLASS) {
s;
this.yclassname3.push(e.className);
if (
e.itemScoreAll == "" ||
!e.itemScoreAll ||
e.itemScoreAll == null
) {
this.classscore3.push(0);
} else {
this.classscore3.push(e.itemScoreAll);
}
this.yclassname1 = [];
this.yclassname2 = [];
this.yclassname3 = [];
this.classscore1 = [];
this.classscore2 = [];
this.classscore3 = [];
res.rows.forEach((e) => {
if (e.classType == this.LARGECLASS) {
this.yclassname1.push(e.className);
if (
e.itemScoreAll == "" ||
!e.itemScoreAll ||
e.itemScoreAll == null
) {
this.classscore1.push(0);
} else {
this.classscore1.push(e.itemScoreAll);
}
});
console.log(this.yclassname3, this.yclassname2);
} else if (e.classType == this.MIDDLECLASS) {
this.yclassname2.push(e.className);
if (
e.itemScoreAll == "" ||
!e.itemScoreAll ||
e.itemScoreAll == null
) {
this.classscore2.push(0);
} else {
this.classscore2.push(e.itemScoreAll);
}
} else if (e.classType == this.SMALLCLASS) {
this.yclassname3.push(e.className);
if (
e.itemScoreAll == "" ||
!e.itemScoreAll ||
e.itemScoreAll == null
) {
this.classscore3.push(0);
} else {
this.classscore3.push(e.itemScoreAll);
}
}
});
console.log(this.yclassname3, this.yclassname2);
this.$nextTick((e) => {
if (this.yclassname1.length != 0) {
var myChart = echarts.init(document.getElementById("main"));
}
@ -390,9 +232,9 @@ export default {
if (this.yclassname3.length != 0) {
var myChart3 = echarts.init(document.getElementById("main3"));
}
var myChart = echarts.init(document.getElementById("main"));
var myChart2 = echarts.init(document.getElementById("main2"));
var myChart3 = echarts.init(document.getElementById("main3"));
// var myChart = echarts.init(document.getElementById("main"));
// var myChart2 = echarts.init(document.getElementById("main2"));
// var myChart3 = echarts.init(document.getElementById("main3"));
var app = {};
var option;
@ -511,6 +353,7 @@ export default {
series: [
{
type: "bar",
barWidth: 35,
barGap: 0,
color: "#00B050",
label: labelOption,
@ -545,6 +388,8 @@ export default {
{
type: "bar",
barGap: 0,
barWidth: 35,
color: "#00B050",
label: labelOption,
emphasis: {
@ -578,6 +423,7 @@ export default {
{
type: "bar",
barGap: 0,
barWidth: 35,
color: "#00B050",
label: labelOption,
emphasis: {
@ -619,90 +465,18 @@ export default {
}
});
},
//
batchCodeclick(row) {
this.batchCodeName = row.batchName;
this.batchCodeId = row.id;
this.classqueryParams.batchCode = row.batchCode;
this.studentlistqueryParams.batchCode = row.batchCode;
this.batchCodeshow = false;
this.StudentListinfo();
this.ClassListinfo();
},
//
batchCodeshowclick() {
console.log(this.classqueryParams);
if (
this.classqueryParams.kindergartenId == "" ||
this.classqueryParams.kindergartenId == null
) {
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.studentlistqueryParams.kindergartenId = row.id;
this.kindergartenName = row.kindergartenName;
this.kindergartenId = row.id;
if (
this.studentlistqueryParams.batchCode != "" &&
this.classqueryParams.batchCode != ""
) {
this.StudentListinfo();
this.ClassListinfo();
}
this.kindergartenshow = false;
},
getList() {
tKindergartenInfo(this.kindergartenType).then((res) => {
this.type = res.data[0];
this.type2 = res.data[1];
});
//
getRoleInfo().then((res) => {
this.studentlistqueryParams.kindergartenId = res.data.kindergartenId;
this.classqueryParams.kindergartenId = res.data.kindergartenId;
console.log(this.classqueryParams);
var user = res.data.roleKeys;
console.log(user);
if (user.includes("enchou")) {
this.showyey = false;
return;
} else if (user.includes("teacher")) {
this.showyey = false;
return;
} else if (user.includes("parent")) {
this.showyey = false;
return;
}
});
//list
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//
reset() {
@ -713,7 +487,39 @@ export default {
};
</script>
<style scoped='scss'>
.text {
font-size: 12px;
position: absolute;
left: 19%;
top: 10%;
}
.header {
text-align: center;
font-size: 18px;
width: 380px;
height: 45px;
line-height: 45px;
margin: 0 auto;
background-color: #f0f0f0;
border-radius: 25px;
}
.title {
width: 70px;
background-color: #00d1da;
color: #fff;
line-height: 25px;
height: 25px;
font-size: 14px;
text-align: center;
border-radius: 15px;
position: absolute;
left: 7%;
top: 8%;
}
::v-deep .el-card__header {
border: none;
}
::v-deep .el-form {
display: inline;
}
</style>

View File

@ -9,7 +9,13 @@
label-width="68px"
>
<el-form-item label="所属幼儿园" prop="kindergartenId" label-width="85px">
<el-select
<el-input
v-model="queryParams.kindergartenName"
placeholder="请输入幼儿园名称"
clearable
@keyup.enter.native="handleQuery"
/>
<!-- <el-select
v-model="queryParams.kindergartenId"
clearable
placeholder="所属幼儿园"
@ -22,7 +28,7 @@
:value="item.id"
>
</el-option>
</el-select>
</el-select> -->
</el-form-item>
<el-form-item label="教师名称" prop="teacherName">
<el-input
@ -198,11 +204,7 @@
>{{ kindergartenName }}</el-button
>
</el-form-item>
<el-form-item
label="所属班级"
prop="classInfoList"
class="is-required"
>
<el-form-item label="所属班级" prop="classInfoList" class="is-required">
<el-button
@click="innerVisibleclick"
style="width: 360px; text-align: left; height: 36px; color: #c0c4cc"
@ -232,10 +234,14 @@
>
</el-form-item>
<el-form-item label="教师名称" prop="teacherName">
<el-input v-model="form.teacherName" placeholder="请输入教师名称" />
<el-input
v-model="form.teacherName"
placeholder="请输入教师名称"
maxlength="10"
/>
</el-form-item>
<el-form-item label="身份证号" prop="cardNo">
<el-input v-model="form.cardNo" placeholder="请输入身份证号" />
<el-input v-model="form.cardNo" placeholder="请输入身份证号" maxlength="18" />
</el-form-item>
<el-form-item label="性别" prop="teacherSex">
<el-radio-group v-model="form.teacherSex">
@ -302,7 +308,10 @@
</el-form-item>
</el-form>
<el-table :data="kindergartenInfoList">
<el-table
:data="kindergartenInfoList"
@cell-dblclick="kindergartenNameclick"
>
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
@ -431,7 +440,12 @@
</el-form-item>
</el-form>
<el-table :data="classinfoList" align="center" style="margin-top: 10px">
<el-table
:data="classinfoList"
align="center"
style="margin-top: 10px"
@cell-dblclick="classinfoclick"
>
<!-- <el-table-column type="selection" width="50" align="center" /> -->
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
@ -494,21 +508,26 @@
>
</el-table-column>
</el-table>
<el-button
type="success"
plain
size="mini"
@click="cancel3"
style="margin-top: 30px; margin-left: 20px"
>选择完成</el-button
>
<pagination
v-show="total2 > 0"
:total="total2"
:page.sync="classinfoList2.pageNum"
:limit.sync="classinfoList2.pageSize"
@pagination="getList"
@pagination="getclassinfo"
/>
<el-button
type="primary"
size="mini"
@click="cancel3"
style="
margin-top: 30px;
margin-left: 85%;
width: 100px;
height: 50px;
font-size: 15px;
"
>选择完成</el-button
>
</el-dialog>
<el-dialog
@ -581,7 +600,7 @@ import {
export default {
name: "TeacherInfo",
data() {
// const checkMobile =/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
// const checkMobile =/^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[189]))\d{8}$/;
//
var checkMobile = (rule, value, cb) => {
//
@ -700,6 +719,7 @@ export default {
cardNo: "",
teacherPhone: "",
teacherSex: "",
kindergartenName: "",
},
queryParams2: {
pageNum: 1,
@ -795,18 +815,20 @@ export default {
this.classinfoName = this.classinfoName.filter((e) => e.id != item.id);
},
classinfoclick(item) {
this.form.classInfoList = this.form.classInfoList.filter(
(e) => e != item.id
);
this.classinfoName = this.classinfoName.filter((e) => e.id != item.id);
this.form.classInfoList.push(item.id);
// if (res.data.length > 1) {
// this.classinfoName = res.data.map((e) => e.className).join(",");
// } else if (res.data.length == 1) {
// this.classinfoName = JSON.parse(res.data.map((e) => e.className));
// }
if (Array.isArray(this.classinfoName)) {
this.classinfoName.push(item);
} else {
this.classinfoName = this.classinfoName.split(",");
this.classinfoName.push(item);
}
console.log(this.classinfoName);
console.log(this.form.classInfoList);
},
//
@ -819,7 +841,6 @@ export default {
});
},
kindergartenNameclick(row) {
this.form.kindergartenId = row.id;
this.kindergartenid = row.id;
@ -921,6 +942,16 @@ export default {
},
resetQuery1() {
this.resetForm("queryForm");
this.queryParams = {
pageNum: 1,
pageSize: 10,
kindergartenId: "", //id
teacherName: "",
cardNo: "",
teacherPhone: "",
teacherSex: "",
kindergartenName: "",
};
this.handleQuery();
},

View File

@ -27,14 +27,14 @@
/>
</el-form-item>
<el-form-item label="平均得分" prop="itemAvgScore">
<!-- <el-form-item label="平均得分" prop="itemAvgScore">
<el-input
v-model="queryParams.itemAvgScore"
placeholder="请输入平均得分"
clearable
@keyup.enter.native="handleQuery2"
/>
</el-form-item>
</el-form-item> -->
<el-form-item>
<el-button
type="primary"
@ -116,7 +116,12 @@
{{ scope.row.sex == "FEMALE" ? "女" : "" }}
</template>
</el-table-column>
<el-table-column label="平均得分" align="center" prop="itemAvgScore">
<el-table-column
label="平均得分"
align="center"
prop="itemAvgScore"
:show-overflow-tooltip="true"
>
<template slot-scope="scope">
{{ scope.row.dictValue == "number" ? scope.row.itemAvgScore : "" }}
{{ scope.row.dictValue == "text" ? scope.row.itemAvgText : "" }}
@ -212,10 +217,10 @@
:required="true"
v-if="form.resultDictType == ''"
>
<el-input
v-model="value"
placeholder="请输入平均得分"
<el-input
v-model="value"
placeholder="请输入平均得分"
maxlength="10"
/>
</el-form-item>
@ -225,17 +230,24 @@
key="itemAvgScore"
prop="itemAvgScore"
>
<el-input v-model="form.itemAvgScore" placeholder="请输入平均得分" />
<el-input
v-model="form.itemAvgScore"
placeholder="请输入平均得分"
maxlength="10"
/>
</el-form-item>
<el-form-item
label="平均得分"
v-else-if="form.dictValue == ResultType2.dictValue"
v-else-if="form.resultDictType == ResultType2.dictValue"
key="itemAvgText"
prop="itemAvgText"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分"
@input="change($event)" />
<el-input
v-model="form.itemAvgText"
placeholder="请输入平均得分"
maxlength="100"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -307,14 +319,22 @@
prop="itemAvgScore"
v-if="form.dictValue == 'number'"
>
<el-input v-model="form.itemAvgScore" placeholder="请输入平均得分" />
<el-input
v-model="form.itemAvgScore"
placeholder="请输入平均得分"
maxlength="10"
/>
</el-form-item>
<el-form-item
label="平均得分"
prop="itemAvgText"
v-if="form.dictValue == 'text'"
>
<el-input v-model="form.itemAvgText" placeholder="请输入平均得分" />
<el-input
v-model="form.itemAvgText"
placeholder="请输入平均得分"
maxlength="100"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
@ -397,6 +417,7 @@
v-loading="loading"
:data="testItemsList"
@selection-change="handleSelectionChange"
@cell-dblclick="xmclick"
>
<el-table-column width="60" align="center" label="请选择">
<template slot-scope="scope">
@ -539,16 +560,16 @@ export default {
}
}
};
var roleMoeny1 = (rule, value, callback) => {
var roleMoeny1 = (rule, value, callback) => {
var str = String(this.form.itemAvgText);
console.log(str);
console.log(value);
console.log(this.form);
var str_ = "";
var str2 = "";
if (str.includes(".")) {
str_ = str.substr(str.indexOf(".")).length;
str2 = str.substr(0, str.indexOf(".")).length;
console.log(str2);
if (!this.form.itemAvgText) {
if (!this.form.itemAvgText) {
callback(new Error("不能为空"));
} else if (this.form.itemAvgText * 1 > 99999999) {
callback(new Error("最大99999999")); //
@ -561,14 +582,13 @@ export default {
}
} else {
str2 = str.length;
console.log(str2);
if (!this.form.itemAvgText) {
callback(new Error("不能为空"));
} else if (this.form.itemAvgText * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (this.form.itemAvgText == "0") {
callback(new Error("请输入成绩")); //
} else {
} else {
callback();
}
}
@ -649,13 +669,22 @@ export default {
sex: null,
},
//
form: {},
form: {
resultDictType: "",
itemAvgScore: "123",
itemAvgText: "456",
},
//
rules: {
sex: [{ required: true, message: "请选择性别", trigger: "blur" }],
itemAvgScore: [{ required: true, validator: roleMoeny, message: "" }],
itemAvgText: [
{ required: true, validator: roleMoeny1,message: "", trigger: "blur" },
{
required: true,
validator: roleMoeny1,
message: "",
trigger: "blur",
},
],
areaId: [
{ required: true, message: "请选择所属区域", trigger: "blur" },
@ -670,9 +699,6 @@ export default {
this.getList();
},
methods: {
change (e) {
this.$forceUpdate()
},
inputChange() {
this.getItemCityScorelist.areaId = this.form.areaId;
if (
@ -692,24 +718,26 @@ export default {
this.getItemCityScore();
}
},
getItemCityScore() {
getItemCityScoreInfo(this.getItemCityScorelist).then((res) => {
if (res.data) {
this.form.itemAvgScore = res.data.itemAvgScore;
this.form.itemAvgText = res.data.itemAvgText;
if (res.data.itemAvgScore == null) {
this.form.itemAvgText = res.data.itemAvgText;
this.form.itemAvgScore = null;
} else if (res.data.itemAvgText == null) {
this.form.itemAvgScore = res.data.itemAvgScore;
this.form.itemAvgText = null;
}
} else {
this.form.itemAvgScore = "";
this.form.itemAvgText = "";
this.form.itemAvgScore = null;
this.form.itemAvgText = null;
}
console.log(this.form);
});
},
innerVisiblexm() {
if (this.form.areaId == null) {
return this.$message.error("请先选择所属区域");
} else {
this.innerVisible = true;
}
this.innerVisible = true;
},
normalizer3(node) {
if (node.children && !node.children.length) {
@ -757,6 +785,7 @@ export default {
) {
this.getItemCityScore();
}
console.log(this.ResultType1, this.ResultType2);
console.log(this.form);
},
/** 查询全市平均成绩列表 */
@ -818,8 +847,9 @@ export default {
id: null,
areaId: null,
itemId: null,
itemAvgScore: null,
resultDictType: "",
itemAvgScore: "",
itemAvgText: "",
};
},
/** 搜索按钮操作 */
@ -845,6 +875,7 @@ export default {
areaId: null,
itemId: null,
itemAvgScore: null,
itemAvgText: null,
};
this.handleQuery();
},

View File

@ -211,6 +211,7 @@
v-model="form.itemAvgScore"
style="width: 360px"
placeholder="请输入平均得分"
maxlength="10"
/>
</el-form-item>
<el-form-item
@ -222,6 +223,7 @@
v-model="form.itemAvgText"
placeholder="请输入平均得分"
style="width: 360px"
maxlength="100"
/>
</el-form-item>
</el-form>
@ -301,6 +303,7 @@
v-model="value"
placeholder="请输入平均得分"
style="width: 360px"
maxlength="10"
/>
</el-form-item>
@ -313,6 +316,7 @@
v-model="form2.itemAvgScore"
placeholder="请输入平均得分"
style="width: 360px"
maxlength="10"
/>
</el-form-item>
@ -325,6 +329,7 @@
v-model="form2.itemAvgText"
placeholder="请输入平均得分"
style="width: 360px"
maxlength="100"
/>
</el-form-item>
</el-form>
@ -369,151 +374,146 @@
>重置</el-button
>
</el-form-item>
<el-table :data="testItemslists">
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
type="primary"
v-if="itemId2 == scope.row.id"
style="width: 15px; height: 15px"
circle
@click="xmclick(scope.row)"
></el-button>
<el-button
v-else
style="width: 15px; height: 15px"
circle
@click="xmclick(scope.row)"
></el-button>
</template>
</el-table-column>
<el-table-column
property="itemName"
label="项目名称"
width="150"
align="center"
>
</el-table-column>
<el-table-column
label="字典类型"
align="center"
prop="resultDictType"
>
<template slot-scope="scope">
{{
scope.row.resultDictType == ResultType1.dictCode
? ResultType1.dictLabel
: ""
}}{{
scope.row.resultDictType == ResultType2.dictCode
? ResultType2.dictLabel
: ""
}}</template
>
</el-table-column>
<el-table-column
property="itemCode"
label="测试项目编号"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="itemContent"
label="项目内容"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="mesureUnit"
label="项目度量单位"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="largeStandardScore"
label="大班标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="middleStandardScore"
label="中班标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="smallStandardScore"
label="小班标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="unifiedStandardScore"
label="统一标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="sorting"
label="排序"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="remark"
label="项目概述"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="createBy"
label="创建人"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="createTime"
label="创建时间"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="updateBy"
label="修改人"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="updateTime"
label="修改时间"
width="150"
align="center"
>
</el-table-column>
</el-table>
<pagination
v-show="total2 > 0"
:total="total2"
:page.sync="queryParams2.pageNum"
:limit.sync="queryParams2.pageSize"
@pagination="getList"
/>
</el-form>
<el-table :data="testItemslists" @cell-dblclick="xmclick">
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
type="primary"
v-if="itemId2 == scope.row.id"
style="width: 15px; height: 15px"
circle
@click="xmclick(scope.row)"
></el-button>
<el-button
v-else
style="width: 15px; height: 15px"
circle
@click="xmclick(scope.row)"
></el-button>
</template>
</el-table-column>
<el-table-column
property="itemName"
label="项目名称"
width="150"
align="center"
>
</el-table-column>
<el-table-column label="字典类型" align="center" prop="resultDictType">
<template slot-scope="scope">
{{
scope.row.resultDictType == ResultType1.dictCode
? ResultType1.dictLabel
: ""
}}{{
scope.row.resultDictType == ResultType2.dictCode
? ResultType2.dictLabel
: ""
}}</template
>
</el-table-column>
<el-table-column
property="itemCode"
label="测试项目编号"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="itemContent"
label="项目内容"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="mesureUnit"
label="项目度量单位"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="largeStandardScore"
label="大班标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="middleStandardScore"
label="中班标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="smallStandardScore"
label="小班标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="unifiedStandardScore"
label="统一标准最高得分"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="sorting"
label="排序"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="remark"
label="项目概述"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="createBy"
label="创建人"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="createTime"
label="创建时间"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="updateBy"
label="修改人"
width="150"
align="center"
>
</el-table-column>
<el-table-column
property="updateTime"
label="修改时间"
width="150"
align="center"
>
</el-table-column>
</el-table>
<pagination
v-show="total2 > 0"
:total="total2"
:page.sync="queryParams2.pageNum"
:limit.sync="queryParams2.pageSize"
@pagination="getList"
/>
</el-dialog>
</div>
</template>
@ -880,12 +880,13 @@ export default {
/** 修改按钮操作 */
handleUpdate(row) {
this.itemId2 = row.itemId;
// console.log(row);
this.reset();
const id = row.id || this.ids;
getTestItemCountryScore(id).then((response) => {
this.form = response.data;
this.xmname = row.itemName;
console.log(this.form);
this.xmname = response.data.itemName;
this.open2 = true;
this.title = "修改全国平均成绩";
console.log(this.form);

View File

@ -112,28 +112,38 @@
v-loading="loading"
:data="testItemScoreList"
@selection-change="handleSelectionChange"
@row-dblclick="seepraent"
ref="table"
>
<el-table-column type="selection" width="50" align="center" />
<el-table-column label="班级名称" align="center" prop="className" />
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column
width="150"
label="所属批次编号"
align="center"
prop="batchCode"
/>
<el-table-column label="批次名称" align="center" prop="batchName" />
<el-table-column label="班级名称" align="center" prop="className" />
<el-table-column label="学生姓名" align="center" prop="studentName" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" />
<!-- <el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" /> -->
<el-table-column
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-search"
@click="seepraent(scope.row)"
v-hasPermi="['system:testItemScore:edit']"
>查看</el-button
>
<el-button
size="mini"
type="text"
@ -416,7 +426,8 @@
append-to-body
:before-close="kindergartencancel"
>
<el-table :data="kindergartenList">
<el-table :data="kindergartenList"
@cell-dblclick="kindergartenNameclick">
<el-table-column label="请选择" width="70" align="center">
<template slot-scope="scope">
<el-button
@ -890,6 +901,101 @@
@pagination="getList"
/>
</el-dialog>
<!-- // -->
<el-dialog
title="查看个人成绩"
:visible.sync="innerVisible5"
append-to-body
style="margin-top: 5%"
width="1000px"
>
<el-table
ref="singleTable"
:data="getAllTestItemScore"
style="width: 95%; margin: 20px auto"
>
<el-table-column
property="itemCode"
label="项目编号"
width="185"
align="center"
>
</el-table-column>
<el-table-column
property="itemName"
label="项目名称"
width="185"
align="center"
>
</el-table-column>
<!-- <el-table-column
property="scoreDictId"
label="字典类型"
align="center"
width="120"
>
<template slot-scope="scope">
{{
scope.row.scoreDictId == ResultType1.dictCode
? ResultType1.dictLabel
: ""
}}{{
scope.row.scoreDictId == ResultType2.dictCode
? ResultType2.dictLabel
: ""
}}</template
>
</el-table-column> -->
<el-table-column
property="itemScore"
label="个人成绩"
width="180"
align="center"
>
<!-- <template slot-scope="scope">
<el-input
readonly
type="number"
v-model="scope.row.itemScore"
v-if="
scope.row.itemScore != null ||
scope.row.scoreDictId == ResultType1.dictCode
"
></el-input>
<el-input
readonly
v-model="scope.row.scoreDictValue"
v-if="
scope.row.scoreDictValue != null ||
scope.row.scoreDictId == ResultType2.dictCode
"
></el-input>
</template> -->
</el-table-column>
<el-table-column
property="itemFraction"
label="个人成绩得分"
width="180"
align="center"
>
<!-- <template slot-scope="scope">
<el-input type="number" v-model="scope.row.itemFraction" readonly></el-input>
</template> -->
</el-table-column>
<el-table-column
property="syntheticalAssess"
label="综合评价"
width="180"
align="center"
>
<!-- <template slot-scope="scope">
<el-input v-model="scope.row.syntheticalAssess" readonly></el-input>
</template> -->
</el-table-column>
</el-table>
</el-dialog>
</div>
</template>
@ -936,6 +1042,7 @@ export default {
testItemss: [],
testScoreBatchs: [],
innerVisible4: false,
innerVisible5: false,
itemNumbername: "请选择批次编号",
//
kqueryParams: {
@ -973,6 +1080,8 @@ export default {
classInfos: [],
//
testItemScoreList: [],
//
getAllTestItemScore: [],
//
title: "",
//
@ -1043,6 +1152,36 @@ export default {
},
methods: {
handledbClick(row, event, column) {
// alert("");
this.$refs.table.toggleRowSelection(row);
console.log(row, event, column);
},
//
seepraent(row) {
this.reset();
// const row = row.id || this.ids;
getAllTestItemScoreInfo(row).then((res) => {
this.getAllTestItemScore = res.data;
// console.log(this.getAllTestItemScore);
this.innerVisible5 = true;
});
},
// seepraent(row) {
// getAllTestItemScoreInfo(row).then((res) => {
// console.log(res)
// this.form.getAllTestItemScore = [];
// // // console.log(this.addqueryParams);
// this.getAllTestItemScore = res.data.getAllTestItemScore;
// // console.log(this.form);
// // this.form.itemScoreList = res.data;
// // console.log(this.getAllTestItemScore);
// this.innerVisible5 = true;
// });
// },
testclick() {
if (this.addqueryParams.studentId == "") {
this.$message.error("请先选择学生");
@ -1056,14 +1195,14 @@ export default {
return e.id != item.id;
});
},
getAllTestItemScore() {
this.form.itemScoreList = [];
console.log(this.addqueryParams);
getAllTestItemScoreInfo(this.addqueryParams).then((res) => {
console.log(this.form);
this.form.itemScoreList = res.data;
});
},
// getAllTestItemScore() {
// this.form.itemScoreList = [];
// console.log(this.addqueryParams);
// getAllTestItemScoreInfo(this.addqueryParams).then((res) => {
// console.log(this.form);
// this.form.itemScoreList = res.data;
// });
// },
//
kindergartenNameclick(row) {
this.queryParams2.kindergartenId = row.id;
@ -1186,6 +1325,8 @@ export default {
studentId: null,
batchCode: null,
itemScoreList: [],
batchId:null,
batchCode:null,
};
this.resetForm("form");
},

View File

@ -18,7 +18,7 @@
:options="itemCategoryList"
placeholder="请选择所属项目"
v-model="queryParams.itemCategoryId"
style="width: 300px"
style="width: 208px"
/>
</el-form-item>
<el-form-item label="项目名称" prop="itemName">
@ -224,6 +224,7 @@
style="width: 300px"
v-model="form.itemName"
placeholder="请输入项目名称"
maxlength="40"
/>
</el-form-item>
<el-form-item label="项目编号" prop="itemCode">
@ -238,6 +239,7 @@
<el-input
v-model="form.sorting"
placeholder="请输入排序"
maxlength="10"
style="width: 300px"
/>
</el-form-item>
@ -277,6 +279,7 @@
<el-input
v-model="form.minScore"
type="text"
maxlength="10"
style="width: 300px"
placeholder="请输入最低得分"
/>
@ -285,6 +288,7 @@
<el-input
v-model="form.maxScore"
type="text"
maxlength="10"
placeholder="请输入最高得分"
style="width: 300px"
/>
@ -313,6 +317,7 @@
>
<el-input
v-model="form.largeStandardScore"
maxlength="10"
type="text"
placeholder="请输入大班标准最高得分"
style="width: 300px"
@ -326,6 +331,7 @@
<el-input
v-model="form.middleStandardScore"
type="text"
maxlength="10"
placeholder="请输入中班标准最高得分"
style="width: 300px"
/>
@ -339,6 +345,7 @@
v-model="form.smallStandardScore"
type="text"
style="width: 300px"
maxlength="10"
placeholder="请输入小班标准最高得分"
/>
</el-form-item>
@ -351,6 +358,7 @@
style="width: 300px"
v-model="form.unifiedStandardScore"
type="text"
maxlength="10"
placeholder="请输入统一标准最高得分"
/>
</el-form-item>
@ -360,6 +368,7 @@
style="width: 300px"
v-model="form.levelDescription"
placeholder="请输入级别描述"
maxlength="50"
/>
</el-form-item>
<el-form-item label="测试目的" prop="remark">
@ -367,6 +376,7 @@
v-model="form.remark"
placeholder="请输入项目概述"
style="width: 300px"
maxlength="200"
/>
</el-form-item>
<el-form-item label="项目成绩级别" prop="itemLevelList">
@ -378,15 +388,18 @@
<el-input
v-model="item.levelName"
placeholder="级别名"
maxlength="10"
style="width: 75px; margin-right: 10px"
/>
<el-input
v-model.number="item.levelMinScore"
placeholder="最低分"
maxlength="10"
style="width: 75px; margin-right: 5px"
/><el-input
v-model.number="item.levelMaxScore"
placeholder="最高分"
maxlength="10"
style="width: 75px; margin-right: 5px"
/>
@ -428,6 +441,7 @@
v-model="form.itemContent"
:min-height="190"
style="margin-left: 80px"
maxlength="200"
/>
</el-form-item>
</el-form>
@ -466,7 +480,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.middleStandardScore * 1 > 99999999) {
} else if (this.form.middleStandardScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -480,7 +494,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.middleStandardScore * 1 > 99999999) {
} else if (this.form.middleStandardScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -550,7 +564,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.middleStandardScore * 1 > 99999999) {
} else if (this.form.middleStandardScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -571,7 +585,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.smallStandardScore * 1 > 99999999) {
} else if (this.form.smallStandardScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -585,7 +599,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.smallStandardScore * 1 > 99999999) {
} else if (this.form.smallStandardScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -606,7 +620,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.minScore * 1 > 99999999) {
} else if (this.form.minScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -641,7 +655,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.maxScore * 1 > 99999999) {
} else if (this.form.maxScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //
@ -655,7 +669,7 @@ export default {
console.log(str2);
if (Number.isNaN(Number.parseFloat(value))) {
callback(new Error("请输入数字"));
} else if (this.form.maxScore * 1 > 99999999) {
} else if (this.form.maxScore * 1 > 99999999) {
callback(new Error("最大99999999")); //
} else if (str_ > 3) {
callback(new Error("小数点后两位")); //

View File

@ -99,11 +99,11 @@
<!-- <el-table-column label="主键id" align="center" prop="id" /> -->
<el-table-column label="批次编号" align="center" prop="batchCode" />
<el-table-column label="批次名称" align="center" prop="batchName" />
<el-table-column label="备注信息" align="center" prop="remark" />
<el-table-column label="备注信息" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" />
<!-- <el-table-column label="修改人" align="center" prop="updateBy" />
<el-table-column label="修改时间" align="center" prop="updateTime" /> -->
<el-table-column
label="操作"
align="center"
@ -168,6 +168,7 @@
v-model="form.remark"
placeholder="请输入备注信息"
style="width: 250px"
maxlength="100"
/>
</el-form-item>
@ -412,21 +413,29 @@
>
</el-table-column>
</el-table>
<el-button
type="success"
plain
size="mini"
@click="itemclick"
style="margin-top: 30px; margin-left: 20px"
>选择完成</el-button
>
<pagination
v-show="total4 > 0"
:total="total4"
:page.sync="queryParams4.pageNum"
:limit.sync="queryParams4.pageSize"
@pagination="getList"
style="margin-top: 40px"
/>
<el-button
type="primary"
size="mini"
@click="itemclick"
style="
margin-top: 30px;
margin-left: 85%;
width: 100px;
height: 50px;
font-size: 15px;
"
>选择完成</el-button
>
</el-dialog>
<el-dialog
@ -637,6 +646,7 @@ export default {
});
//
testItems(this.queryParams4).then((res) => {
// console.log(res)
this.testItemss = res.rows;
this.total4 = res.total;
this.loading = false;
@ -772,4 +782,4 @@ export default {
text-align: center;
border-radius: 4px;
}
</style>
</style>