提交 4986aeb7 authored 作者: 张伊明's avatar 张伊明

新增翻译栏标题显示

上级 d9959d1e
......@@ -26,6 +26,7 @@ export const useWrittingAsstaintStore = defineStore('writtingAsstaint', {
clauseTranslationMessages: [], // 存收到的条款翻译消息
highlightClauseId: null, // 当前高亮的条款 ID (clause_number)
isShowOriginal: true, // 是否显示原文内容
pdfMetadata: null, // PDF 解析元数据
// 静态数据
tabList: [
......@@ -67,6 +68,7 @@ export const useWrittingAsstaintStore = defineStore('writtingAsstaint', {
this.curAgentTool = '';
this.processLog = '';
this.clauseTranslationMessages = [];
this.pdfMetadata = null;
this.isShowClauseTranslation = false;
this.highlightClauseId = null;
this.isShowOriginal = true;
......@@ -227,6 +229,11 @@ export const useWrittingAsstaintStore = defineStore('writtingAsstaint', {
this.processLog += `${this.formattedTime}:${jsonData.message}\r\n`;
}
break;
case 'metadata':
if (jsonData && jsonData.payload) {
this.pdfMetadata = jsonData.payload;
}
break;
case 'clause_translation':
// 保存条款翻译消息并显示侧边栏
if (jsonData) {
......
<template>
<div class="left-box-wrapper">
<div class="back" @click="store.resetGenerateState" v-if="store.isGenerating">&lt; 返回</div>
<div class="left-box" :class="{ 'has-back-btn': store.isGenerating }" v-if="!store.isShowClauseTranslation && !store.isShowSteps">
<div class="left-box" :class="{ 'has-back-btn': store.isGenerating }"
v-if="!store.isShowClauseTranslation && !store.isShowSteps">
<div class="left-box-input">
<!-- 表单输入区域 -->
<div class="sider" v-if="!store.isGenerating">
......@@ -159,8 +160,17 @@
</div>
<!-- 条款翻译侧边栏 -->
<div class="left-box translation-box" :class="{ 'has-back-btn': store.isGenerating }" v-if="store.isShowClauseTranslation">
<div class="left-box translation-box" :class="{ 'has-back-btn': store.isGenerating }"
v-if="store.isShowClauseTranslation">
<div class="translation-main-box">
<!-- 政令标题卡片 -->
<div class="metadata-card" v-if="store.pdfMetadata">
<div class="card-header">
<div class="chinese-name">{{ store.pdfMetadata.name }}</div>
<div class="type-tag">{{ store.pdfMetadata.signing_date }}</div>
</div>
<div class="english-name">{{ store.pdfMetadata.order_title }}</div>
</div>
<div class="translation-header-new">
<div class="header-left">共{{ store.clauseTranslationMessages.length }}章节</div>
<div class="header-right">
......@@ -674,6 +684,56 @@ defineExpose({
padding-inline: 22px;
overflow: hidden;
.metadata-card {
flex-shrink: 0;
background: #f8f9fa;
border: 1px solid #f0f2f5;
border-radius: 8px;
padding: 16px;
.card-header {
display: flex;
justify-content: space-between;
align-items: flex-start;
margin-bottom: 8px;
.chinese-name {
color: rgba(59, 65, 75, 1);
font-family: Source Han Sans CN;
font-style: Bold;
font-size: 18px;
font-weight: 700;
letter-spacing: 0px;
text-align: left;
flex: 1;
padding-right: 12px;
}
.type-tag {
color: rgba(5, 95, 194, 1);
font-family: Source Han Sans CN;
font-style: Regular;
font-size: 14px;
font-weight: 400;
line-height: 22px;
letter-spacing: 0px;
text-align: justify;
background: #e7f3ff;
padding: 4px 8px;
border-radius: 4px;
}
}
.english-name {
color: #84888e;
font-family: Microsoft YaHei;
font-size: 14px;
line-height: 20px;
word-break: break-word;
}
}
.translation-header-new {
flex-shrink: 0;
display: flex;
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论