68 lines
3.9 KiB
HTML
68 lines
3.9 KiB
HTML
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' https://lserp-sprite.local data:; style-src 'self'; script-src 'self'; connect-src 'none'; object-src 'none'; base-uri 'none'; form-action 'none'; frame-src 'none'; child-src 'none'; worker-src 'none'; media-src 'none'; manifest-src 'none'">
|
||
<title>朗速 ERP 智能桌宠</title>
|
||
<link rel="stylesheet" href="pet.css">
|
||
</head>
|
||
<body>
|
||
<main class="pet-shell" id="pet-shell" data-panel="closed">
|
||
<section class="assistant-panel" id="assistant-panel" aria-label="朗速 ERP 智能助手" aria-hidden="true">
|
||
<header class="panel-header">
|
||
<div>
|
||
<p class="eyebrow">朗速 ERP 助手</p>
|
||
<h1 id="module-title">等待 ERP 连接</h1>
|
||
<p class="context-scope" id="context-scope" data-state="pending">会话范围等待验证</p>
|
||
</div>
|
||
<div class="panel-actions">
|
||
<span class="connection-state" id="connection-state" data-state="offline">离线</span>
|
||
<button class="close-pet" id="close-pet" type="button" aria-label="退出桌宠" title="退出桌宠">×</button>
|
||
</div>
|
||
</header>
|
||
|
||
<nav class="context-actions" aria-label="当前 ERP 界面快捷提问">
|
||
<button type="button" data-quick-action="purchase_invoice_entry">录入采购发票</button>
|
||
<button type="button" data-quick-action="leave_request">申请请假</button>
|
||
<button type="button" data-quick-action="current_module_help">当前界面能做什么</button>
|
||
<button type="button" data-quick-action="current_module_diagnosis">只读诊断当前界面</button>
|
||
<button type="button" data-quick-action="workflow_readiness" data-admin-only="true" hidden>检查业务能力</button>
|
||
</nav>
|
||
|
||
<div class="conversation" id="conversation" aria-live="polite">
|
||
<p class="system-message">连接后可询问当前界面、打开模块或生成业务操作预览。</p>
|
||
</div>
|
||
|
||
<section class="plan-preview" id="plan-preview" hidden aria-label="业务操作预览">
|
||
<p class="eyebrow">待确认操作</p>
|
||
<h2 id="plan-title">业务预览</h2>
|
||
<div id="plan-detail" class="plan-detail"></div>
|
||
<button id="execute-plan" class="confirm-action" type="button">在 ERP 中确认并执行</button>
|
||
<p class="security-note">最终确认由 ERP 原生窗口完成,聊天模型不能代替点击。</p>
|
||
</section>
|
||
|
||
<form class="composer" id="composer">
|
||
<div class="attachment-list" id="attachment-list" hidden aria-label="待发送附件"></div>
|
||
<label class="sr-only" for="message-input">输入问题或操作</label>
|
||
<div class="composer-row">
|
||
<button class="attach-action" id="attach-files" type="button" aria-label="选择发票或明细附件" title="支持 PNG、JPG、WebP、PDF、XLSX、CSV">+附件</button>
|
||
<textarea id="message-input" rows="1" maxlength="2000" placeholder="问当前界面,或直接附上发票"></textarea>
|
||
<button id="send-message" type="submit" aria-label="发送">发送</button>
|
||
</div>
|
||
</form>
|
||
</section>
|
||
|
||
<span class="pet-drag-handle" aria-label="拖动桌宠" title="拖动桌宠">•••</span>
|
||
<button class="pet-anchor" id="pet-anchor" type="button" aria-label="悬停或点击询问当前 ERP 界面" title="悬停或点击询问当前 ERP 界面" aria-expanded="false" aria-controls="assistant-panel">
|
||
<span class="pet-status" id="pet-status">等待 ERP</span>
|
||
<span class="sprite" id="pet-sprite" role="img" aria-label="咕嘎智能桌宠"></span>
|
||
</button>
|
||
</main>
|
||
|
||
<script src="pet-runtime.js"></script>
|
||
<script src="bridge-client.js"></script>
|
||
<script src="pet-shell.js"></script>
|
||
</body>
|
||
</html>
|