297 lines
12 KiB
HTML
297 lines
12 KiB
HTML
<!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">
|
||
<!-- 统一布局样式 -->
|
||
<link rel="stylesheet" href="unified-layout.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;
|
||
}
|
||
.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;
|
||
}
|
||
.menu-item { padding: 12px 24px; cursor: pointer; transition: background 0.3s; color: #303133; }
|
||
.menu-item:hover {
|
||
background: #ecf5ff;
|
||
color: #409EFF;
|
||
}
|
||
.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;
|
||
align-items: center;
|
||
}
|
||
.page-title { font-size: 20px; font-weight: 500; color: #303133; }
|
||
.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 #dcdfe6;
|
||
border-radius: 4px;
|
||
font-size: 14px;
|
||
}
|
||
.btn {
|
||
padding: 6px 16px;
|
||
border: none;
|
||
border-radius: 4px;
|
||
font-size: 14px;
|
||
cursor: pointer;
|
||
transition: all 0.3s;
|
||
}
|
||
.btn-primary {
|
||
background: #409EFF;
|
||
color: white;
|
||
}
|
||
.btn-primary:hover {
|
||
background: #66b1ff;
|
||
}
|
||
.btn-default {
|
||
background: white;
|
||
color: #606266;
|
||
border: 1px solid #dcdfe6;
|
||
}
|
||
.btn-default:hover {
|
||
color: #409EFF;
|
||
border-color: #409EFF;
|
||
}
|
||
table {
|
||
width: 100%;
|
||
border-collapse: collapse;
|
||
}
|
||
th, td {
|
||
padding: 12px;
|
||
text-align: left;
|
||
border-bottom: 1px solid #f0f0f0;
|
||
}
|
||
th {
|
||
background: #fafafa;
|
||
font-weight: 500;
|
||
color: #303133;
|
||
}
|
||
.action-link {
|
||
color: #409EFF;
|
||
cursor: pointer;
|
||
}
|
||
.log-success { color: #67c23a; }
|
||
.log-error { color: #f56c6c; }
|
||
.pagination {
|
||
margin-top: 16px;
|
||
text-align: right;
|
||
}
|
||
</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" onclick="window.location.href='settings-user.html'">账号管理</div>
|
||
<div class="menu-item" onclick="window.location.href='settings-role.html'">权限配置</div>
|
||
<div class="menu-item" onclick="window.location.href='settings-workflow.html'">流程配置</div>
|
||
<div class="menu-item" onclick="window.location.href='settings-notice.html'">系统公告</div>
|
||
<div class="menu-item" onclick="window.location.href='settings-dict.html'">字典管理</div>
|
||
<div class="menu-item" onclick="window.location.href='settings-param.html'">参数配置</div>
|
||
<div class="menu-item active" onclick="window.location.href='settings-log.html'">操作日志</div>
|
||
</div>
|
||
|
||
<div class="app-main">
|
||
<div class="content">
|
||
<div class="page-header">
|
||
<div class="page-title">操作日志</div>
|
||
<button class="btn btn-default" onclick="exportLog()">导出日志</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>
|
||
<option>审核</option>
|
||
<option>导出</option>
|
||
</select>
|
||
</div>
|
||
<div class="form-item">
|
||
<input type="date" class="form-input" value="2025-01-01">
|
||
</div>
|
||
<div class="form-item">
|
||
<input type="date" class="form-input" value="2025-01-31">
|
||
</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>
|
||
<th>操作</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
<tr>
|
||
<td>1</td>
|
||
<td>张三</td>
|
||
<td>商机管理</td>
|
||
<td>新增</td>
|
||
<td>新增项目立项:25-1</td>
|
||
<td class="log-success">成功</td>
|
||
<td>2025-01-10 14:30:25</td>
|
||
<td>
|
||
<span class="action-link" onclick="viewLogDetail('1')">详情</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>2</td>
|
||
<td>李经理</td>
|
||
<td>商机管理</td>
|
||
<td>审核</td>
|
||
<td>审核通过立项申请:25-1</td>
|
||
<td class="log-success">成功</td>
|
||
<td>2025-01-11 09:15:10</td>
|
||
<td>
|
||
<span class="action-link" onclick="viewLogDetail('2')">详情</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>3</td>
|
||
<td>王五</td>
|
||
<td>财务管理</td>
|
||
<td>新增</td>
|
||
<td>新增开票申请:FP-2025-001</td>
|
||
<td class="log-success">成功</td>
|
||
<td>2025-01-15 10:20:35</td>
|
||
<td>
|
||
<span class="action-link" onclick="viewLogDetail('3')">详情</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td>4</td>
|
||
<td>张三</td>
|
||
<td>系统设置</td>
|
||
<td>修改</td>
|
||
<td>修改流程配置:立项审核流程</td>
|
||
<td class="log-error">失败</td>
|
||
<td>2025-01-18 16:45:20</td>
|
||
<td>
|
||
<span class="action-link" onclick="viewLogDetail('4')">详情</span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<div class="pagination">
|
||
<span style="color: #909399; margin-right: 16px;">共 100 条记录</span>
|
||
<button class="btn btn-default">上一页</button>
|
||
<span style="margin: 0 12px; color: #303133;">1 / 10</span>
|
||
<button class="btn btn-default">下一页</button>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function viewLogDetail(id) {
|
||
CommonUtils.createModal('日志详情', `
|
||
<div style="padding: 10px 0;">
|
||
<p><strong>操作编号:</strong>${id}</p>
|
||
<p><strong>操作人员:</strong>张三</p>
|
||
<p><strong>操作模块:</strong>商机管理</p>
|
||
<p><strong>操作类型:</strong>新增</p>
|
||
<p><strong>操作内容:</strong>新增项目立项:25-1</p>
|
||
<p><strong>操作状态:</strong><span style="color: #67c23a;">成功</span></p>
|
||
<p><strong>操作时间:</strong>2025-01-10 14:30:25</p>
|
||
<p><strong>操作IP:</strong>192.168.1.100</p>
|
||
<p><strong>备注:</strong>无</p>
|
||
</div>
|
||
`, () => true);
|
||
}
|
||
|
||
function exportLog() {
|
||
CommonUtils.showMessage('正在导出日志...');
|
||
setTimeout(() => {
|
||
CommonUtils.showMessage('日志导出成功!');
|
||
}, 1000);
|
||
}
|
||
</script>
|
||
<script src="unified-layout.js"></script>
|
||
<script>
|
||
initUnifiedLayout('settings');
|
||
</script>
|
||
</body>
|
||
</html>
|
||
|