Browse Source

feature 1001556

章节关键词编辑实现
Kevin Jiang 2 years ago
parent
commit
f242cc5ae8

+ 9 - 3
src/services/httpClient.ts

@@ -1,6 +1,7 @@
 import {message} from "ant-design-vue";
 import axios, {AxiosError, type AxiosRequestConfig} from "axios";
 import { routeToLogin } from "@/router";
+import type { MessageType } from "ant-design-vue/lib/message";
 
 const urlPrefix = "/";
 
@@ -23,6 +24,8 @@ httpClient.interceptors.request.use(function (config: AxiosRequestConfig) {
     return Promise.reject(error);
 });
 
+let errorMsgHandler: MessageType | null = null;
+
 // 添加响应拦截器
 httpClient.interceptors.response.use(function (response) {
     // 对响应数据做点什么
@@ -31,10 +34,13 @@ httpClient.interceptors.response.use(function (response) {
     if (error.response?.status == 404) {
         message.error("请求参数错误!");
     } else if (error.response?.status == 401) {
-        return routeToLogin();
+        routeToLogin();
     } else if (error) {
-        // @ts-ignore
-        message.error(error.response.data.msg);
+        if (errorMsgHandler != null) {
+            errorMsgHandler()
+        }
+        errorMsgHandler = message.error(error.message);
+        routeToLogin();
     }
 
     return Promise.reject(error);

+ 1 - 1
src/stores/knowledge-graph.ts

@@ -14,7 +14,7 @@ export const useKnowledgeGraphStore = defineStore('knowledgeGraph', () => {
     nodes: [
       {
         id: 'node1',
-        label: '',
+        label: '建筑工程',
       },
       {
         id: 'node2',

+ 31 - 21
src/views/report/components/ChapterEditor.vue

@@ -125,30 +125,32 @@ function onReferenceDrawClose() {
             ref="titleEditor"
             class="title-editor"
           />
-
           <h1 v-else>
             <span>{{ data.fullTitle }}</span>
           </h1>
           <a-button type="text" @click="onEditTitle" class="edit-btn"><edit-outlined /></a-button>
-          <a-space if="data.chapterType=='USER_DEFINED'">
-            <h1>
-              <span>关键词:</span><span v-if="!keywordsEditing">{{data.keywords}}</span>
-            </h1>
-            <a-input
-              v-if="keywordsEditing"
-              v-model:value="keywordsInChapter"
-              @blur="onKeywordsChange"
-              @pressEnter="onKeywordsChange"
-              @keyup.esc="onKeywordsChangeCancel"
-              ref="keywordsEditor"
-              class="keywords-editor"
-            />
-            <a-button
-              type="text"
-              @click="onEditKeywords"
-              class="edit-btn"
-            ><edit-outlined /></a-button>
-          </a-space>
+        </a-space>
+      </a-col>
+      <a-col flex="1">
+        <!-- 关键词编辑 -->
+        <a-space class="keywords-wrap">
+          <h1>
+            <span>关键词:</span><span v-if="!keywordsEditing">{{ data.keywords.join(', ') }}</span>
+          </h1>
+          <a-input
+            v-if="keywordsEditing"
+            v-model:value="keywordsInChapter"
+            @blur="onKeywordsChange"
+            @pressEnter="onKeywordsChange"
+            @keyup.esc="onKeywordsChangeCancel"
+            ref="keywordsEditor"
+            class="keywords-editor"
+          />
+          <a-button
+            type="text"
+            @click="onEditKeywords"
+            class="edit-btn"
+          ><edit-outlined /></a-button>
         </a-space>
       </a-col>
       <a-col>
@@ -187,12 +189,20 @@ function onReferenceDrawClose() {
   .title-editor {
     width: 400px;
   }
+
+  .keywords-wrap {
+    font-size: 0.9em;
+    display: flex;
+    align-items: baseline;
+    margin-left: 2em;
+  }
+
   .keywords-editor {
     width: 400px;
   }
 
   .edit-btn {
-    margin-left: 1em;
+    margin-left: 0.5em;
   }
 
   .chapter-button-group {