diff --git a/attendance-performance-manager-ui/admin/src/assets/mixins/table.js b/attendance-performance-manager-ui/admin/src/assets/mixins/table.js
index f99628d9f9e45597d9faaa34967df876acc75cc0..93416a32a6e6f6ffe2529975cbb51331b032a950 100644
--- a/attendance-performance-manager-ui/admin/src/assets/mixins/table.js
+++ b/attendance-performance-manager-ui/admin/src/assets/mixins/table.js
@@ -14,7 +14,7 @@ const tagsMap = {
 const baseUrl = process.env.VUE_APP_API_BASE_URL + "/";
 export default {
   mounted() {
-    this.getData();
+    // this.getData();
   },
   watch: {
     $route(route) {
diff --git a/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue b/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
index eb95d1ee0352ccb42710d0f1402bb5a6e56c6334..d1cb235bffb9b0c8e3c7f2a604c8d9671f9106ae 100644
--- a/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/attendance/record/list.vue
@@ -282,9 +282,11 @@ export default {
     },
     // 琛ㄦ牸鎺ユ敹鏁版嵁鍚�
     afterRender(data) {
+      console.log(data);
       let addobjArr = [];
       data.dyncColumns.map((item) => {
         let obj = {
+          show: true,
           label: item.name,
           prop: "",
           formatter: (row) => {
@@ -299,6 +301,7 @@ export default {
             }
           },
         };
+        addobjArr.push(obj);
       });
       this.config.columns = [...this.initalArr, ...addobjArr];
       this.$refs.layoutTable.showType = "tableSelect";
@@ -512,6 +515,8 @@ export default {
   },
   data() {
     return {
+      // 鍔ㄦ€佹柊澧炲垪琛�
+      addColumn: [],
       progress: false,
       percent: 0,
       upload: {
@@ -666,25 +671,25 @@ export default {
             show: true,
           },
 
-          {
-            label: "鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅",
-            width: 120,
-            prop: "subColumns",
-            show: true,
-            formatter: (row) => {
-              let widthsize = this.columnSet.reduce((pre, cur) => {
-                return pre + Number(cur.width);
-              }, 50);
-              return (
-                <el-popover placement="right" width={widthsize} trigger="click">
-                  {this.renderTable(row.attendanceRecordDetailList)}
-                  <el-button type="text" slot="reference">
-                    璇︾粏
-                  </el-button>
-                </el-popover>
-              );
-            },
-          },
+          // {
+          //   label: "鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅",
+          //   width: 120,
+          //   prop: "subColumns",
+          //   show: true,
+          //   formatter: (row) => {
+          //     let widthsize = this.columnSet.reduce((pre, cur) => {
+          //       return pre + Number(cur.width);
+          //     }, 50);
+          //     return (
+          //       <el-popover placement="right" width={widthsize} trigger="click">
+          //         {this.renderTable(row.attendanceRecordDetailList)}
+          //         <el-button type="text" slot="reference">
+          //           璇︾粏
+          //         </el-button>
+          //       </el-popover>
+          //     );
+          //   },
+          // },
           // {
           //     label: "鎿嶄綔",
           //     width: 240,
diff --git a/attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue b/attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
index 194bcaa1b8a15ac5e4dd4698a6f38614d6c45717..ea8872e12e28b702497f045818c82df1d69df8fd 100644
--- a/attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/attendance/stat/list.vue
@@ -168,9 +168,18 @@ export default {
       let index = arr.findIndex((item) => item.createTime == currentTime);
       if (index > -1) {
         return arr[index].attendanceSummary ? (
-          <el-tag type={"danger"} size="mini">
-            {arr[index].attendanceSummary}
-          </el-tag>
+          <el-tooltip
+            class="item"
+            effect="dark"
+            content={
+              arr[index].createTime + "  " + arr[index].attendanceSummary
+            }
+            placement="top-start"
+          >
+            <el-tag type={"danger"} size="mini">
+              {arr[index].attendanceSummary}
+            </el-tag>
+          </el-tooltip>
         ) : (
           "-"
         );
diff --git a/attendance-performance-manager-ui/admin/src/views/dept/list.vue b/attendance-performance-manager-ui/admin/src/views/dept/list.vue
index 70f024315ffe52d7bcc977180b724249eb915fb3..832c27192c38e046cd9a37a13f3ba012c96f6193 100644
--- a/attendance-performance-manager-ui/admin/src/views/dept/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/dept/list.vue
@@ -1,79 +1,94 @@
 <template>
-    <div className="page">
-        <el-card style="height:80vh;overflow:scroll-y">
-            <LayoutTable notPagination :data="tableData" ref="layoutTable" :config="tableConfig" notSearch></LayoutTable>
-        </el-card>
-        <drawer-show ref="drawerform" @ok="getData" />
-    </div>
+  <div className="page">
+    <el-card style="height:80vh;overflow:scroll-y">
+      <LayoutTable
+        notPagination
+        :data="tableData"
+        notAdd
+        notDel
+        ref="layoutTable"
+        :config="tableConfig"
+        notSearch
+      ></LayoutTable>
+    </el-card>
+    <drawer-show ref="drawerform" @ok="getData" />
+  </div>
 </template>
 
 <script>
-    /** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */
-    import {handleTree} from "@/assets/utils/table";
-    import Treeselect from "@riophae/vue-treeselect";
-    import "@riophae/vue-treeselect/dist/vue-treeselect.css";
-    import drawerShow from "./drawershow";
-    import table from "@/assets/mixins/table";
-    export default {
-        name: "DeptList",
-        components: {
-            drawerShow,
-            Treeselect
-        },
-        mixins: [table],
-        created() {
-            this.query={"page":1,"size":-1}
-        },
-        methods: {
-            /** 閲嶅啓鏂板鏂规硶 */
-            toAdd(row) {
-                this.$refs.drawerform.add(row,this.menuOptions);
-            },
-            /** 閲嶅啓缂栬緫鏂规硶 */
-            toEdit(row) {
-                this.$refs.drawerform.edit(row,this.menuOptions);
-            },
-            /** 閲嶅啓鏌ョ湅鏂规硶 */
-            toView(row) {
-                this.$refs.drawerform.view(row, this.menuOptions);
-            },
-            afterRender(data) {
-                data.data = handleTree(data.data, "id", "parentId");
-                console.log("tree data:",data.data)
-                this.menuOptions = data.data;
-                this.$refs.layoutTable.showType = "treetable"
-            },
-        },
-        data() {
-            return {
-                config: {
-                    showType:'treetable',
-                    isshowTabPane:true,
-                    /** 鏍戣〃鏄惁榛樿灞曞紑 */
-                    expand: false,
-                    columns: [
-                        {type: "selection", width: 60},
-                        {label: "閮ㄩ棬鍚嶇О", prop: "deptName"},
-                        {label: "鎴愬憳鏁伴噺", prop: "personNum"},
-                        {label: "璐熻矗浜�", prop: "workName"},
+/** 琛ㄥ崟寮瑰嚭妗嗘ā寮忛渶寮曞叆 */
+import { handleTree } from "@/assets/utils/table";
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import drawerShow from "./drawershow";
+import table from "@/assets/mixins/table";
+export default {
+  name: "DeptList",
+  components: {
+    drawerShow,
+    Treeselect,
+  },
+  mixins: [table],
+  created() {
+    this.query = { page: 1, size: -1 };
+  },
+  methods: {
+    /** 閲嶅啓鏂板鏂规硶 */
+    toAdd(row) {
+      this.$refs.drawerform.add(row, this.menuOptions);
+    },
+    /** 閲嶅啓缂栬緫鏂规硶 */
+    toEdit(row) {
+      this.$refs.drawerform.edit(row, this.menuOptions);
+    },
+    /** 閲嶅啓鏌ョ湅鏂规硶 */
+    toView(row) {
+      this.$refs.drawerform.view(row, this.menuOptions);
+    },
+    afterRender(data) {
+      data.data = handleTree(data.data, "id", "parentId");
+      console.log("tree data:", data.data);
+      this.menuOptions = data.data;
+      this.$refs.layoutTable.showType = "treetable";
+    },
+  },
+  data() {
+    return {
+      config: {
+        showType: "treetable",
+        isshowTabPane: true,
+        /** 鏍戣〃鏄惁榛樿灞曞紑 */
+        expand: false,
+        columns: [
+          { type: "selection", width: 60 },
+          { label: "閮ㄩ棬鍚嶇О", prop: "deptName" },
+          { label: "鎴愬憳鏁伴噺", prop: "personNum" },
+          { label: "璐熻矗浜�", prop: "workName" },
 
-                        // {label: "閮ㄩ棬鐘舵€�", prop: "deptStatus",formatter: this.formatter},
+          // {label: "閮ㄩ棬鐘舵€�", prop: "deptStatus",formatter: this.formatter},
 
-                        // {label: "椤哄簭", prop: "orderNum",formatter: this.formatter},
+          // {label: "椤哄簭", prop: "orderNum",formatter: this.formatter},
 
-                        // {label: "鍒涘缓鐢ㄦ埛", prop: "createUserId", formatter: this.formatter},
-                        {
-                            label: "鎿嶄綔",
-                            width: 240,
-                            formatter: row => {
-                                return (
-                                    <table-buttons  noAdd noView row={row} onEdit={this.toEdit} onView={this.toView} onDel={this.toDel} />
-                            )
-                            }
-                        }
-                    ]
-                }
-            };
-        }
+          // {label: "鍒涘缓鐢ㄦ埛", prop: "createUserId", formatter: this.formatter},
+        //   {
+        //     label: "鎿嶄綔",
+        //     width: 240,
+        //     formatter: (row) => {
+        //       return (
+        //         <table-buttons
+        //           noAdd
+        //           noView
+        //           row={row}
+        //           onEdit={this.toEdit}
+        //           onView={this.toView}
+        //           onDel={this.toDel}
+        //         />
+        //       );
+        //     },
+        //   },
+        ],
+      },
     };
-</script>
\ No newline at end of file
+  },
+};
+</script>
diff --git a/attendance-performance-manager-ui/admin/src/views/staff/list.vue b/attendance-performance-manager-ui/admin/src/views/staff/list.vue
index 08571e58ec1157c51a2de985d09ae1abdf18b379..ca6f72605861c34bfc231a83b8e8a52363477154 100644
--- a/attendance-performance-manager-ui/admin/src/views/staff/list.vue
+++ b/attendance-performance-manager-ui/admin/src/views/staff/list.vue
@@ -7,7 +7,7 @@
         @handleClick="handleClick"
       ></tab-pane>
     </div>
-    <div class="totalNum flex" v-if="tableData.staff">
+    <!-- <div class="totalNum flex" v-if="tableData.staff">
       <div class="item">
         鍦ㄨ亴鍛樺伐 <span class="num">{{ tableData.staff.inWorkStaff }}</span>
       </div>
@@ -34,7 +34,7 @@
           寰呯鑱� <span class="num">{{ tableData.staff.resignationStaff }}</span>
         </div>
       </div>
-    </div>
+    </div> -->
     <el-row :gutter="20">
       <el-col :span="6" :xs="12" class="mytree">
         <div class="titles">閫夋嫨閮ㄩ棬</div>
@@ -59,7 +59,7 @@
       </el-col>
       <el-col :span="18" :xs="12">
         <el-row>
-          <LayoutTable notDel :data="tableData" :config="tableConfig">
+          <LayoutTable notDel notAdd :data="tableData" :config="tableConfig">
             <el-button
               type="primary"
               @click="doExport"
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceRecordDetailDao.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceRecordDetailDao.java
index 5283114d2f1c4f9d5c0684aab32a4cfbae444354..17f4b25b364d6b6b93778f224033ecbfba653a7c 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceRecordDetailDao.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/AttendanceRecordDetailDao.java
@@ -2,6 +2,10 @@ package com.mortals.xhx.module.attendance.dao;
 
 import com.mortals.framework.dao.ICRUDDao;
 import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
+import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
+
+import java.util.List;
+
 /**
 * 鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅Dao
 * 鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅 DAO鎺ュ彛
@@ -18,6 +22,11 @@ public interface  AttendanceRecordDetailDao extends ICRUDDao<AttendanceRecordDet
      * */
     int goWorkCount(Long id);
 
-
+    /**
+     * 鏌ヨ姣忔棩鎵撳崱璁板綍鏄庣粏
+     * @param query
+     * @return
+     */
+    List<AttendanceRecordDetailEntity> getListByWhere(AttendanceRecordQuery query);
 
 }
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceRecordDetailDaoImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceRecordDetailDaoImpl.java
index 50ef2a37ac6bbd6097bde4a03fa6abfdb1aaa150..ef9767bb5a4a1dc924a3f766121f8fb87a580c18 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceRecordDetailDaoImpl.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/dao/ibatis/AttendanceRecordDetailDaoImpl.java
@@ -4,7 +4,11 @@ package com.mortals.xhx.module.attendance.dao.ibatis;
 import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
 import com.mortals.xhx.module.attendance.dao.AttendanceRecordDetailDao;
 import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
+import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
 import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
 /**
 * 鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅DaoImpl DAO鎺ュ彛
 *
@@ -19,4 +23,11 @@ public class AttendanceRecordDetailDaoImpl extends BaseCRUDDaoMybatis<Attendance
     public int goWorkCount(Long id) {
         return getSqlSession().selectOne(getSqlId("goWorkCount"),id);
     }
+
+    @Override
+    public List<AttendanceRecordDetailEntity> getListByWhere(AttendanceRecordQuery query) {
+        return getSqlSession().selectList(getSqlId("getListByWhere"),query);
+    }
+
+
 }
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java
index 0a0df356a7e1e56911f9db8ec1a134a84c372f68..967a1d9b355416ed2c16331e887f1cb06fcd028c 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/model/vo/AttendanceStaffStatVo.java
@@ -14,10 +14,5 @@ import java.util.List;
 */
 @Data
 public class AttendanceStaffStatVo extends BaseEntityLong {
-
-    /**
-     * 鑰冨嫟鎵撳崱璁板綍璇︾粏淇℃伅淇℃伅
-     */
-    private List<AttendanceRecordDetailEntity> attendanceRecordDetailList=new ArrayList<>();;
-
+    List<AttendanceRecordDetailEntity> attendanceRecordDetail;
 }
\ No newline at end of file
diff --git a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
index df2df14397f3c6fb256033cdac13c57e46fc1764..12af61f3add7213e346a52deeeb58dfade501dad 100644
--- a/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
+++ b/attendance-performance-manager/src/main/java/com/mortals/xhx/module/attendance/service/impl/AttendanceStaffStatServiceImpl.java
@@ -1,6 +1,11 @@
 package com.mortals.xhx.module.attendance.service.impl;
 import com.mortals.framework.util.StringUtils;
+import com.mortals.xhx.module.attendance.dao.AttendanceRecordDetailDao;
+import com.mortals.xhx.module.attendance.model.AttendanceRecordDetailEntity;
+import com.mortals.xhx.module.attendance.model.AttendanceRecordQuery;
 import com.mortals.xhx.module.attendance.model.vo.AttendanceSummaryQuery;
+import org.apache.commons.collections4.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
 import com.mortals.framework.exception.AppException;
@@ -33,11 +38,18 @@ public class AttendanceStaffStatServiceImpl extends AbstractCRUDServiceImpl<Atte
             throw new AppException("鏌ヨ鏃ユ湡鑼冨洿涓嶈兘涓虹┖");
         }
 
-        List<AttendanceStaffStatEntity> listExt = dao.getListExt(params);
-
-        //鏋勫缓寮傚父淇℃伅 鍒嗘棩鏈� 鍒嗕汉
-
-
-        return listExt;
+        List<AttendanceStaffStatEntity> list = dao.getListExt(params);
+        if(CollectionUtils.isNotEmpty(list)){
+            for(AttendanceStaffStatEntity entity:list){
+                AttendanceRecordQuery query = new AttendanceRecordQuery();
+                query.setStaffId(entity.getStaffId());
+                String dayStr = entity.getYear()+"-"+entity.getMonth()+"-"+entity.getDay();
+                query.setAttendanceDateStart(dayStr);
+                query.setAttendanceDateEnd(dayStr);
+                List<AttendanceRecordDetailEntity> entityList = attendanceRecordDetailDao.getListByWhere(query);
+                entity.setAttendanceRecordDetail(entityList);
+            }
+        }
+        return list;
     }
 }
\ No newline at end of file
diff --git a/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml b/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a57b109be5bbadc8c016be028f3849cd9f4e9ee7
--- /dev/null
+++ b/attendance-performance-manager/src/main/resources/sqlmap/module/attendance/AttendanceRecordDetailMapperExt.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "mybatis-3-mapper.dtd">
+<mapper namespace="com.mortals.xhx.module.attendance.dao.ibatis.AttendanceRecordDetailDaoImpl">
+    <!-- 鑾峰彇鍒楄〃 -->
+    <select id="getListByWhere" parameterType="AttendanceRecordQuery" resultMap="AttendanceRecordDetailEntity-Map">
+        select <include refid="_columns"/>
+        from mortals_xhx_attendance_record_detail as a,mortals_xhx_attendance_record r
+        where a.recordId = r.id
+        and r.staffId = #{staffId}
+        AND r.attendanceDate <![CDATA[ >= ]]> STR_TO_DATE(left(concat(#{attendanceDateStart},' 00:00:00'),19),'%Y-%m-%d %k:%i:%s')
+        AND r.attendanceDate <![CDATA[ <= ]]> STR_TO_DATE(left(concat(#{attendanceDateEnd},' 23:59:59'),19),'%Y-%m-%d %k:%i:%s')
+    </select>
+</mapper>
\ No newline at end of file