张诺
4 天以前 e705ef7b15c04307d6f37b388564dedfaeef4a55
src/views/personnelManagement/employeeRecord/index.vue
@@ -35,6 +35,7 @@
          :tableLoading="tableLoading"
          @pagination="pagination"
          :total="page.total"
          :rowClassName="rowClassName"
      ></PIMTable>
    </div>
    <show-form-dia ref="formDia" @close="handleQuery"></show-form-dia>
@@ -138,6 +139,16 @@
    width: 100,
  },
  {
    label: "员工通讯地址",
    prop: "contactAddress",
    minWidth: 180,
  },
  {
    label:"合同到期时间",
    prop: "contractExpireTime",
    minWidth: 120,
  },
  {
    dataType: "action",
    label: "操作",
    align: "center",
@@ -191,6 +202,33 @@
  }
  getList();
};
const rowClassName = ({ row }) => {
  const dateStr = row.contractExpireTime;
  if (!dateStr) return '';
  const now = new Date();
  const target = new Date(dateStr.replace(/-/g, '/')); // 兼容 Safari
  // 归零时间(关键!)
  now.setHours(0, 0, 0, 0);
  target.setHours(0, 0, 0, 0);
  const days = Math.ceil((target - now) / (1000 * 60 * 60 * 24));
  console.log('剩余天数:', days);
  //  超过45天:正常
  if (days > 45) return '';
  //  0~45天:预警(你可以换颜色)
  if (days >= 0) return 'bg-warning';
  //  已过期
  return 'bg-danger';
};
// 查询列表
/** 搜索按钮操作 */
const handleQuery = () => {
@@ -275,4 +313,12 @@
});
</script>
<style scoped></style>
<style scoped>
:deep(.el-table .bg-warning > td.el-table__cell) {
  background-color: #fdf2e3;
}
:deep(.el-table .bg-danger > td.el-table__cell) {
  background-color: #ffe5e5;
}
</style>