KindergartenUI/src/views/assembly/student.vue

782 lines
21 KiB
Vue
Raw Normal View History

2022-08-30 17:44:03 +08:00
<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>
2022-09-15 18:30:35 +08:00
<el-form-item label="所属批次" prop="categoryName" label-width="70px">
2022-08-30 17:44:03 +08:00
<el-button
@click="batchCodeshowclick"
style="width: 250px; text-align: left; height: 32px; color: #c0c4cc"
2022-09-15 18:30:35 +08:00
v-if="batchName == '请选择批次'"
>{{ batchName }}</el-button
2022-08-30 17:44:03 +08:00
>
<el-button
@click="batchCodeshowclick"
style="width: 250px; text-align: left; height: 32px"
v-else
2022-09-15 18:30:35 +08:00
>{{ batchName }}</el-button
2022-08-30 17:44:03 +08:00
>
</el-form-item>
</el-form>
<!-- //学生 -->
<el-dialog
2022-09-15 18:30:35 +08:00
width="950px"
2022-08-30 17:44:03 +08:00
title="选择学生"
:visible.sync="studentshow"
append-to-body
:before-close="studentcancel"
2022-09-15 18:30:35 +08:00
>
<el-form
2022-08-30 17:44:03 +08:00
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 == '请选择幼儿园'"
2022-09-15 18:30:35 +08:00
style="width: 200px; text-align: left; height: 32px; color: #c0c4cc"
2022-08-30 17:44:03 +08:00
>{{ kindergartenName }}</el-button
>
<el-button
@click="kindergartenshow = true"
2022-09-15 18:30:35 +08:00
style="width: 200px; text-align: left; height: 32px"
2022-08-30 17:44:03 +08:00
v-else
>{{ kindergartenName }}</el-button
>
</el-form-item>
2022-09-15 18:30:35 +08:00
<el-form-item label="所属班级" prop="categoryName" label-width="80px">
2022-08-30 17:44:03 +08:00
<el-button
@click="classshowclick"
2022-09-15 18:30:35 +08:00
style="width: 200px; text-align: left; height: 32px; color: #c0c4cc"
2022-08-30 17:44:03 +08:00
v-if="className == '请选择班级'"
>{{ className }}</el-button
>
<el-button
@click="classshowclick"
2022-09-15 18:30:35 +08:00
style="width: 200px; text-align: left; height: 32px"
2022-08-30 17:44:03 +08:00
v-else
>{{ className }}</el-button
>
</el-form-item>
2022-09-15 18:30:35 +08:00
<el-form-item label="学生姓名" prop="studentName" label-width="80px">
<el-input
style="width: 200px"
v-model="studentqueryParams.studentName"
placeholder="请输入学生姓名"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
</el-form-item>
2022-08-30 17:44:03 +08:00
</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
2022-09-01 14:07:14 +08:00
width="860px"
2022-08-30 17:44:03 +08:00
title="选择所属幼儿园"
:visible.sync="kindergartenshow"
append-to-body
:before-close="kindergartencancel"
>
2022-09-15 18:30:35 +08:00
<el-form
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="110px"
>
<el-form-item label="幼儿园名称" prop="kindergartenName">
<el-input
style="width: 200px"
v-model="kqueryParams.kindergartenName"
placeholder="请输入幼儿园名称"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="kinhandleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="kinresetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
<el-table :data="kindergartenList" @cell-dblclick="kindergartenNameclick">
2022-08-30 17:44:03 +08:00
<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
2022-09-01 14:07:14 +08:00
width="1050px"
2022-08-30 17:44:03 +08:00
title="选择所属班级"
:visible.sync="classshow"
append-to-body
:before-close="classcancel"
>
2022-09-15 18:30:35 +08:00
<el-form
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="110px"
>
<el-form-item label="班级名称" prop="className">
<el-input
style="width: 200px"
v-model="classqueryParams.className"
placeholder="请输入班级名称"
></el-input>
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="classhandleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="classresetQuery"
>重置</el-button
>
</el-form-item>
</el-form>
2022-08-30 17:44:03 +08:00
<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,
2022-09-01 14:07:14 +08:00
kindergartenId: null,
2022-08-30 17:44:03 +08:00
},
//班级查询
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: "",
//批次名称
2022-09-15 18:30:35 +08:00
batchCode: "",
batchName: "请选择批次",
2022-08-30 17:44:03 +08:00
//批次list
testScorelist: [],
//学生基本信息
sythesizestudent: [],
//批次编号
testqueryParams: {
pageNum: 1,
pageSize: 10,
},
};
},
created() {
this.getList();
this.class();
this.onshow();
},
methods: {
2022-09-15 18:30:35 +08:00
//班级
classresetQuery() {
this.classqueryParams.className = "";
this.classinfo();
},
classhandleQuery() {
this.classinfo();
},
//幼儿园
kinresetQuery() {
this.kqueryParams = {
pageNum: 1,
pageSize: 10,
organizeId: null,
kindergartenName: null,
kindergartenAddress: null,
kindergartenType: null,
phone: null,
contacts: null,
};
this.kinhandleQuery();
},
kinhandleQuery() {
listKindergartenInfo(this.kqueryParams).then((response) => {
this.kindergartenList = response.rows;
this.total1 = response.total;
// console.log(this.kindergartenList);
});
},
//重置学生搜素
resetQuery() {
this.kindergartenName = "请选择幼儿园";
this.kindergartenId = "";
this.className = "请选择班级";
this.classId = "";
this.studentname = "请选择学生";
this.studentId = "";
this.studentqueryParams = {
pageNum: 1,
pageSize: 10,
classId: "",
nationDictId: null,
studentName: null,
studentSex: null,
studentNumber: null,
birthDate: null,
cardNumber: null,
onceName: null,
homeAddress: null,
kindergartenId: null,
};
this.studentlist();
},
//学生搜索
handleQuery() {
this.studentlist();
},
2022-08-30 17:44:03 +08:00
onshow() {
this.batchCode = localStorage.getItem("batchCode");
this.studentId = localStorage.getItem("studentId");
2022-09-15 18:30:35 +08:00
this.batchName = localStorage.getItem("batchName");
2022-08-30 17:44:03 +08:00
console.log(localStorage.getItem("studentname"));
2022-08-31 15:29:30 +08:00
if (localStorage.getItem("batchCode") == null) {
2022-09-15 18:30:35 +08:00
this.batchName = "请选择批次";
2022-08-31 15:29:30 +08:00
} else {
this.batchCode = localStorage.getItem("batchCode");
}
2022-08-30 17:44:03 +08:00
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;
2022-09-15 18:30:35 +08:00
this.batchName = row.batchName;
2022-08-30 17:44:03 +08:00
this.batchCodeshow = false;
localStorage.setItem("batchCode", this.batchCode);
2022-09-15 18:30:35 +08:00
localStorage.setItem("batchName", this.batchName);
2022-08-30 17:44:03 +08:00
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;
2022-09-01 14:07:14 +08:00
this.kindergartenName = "请选择幼儿园";
this.kindergartenId = "";
this.className = "请选择班级";
this.classId = "";
2022-08-30 17:44:03 +08:00
},
//幼儿园关闭
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 = "";
},
//幼儿园左侧点击
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")) {
2022-09-01 14:07:14 +08:00
this.classqueryParams.kindergartenId = res.data.kindergartenId;
this.studentqueryParams.kindergartenId = res.data.kindergartenId;
2022-08-30 17:44:03 +08:00
return;
} else if (user.includes("teacher")) {
2022-09-01 14:07:14 +08:00
this.kindergartenId = res.data.kindergartenId;
this.classqueryParams.kindergartenId = res.data.kindergartenId;
this.kindergartenName = String(res.data.kindergartenName);
console.log(1, this.kindergartenName);
2022-08-30 17:44:03 +08:00
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>