|
|
@@ -17,12 +17,12 @@
|
|
|
<div class="kb-detail-header normal-panel">
|
|
|
<div class="kb-detail-info">
|
|
|
<h3 class="kb-detail-name">{{ activeKB.name }}</h3>
|
|
|
- <p class="kb-detail-desc">{{ activeKB.description || '暂无描述' }}</p>
|
|
|
+ <p class="kb-detail-desc">{{ activeKB.description || $t('暂无描述') }}</p>
|
|
|
<div class="kb-detail-meta">
|
|
|
- <span>创建时间:{{ activeKB.createdAt }}</span>
|
|
|
- <span>更新时间:{{ activeKB.updatedAt }}</span>
|
|
|
+ <span>{{ $t('创建时间') }}:{{ activeKB.createdAt }}</span>
|
|
|
+ <span>{{ $t('更新时间') }}:{{ activeKB.updatedAt }}</span>
|
|
|
<span>
|
|
|
- 标签:
|
|
|
+ {{ $t('标签') }}:
|
|
|
<el-tag
|
|
|
v-for="tag in activeKB.tags"
|
|
|
:key="tag"
|
|
|
@@ -31,7 +31,7 @@
|
|
|
effect="dark"
|
|
|
class="kb-tag-inline"
|
|
|
>{{ tag }}</el-tag>
|
|
|
- <span v-if="!activeKB.tags || activeKB.tags.length === 0" class="kb-no-tag">无</span>
|
|
|
+ <span v-if="!activeKB.tags || activeKB.tags.length === 0" class="kb-no-tag">{{ $t('无') }}</span>
|
|
|
</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -74,7 +74,7 @@
|
|
|
</template>
|
|
|
<div v-else class="kb-empty-state">
|
|
|
<i class="el-icon-document"></i>
|
|
|
- <p>{{ knowledgeBases.length === 0 ? '加载中...' : '请选择左侧知识库查看详情' }}</p>
|
|
|
+ <p>{{ knowledgeBases.length === 0 ? $t('加载中') : $t('请选择左侧知识库查看详情') }}</p>
|
|
|
</div>
|
|
|
</div>
|
|
|
|
|
|
@@ -338,7 +338,7 @@ export default {
|
|
|
async onUploadDocument({ files, metadata }) {
|
|
|
if (!files || files.length === 0) return
|
|
|
this.uploadDialogVisible = false
|
|
|
- const loading = this.$loading({ lock: true, text: '正在上传文档...' })
|
|
|
+ const loading = this.$loading({ lock: true, text: this.$t('正在上传文档') })
|
|
|
|
|
|
try {
|
|
|
for (const file of files) {
|
|
|
@@ -350,7 +350,7 @@ export default {
|
|
|
content: { filename: file.name, filetype: ext, parentid: '' }
|
|
|
})
|
|
|
if (!obsRes || !obsRes.data || !obsRes.data.uploadurl) {
|
|
|
- this.$message.error(`获取上传地址失败: ${file.name}`)
|
|
|
+ this.$message.error(this.$t('获取上传地址失败', { name: file.name }))
|
|
|
continue
|
|
|
}
|
|
|
const uploadUrl = obsRes.data.uploadurl
|
|
|
@@ -362,7 +362,7 @@ export default {
|
|
|
? { 'Content-Type': 'application/pdf' }
|
|
|
: { 'Content-Type': 'application/octet-stream' },
|
|
|
onUploadProgress: (e) => {
|
|
|
- if (e.total) loading.text = `正在上传 ${file.name} (${Math.round(e.loaded / e.total * 100)}%)`
|
|
|
+ if (e.total) loading.text = this.$t('正在上传') + ` ${file.name} (${Math.round(e.loaded / e.total * 100)}%)`
|
|
|
}
|
|
|
}
|
|
|
await this.$upload.hw_upload(uploadUrl, file, config)
|
|
|
@@ -374,7 +374,7 @@ export default {
|
|
|
content: { serialfilename }
|
|
|
})
|
|
|
if (!attachRes || !attachRes.data) {
|
|
|
- this.$message.error(`附件记录创建失败: ${file.name}`)
|
|
|
+ this.$message.error(this.$t('附件记录创建失败', { name: file.name }))
|
|
|
continue
|
|
|
}
|
|
|
const attachmentId = attachRes.data.attachmentids
|
|
|
@@ -387,9 +387,9 @@ export default {
|
|
|
attachmentid: attachmentId
|
|
|
})
|
|
|
if (difyRes && difyRes.code === 1) {
|
|
|
- this.$message.success(`${file.name} 上传成功`)
|
|
|
+ this.$message.success(this.$t('上传成功', { name: file.name }))
|
|
|
} else {
|
|
|
- this.$message.error(`${file.name} 创建文档失败`)
|
|
|
+ this.$message.error(this.$t('创建文档失败', { name: file.name }))
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -397,7 +397,7 @@ export default {
|
|
|
this.fetchDocumentList()
|
|
|
} catch (e) {
|
|
|
console.error('[Upload] error', e)
|
|
|
- this.$message.error('上传失败: ' + (e.message || '未知错误'))
|
|
|
+ this.$message.error(this.$t('上传失败') + ': ' + (e.message || ''))
|
|
|
} finally {
|
|
|
loading.close()
|
|
|
}
|
|
|
@@ -436,7 +436,7 @@ export default {
|
|
|
document_id: String(doc.id)
|
|
|
})
|
|
|
if (!res || res.code !== 1 || !res.data) {
|
|
|
- this.$message.error('获取文件地址失败')
|
|
|
+ this.$message.error(this.$t('获取文件地址失败'))
|
|
|
return
|
|
|
}
|
|
|
const url = res.data.url || res.data.download_url || res.data.downloadUrl
|
|
|
@@ -506,7 +506,7 @@ export default {
|
|
|
// 更新左侧知识库列表的文档数
|
|
|
const kb = this.knowledgeBases.find(k => k.id === this.activeKBId)
|
|
|
if (kb && kb.docCount > 0) kb.docCount--
|
|
|
- this.$message.success('文档已删除')
|
|
|
+ this.$message.success(this.$t('文档已删除'))
|
|
|
}
|
|
|
callback && callback()
|
|
|
},
|
|
|
@@ -601,7 +601,7 @@ export default {
|
|
|
type: typeMap[form.type] || 'string'
|
|
|
})
|
|
|
if (res && res.code === 1) {
|
|
|
- this.$message.success('元数据创建成功')
|
|
|
+ this.$message.success(this.$t('元数据创建成功'))
|
|
|
this.fetchMetadata()
|
|
|
}
|
|
|
callback && callback()
|
|
|
@@ -614,7 +614,7 @@ export default {
|
|
|
name
|
|
|
})
|
|
|
if (res && res.code === 1) {
|
|
|
- this.$message.success('元数据更新成功')
|
|
|
+ this.$message.success(this.$t('元数据更新成功'))
|
|
|
this.fetchMetadata()
|
|
|
}
|
|
|
callback && callback()
|
|
|
@@ -626,7 +626,7 @@ export default {
|
|
|
metadata_id: String(id)
|
|
|
})
|
|
|
if (res && res.code === 1) {
|
|
|
- this.$message.success('元数据删除成功')
|
|
|
+ this.$message.success(this.$t('元数据删除成功'))
|
|
|
this.fetchMetadata()
|
|
|
}
|
|
|
callback && callback()
|
|
|
@@ -638,7 +638,7 @@ export default {
|
|
|
enable: !this.sysMetaEnabled
|
|
|
})
|
|
|
if (res && res.code === 1) {
|
|
|
- this.$message.success(this.sysMetaEnabled ? '系统元数据已禁用' : '系统元数据已启用')
|
|
|
+ this.$message.success(this.sysMetaEnabled ? this.$t('系统元数据已禁用') : this.$t('系统元数据已启用'))
|
|
|
this.fetchMetadata()
|
|
|
}
|
|
|
},
|
|
|
@@ -660,7 +660,7 @@ export default {
|
|
|
metadata: metadataArr
|
|
|
})
|
|
|
if (res && res.code === 1) {
|
|
|
- this.$message.success('元数据保存成功')
|
|
|
+ this.$message.success(this.$t('元数据保存成功'))
|
|
|
// 重新获取文档详情,确保数据一致
|
|
|
this.fetchDocumentDetail(docId)
|
|
|
}
|
|
|
@@ -789,4 +789,4 @@ export default {
|
|
|
.kb-empty-state p {
|
|
|
font-size: 14px;
|
|
|
}
|
|
|
-</style>
|
|
|
+</style>
|