一日评估详情页面

This commit is contained in:
sk1551 2021-02-28 21:10:14 +08:00
parent b65757c8bf
commit a5cd0edaa5
7 changed files with 472 additions and 7 deletions

View File

@ -68,6 +68,7 @@
prop="classid"
:formatter="classFormat"
/>
<el-table-column label="班级平均分" align="center" prop="classdf" />
<el-table-column label="主班教师" align="center" prop="bzbh" :formatter="bzbhFormat" />
<el-table-column label="配班教师" align="center" prop="pbbh" :formatter="pbbhFormat"/>
<el-table-column label="助理教师" align="center" prop="zlbh" :formatter="zlbhFormat"/>
@ -306,6 +307,7 @@ export default {
zzdf: undefined,
kfcs: undefined,
pgdx: undefined,
classdf: undefined,
createUserid: undefined,
},
//
@ -485,6 +487,7 @@ export default {
zzdf: undefined,
kfcs: undefined,
pgdx: undefined,
classdf: undefined,
createUserid: undefined,
createTime: undefined,
};

View File

@ -0,0 +1,361 @@
<template>
<div class="app-container">
<div class="flex align-center justify-between student-main-title">
<p class="title flex align-center">
<span>幼儿园{{ deptFormat(deptId) }} </span>
<span>行为人{{ teacherFormat(teacherName) }} </span>
<span>班级{{ classFormat(classid) }} </span>
<span>学期{{ xnxqFormat(xnxq) }} </span>
<span>班长{{ teacherFormat(zbjsxm) }} </span>
<span>配班教师{{ teacherFormat(pbjs) }} </span>
<span>助理教师{{ teacherFormat(zljs) }} </span>
</p>
<el-button
type="primary"
icon="el-icon-s-data"
size="mini"
@click="submitForm"
v-hasPermi="['benyi:dayflowassessment:edit']"
v-prevent-re-click
>提交评估</el-button
>
</div>
<el-tabs v-model="activeName" type="card">
<div
class="block"
v-for="itemTask in dayflowtaskList"
:key="itemTask.code"
>
<h2 class="block-item-title flex align-center">
{{ itemTask.taskLable }}
</h2>
<div
class="checkbox-content"
v-for="itemBz in dayflowstandardList.filter(
(p) => p.taskCode == itemTask.code
)"
:key="itemBz.id"
>
<p class="checkbox-item flex align-center">
<el-checkbox-group v-model="checkList">
<el-checkbox :label="itemBz.id" :key="itemBz.id"
>{{ itemBz.standardTitle }}分值: {{ itemBz.score }}
</el-checkbox>
</el-checkbox-group>
</p>
<div class="check-info" v-if="itemBz.score">
<!-- {{ itemBz.score }} -->
</div>
</div>
</div>
</el-tabs>
</div>
</template>
<script>
import {
listDayflowassessment,
getDayflowassessment,
delDayflowassessment,
addDayflowassessment,
updateDayflowassessment,
} from "@/api/benyi/dayflowassessment";
import { listDayflowtask } from "@/api/benyi/dayflow/dayflowtask";
import { listStandard } from "@/api/benyi/dayflow/biaozhun/standard";
import { listDept, getDept } from "@/api/system/dept";
import { listClass } from "@/api/system/class";
import { listUser } from "@/api/system/user";
export default {
name: "Assessmentstudent",
data() {
return {
teacherName: "",
planid: "",
xnxq: "",
classid: "",
zbjsxm: "",
pbjs: "",
zljs: "",
deptId: "",
bzmf: "",
kfz: "",
classdf: "",
assessmentsCode: "",
//
loading: true,
//
ids: [],
//
assessmentcontentList: [],
// id
dayflowtaskList: [],
//
dayflowstandardList: [],
//
deptOptions: [],
//
classOptions: [],
//
userOptions: [],
//
xnxqOptions: [],
//
form: {},
//
queryParams_detail: {
detailId: undefined,
},
//
queryParams_standard: {
task_code: undefined,
},
//
queryParams: {
parentid: undefined,
name: undefined,
iselement: undefined,
scope: undefined,
sort: undefined,
},
activeName: "一日流程评估",
checked: false,
checkList: [],
};
},
created() {
// this.getList();
const dayflowassessmentId = this.$route.params && this.$route.params.id;
this.dayflowassessmentId = dayflowassessmentId;
this.getDayflowassessmentContent(dayflowassessmentId);
this.getDeptList();
this.getClassList();
this.getUserList();
this.getDicts("sys_xnxq").then((response) => {
this.xnxqOptions = response.data;
});
},
methods: {
getDayflowassessmentContent(dayflowassessmentId) {
getDayflowassessment(dayflowassessmentId).then((response) => {
if (response.code == "200") {
this.teacherName = response.data.pgdx;
this.xnxq = response.data.xnxq;
this.classid = response.data.classid;
this.bzmf = response.data.bzmf;
this.kfz = response.data.kfz;
this.zbjsxm = response.data.bzbh;
this.pbjs = response.data.pbbh;
this.zljs = response.data.zlbh;
this.deptId = response.data.deptId;
this.planid = response.data.planid;
this.classdf = response.data.classdf;
this.queryParams_detail.detailId = response.data.bzid;
this.assessmentsCode = response.data.code;
this.getTaskList();
}
});
},
//
deptFormat(deptId) {
var actions = [];
var datas = this.deptOptions;
Object.keys(datas).map((key) => {
if (datas[key].deptId == "" + deptId) {
actions.push(datas[key].deptName);
return false;
}
});
return actions.join("");
},
//
classFormat(classid) {
var actions = [];
var datas = this.classOptions;
Object.keys(datas).map((key) => {
if (datas[key].bjbh == "" + classid) {
actions.push(datas[key].bjmc);
return false;
}
});
return actions.join("");
},
//
teacherFormat(val) {
var actions = [];
var datas = this.userOptions;
Object.keys(datas).map((key) => {
if (datas[key].userId == "" + val) {
actions.push(datas[key].nickName);
return false;
}
});
return actions.join("");
},
// --
xnxqFormat(xnxq) {
return this.selectDictLabel(this.xnxqOptions, xnxq);
},
/** 查询用户列表 */
getUserList() {
listUser(null).then(
(response) => {
this.userOptions = response.rows;
}
);
},
/** 查询幼儿园机构列表 */
getDeptList() {
listDept(null).then(response => {
this.deptOptions = response.data;
});
},
//
getClassList() {
listClass(null).then((response) => {
this.classOptions = response.rows;
});
},
/** 查询一日流程任务列表 */
getTaskList() {
listDayflowtask(this.queryParams_detail).then((response) => {
this.dayflowtaskList = response.rows;
});
listStandard(null).then((response) => {
this.dayflowstandardList = response.rows;
});
},
/** 提交按钮 */
submitForm: function () {
this.$confirm("确认评估数据?评估后数据不能取消", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
callback: (action) => {
if (action === "confirm") {
var items = "";
this.checkList.forEach((item) => {
//
items = items + item + ",";
});
if (this.checkList.length == 0) {
this.msgError("请至少选择一项数据");
} else {
this.form.id = this.dayflowassessmentId;
// this.form.classid = this.classid;
this.form.items = items;
this.form.pgdx = this.teacherName;
this.form.bzbh = this.zbjsxm;
this.form.planid = this.planid;
this.form.kfz = this.kfz;
this.form.bzmf = this.bzmf;
updateDayflowassessment(this.form).then((response) => {
if (response.code === 200) {
this.msgSuccess("评估成功");
this.$router.go(-1)
this.$store.dispatch('tagsView/delView', this.$route)
// this.$router.push({
// path:
// "/benyi/dayflowassessment",
// });
}
});
}
} else {
}
},
});
},
},
};
</script>
<style lang="scss" scoped>
//
div {
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.title {
padding: 10px 0;
font-weight: 600;
flex-wrap: wrap;
padding-right: 10px;
line-height: 20px;
span {
font-size: 16px;
padding: 0 4px;
// &:nth-of-type(2) {
// font-size: 14px;
// font-weight: normal;
// }
}
}
.block {
padding: 10px;
color: #333;
.block-item-title {
padding: 10px 0;
margin: 0;
font-size: 16px;
font-weight: 500;
&::before {
content: "";
margin-right: 8px;
width: 4px;
height: 14px;
background: #1890ff;
}
}
.block-content {
border-radius: 5px;
padding: 10px;
background: #fcfcfc;
.block-content-title {
font-size: 14px;
font-weight: bold;
line-height: 24px;
padding-bottom: 5px;
.num {
font-size: 16px;
}
}
.checkbox-content {
padding-left: 20px;
margin-bottom: 15px;
}
.checkbox-item {
font-size: 14px;
line-height: 22px;
}
.check-info {
padding-left: 24px;
line-height: 18px;
font-size: 12px;
color: #999;
p {
padding-left: 10px;
}
}
.el-checkbox {
display: flex;
white-space: normal;
.el-checkbox__input {
margin-top: 2px;
}
}
}
}
@media (max-width: 768.98px) {
.title span {
font-size: 12px;
}
}
</style>

View File

@ -314,6 +314,7 @@ export default {
getDeptList() {
listDept(null).then((response) => {
this.deptOptions = response.data;
console.log(response.data);
});
},
//

View File

@ -88,6 +88,7 @@ public class ByDayflowassessmentController extends BaseController {
@Log(title = "幼儿园一日流程评估", businessType = BusinessType.UPDATE)
@PutMapping
public AjaxResult edit(@RequestBody ByDayflowassessment byDayflowassessment) {
AjaxResult ajax = AjaxResult.success();
if (byDayflowassessment.getItems() != null) {
// 取出标准id并根据id查询此标准的分数
String[] arr = byDayflowassessment.getItems().split(",");
@ -96,10 +97,89 @@ public class ByDayflowassessmentController extends BaseController {
for (int i = 0; i < arr.length; i++) {
sum += byDayFlowStandardService.selectByDayFlowStandardById(Long.parseLong(arr[i])).getScore();
}
byDayflowassessment.setZzdf(sum);
byDayflowassessment.setKfz(byDayflowassessment.getBzmf()-sum);
// 标准满分
Double bzmfAll = byDayflowassessment.getBzmf();
// 总扣分值
Double sumKfz = 0.0;
sumKfz = bzmfAll - sum;
return toAjax(byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment));
// 如果评估对象是主班教师 直接更新主板分数
if (byDayflowassessment.getPgdx().equals(byDayflowassessment.getBzbh())) {
// 主班教师扣分值
Double zbjsKfz = byDayflowassessment.getKfz() + sumKfz;
byDayflowassessment.setKfz(zbjsKfz);
// 判断扣分值是否超过满分
if (zbjsKfz.compareTo(bzmfAll) < 0) {
byDayflowassessment.setZzdf(bzmfAll - zbjsKfz);
} else {
byDayflowassessment.setZzdf(0.0);
}
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment);
// 设置班级平均分
ByDayflowassessment byDayflowassessment2 = new ByDayflowassessment();
byDayflowassessment2.setClassid(byDayflowassessment.getClassid());
byDayflowassessment2.setPlanid(byDayflowassessment.getPlanid());
List<ByDayflowassessment> list2 = byDayflowassessmentService.selectByDayflowassessmentList(byDayflowassessment2);
if (list2 != null && list2.size() > 0) {
Double total = 0.0;
Double avg = 0.0;
for (int i = 0; i < list2.size(); i++) {
total += list2.get(i).getZzdf();
}
avg = total / list2.size();
for (int j = 0; j < list2.size(); j++) {
byDayflowassessment2.setId(list2.get(j).getId());
byDayflowassessment2.setClassdf(avg);
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment2);
}
}
return ajax;
} else {
//如果是配班或者助理 先更新配班或者助理分数 再更新主班教师分数
byDayflowassessment.setKfz(sumKfz);
byDayflowassessment.setZzdf(sum);
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment);
// 继续扣除主班教师分数
ByDayflowassessment byDayflowassessment1 = new ByDayflowassessment();
// 其他老师扣分项
byDayflowassessment1.setPgdx(byDayflowassessment.getBzbh());
byDayflowassessment1.setPlanid(byDayflowassessment.getPlanid());
List<ByDayflowassessment> list = byDayflowassessmentService.selectByDayflowassessmentList(byDayflowassessment1);
if (list != null && list.size() > 0) {
// 主班教师当前扣分值
Double zbjsDqkfz = list.get(0).getKfz() + sumKfz;
byDayflowassessment1.setKfz(zbjsDqkfz);
// 主班教师当前最终得分
byDayflowassessment1.setId(list.get(0).getId());
// 如果扣分值超出满分 则主班分数等于0
if (zbjsDqkfz.compareTo(bzmfAll) < 0) {
byDayflowassessment1.setZzdf(bzmfAll - zbjsDqkfz);
} else {
byDayflowassessment1.setZzdf(0.0);
}
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment1);
// 设置班级平均分
ByDayflowassessment byDayflowassessment3 = new ByDayflowassessment();
byDayflowassessment3.setClassid(byDayflowassessment.getClassid());
byDayflowassessment3.setPlanid(byDayflowassessment.getPlanid());
List<ByDayflowassessment> list3 = byDayflowassessmentService.selectByDayflowassessmentList(byDayflowassessment3);
if (list3 != null && list3.size() > 0) {
Double total2 = 0.0;
Double avg2 = 0.0;
for (int i = 0; i < list3.size(); i++) {
total2 += list3.get(i).getZzdf();
}
avg2 = total2 / list3.size();
for (int j = 0; j < list3.size(); j++) {
byDayflowassessment3.setId(list3.get(j).getId());
byDayflowassessment3.setClassdf(avg2);
byDayflowassessmentService.updateByDayflowassessment(byDayflowassessment3);
}
}
}
return ajax;
}
} else {
return AjaxResult.error("未勾选评估选项");
}

