瀏覽代碼

feature 1001559

章节搜索在结果中检索实现
Kevin Jiang 2 年之前
父節點
當前提交
0433eb4efd
共有 2 個文件被更改,包括 12 次插入1 次删除
  1. 1 0
      src/types/search.types.ts
  2. 11 1
      src/views/report/components/reference/ReferenceDraw.vue

+ 1 - 0
src/types/search.types.ts

@@ -39,6 +39,7 @@ export interface ChapterSearchRequest {
   size?: number;
   keywords: string[];
   queryKeywords?: string[];
+  queryWithInKeywords?: string[];
 }
 
 export interface UnitScholar {

+ 11 - 1
src/views/report/components/reference/ReferenceDraw.vue

@@ -31,6 +31,8 @@ const pagination = reactive({
 })
 // 重新检索的查询词
 const queryKeywords = ref<string[]>([])
+// 在结果中检索的查询
+const queryWithInKeywords = ref<string[]>([])
 
 function getFrom(page?: number) {
   return (Math.max(1, page || 1) - 1) * pagination.size
@@ -44,6 +46,7 @@ function getSearchRequest(): ChapterSearchRequest {
   const request: ChapterSearchRequest = {
     keywords: getDefaultKeywords(),
     queryKeywords: queryKeywords.value,
+    queryWithInKeywords: queryWithInKeywords.value,
     from: getFrom(pagination.page)
   }
   return request
@@ -70,6 +73,13 @@ function onPageChange(page: number) {
 function onReferenceSearchBoxSearch(queryKeywordsIn: string[]) {
   pagination.page = 1
   queryKeywords.value = queryKeywordsIn
+  queryWithInKeywords.value = []
+  search(getSearchRequest())
+}
+
+function onReferenceSearchWithInSearch(queryWithInKeywordsIn: string[]) {
+  pagination.page = 1
+  queryWithInKeywords.value = queryWithInKeywordsIn
   search(getSearchRequest())
 }
 
@@ -103,7 +113,7 @@ defineExpose({
     <template #extra>
       <span>关键词:{{ keywords.join(", ") }}</span>
     </template>
-    <ReferenceSearchBox @search="onReferenceSearchBoxSearch" />
+    <ReferenceSearchBox @search="onReferenceSearchBoxSearch" @search-with-in="onReferenceSearchWithInSearch" />
     <a-divider orientation="left">
       <span class="total">章节数量:共 {{ total }} 条</span>
     </a-divider>