someone-oa/pc/settings-user.html
2025-12-11 15:21:16 +08:00

221 lines
9.6 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>账号管理 - OA系统</title>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
background: #f0f2f5;
overflow: hidden;
}
.layout-container {
height: 100vh;
display: flex;
flex-direction: column;
}
 background: #409EFF; }
.main-container {
flex: 1;
display: flex;
overflow: hidden;
}
.app-main {
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
background: #f0f2f5;
}
.sidebar {
width: 210px;
background: #fff;
border-right: 1px solid #e6e6e6;
overflow-y: auto;
}
.el-menu {
border-right: none;
}
.menu-item { padding: 12px 24px; cursor: pointer; }
.menu-item.active {
background: #409EFF;
color: #fff;
}
.content {
flex: 1;
padding: 20px;
overflow-y: auto;
background: #fff;
margin: 10px;
border-radius: 4px;
}
.page-header { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0; display: flex; justify-content: space-between; }
.page-title { font-size: 20px; font-weight: 500; }
.search-form { background: #fafafa; padding: 16px; border-radius: 4px; margin-bottom: 16px; }
.form-row { display: flex; gap: 16px; margin-bottom: 12px; }
.form-item { flex: 1; }
.form-input, .form-select { width: 100%; padding: 6px 12px; border: 1px solid #d9d9d9; border-radius: 4px; }
.btn { padding: 6px 16px; border: none; border-radius: 4px; cursor: pointer; }
.btn-primary { background: #409EFF; color: white; }
.btn-default { background: white; color: #333; border: 1px solid #d9d9d9; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid #f0f0f0; }
th { background: #fafafa; font-weight: 500; }
.role-badge { padding: 2px 8px; border-radius: 4px; font-size: 12px; }
.role-manager { background: #fff7e6; color: #d46b08; }
.role-staff { background: #e6f7ff; color: #409EFF; }
.action-link { color: #409EFF; cursor: pointer; margin-right: 12px; }
</style>
<!-- Vue.js -->
<script src="https://unpkg.com/vue@2/dist/vue.js"></script>
<!-- Element UI JS -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script src="common.js"></script>
</head>
<body>
<div id="app">
<div class="layout-container">
<div class="main-container">
<div class="sidebar">
<div class="menu-item" onclick="window.location.href='settings-org.html'">组织架构</div>
<div class="menu-item active">账号管理</div>
<div class="menu-item" onclick="window.location.href='settings-role.html'">权限配置</div>
</div>
<div class="content">
<div class="page-header">
<div class="page-title">账号管理</div>
<button class="btn btn-primary">+ 新增账号</button>
</div>
<div class="search-form">
<div class="form-row">
<div class="form-item">
<input type="text" class="form-input" placeholder="用户名/姓名">
</div>
<div class="form-item">
<select class="form-select">
<option>全部部门</option>
<option>经营管理部</option>
<option>财务部</option>
<option>行政部</option>
</select>
</div>
<div class="form-item" style="display: flex; gap: 8px;">
<button class="btn btn-primary">查询</button>
<button class="btn btn-default">重置</button>
</div>
</div>
</div>
<table>
<thead>
<tr>
<th>用户名</th>
<th>姓名</th>
<th>部门</th>
<th>职位</th>
<th>角色</th>
<th>状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>zhangsan</td>
<td>张三</td>
<td>经营管理部</td>
<td>部门负责人</td>
<td><span class="role-badge role-manager">部门负责人</span></td>
<td>启用</td>
<td>
<span class="action-link" onclick="editUser('1')">编辑</span>
<span class="action-link" onclick="resetPassword('1')">重置密码</span>
<span class="action-link" style="color: #ff4d4f;" onclick="deleteUser('1')">删除</span>
</td>
</tr>
<tr>
<td>lisi</td>
<td>李四</td>
<td>经营管理部</td>
<td>员工</td>
<td><span class="role-badge role-staff">员工</span></td>
<td>启用</td>
<td>
<span class="action-link" onclick="editUser('2')">编辑</span>
<span class="action-link" onclick="resetPassword('2')">重置密码</span>
<span class="action-link" style="color: #ff4d4f;" onclick="deleteUser('2')">删除</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<script>
function editUser(id) {
const content = `
<form style="padding: 10px 0;">
<div style="margin-bottom: 16px;">
<label style="display: block; margin-bottom: 8px; color: #606266;">用户名 <span style="color: #f56c6c;">*</span></label>
<input type="text" id="user-username" class="form-input" value="zhangsan" required>
</div>
<div style="margin-bottom: 16px;">
<label style="display: block; margin-bottom: 8px; color: #606266;">姓名 <span style="color: #f56c6c;">*</span></label>
<input type="text" id="user-name" class="form-input" value="张三" required>
</div>
<div style="margin-bottom: 16px;">
<label style="display: block; margin-bottom: 8px; color: #606266;">部门</label>
<select id="user-dept" class="form-select">
<option>经营管理部</option>
<option>财务部</option>
<option>行政部</option>
</select>
</div>
<div style="margin-bottom: 16px;">
<label style="display: block; margin-bottom: 8px; color: #606266;">角色</label>
<select id="user-role" class="form-select">
<option>部门负责人</option>
<option>员工</option>
<option>财务</option>
</select>
</div>
</form>
`;
CommonUtils.createModal('编辑用户', content, () => {
const username = document.getElementById('user-username').value.trim();
const name = document.getElementById('user-name').value.trim();
if (!username || !name) {
CommonUtils.showMessage('请填写必填项', 'error');
return false;
}
CommonUtils.showMessage('用户信息已更新');
return true;
});
}
function resetPassword(id) {
CommonUtils.createModal('确认重置', '确认重置该用户密码为默认密码?', () => {
CommonUtils.showMessage('密码已重置为默认密码123456');
return true;
});
}
function deleteUser(id) {
CommonUtils.createModal('确认删除', '确认删除该用户吗?删除后无法恢复。', () => {
CommonUtils.showMessage('用户已删除');
return true;
});
}
</script>
<script src="layout.js"></script>
<script>
injectLayout(\'settings\');
</script>
</div>
</body>
</html>