diff --git a/ruoyi-ui/src/views/benyi/dayflowassessment/index.vue b/ruoyi-ui/src/views/benyi/dayflowassessment/index.vue
index 7e13612ec..e0e346f7b 100644
--- a/ruoyi-ui/src/views/benyi/dayflowassessment/index.vue
+++ b/ruoyi-ui/src/views/benyi/dayflowassessment/index.vue
@@ -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,
       };
diff --git a/ruoyi-ui/src/views/benyi/dayflowassessment/teacher.vue b/ruoyi-ui/src/views/benyi/dayflowassessment/teacher.vue
new file mode 100644
index 000000000..a87581b0e
--- /dev/null
+++ b/ruoyi-ui/src/views/benyi/dayflowassessment/teacher.vue
@@ -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>
diff --git a/ruoyi-ui/src/views/benyi/news/index.vue b/ruoyi-ui/src/views/benyi/news/index.vue
index 66fd152b7..22e2e5380 100644
--- a/ruoyi-ui/src/views/benyi/news/index.vue
+++ b/ruoyi-ui/src/views/benyi/news/index.vue
@@ -314,6 +314,7 @@ export default {
     getDeptList() {
       listDept(null).then((response) => {
         this.deptOptions = response.data;
+        console.log(response.data);
       });
     },
     // 用户列表
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayflowassessmentController.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayflowassessmentController.java
index d8cf18eca..c39a71bce 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayflowassessmentController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/controller/ByDayflowassessmentController.java
@@ -88,19 +88,99 @@ 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(",");
             // 勾选的总分数sum
             Double sum = 0.0;
-            for (int i=0; i<arr.length; i++) {
+            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));
-        }else {
+            // 如果评估对象是主班教师 直接更新主板分数
+            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("未勾选评估选项");
         }
     }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByDayflowassessment.java b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByDayflowassessment.java
index 528c185e4..8e6d07bdc 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByDayflowassessment.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/benyi/domain/ByDayflowassessment.java
@@ -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;
+    }
 }
diff --git a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
index 0c0b1d254..e2c094487 100644
--- a/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
+++ b/ruoyi/src/main/java/com/ruoyi/project/system/controller/SysDeptController.java
@@ -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);
diff --git a/ruoyi/src/main/resources/mybatis/benyi/ByDayflowassessmentMapper.xml b/ruoyi/src/main/resources/mybatis/benyi/ByDayflowassessmentMapper.xml
index 0f0071d76..8d16bef42 100644
--- a/ruoyi/src/main/resources/mybatis/benyi/ByDayflowassessmentMapper.xml
+++ b/ruoyi/src/main/resources/mybatis/benyi/ByDayflowassessmentMapper.xml
@@ -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>