From ae3cd514bbb4d02a95c65c84c0d3a0b442ba2fde Mon Sep 17 00:00:00 2001 From: shaohuzhang1 Date: Mon, 15 Apr 2024 13:22:09 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E5=88=86=E6=AE=B5?= =?UTF-8?q?=E6=97=B6=E6=97=A0=E6=B3=95=E5=85=B3=E8=81=94=E9=97=AE=E9=A2=98?= =?UTF-8?q?=20#53?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/dataset/serializers/paragraph_serializers.py | 3 +++ ui/src/views/paragraph/component/ProblemComponent.vue | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/apps/dataset/serializers/paragraph_serializers.py b/apps/dataset/serializers/paragraph_serializers.py index 0b69e8e3f79..c3e1fea1c63 100644 --- a/apps/dataset/serializers/paragraph_serializers.py +++ b/apps/dataset/serializers/paragraph_serializers.py @@ -437,6 +437,9 @@ def get_paragraph_problem_model(dataset_id: str, document_id: str, instance: Dic ParagraphSerializers.Create.or_get(exists_problem_list, problem.get('content'), dataset_id) for problem in ( instance.get('problem_list') if 'problem_list' in instance else [])] + # 问题去重 + problem_model_list = [x for i, x in enumerate(problem_model_list) if + len([item for item in problem_model_list[:i] if item.content == x.content]) <= 0] problem_paragraph_mapping_list = [ ProblemParagraphMapping(id=uuid.uuid1(), document_id=document_id, problem_id=problem_model.id, diff --git a/ui/src/views/paragraph/component/ProblemComponent.vue b/ui/src/views/paragraph/component/ProblemComponent.vue index aec770ffa48..cef42b4e1ee 100644 --- a/ui/src/views/paragraph/component/ProblemComponent.vue +++ b/ui/src/views/paragraph/component/ProblemComponent.vue @@ -149,6 +149,15 @@ function addProblemHandle(val: string) { problemValue.value = '' isAddProblem.value = false }) + } else { + const problem = problemOptions.value.find((option) => option.id === val) + const content = problem ? problem.content : val + if (!problemList.value.some((item) => item.content === content)) { + problemList.value.push({ content: content }) + } + + problemValue.value = '' + isAddProblem.value = false } }