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.
 
 

74 lines
2.6 KiB

/**
* 注册页面逻辑
*/
// 等待DOM加载完成
document.addEventListener('DOMContentLoaded', function() {
// 获取注册表单
const registerForm = document.getElementById('register-form');
const message = document.getElementById('message');
// 监听表单提交事件
registerForm.addEventListener('submit', async function(e) {
e.preventDefault();
// 获取用户输入
const company = document.getElementById('company').value;
const department = document.getElementById('department').value;
const position = document.getElementById('position').value;
const organization = document.getElementById('organization').value;
const emp_name = document.getElementById('emp_name').value;
const mobile = document.getElementById('mobile').value;
const pwd = document.getElementById('pwd').value;
// 验证输入
if (!company || !department || !position || !organization || !emp_name || !mobile || !pwd) {
message.textContent = '请填写所有必填字段';
message.className = 'error-message';
return;
}
// 验证手机号格式
if (!/^1[3-9][0-9]{9}$/.test(mobile)) {
message.textContent = '请输入正确的手机号';
message.className = 'error-message';
return;
}
// 验证密码长度
if (pwd.length < 6) {
message.textContent = '密码长度至少6位';
message.className = 'error-message';
return;
}
// 构建请求数据
const registerData = {
companyId: parseInt(company),
deptId: parseInt(department),
positionId: parseInt(position),
empName: emp_name,
mobile: mobile,
password: pwd
};
try {
// 使用API服务发送注册请求
await API.auth.register(registerData);
// 注册成功
message.textContent = '注册成功!即将跳转到登录页面...';
message.className = 'success-message';
// 3秒后跳转到登录页面
setTimeout(function() {
window.location.href = 'login.html';
}, 3000);
} catch (error) {
// 注册失败
message.textContent = '注册失败,请稍后重试';
message.className = 'error-message';
console.error('注册错误:', error);
}
});
});