From 57e662b41402e0741c3f6b3520ab59b6ebb9bbee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=96=8C?= <259278618@qq.com> Date: Thu, 6 Aug 2026 11:04:14 +0800 Subject: [PATCH] 1 --- data/business.db | Bin 135168 -> 4509696 bytes kb/controller/contract_controller.go | 13 +++++ kb/model/dto/contract_dto.go | 7 +++ kb/service/annotation_service.go | 75 +++++++++++++++++++++++++++ ui-src/src/api/contract.js | 9 ++++ ui-src/src/views/Contract.vue | 28 +++++++++- 6 files changed, 130 insertions(+), 2 deletions(-) diff --git a/data/business.db b/data/business.db index 93655336460c00143305ffde3120be67c887b107..03e17f755c6aa744a95e1f2916461886f84fa027 100644 GIT binary patch literal 4509696 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 Ol=X-jcG4Cu2fJO)@o`V8-WK0w;&t5 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 f;jx@C%sTp@YQ^J_99 diff --git a/kb/controller/contract_controller.go b/kb/controller/contract_controller.go index 6f2181c..3596c0f 100644 --- a/kb/controller/contract_controller.go +++ b/kb/controller/contract_controller.go @@ -17,6 +17,7 @@ import ( "rag-local/kb/service" "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/frame/g" ) type contract struct{} @@ -116,6 +117,18 @@ func (c *contract) Detail(ctx context.Context, req *dto.GetContractDetailReq) (* return &dto.GetContractDetailRes{Task: task, Clauses: clauses, Marks: marks}, nil } +func (c *contract) Annotated(ctx context.Context, req *dto.AnnotatedContractReq) (*dto.AnnotatedContractRes, error) { + htmlStr, err := service.AnnotationService.AnnotatedHTML(ctx, req.Id) + if err != nil { + return nil, err + } + // 直接写响应体(html),中间件检测到已写入则不包装 JSON + r := g.RequestFromCtx(ctx) + r.Response.Header().Set("Content-Type", "text/html; charset=utf-8") + r.Response.Write(htmlStr) + return &dto.AnnotatedContractRes{}, nil +} + func (c *contract) Delete(ctx context.Context, req *dto.DeleteContractReq) (*dto.DeleteContractRes, error) { if err := service.AnnotationService.Delete(ctx, req.Id); err != nil { return nil, err diff --git a/kb/model/dto/contract_dto.go b/kb/model/dto/contract_dto.go index 7925516..b87b6e8 100644 --- a/kb/model/dto/contract_dto.go +++ b/kb/model/dto/contract_dto.go @@ -41,6 +41,13 @@ type GetContractDetailRes struct { Marks map[int64][]*entity.ContractMark `json:"marks"` } +type AnnotatedContractReq struct { + g.Meta `path:"/annotated" method:"get" tags:"合同标注" summary:"导出标注版合同(HTML,可打印/另存 PDF)"` + Id int64 `v:"required" json:"id"` +} + +type AnnotatedContractRes struct{} + type DeleteContractReq struct { g.Meta `path:"/delete" method:"post" tags:"合同标注" summary:"删除标注任务"` Id int64 `v:"required" json:"id"` diff --git a/kb/service/annotation_service.go b/kb/service/annotation_service.go index 7e12d03..e7f8e8c 100644 --- a/kb/service/annotation_service.go +++ b/kb/service/annotation_service.go @@ -4,10 +4,12 @@ import ( "context" "encoding/json" "fmt" + "html" "os" "path/filepath" "regexp" "sort" + "strconv" "strings" "time" @@ -378,6 +380,79 @@ func (s *annotationService) judgeClause(ctx context.Context, model *OpenAIChatMo return marks, nil } +// AnnotatedHTML 生成标注版合同 HTML:条款原文 + 内嵌法条标注,可打印/另存 PDF +func (s *annotationService) AnnotatedHTML(ctx context.Context, taskId int64) (string, error) { + task, err := dao.ContractTask.GetOne(ctx, taskId) + if err != nil { + return "", err + } + if task == nil { + return "", gerror.New("任务不存在") + } + clauses, err := dao.ContractClause.ListByTask(ctx, taskId) + if err != nil { + return "", err + } + statusText := map[int]string{0: "待处理", 1: "标注中", 2: "完成", 3: "失败"}[task.Status] + var sb strings.Builder + sb.WriteString(`标注版-` + + html.EscapeString(task.Filename) + ` +
+