View File

@ -101,6 +101,12 @@ public class ByDayflowassessment extends BaseEntity {
@Excel(name = "扣分值")
private Double kfz;
/**
* 班级得分
*/
@Excel(name = "班级得分")
private Double classdf;
/**
* 扣分次数
*/
@ -269,6 +275,7 @@ public class ByDayflowassessment extends BaseEntity {
.append("xnxq", getXnxq())
.append("bzid", getBzid())
.append("kfz", getKfz())
.append("classdf", getClassdf())
.append("kfcs", getKfcs())
.append("bzmf", getBzmf())
.append("zzdf", getZzdf())
@ -303,4 +310,12 @@ public class ByDayflowassessment extends BaseEntity {
public void setItems(String items) {
this.items = items;
}
public Double getClassdf() {
return classdf;
}
public void setClassdf(Double classdf) {
this.classdf = classdf;
}
}

View File

@ -46,7 +46,7 @@ public class SysDeptController extends BaseController {
/**
* 获取部门列表
*/
@PreAuthorize("@ss.hasPermi('system:dept:list')" + "||@ss.hasPermi('benyi:news:list')")
@PreAuthorize("@ss.hasPermi('system:dept:list')" + "||@ss.hasPermi('benyi:news:list')" + "||@ss.hasPermi('benyi:dayflowassessment:list')")
@GetMapping("/list")
public AjaxResult list(SysDept dept) {
List<SysDept> depts = deptService.selectDeptList(dept);

View File

@ -20,6 +20,7 @@
<result property="bzmf" column="bzmf"/>
<result property="zzdf" column="zzdf"/>
<result property="kfz" column="kfz"/>
<result property="classdf" column="classdf"/>
<result property="kfcs" column="kfcs"/>
<result property="pgdx" column="pgdx"/>
<result property="createUserid" column="create_userid"/>
@ -27,7 +28,7 @@
</resultMap>
<sql id="selectByDayflowassessmentVo">
select id, planid, dept_id, classid, bzbh, bzxm, pbbh, pbxm, zlbh, zlxm, bzmf, zzdf, xnxq, bzid, kfz, kfcs, pgdx, create_userid, create_time from by_dayflowassessment
select id, planid, dept_id, classid, classdf, bzbh, bzxm, pbbh, pbxm, zlbh, zlxm, bzmf, zzdf, xnxq, bzid, kfz, kfcs, pgdx, create_userid, create_time from by_dayflowassessment
</sql>
<select id="selectByDayflowassessmentList" parameterType="ByDayflowassessment"
@ -46,6 +47,7 @@
<if test="xnxq != null and xnxq != ''">and xnxq = #{xnxq}</if>
<if test="bzid != null ">and bzid = #{bzid}</if>
<if test="kfz != null ">and kfz = #{kfz}</if>
<if test="classdf != null ">and classdf = #{classdf}</if>
<if test="bzmf != null ">and bzmf = #{bzmf}</if>
<if test="zzdf != null ">and zzdf = #{zzdf}</if>
<if test="kfcs != null ">and kfcs = #{kfcs}</if>
@ -74,6 +76,7 @@
<if test="xnxq != null and xnxq != ''">xnxq,</if>
<if test="bzid != null ">bzid,</if>
<if test="kfz != null ">kfz,</if>
<if test="classdf != null ">classdf,</if>
<if test="bzmf != null ">bzmf,</if>
<if test="zzdf != null ">zzdf,</if>
<if test="kfcs != null ">kfcs,</if>
@ -94,6 +97,7 @@
<if test="xnxq != null and xnxq != ''">#{xnxq},</if>
<if test="bzid != null ">#{bzid},</if>
<if test="kfz != null ">#{kfz},</if>
<if test="classdf != null ">#{classdf},</if>
<if test="bzmf != null ">#{bzmf},</if>
<if test="zzdf != null ">#{zzdf},</if>
<if test="kfcs != null ">#{kfcs},</if>
@ -118,6 +122,7 @@
<if test="xnxq != null and xnxq != ''">xnxq = #{xnxq},</if>
<if test="bzid != null ">bzid = #{bzid},</if>
<if test="kfz != null ">kfz = #{kfz},</if>
<if test="classdf != null ">classdf = #{classdf},</if>
<if test="bzmf != null ">bzmf = #{bzmf},</if>
<if test="zzdf != null ">zzdf = #{zzdf},</if>
<if test="kfcs != null ">kfcs = #{kfcs},</if>