-
-
- 当前操行分
- --
-
-
- 作业完成率
- --%
-
-
+本月出勤率
- --%
-
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
- 当前操行分
+ --
-
-
-
-
-
-
-
- --
- 当前操行分
-
-
- 历史记录
-
-
-
-
-
-
-
-
- 作业列表
-
-
-
-
-
- | 科目 | -作业标题 | -截止日期 | -状态 | -备注 | -
|---|
-
-
-
-
-
-
-
- 出勤
- 0
-
-
- 缺勤
- 0
-
-
- 迟到
- 0
-
-
- 请假
- 0
-
-
- 考勤记录明细
-
-
-
-
-
- | 日期 | -状态 | -原因 | -
|---|
-
-
-
- 修改密码
-
+
+
最新操行分记录
+
+
+ 查看更多 >
-
-
-
-
-
-
-
-
\ No newline at end of file
+ if (res && res.success) {
+ showToast('密码修改成功,请重新登录');
+ setTimeout(() => logout(), 1500);
+ } else {
+ showToast(res?.message || '密码修改失败', 'error');
+ }
+ });
+
+ // 强制修改密码
+ document.getElementById('forcePasswordForm')?.addEventListener('submit', async (e) => {
+ e.preventDefault();
+ const newPassword = document.getElementById('forceNewPassword').value;
+ const confirmPassword = document.getElementById('forceConfirmPassword').value;
+
+ if (newPassword !== confirmPassword) {
+ alert('两次输入的新密码不一致');
+ return;
+ }
+
+ const res = await apiPost('/api/auth/change-password', {
+ old_password: newPassword,
+ new_password: newPassword
+ });
+
+ if (res && res.success) {
+ showToast('密码修改成功,请重新登录');
+ setTimeout(() => logout(), 1500);
+ } else {
+ alert(res?.message || '密码修改失败');
+ }
+ });
+
+ // 检查是否需要强制修改密码
+ function checkForceChangePassword() {
+ const user = getUserInfo();
+ if (user && user.need_change_password) {
+ document.getElementById('forceChangePasswordModal').style.display = 'flex';
+ }
+ }
+
+ // 初始化
+ document.querySelectorAll('.nav-item').forEach(btn => {
+ btn.addEventListener('click', () => {
+ showPage(btn.dataset.page);
+ });
+ });
+
+ loadDashboard();
+ checkForceChangePassword();
+
+
+
首次登录,请修改密码
+ +
+
+
+
+
+
+
+
- --
+ 当前操行分
+
+ 历史记录
+
+
+
+
+
+
+
+
+ 作业列表
+
+
+
+
+
+ | 科目 | +作业标题 | +截止日期 | +状态 | +备注 | +
|---|
+
+
+
+
+
+
+
+ 出勤
+ 0
+
+
+ 缺勤
+ 0
+
+
+ 迟到
+ 0
+
+
+ 请假
+ 0
+
+
+ 考勤记录明细
+
+
+
+
+
+ | 日期 | +状态 | +原因 | +
|---|
+
+
+
修改密码
+