finai/frontend/app/index.html

184 lines
6.6 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

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" />
<title>财务大模型智能问答客服系统</title>
<link rel="stylesheet" href="./style.css" />
</head>
<body>
<div class="app-shell">
<aside class="sidebar">
<div class="brand">
<div class="brand-mark"></div>
<div>
<div class="brand-title">财务智能问答</div>
<div class="brand-subtitle">制度依据 · 流程追溯 · 审计闭环</div>
</div>
</div>
<nav class="nav">
<button class="nav-item active" data-view="chat" title="智能问答">
<span class="nav-icon"></span><span>智能问答</span>
</button>
<button class="nav-item" data-view="documents" title="知识文档">
<span class="nav-icon"></span><span>知识文档</span>
</button>
<button class="nav-item" data-view="audit" title="问答审计">
<span class="nav-icon"></span><span>问答审计</span>
</button>
</nav>
<div class="login-panel">
<div id="loginForm">
<label>
<span>API 地址</span>
<input id="apiBaseInput" value="http://127.0.0.1:8775" />
</label>
<label>
<span>手机号</span>
<input id="phoneInput" value="13800000000" />
</label>
<div class="login-actions">
<button id="sendCodeBtn" class="ghost-btn">验证码</button>
<button id="loginBtn" class="primary-btn">登录</button>
</div>
</div>
<div id="loginState" class="login-state">未登录</div>
<button id="logoutBtn" class="logout-btn" hidden>退出</button>
</div>
</aside>
<main class="main">
<header class="topbar">
<div>
<h1 id="pageTitle">智能问答工作台</h1>
<p id="pageSubtitle">基于正式制度文档回答,答案保留来源引用和问答留痕。</p>
</div>
<div class="top-actions">
<span id="healthBadge" class="status-badge muted">未连接</span>
<button id="refreshBtn" class="icon-btn" title="刷新"></button>
</div>
</header>
<section id="chatView" class="view is-visible chat-layout">
<section class="conversation-panel">
<div class="panel-head">
<div>
<h2>会话</h2>
<p>本人历史问答记录</p>
</div>
<button id="newSessionBtn" class="icon-btn" title="新建会话">+</button>
</div>
<div id="sessionList" class="session-list"></div>
</section>
<section class="chat-panel">
<div id="messages" class="messages"></div>
<form id="chatForm" class="composer">
<textarea id="questionInput" rows="3" placeholder="输入财务制度、报销流程或系统操作问题..."></textarea>
<button class="primary-btn" type="submit">发送</button>
</form>
</section>
</section>
<section id="documentsView" class="view admin-view">
<div class="section-toolbar">
<div class="inline-form" style="margin-left:auto">
<a id="openAdpConsoleBtn" class="ghost-btn" href="https://adp.cloud.tencent.com" target="_blank" rel="noopener">打开 ADP 控制台</a>
<button id="refreshDocsBtn" class="primary-btn" type="button">刷新</button>
</div>
</div>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>文档名称</th>
<th>类型</th>
<th>大小</th>
<th>状态</th>
<th>生效范围</th>
<th>更新时间</th>
</tr>
</thead>
<tbody id="documentRows"></tbody>
</table>
</div>
</section>
<section id="auditView" class="view admin-view">
<div class="section-toolbar">
<div>
<h2>审计与用量</h2>
<p>查看登录、文档、问答和接口调用留痕。</p>
</div>
<button id="loadAuditBtn" class="ghost-btn">重新加载</button>
</div>
<div class="audit-grid">
<section class="usage-board">
<div><span>问答次数</span><strong id="auditQuestions">0</strong></div>
<div><span>活跃用户</span><strong id="auditUsers">0</strong></div>
<div><span>文档数量</span><strong id="auditDocs">0</strong></div>
<div><span>审计记录</span><strong id="auditCount">0</strong></div>
</section>
<div class="table-wrap">
<table>
<thead>
<tr>
<th>时间</th>
<th>操作</th>
<th>对象</th>
<th>详情</th>
</tr>
</thead>
<tbody id="auditRows"></tbody>
</table>
</div>
</div>
</section>
</main>
</div>
<div id="documentModal" class="modal-backdrop" hidden>
<section class="modal">
<div class="modal-head">
<div>
<h2>新增知识文档</h2>
<p>拖拽或选择制度、手册、FAQ 文件上传。</p>
</div>
<button id="closeDocumentModalBtn" class="icon-btn" title="关闭">×</button>
</div>
<form id="documentForm" class="modal-body">
<label id="dropZone" class="drop-zone">
<input id="docFileInput" type="file" hidden />
<span class="drop-icon"></span>
<strong id="dropTitle">拖拽文件到这里,或点击选择文件</strong>
<small id="dropHint">支持 PDF、DOCX、XLSX、TXT、PNG、JPG 等知识材料</small>
</label>
<div class="modal-grid">
<label>
<span>标签</span>
<input id="docTagsInput" placeholder="例如:差旅,报销" />
</label>
<label>
<span>密级</span>
<select id="docLevelInput">
<option value="public">公开</option>
<option value="internal" selected>内部</option>
<option value="secret">保密</option>
</select>
</label>
</div>
<div class="modal-actions">
<button id="cancelDocumentModalBtn" class="ghost-btn" type="button">取消</button>
<button class="primary-btn" type="submit">上传并新增</button>
</div>
</form>
</section>
</div>
<div id="toast" class="toast"></div>
<script src="./app.js"></script>
</body>
</html>