feat(web): 更新审批中心、审计、政策制度页面及对应的业务脚本,增强前端交互逻辑
This commit is contained in:
@@ -58,7 +58,7 @@
|
||||
</div>
|
||||
|
||||
<div class="doc-table-wrap">
|
||||
<table>
|
||||
<table class="knowledge-document-table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>文件名称</th>
|
||||
@@ -91,21 +91,51 @@
|
||||
<td>{{ doc.version }}</td>
|
||||
<td><span class="state-tag" :class="doc.stateTone">{{ doc.state }}</span></td>
|
||||
<td>{{ doc.owner }}</td>
|
||||
<td>
|
||||
<div class="row-actions" @click.stop>
|
||||
<button class="more-btn" type="button" aria-label="下载文件" @click="handleDownload(doc)">
|
||||
<i class="mdi mdi-download"></i>
|
||||
</button>
|
||||
<button
|
||||
v-if="isAdmin"
|
||||
class="more-btn danger"
|
||||
type="button"
|
||||
:disabled="deletingId === doc.id"
|
||||
aria-label="删除文件"
|
||||
@click="handleDelete(doc)"
|
||||
>
|
||||
<i class="mdi mdi-delete-outline"></i>
|
||||
</button>
|
||||
<td>
|
||||
<div class="row-actions" @click.stop>
|
||||
<button
|
||||
v-if="isAdmin"
|
||||
class="more-btn ingest"
|
||||
type="button"
|
||||
:disabled="Boolean(ingestingId) || deletingId === doc.id"
|
||||
:aria-label="resolveIngestActionTitle(doc)"
|
||||
:title="resolveIngestActionTitle(doc)"
|
||||
@click="handleManualIngest(doc)"
|
||||
>
|
||||
<i class="mdi mdi-book-sync-outline"></i>
|
||||
</button>
|
||||
<button
|
||||
v-if="isAdmin"
|
||||
class="more-btn llm-wiki-view"
|
||||
:class="{ 'is-disabled': !canViewLlmWiki(doc) }"
|
||||
type="button"
|
||||
:aria-label="resolveViewLlmWikiTitle(doc)"
|
||||
:aria-disabled="!canViewLlmWiki(doc)"
|
||||
:title="resolveViewLlmWikiTitle(doc)"
|
||||
@click="openLlmWikiSummary(doc)"
|
||||
>
|
||||
<i class="mdi mdi-eye-outline"></i>
|
||||
</button>
|
||||
<button
|
||||
class="more-btn"
|
||||
type="button"
|
||||
aria-label="下载文件"
|
||||
title="下载当前文件"
|
||||
@click="handleDownload(doc)"
|
||||
>
|
||||
<i class="mdi mdi-download"></i>
|
||||
</button>
|
||||
<button
|
||||
v-if="isAdmin"
|
||||
class="more-btn danger"
|
||||
type="button"
|
||||
:disabled="deletingId === doc.id || ingestingId === doc.id"
|
||||
aria-label="删除文件"
|
||||
title="删除当前文件"
|
||||
@click="handleDelete(doc)"
|
||||
>
|
||||
<i class="mdi mdi-delete-outline"></i>
|
||||
</button>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
@@ -277,6 +307,115 @@
|
||||
</div>
|
||||
</Transition>
|
||||
</Teleport>
|
||||
<Teleport to="body">
|
||||
<Transition name="preview-modal">
|
||||
<div
|
||||
v-if="llmWikiDialogOpen"
|
||||
class="preview-modal-overlay llm-wiki-overlay"
|
||||
role="presentation"
|
||||
@click.self="closeLlmWikiSummary"
|
||||
>
|
||||
<aside class="preview-modal-shell llm-wiki-shell" role="dialog" aria-modal="true" aria-labelledby="llm-wiki-title">
|
||||
<article
|
||||
ref="llmWikiDialogPanel"
|
||||
class="preview-panel preview-modal-panel llm-wiki-panel panel"
|
||||
tabindex="-1"
|
||||
@click.stop
|
||||
>
|
||||
<header class="preview-head llm-wiki-head">
|
||||
<div class="preview-copy">
|
||||
<h2 id="llm-wiki-title">LLM Wiki 归纳内容</h2>
|
||||
<p>{{ llmWikiDocument ? llmWikiDocument.document_name : '正在读取当前文档的 LLM Wiki 知识总结。' }}</p>
|
||||
<div v-if="llmWikiDocument" class="llm-wiki-meta">
|
||||
<span>版本 {{ llmWikiDocument.document_version }}</span>
|
||||
<span>{{ llmWikiDocument.chunk_count }} 个分块</span>
|
||||
<span>{{ llmWikiDocument.knowledge_candidate_count }} 条知识</span>
|
||||
<span>{{ llmWikiDocument.rule_candidate_count }} 条规则草稿</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="preview-actions">
|
||||
<button
|
||||
v-if="isAdmin"
|
||||
type="button"
|
||||
class="mini-action"
|
||||
:disabled="llmWikiLoading || llmWikiSaving || !llmWikiDocument"
|
||||
@click="saveLlmWikiSummary"
|
||||
>
|
||||
<i class="mdi mdi-content-save-outline"></i>
|
||||
<span>{{ llmWikiSaving ? '保存中...' : '保存总结' }}</span>
|
||||
</button>
|
||||
<button type="button" class="icon-action" aria-label="关闭归纳内容" @click="closeLlmWikiSummary">
|
||||
<i class="mdi mdi-close"></i>
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<div class="llm-wiki-body">
|
||||
<div v-if="llmWikiLoading" class="preview-status">正在加载 LLM Wiki 归纳内容...</div>
|
||||
<div v-else-if="llmWikiError" class="preview-status error">{{ llmWikiError }}</div>
|
||||
<div v-else-if="llmWikiDocument" class="llm-wiki-grid">
|
||||
<section class="llm-wiki-section llm-wiki-summary-section">
|
||||
<div class="llm-wiki-section-head">
|
||||
<div>
|
||||
<h3>知识总结</h3>
|
||||
<p>管理员可在审核后修订这份归纳总结,作为知识预览内容保留。</p>
|
||||
</div>
|
||||
<span class="llm-wiki-count">{{ llmWikiDocument.knowledge_candidate_count }} 条知识</span>
|
||||
</div>
|
||||
<textarea
|
||||
v-model="llmWikiSummaryDraft"
|
||||
class="llm-wiki-editor"
|
||||
spellcheck="false"
|
||||
placeholder="Hermes 归纳后的知识总结会显示在这里。"
|
||||
></textarea>
|
||||
</section>
|
||||
|
||||
<section class="llm-wiki-section llm-wiki-candidates-section">
|
||||
<div class="llm-wiki-section-head">
|
||||
<div>
|
||||
<h3>知识条目预览</h3>
|
||||
<p>展示 Hermes 已提炼出的知识点,方便与总结内容逐项比对。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="llmWikiDocument.knowledge_candidates.length" class="llm-wiki-candidate-list">
|
||||
<article
|
||||
v-for="candidate in llmWikiDocument.knowledge_candidates"
|
||||
:key="candidate.candidate_id"
|
||||
class="llm-wiki-candidate-card"
|
||||
>
|
||||
<header>
|
||||
<strong>{{ candidate.title }}</strong>
|
||||
<span>{{ candidate.scenario }}</span>
|
||||
</header>
|
||||
<p>{{ candidate.content }}</p>
|
||||
<div v-if="candidate.tags.length" class="llm-wiki-chip-list">
|
||||
<span
|
||||
v-for="tag in candidate.tags"
|
||||
:key="`${candidate.candidate_id}-${tag}`"
|
||||
>
|
||||
{{ tag }}
|
||||
</span>
|
||||
</div>
|
||||
<ul v-if="candidate.evidence.length" class="llm-wiki-evidence">
|
||||
<li
|
||||
v-for="(evidence, index) in candidate.evidence.slice(0, 3)"
|
||||
:key="`${candidate.candidate_id}-evidence-${index}`"
|
||||
>
|
||||
{{ evidence }}
|
||||
</li>
|
||||
</ul>
|
||||
</article>
|
||||
</div>
|
||||
<div v-else class="preview-status">当前文档暂无可展示的知识条目。</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</article>
|
||||
</aside>
|
||||
</div>
|
||||
</Transition>
|
||||
</Teleport>
|
||||
</div>
|
||||
|
||||
<ConfirmDialog
|
||||
|
||||
Reference in New Issue
Block a user