You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.7 KiB
55 lines
1.7 KiB
/**
|
|
* 登录页面逻辑
|
|
*/
|
|
|
|
// 等待DOM加载完成
|
|
document.addEventListener('DOMContentLoaded', function() {
|
|
// 获取登录表单
|
|
const loginForm = document.getElementById('login-form');
|
|
const errorMessage = document.getElementById('error-message');
|
|
|
|
// 监听表单提交事件
|
|
loginForm.addEventListener('submit', async function(e) {
|
|
e.preventDefault();
|
|
|
|
// 获取用户输入
|
|
const mobile = document.getElementById('mobile').value;
|
|
const pwd = document.getElementById('pwd').value;
|
|
|
|
// 验证输入
|
|
if (!mobile || !pwd) {
|
|
errorMessage.textContent = '请输入手机号和密码';
|
|
return;
|
|
}
|
|
|
|
// 构建请求数据
|
|
const loginData = {
|
|
mobile: mobile,
|
|
password: pwd
|
|
};
|
|
|
|
try {
|
|
// 使用API服务发送登录请求
|
|
const data = await API.auth.login(loginData);
|
|
|
|
// 登录成功,创建员工实例
|
|
const employee = Framework.model.Employee.create({
|
|
mobile: data.mobile,
|
|
emp_name: data.empName,
|
|
emp_no: data.empNo,
|
|
dept_id: data.deptId,
|
|
position_id: data.positionId
|
|
});
|
|
|
|
// 存储用户信息到本地存储
|
|
localStorage.setItem('currentUser', JSON.stringify(employee));
|
|
|
|
// 跳转到首页
|
|
window.location.href = '../index.html';
|
|
} catch (error) {
|
|
// 登录失败
|
|
errorMessage.textContent = '登录失败,请检查手机号和密码';
|
|
console.error('登录错误:', error);
|
|
}
|
|
});
|
|
});
|