|
@@ -157,7 +157,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<!-- 目录面板 -->
|
|
<!-- 目录面板 -->
|
|
|
- <div class="panel-body toc-panel" v-show="leftPanelTab === 'toc'">
|
|
|
|
|
|
|
+ <div class="panel-body toc-panel" v-show="leftPanelTab === 'toc'" v-loading="loadingToc" element-loading-text="加载目录中...">
|
|
|
<div class="toc-list" v-if="tocItems && tocItems.length > 0">
|
|
<div class="toc-list" v-if="tocItems && tocItems.length > 0">
|
|
|
<div
|
|
<div
|
|
|
v-for="(item, index) in tocItems"
|
|
v-for="(item, index) in tocItems"
|
|
@@ -170,7 +170,7 @@
|
|
|
<span class="toc-text">{{ item.title || item.text }}</span>
|
|
<span class="toc-text">{{ item.title || item.text }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="toc-empty" v-else>
|
|
|
|
|
|
|
+ <div class="toc-empty" v-else-if="!loadingToc">
|
|
|
<div class="empty-icon">📑</div>
|
|
<div class="empty-icon">📑</div>
|
|
|
<div class="empty-text">暂无目录</div>
|
|
<div class="empty-text">暂无目录</div>
|
|
|
<div class="empty-hint">文档解析后将自动生成目录</div>
|
|
<div class="empty-hint">文档解析后将自动生成目录</div>
|
|
@@ -239,7 +239,7 @@
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
- <div class="editor-scroll" ref="editorRef">
|
|
|
|
|
|
|
+ <div class="editor-scroll" ref="editorRef" v-loading="loading" element-loading-text="正在加载文档...">
|
|
|
<div
|
|
<div
|
|
|
class="editor-content"
|
|
class="editor-content"
|
|
|
contenteditable="true"
|
|
contenteditable="true"
|
|
@@ -1038,15 +1038,19 @@ const blocks = ref([])
|
|
|
|
|
|
|
|
// 目录数据(从 API 获取)
|
|
// 目录数据(从 API 获取)
|
|
|
const tocItems = ref([])
|
|
const tocItems = ref([])
|
|
|
|
|
+const loadingToc = ref(false)
|
|
|
|
|
|
|
|
// 加载文档目录
|
|
// 加载文档目录
|
|
|
async function loadToc(documentId) {
|
|
async function loadToc(documentId) {
|
|
|
|
|
+ loadingToc.value = true
|
|
|
try {
|
|
try {
|
|
|
const items = await documentApi.getToc(documentId)
|
|
const items = await documentApi.getToc(documentId)
|
|
|
tocItems.value = items || []
|
|
tocItems.value = items || []
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.warn('获取文档目录失败:', error)
|
|
console.warn('获取文档目录失败:', error)
|
|
|
tocItems.value = []
|
|
tocItems.value = []
|
|
|
|
|
+ } finally {
|
|
|
|
|
+ loadingToc.value = false
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|