127 lines
5.8 KiB
HTML
127 lines
5.8 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>DMS管理平台</title>
|
||
<link rel="stylesheet" href="/static/styles.css" />
|
||
</head>
|
||
<body>
|
||
<div class="app">
|
||
<aside class="sidebar">
|
||
<div class="brand">
|
||
<div class="brand-mark"><i data-icon="target"></i></div>
|
||
<div class="brand-text">
|
||
<strong>DMS管理平台</strong>
|
||
<span>软件开发部</span>
|
||
</div>
|
||
<!-- 收拢后这颗按钮换成展开图标,平时隐藏,hover 到 logo 上出现;按钮自身不挂 tips -->
|
||
<button class="nav-fold" id="navFold" aria-label="收起菜单">
|
||
<i class="ic-fold" data-icon="panel-collapse"></i><i class="ic-unfold" data-icon="panel-expand"></i>
|
||
</button>
|
||
</div>
|
||
|
||
<nav class="nav" id="nav">
|
||
<button class="nav-item active" data-view="board"><span class="ni" data-icon="board"></span><span class="nl">工作看板</span></button>
|
||
<button class="nav-item" data-view="projects"><span class="ni" data-icon="list-checks"></span><span class="nl">自研产品</span></button>
|
||
<button class="nav-item" data-view="custom"><span class="ni" data-icon="package"></span><span class="nl">定制项目</span></button>
|
||
<button class="nav-item" data-view="focus"><span class="ni" data-icon="target"></span><span class="nl">每周工作</span></button>
|
||
<div class="nav-label">支撑</div>
|
||
<button class="nav-item" data-view="staff"><span class="ni" data-icon="users"></span><span class="nl">人力资源</span></button>
|
||
<button class="nav-item" data-view="intake"><span class="ni" data-icon="pencil"></span><span class="nl">更新录入</span></button>
|
||
<button class="nav-item" data-view="settings"><span class="ni" data-icon="sliders"></span><span class="nl">设置</span></button>
|
||
<button class="nav-item" data-view="rbac"><span class="ni" data-icon="shield-check"></span><span class="nl">权限管理</span></button>
|
||
</nav>
|
||
|
||
<div class="side-user" id="sideUser"></div>
|
||
</aside>
|
||
|
||
<main class="main">
|
||
<header class="topbar">
|
||
<div class="period-bar">
|
||
<div class="seg" id="granSeg">
|
||
<button class="seg-btn active" data-gran="week">周</button>
|
||
<button class="seg-btn" data-gran="month">月</button>
|
||
</div>
|
||
<button class="nav-arrow" id="prevPeriod" title="上一期"><i data-icon="chevron-left"></i></button>
|
||
<select id="periodSelect" class="period-select"></select>
|
||
<button class="nav-arrow" id="nextPeriod" title="下一期"><i data-icon="chevron-right"></i></button>
|
||
<span class="period-hint" id="periodHint"></span>
|
||
</div>
|
||
<div class="topbar-right">
|
||
<input id="globalSearch" class="search" type="search" placeholder="搜索项目 / 内容…" />
|
||
<button class="btn primary" id="btnIntake"><i data-icon="plus"></i>更新录入</button>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="views">
|
||
<section class="view" id="view-board"></section>
|
||
<section class="view hidden" id="view-projects"></section>
|
||
<section class="view hidden" id="view-custom"></section>
|
||
<section class="view hidden" id="view-focus"></section>
|
||
<section class="view hidden" id="view-staff"></section>
|
||
<section class="view hidden" id="view-intake"></section>
|
||
<section class="view hidden" id="view-settings"></section>
|
||
<section class="view hidden" id="view-rbac"></section>
|
||
</div>
|
||
</main>
|
||
</div>
|
||
|
||
<div class="drawer-mask" id="drawerMask"></div>
|
||
<aside class="drawer" id="drawer">
|
||
<div class="drawer-head">
|
||
<div class="drawer-head-text">
|
||
<h3 id="drawerTitle">项目详情</h3>
|
||
<div class="drawer-sub" id="drawerSub"></div>
|
||
</div>
|
||
<div class="btn-bar" id="drawerActions"></div>
|
||
<button class="icon-btn" id="drawerClose" title="关闭"><i data-icon="x"></i></button>
|
||
</div>
|
||
<div class="drawer-body" id="drawerBody"></div>
|
||
</aside>
|
||
|
||
<div class="modal-mask" id="modalMask">
|
||
<div class="modal" id="modal"></div>
|
||
</div>
|
||
|
||
<div class="auth-mask hidden" id="authGate">
|
||
<div class="auth-shell">
|
||
<!-- 左:品牌区 -->
|
||
<aside class="auth-brand">
|
||
<div class="ab-top">
|
||
<div class="brand-mark"><i data-icon="target"></i></div>
|
||
<div class="brand-text"><strong>DMS管理平台</strong><span>软件开发部</span></div>
|
||
</div>
|
||
<div class="ab-mid">
|
||
<h2>进展、风险、计收<br>一张看板看完</h2>
|
||
<ul>
|
||
<li><i data-icon="list-checks"></i><span>自研产品:每周执行记录与重点清单</span></li>
|
||
<li><i data-icon="wallet"></i><span>定制项目:下单、交付到验收计收</span></li>
|
||
<li><i data-icon="shield-check"></i><span>权限管理:谁能看、谁能改,一处配好</span></li>
|
||
</ul>
|
||
</div>
|
||
<div class="ab-foot">数据留在本部门服务器,仅限内部使用</div>
|
||
</aside>
|
||
<!-- 右:登录表单 -->
|
||
<form class="auth-form" id="authForm" autocomplete="on">
|
||
<h3>登录</h3>
|
||
<p class="af-sub">使用部门分配的账号</p>
|
||
<label class="af-field"><span>账号</span>
|
||
<input class="inp" id="authUser" autocomplete="username" placeholder="请输入账户" /></label>
|
||
<label class="af-field"><span>密码</span>
|
||
<input class="inp" id="authPass" type="password" autocomplete="current-password" placeholder="请输入密码" /></label>
|
||
<div class="notice err" id="authErr" style="display:none"></div>
|
||
<button class="btn primary block" type="submit" id="authOk">登录<i data-icon="arrow-right"></i></button>
|
||
<div class="af-foot">忘记密码或需要开通账号,请联系管理员</div>
|
||
</form>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="toast" id="toast"></div>
|
||
|
||
<script src="/static/icons.js"></script>
|
||
<script src="/static/app.js"></script>
|
||
<script src="/static/livereload.js"></script>
|
||
</body>
|
||
</html>
|