合同法律条款标注

+
文件名:` + html.EscapeString(task.Filename) + ` 导出时间:` + time.Now().Format("2006-01-02 15:04") + + ` 任务状态:` + statusText + `
`) + for _, cl := range clauses { + marks, err := dao.ContractMark.ListByClause(ctx, cl.Id) + if err != nil { + return "", err + } + sb.WriteString(`
` + html.EscapeString(cl.Title) + `
` + + `
` + html.EscapeString(cl.Content) + `
`) + if len(marks) == 0 { + sb.WriteString(`
无标注
`) + } + for _, m := range marks { + cls := "mark weak" + if m.Score >= 8 { + cls = "mark strong" + } else if m.Score >= 5 { + cls = "mark good" + } + sb.WriteString(`
《` + html.EscapeString(m.LawTitle) + `》` + + html.EscapeString(m.LawItem) + `` + formatScore(m.Score) + ` 分` + + `
` + html.EscapeString(m.Content) + `
` + + `
` + html.EscapeString(m.Reason) + `
`) + } + sb.WriteString(`
`) + } + sb.WriteString(``) + return sb.String(), nil +} + +func formatScore(score float64) string { + if score == float64(int(score)) { + return strconv.Itoa(int(score)) + } + return strconv.FormatFloat(score, 'f', 1, 64) +} + func (s *annotationService) fail(ctx context.Context, task *entity.ContractTask, msg string) { _ = dao.ContractTask.UpdateStatus(ctx, task.Id, consts.TaskStatusFailed, msg) g.Log().Errorf(ctx, "annotation task %d failed: %s", task.Id, msg) diff --git a/ui-src/src/api/contract.js b/ui-src/src/api/contract.js index 347c51f..d5121c3 100644 --- a/ui-src/src/api/contract.js +++ b/ui-src/src/api/contract.js @@ -15,3 +15,12 @@ export function getContractDetail(id) { export function deleteContract(id) { return request.post('/contract/delete', { id }) } + +// 导出标注版 HTML:走原生 fetch(拦截器会误判 blob 响应),token 手动带上 +export async function exportAnnotatedContract(id) { + const resp = await fetch(`/contract/annotated?id=${id}`, { + headers: { Authorization: 'Bearer ' + (localStorage.getItem('token') || '') } + }) + if (!resp.ok) throw new Error('导出失败') + return resp.blob() +} diff --git a/ui-src/src/views/Contract.vue b/ui-src/src/views/Contract.vue index 5215e09..ceb28be 100644 --- a/ui-src/src/views/Contract.vue +++ b/ui-src/src/views/Contract.vue @@ -53,6 +53,9 @@ +
+ 导出标注版(HTML) +
合同条款({{ detail.clauses.length }})
@@ -92,7 +95,7 @@ import { onMounted, onUnmounted, computed, ref } from 'vue' import { ElMessage, ElMessageBox } from 'element-plus' import { UploadFilled } from '@element-plus/icons-vue' import { listDatasets } from '../api/dataset.js' -import { uploadContract, listContracts, getContractDetail, deleteContract } from '../api/contract.js' +import { uploadContract, listContracts, getContractDetail, deleteContract, exportAnnotatedContract } from '../api/contract.js' const datasets = ref([]) const dsIds = ref([]) @@ -183,6 +186,22 @@ async function openDetail(row) { } } +async function exportAnnotated() { + if (!detail.value) return + try { + const blob = await exportAnnotatedContract(detail.value.task.id) + const url = URL.createObjectURL(blob) + const a = document.createElement('a') + a.href = url + a.download = '标注版-' + detail.value.task.filename.replace(/\.[^.]+$/, '') + '.html' + a.click() + URL.revokeObjectURL(url) + ElMessage.success('已导出标注版') + } catch (e) { + ElMessage.error(e.message || '导出失败') + } +} + async function removeTask(row) { try { await ElMessageBox.confirm('删除任务将同时删除条款与标注结果,确认?', '删除任务', { type: 'warning' }) @@ -231,10 +250,15 @@ const detailTitle = computed(() => detail.value ? detail.value.task.filename : ' font-size: 40px; color: #c0c4cc; } +.detail-toolbar { + display: flex; + justify-content: flex-end; + margin-bottom: 12px; +} .detail-body { display: flex; gap: 12px; - height: 100%; + height: calc(100% - 44px); } .clause-panel { width: 280px;