|
@@ -135,6 +135,11 @@
|
|
|
<el-icon><Link /></el-icon> 下载转换后文件
|
|
<el-icon><Link /></el-icon> 下载转换后文件
|
|
|
</el-link>
|
|
</el-link>
|
|
|
</div>
|
|
</div>
|
|
|
|
|
+ <div class="converted-file-name" v-if="scope.row.json_url">
|
|
|
|
|
+ <el-link type="success" :underline="false" @click="handleDownloadJson(scope.row)">
|
|
|
|
|
+ <el-icon><Link /></el-icon> 下载转换后 JSON
|
|
|
|
|
+ </el-link>
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
</el-table-column>
|
|
</el-table-column>
|
|
@@ -990,15 +995,33 @@ const handleDownloadConverted = (row: DocumentItem) => {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+const handleDownloadJson = (row: DocumentItem) => {
|
|
|
|
|
+ if (row.json_url) {
|
|
|
|
|
+ const filename = `${row.title}_转换后.json`
|
|
|
|
|
+ downloadFile(row.json_url, filename)
|
|
|
|
|
+ } else {
|
|
|
|
|
+ ElMessage.warning('该文档暂无转换后的 JSON 文件')
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
const handleConvert = async (row: DocumentItem) => {
|
|
const handleConvert = async (row: DocumentItem) => {
|
|
|
try {
|
|
try {
|
|
|
|
|
+ // 乐观更新:重置进度
|
|
|
|
|
+ row.conversion_status = 1
|
|
|
|
|
+ row.conversion_progress = 0
|
|
|
|
|
+ row.conversion_error = null
|
|
|
|
|
+
|
|
|
const res = await documentApi.convert(row.id)
|
|
const res = await documentApi.convert(row.id)
|
|
|
if (res.code === 0) {
|
|
if (res.code === 0) {
|
|
|
ElMessage.success(res.message || '转换任务已启动')
|
|
ElMessage.success(res.message || '转换任务已启动')
|
|
|
fetchDocuments()
|
|
fetchDocuments()
|
|
|
|
|
+ } else {
|
|
|
|
|
+ // 失败了恢复状态
|
|
|
|
|
+ fetchDocuments()
|
|
|
}
|
|
}
|
|
|
} catch (error) {
|
|
} catch (error) {
|
|
|
console.error('启动转换失败:', error)
|
|
console.error('启动转换失败:', error)
|
|
|
|
|
+ fetchDocuments()
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|