123 lines
5.4 KiB
HTML
123 lines
5.4 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>软件开发部 · 关键任务追踪看板</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>关键任务追踪看板</strong>
|
|
<span>软件开发部</span>
|
|
</div>
|
|
</div>
|
|
|
|
<nav class="nav" id="nav">
|
|
<button class="nav-item active" data-view="board"><span class="ni" data-icon="board"></span>工作看板</button>
|
|
<button class="nav-item" data-view="projects"><span class="ni" data-icon="list-checks"></span>自研产品</button>
|
|
<button class="nav-item" data-view="custom"><span class="ni" data-icon="package"></span>定制项目</button>
|
|
<button class="nav-item" data-view="focus"><span class="ni" data-icon="target"></span>每周工作</button>
|
|
<div class="nav-label">支撑</div>
|
|
<button class="nav-item" data-view="staff"><span class="ni" data-icon="users"></span>人力资源</button>
|
|
<button class="nav-item" data-view="intake"><span class="ni" data-icon="pencil"></span>更新录入</button>
|
|
<button class="nav-item" data-view="settings"><span class="ni" data-icon="sliders"></span>设置</button>
|
|
<button class="nav-item" data-view="rbac"><span class="ni" data-icon="shield-check"></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>关键任务追踪看板</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="如 admin" /></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>
|