Ver Fonte

领域检索

xiaoqiao há 8 meses atrás
pai
commit
dde65e9064

+ 54 - 8
src/main/java/com/bowintek/practice/controller/EsQueryController.java

@@ -1,5 +1,8 @@
 package com.bowintek.practice.controller;
 
+import co.elastic.clients.elasticsearch.core.search.Hit;
+import co.elastic.clients.elasticsearch.core.search.InnerHitsResult;
+import co.elastic.clients.json.JsonData;
 import com.bowintek.practice.AppConfig;
 import com.bowintek.practice.filter.exception.BaseResponse;
 import com.bowintek.practice.filter.exception.RespGenerstor;
@@ -17,6 +20,7 @@ import com.bowintek.practice.vo.SaerchtempVo;
 import com.bowintek.practice.vo.system.RoleModel;
 import com.bowintek.practice.vo.temp.GenSqlStringResult;
 import com.bowintek.practice.vo.temp.TempObjectModel;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.github.pagehelper.PageInfo;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -24,9 +28,7 @@ import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletResponse;
 import java.io.*;
 import java.net.URLEncoder;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 @RestController
 @RequestMapping("/api/esquery")
@@ -42,7 +44,7 @@ public class EsQueryController {
     public BaseResponse getQuery(@RequestBody EsQueryModel model) {
         //在es查询并返回结果
         List<ComparisonResult> limiters = model.getLimiters();
-        List<EsQueryText> queryList =model.getQueryList();
+        List<EsQueryText> queryList = model.getQueryList();
         FormState formState = model.getFormState();
         if (formState != null) {
             if (!StringUtils.IsNullEmpty(formState.getWell_common_name())) {
@@ -53,7 +55,7 @@ public class EsQueryController {
                     setRelation("AND");
                 }});
             }
-            if(!StringUtils.IsNullEmpty(formState.getBz_dwmc())){
+            if (!StringUtils.IsNullEmpty(formState.getBz_dwmc())) {
                 limiters.add(new ComparisonResult() {{
                     setValue(formState.getBz_dwmc());
                     setOpreation("等于");
@@ -61,7 +63,7 @@ public class EsQueryController {
                     setRelation("AND");
                 }});
             }
-            if(!StringUtils.IsNullEmpty(formState.getOrg_name_a1())){
+            if (!StringUtils.IsNullEmpty(formState.getOrg_name_a1())) {
                 limiters.add(new ComparisonResult() {{
                     setValue(formState.getOrg_name_a1());
                     setOpreation("等于");
@@ -69,8 +71,8 @@ public class EsQueryController {
                     setRelation("AND");
                 }});
             }
-            if(!StringUtils.IsNullEmpty(formState.getDefaultKeyString())){
-                queryList.add(new EsQueryText(){{
+            if (!StringUtils.IsNullEmpty(formState.getDefaultKeyString())) {
+                queryList.add(new EsQueryText() {{
                     setOperation("等于");
                     setKeyString(formState.getDefaultKeyString());
                     setField(formState.getDefaultField());
@@ -81,6 +83,9 @@ public class EsQueryController {
                 limiters,
                 model.getPage(),
                 model.getLimit());
+
+        highlight(results);
+
         //保存查询字符串,查询历史统计
         for (EsQueryText queryText : model.getQueryList()) {
             if (!StringUtils.IsNullEmpty(queryText.getKeyString()))
@@ -89,4 +94,45 @@ public class EsQueryController {
 
         return RespGenerstor.success(results);
     }
+
+    //高亮解析
+    private void highlight(Map<String, Object> results) {
+        List<Map<String, Object>> rows = (List<Map<String, Object>>) results.get("rows");
+        rows.forEach(it -> {
+            it.put("key", UUID.randomUUID().toString());
+            if (it.get("highlight") != null) {
+                Map<String, ArrayList<String>> highlight = (Map<String, ArrayList<String>>) it.get("highlight");
+                for (String key : highlight.keySet()) {
+                    //主索引
+                    if (it.keySet().contains(key)) {
+                        it.put(key, highlight.get(key).get(0));
+                    } else {
+                        nestedHighlight(it);
+                    }
+                }
+            }
+        });
+    }
+
+    //嵌套索引
+    //实现逻辑,查找高亮部分innerHits->highlight的节点内容,替换搜索结果数据里面对应的字段内容
+    private void nestedHighlight(Map<String, Object> it) {
+        Map<String, Object> innerHits = (Map<String, Object>) it.get("innerHits");
+        for (String nestedKey : innerHits.keySet()) {
+            InnerHitsResult nested = (InnerHitsResult) innerHits.get(nestedKey);
+            List<Hit<JsonData>> nestedHits = nested.hits().hits();
+            for (Hit<JsonData> hit : nestedHits) {
+                int offset = hit.nested().offset();
+                Map<String, List<String>> nestedHighlight = hit.highlight();
+                for (String nKey : nestedHighlight.keySet()) {
+                    ArrayList<Map<String, Object>> nestedData = (ArrayList<Map<String, Object>>) it.get(nestedKey);
+                    Map<String, Object> row = (Map<String, Object>) nestedData.get(offset);
+                    String fieldName = nKey.replace(nestedKey + ".", "");
+                    if (row.keySet().contains(fieldName)) {
+                        row.put(fieldName, nestedHighlight.get(nKey).get(0));
+                    }
+                }
+            }
+        }
+    }
 }

+ 8 - 2
src/main/java/com/bowintek/practice/services/impl/EsQueryServiceImpl.java

@@ -180,7 +180,7 @@ public class EsQueryServiceImpl implements EsQueryService {
             searchRequest.from(page * limit);
             //==>设置查询条件
 
-            if(queryMustList.size()>0){
+            if (queryMustList.size() > 0) {
                 boolQuery.should(queryMustList);
             }
             Query queryMust = Query.of(q -> q.bool(boolQuery.build()));
@@ -243,7 +243,12 @@ public class EsQueryServiceImpl implements EsQueryService {
     public Query getNestedMultiMatchQuery(String path, String text) {
         //不指定,查询所有的二级字段
         return NestedQuery.of(q -> q.path(path)
-                .query(getMultiMatchQuery(text))
+                .query(getMultiMatchQuery(text)).innerHits(i -> i.highlight(hl -> hl
+                        .fields("*", ff -> ff
+                                .preTags("<font color='red'>")
+                                .postTags("</font>")
+                        )
+                ))
                 .ignoreUnmapped(true))._toQuery();
     }
 
@@ -408,6 +413,7 @@ public class EsQueryServiceImpl implements EsQueryService {
             Map<String, Object> map = objectNode2Map(hit.index(), node);
             map.put("index", hit.index());
             map.put("highlight", hit.highlight());
+            map.put("innerHits",hit.innerHits());
             list.add(map);
 
             //输出结果日志

+ 41 - 42
src/main/resources/META-INF/MANIFEST.MF

@@ -1,45 +1,44 @@
 Manifest-Version: 1.0
 Main-Class: com.bowintek.practice.PracticeApplication
-Class-Path: spring-beans-5.3.22.jar spring-web-5.3.22.jar poi-ooxml-4.0.
- 0.jar opentelemetry-api-1.29.0.jar aspectjrt-1.9.7.jar druid-spring-boo
- t-starter-1.2.11.jar lucene-core-4.7.2.jar tomcat-embed-el-9.0.65.jar p
- agehelper-5.3.1.jar mysql-connector-java-8.0.29.jar jakarta.json-api-2.
- 0.1.jar mybatis-spring-boot-starter-2.2.2.jar logback-classic-1.2.11.ja
- r spring-boot-starter-web-2.7.2.jar jackson-annotations-2.13.3.jar comm
- ons-collections4-4.2.jar spring-context-support-5.3.22.jar reactive-str
- eams-1.0.4.jar mybatis-spring-boot-autoconfigure-2.2.2.jar spring-webmv
- c-5.3.22.jar spring-data-commons-2.7.2.jar elasticsearch-java-8.11.1.ja
- r pagehelper-spring-boot-starter-1.4.3.jar jsqlparser-4.2.jar netty-tra
- nsport-4.1.79.Final.jar httpclient-4.5.9.jar spring-context-5.3.22.jar 
- commons-lang3-3.5.jar jackson-datatype-jsr310-2.13.3.jar spring-jdbc-5.
- 3.22.jar spring-data-redis-2.7.2.jar spring-tx-5.3.22.jar httpasyncclie
- nt-4.1.5.jar commons-beanutils-1.9.4.jar parsson-1.0.0.jar spring-boot-
- devtools-2.7.2.jar netty-transport-native-unix-common-4.1.79.Final.jar 
- spring-core-5.3.22.jar pagehelper-spring-boot-autoconfigure-1.4.3.jar j
- sr305-3.0.2.jar spring-boot-2.7.2.jar commons-pool2-2.11.1.jar ikanalyz
- er-2012_u6.jar reactor-core-3.4.21.jar spring-data-keyvalue-2.7.2.jar s
- pring-boot-starter-data-redis-2.7.2.jar spring-jcl-5.3.22.jar jakarta.a
- nnotation-api-1.3.5.jar spring-expression-5.3.22.jar opentelemetry-cont
- ext-1.29.0.jar log4j-to-slf4j-2.17.2.jar spring-boot-starter-json-2.7.2
- .jar lucene-sandbox-4.7.2.jar commons-net-3.6.jar java-jwt-3.9.0.jar lo
- g4j-api-2.17.2.jar spring-boot-starter-2.7.2.jar commons-collections-3.
- 2.2.jar httpcore-4.4.15.jar lucene-queryparser-4.7.2.jar aspose-words-1
- 5.8.0-jdk16.jar postgresql-42.3.6.jar lettuce-core-6.1.9.RELEASE.jar to
- mcat-embed-core-9.0.65.jar fastjson-1.2.47.jar netty-common-4.1.79.Fina
- l.jar druid-1.2.11.jar aspectjweaver-1.9.7.jar postgresql-42.3.4.jar ch
- ecker-qual-3.5.0.jar spring-boot-starter-jdbc-2.7.2.jar elasticsearch-r
- est-client-7.17.4.jar spring-aop-5.3.22.jar poi-scratchpad-4.0.0.jar ja
- ckson-databind-2.13.3.jar netty-resolver-4.1.79.Final.jar lucene-querie
- s-4.7.2.jar commons-codec-1.15.jar jackson-core-2.13.3.jar lucene-analy
- zers-common-4.7.2.jar spring-boot-starter-logging-2.7.2.jar netty-handl
- er-4.1.79.Final.jar HikariCP-4.0.3.jar mybatis-3.5.9.jar jul-to-slf4j-1
- .7.36.jar spring-oxm-5.3.22.jar curvesapi-1.04.jar slf4j-api-1.7.36.jar
-  poi-ooxml-schemas-4.0.0.jar jackson-module-parameter-names-2.13.3.jar 
- tomcat-embed-websocket-9.0.65.jar netty-buffer-4.1.79.Final.jar poi-4.0
- .0.jar logback-core-1.2.11.jar lombok-1.18.20.jar commons-compress-1.18
- .jar spring-boot-starter-tomcat-2.7.2.jar jackson-datatype-jdk8-2.13.3.
- jar xmlbeans-3.0.1.jar spring-boot-autoconfigure-2.7.2.jar aspose-cells
- -18.9.jar snakeyaml-1.30.jar commons-logging-1.2.jar mybatis-spring-2.0
- .7.jar json-20190722.jar httpcore-nio-4.4.15.jar netty-codec-4.1.79.Fin
- al.jar
+Class-Path: spring-boot-starter-web-2.7.2.jar tomcat-embed-el-9.0.65.jar
+  commons-codec-1.15.jar jul-to-slf4j-1.7.36.jar postgresql-42.3.6.jar n
+ etty-transport-4.1.79.Final.jar mybatis-spring-boot-starter-2.2.2.jar c
+ ommons-pool2-2.11.1.jar poi-ooxml-schemas-4.0.0.jar mybatis-spring-2.0.
+ 7.jar spring-boot-starter-json-2.7.2.jar spring-beans-5.3.22.jar spring
+ -oxm-5.3.22.jar elasticsearch-java-8.11.1.jar elasticsearch-rest-client
+ -7.17.4.jar spring-jcl-5.3.22.jar lombok-1.18.20.jar spring-data-keyval
+ ue-2.7.2.jar netty-resolver-4.1.79.Final.jar lucene-sandbox-4.7.2.jar n
+ etty-handler-4.1.79.Final.jar curvesapi-1.04.jar commons-beanutils-1.9.
+ 4.jar jackson-datatype-jdk8-2.13.3.jar tomcat-embed-core-9.0.65.jar jak
+ arta.annotation-api-1.3.5.jar spring-boot-devtools-2.7.2.jar netty-code
+ c-4.1.79.Final.jar logback-classic-1.2.11.jar commons-compress-1.18.jar
+  mybatis-3.5.9.jar pagehelper-5.3.1.jar aspectjrt-1.9.7.jar lettuce-cor
+ e-6.1.9.RELEASE.jar druid-1.2.11.jar pagehelper-spring-boot-starter-1.4
+ .3.jar commons-collections4-4.2.jar jackson-datatype-jsr310-2.13.3.jar 
+ spring-expression-5.3.22.jar mysql-connector-java-8.0.29.jar httpcore-4
+ .4.15.jar jackson-module-parameter-names-2.13.3.jar spring-web-5.3.22.j
+ ar lucene-queries-4.7.2.jar fastjson-1.2.47.jar httpasyncclient-4.1.5.j
+ ar spring-context-support-5.3.22.jar aspectjweaver-1.9.7.jar lucene-que
+ ryparser-4.7.2.jar spring-tx-5.3.22.jar spring-boot-starter-jdbc-2.7.2.
+ jar netty-buffer-4.1.79.Final.jar HikariCP-4.0.3.jar spring-core-5.3.22
+ .jar opentelemetry-api-1.29.0.jar spring-data-redis-2.7.2.jar spring-bo
+ ot-starter-logging-2.7.2.jar mybatis-spring-boot-autoconfigure-2.2.2.ja
+ r poi-4.0.0.jar lucene-analyzers-common-4.7.2.jar commons-collections-3
+ .2.2.jar httpclient-4.5.9.jar commons-logging-1.2.jar poi-ooxml-4.0.0.j
+ ar log4j-api-2.17.2.jar jsr305-3.0.2.jar lucene-core-4.7.2.jar spring-b
+ oot-starter-2.7.2.jar spring-jdbc-5.3.22.jar spring-data-commons-2.7.2.
+ jar netty-common-4.1.79.Final.jar commons-net-3.6.jar spring-webmvc-5.3
+ .22.jar ikanalyzer-2012_u6.jar jakarta.json-api-2.0.1.jar druid-spring-
+ boot-starter-1.2.11.jar spring-boot-starter-tomcat-2.7.2.jar checker-qu
+ al-3.5.0.jar httpcore-nio-4.4.15.jar spring-boot-2.7.2.jar jackson-core
+ -2.13.3.jar logback-core-1.2.11.jar log4j-to-slf4j-2.17.2.jar spring-bo
+ ot-starter-data-redis-2.7.2.jar pagehelper-spring-boot-autoconfigure-1.
+ 4.3.jar poi-scratchpad-4.0.0.jar jackson-databind-2.13.3.jar snakeyaml-
+ 1.30.jar slf4j-api-1.7.36.jar spring-boot-autoconfigure-2.7.2.jar netty
+ -transport-native-unix-common-4.1.79.Final.jar aspose-cells-18.9.jar as
+ pose-words-15.8.0-jdk16.jar jsqlparser-4.2.jar parsson-1.0.0.jar xmlbea
+ ns-3.0.1.jar commons-lang3-3.5.jar spring-aop-5.3.22.jar tomcat-embed-w
+ ebsocket-9.0.65.jar spring-context-5.3.22.jar opentelemetry-context-1.2
+ 9.0.jar jackson-annotations-2.13.3.jar java-jwt-3.9.0.jar json-20190722
+ .jar reactive-streams-1.0.4.jar reactor-core-3.4.21.jar
 

+ 5 - 6
vue/src/components/basic/es-result/chat-view.vue

@@ -7,12 +7,11 @@
         <ChartBase :timeType="('month')" :dataType="('gas')" :wellId="well_id"></ChartBase>
         </div>
         <div v-for="it in data" class="search-view-chat-info" >
-          <div>井名:<span v-html="it.well_common_name"></span></div>
-          <div>分析类型:{{ it.item_code }}</div>
-          <div>分析指标:{{ it.item_name }}</div>
-          <div>指标单位:{{ it.meter_unit }}</div>
-          <div>指标值: {{ it.idx_value }}</div>
-          <div>描述: {{ it.description }}</div>
+          <div>分析类型:<span v-html="it.item_code"></span></div>
+          <div>分析指标:<span v-html="it.item_name"></span></div>
+          <div>指标单位:<span v-html="it.meter_unit"></span></div>
+          <div>指标值: <span v-html="it.idx_value"></span></div>
+          <div>描述: <span v-html="it.description"></span></div>
         </div>
       </div>
     </div>

+ 3 - 3
vue/src/components/basic/es-result/doc-view.vue

@@ -5,10 +5,10 @@
       <div class="search-view-doc" v-for="it in data">
         <img src="~@/assets/images/doc.png"/>
         <div>
-          <span>文档名称:{{ it.file_name }}</span> <br>
-          <span>井名:{{ it.well_common_name }}</span><br>
+          <span>文档名称:<span v-html="it.file_name"></span></span> <br>
+          <span>井名:<span v-html="it.well_common_name"></span></span><br>
           <span>
-          文档类型:{{ it.file_business_type }}
+          文档类型:<span v-html="it.file_business_type"></span>
             </span><br>
           <span>
           上传时间:{{ it.date }}

+ 2 - 4
vue/src/components/basic/es-result/query-criteria.vue

@@ -1,8 +1,7 @@
 <template>
   <div>
     <a-space>
-      <a-select v-model:value="formState.defaultField" :options="fieldList" class="operTexts"></a-select>
-      <QueryHistoryComplete v-model:value="formState.defaultKeyString" style="width: 400px"></QueryHistoryComplete>
+      <QueryHistoryComplete v-model:value="formState.defaultKeyString" style="width: 520px"></QueryHistoryComplete>
       <a-button type="primary" html-type="submit" @click="getQuery">查询</a-button>
       <a-button @click="() => {formRef.resetFields();}">重置</a-button>
     </a-space>
@@ -120,14 +119,13 @@ export default defineComponent({
     ] as SelectProps['options'];
 
     const fieldList = [
-      {value: '', label: '不限'},
       {value: 'well_id', label: '井号'},
       {value: 'well_common_name', label: '井名'},
       {value: 'well_purpose', label: '井别'}
     ] as SelectProps['options'];
 
     function addQuery() {
-      limiters.value.push({fields: '', value: '',  opreation: '等于', relation: 'AND'});
+      limiters.value.push({fields: '', value: '', opreation: '等于', relation: 'AND'});
     }
 
     function onDelete(index) {

+ 10 - 3
vue/src/components/basic/es-result/table-view.vue

@@ -3,7 +3,7 @@
     <div class="search-title">{{ title }}</div>
     <div class="search-view">
       <template v-for="it in fieldData">
-        <span>{{ it.fieldName }}:{{data[it.fieldCode]}}</span>
+        <span>{{ it.fieldName }}:<span v-html="data[it.fieldCode]"/></span>
       </template>
     </div>
   </div>
@@ -23,10 +23,17 @@ export default defineComponent({
   setup(props) {
     console.log(props);
     const title = props.indexSetting?.indexName;
-    const fieldData = props.indexSetting?.fieldList.filter(it=>it.dataType!="NESTED");
+    const fieldData = props.indexSetting?.fieldList.filter(it => it.dataType != "NESTED");
     const data = props.data;
+
+    /*if (data != null && data.highlight != null) {
+      const highlights= data.highlight as [];
+      highlights.forEach(it=>{
+        it.
+      })
+    }*/
     return {
-      fieldData, data,title
+      fieldData, data, title
     };
   }
 });

+ 2 - 3
vue/src/views/esdomain/index.vue

@@ -6,7 +6,7 @@
       class="ant-advanced-search-form"
       @finish="onQuery"
     >
-      <queryCriteria ref="queryRef" @query="onQuery"></queryCriteria>
+      <queryCriteria :query-object="{formState:{showMoreQuery:true}}" @query="onQuery"></queryCriteria>
     </a-form>
   </div>
 </template>
@@ -28,7 +28,6 @@ export default defineComponent({
     const route = useRoute();
     const router = useRouter();
     const formRef = ref<FormInstance>();
-    const queryRef = ref<typeof queryCriteria>();
 
     const onQuery = (queryObject) => {
       localStorage.setItem("queryObject",JSON.stringify(queryObject));
@@ -36,7 +35,7 @@ export default defineComponent({
     }
 
     return {
-      router, route, formRef, onQuery,queryRef,
+      router, route, formRef, onQuery,
     };
   },
   created() {

+ 18 - 26
vue/src/views/esdomain/result.vue

@@ -40,20 +40,15 @@
       <div class="search-container">
         <div class="search-body">
           <div class="search-order">
-            <div>综合排序
-              <p class="search-order-icon">
-                <caret-up-outlined @click="pageState.defaultOrder='asc'"
-                                   :style="{ color: pageState.defaultOrder=='asc'? '#1890FF':'#cccccc' }"/>
-                <caret-down-outlined @click="pageState.defaultOrder='desc'"
-                                     :style="{ color: pageState.defaultOrder=='desc'? '#1890FF':'#cccccc' }"/>
-              </p>
+            <div @click="pageState.orderBy='default';pageState.orderType=''" :style="{ color: pageState.orderBy=='default'? '#1890FF':'' }">
+              综合排序
             </div>
             <div>创建时间
               <p class="search-order-icon">
-                <caret-up-outlined @click="pageState.timeOrder='asc'"
-                                   :style="{ color: pageState.timeOrder=='asc'? '#1890FF':'#cccccc' }"/>
-                <caret-down-outlined @click="pageState.timeOrder='desc'"
-                                     :style="{ color: pageState.timeOrder=='desc'? '#1890FF':'#cccccc' }"/>
+                <caret-up-outlined @click="pageState.orderBy='time';pageState.orderType='asc'"
+                                   :style="{ color: pageState.orderType=='asc'? '#1890FF':'#cccccc' }"/>
+                <caret-down-outlined @click="pageState.orderBy='time';pageState.orderType='desc'"
+                                     :style="{ color: pageState.orderType=='desc'? '#1890FF':'#cccccc' }"/>
               </p>
             </div>
           </div>
@@ -63,23 +58,23 @@
           <template v-for="(it) in dataList">
             <div>
               <div class="search-body-title">
-                井名:{{ it.well_common_name }}<p @click="showWell(it.well_id)">
+                井名:<span v-html="it.well_common_name"></span> <p @click="showWell(it.well_id)">
                 <img src="~@/assets/images/info.png" width="18" height="16"/>查看井基础信息</p>
               </div>
               <div class="search-body-item">
-                <component is="cycleView" :indexSetting="it.indexSetting" :data="it"></component>
-                <component is="tableView" :indexSetting="it.indexSetting" :data="it"></component>
+                <component is="cycleView" :indexSetting="it.indexSetting" :data="it" :key="it.key"></component>
+                <component is="tableView" :indexSetting="it.indexSetting" :data="it" :key="it.key"></component>
                 <component is="chatView" :indexSetting="it.indexSetting" :well_id="it.well_id"
-                           :data="it.dws_dm_analytical_assays_new" v-show="it.showMore"></component>
+                           :data="it.dws_dm_analytical_assays_new" v-show="it.showMore" :key="it.key"></component>
                 <component is="listView" :indexSetting="it.indexSetting"
                            :fieldCode="'fact_dwr_brief_history_assignment'" :data="it.fact_dwr_brief_history_assignment"
-                           v-show="it.showMore"></component>
+                           v-show="it.showMore" :key="it.key"></component>
                 <component is="listView" :indexSetting="it.indexSetting" :fieldCode="'fact_dwr_wl_ach_borehole_inter'"
-                           :data="it.fact_dwr_wl_ach_borehole_inter" v-show="it.showMore"></component>
+                           :data="it.fact_dwr_wl_ach_borehole_inter" v-show="it.showMore" :key="it.key"></component>
                 <component is="listView" :indexSetting="it.indexSetting" :fieldCode="'dws_dm_analytical_assays_new'"
-                           :data="it.dws_dm_analytical_assays_new" v-show="it.showMore"></component>
+                           :data="it.dws_dm_analytical_assays_new" v-show="it.showMore" :key="it.key"></component>
                 <component is="docView" :indexSetting="it.indexSetting" :data="it.fact_dwr_well_data_index"
-                           v-show="it.showMore"></component>
+                           v-show="it.showMore" :key="it.key"></component>
 
                 <a-divider orientation="center" @click="it.showMore=!it.showMore">
                   <template v-if="!it.showMore">
@@ -175,8 +170,8 @@ export default defineComponent({
     const queryObject = ref();
     const pageState = reactive({
       showMoreQuery: false,
-      defaultOrder: '',
-      timeOrder: '',
+      orderBy: '',
+      orderType: '',
       loading: false,
       showMoreKey: false
     });
@@ -203,13 +198,9 @@ export default defineComponent({
       {value: 'wellName', label: '井名'}
     ] as SelectProps['options'];
 
-
-    /* get('esindex/getAllList', {}).then(result => {
-       indexList.value = result.list;
-     }) */
     const getIndex = async () => {
       const result = await get('esindex/getAllList', {});
-      indexList.value = result.list;
+      indexList.value = result;
     }
     const showWell = (well_id) => {
       tabsViewStore.addTabByPath('/wellinfo/detail', {id: well_id});
@@ -291,6 +282,7 @@ export default defineComponent({
       let params = localStorage.getItem("queryObject");
       if (params != null) {
         this.queryObject = JSON.parse(params);
+        this.queryObject.formState.showMoreQuery=false;
         this.loadData();
       }
     });