ソースを参照

井筒全息快照功能优化

da-xian 1 ヶ月 前
コミット
896a111dfc

+ 1 - 1
vue/src/components/basic/chart/chart-map.vue

@@ -21,7 +21,7 @@
         </template>
         <a-input-search size="large" placeholder="..." enter-button></a-input-search>
       </a-auto-complete>
-      <a-button type="primary" size="large" title="在新标签页中打开地图" @click="openMap"><ShareAltOutlined/></a-button>
+      <a-button type="default" size="large" title="在新标签页中打开地图" @click="openMap"><ShareAltOutlined/></a-button>
     </div>
     <iframe width="100%" height="100%" tyle="border: 0"
             :src="iframeSrc" ref="iframeRef" id="iframeMap"

+ 10 - 1
vue/src/router/outsideLayout.ts

@@ -13,4 +13,13 @@ export const LoginRoute: RouteRecordRaw = {
   },
 };
 
-export default [LoginRoute];
+export const wellInfoListRoute: RouteRecordRaw = {
+  path: '/wellinfo/list',
+  name: 'WELLINFO_LIST',
+  component: () => import('@/views/wellinfo/index.vue'),
+  meta: {
+    title: '华北油田智能检索-井筒列表',
+  },
+};
+
+export default [LoginRoute, wellInfoListRoute];

+ 24 - 4
vue/src/views/wellinfo/index.vue

@@ -84,7 +84,7 @@
                 </a-tree-select>
               </a-form-item>
             </a-col>
-            <a-col :span="6" :style="showOverlay && curStepVal==2?'z-index:1000;background:white;display:inline-block;width:150px;height:32px;position:relative;':'display:inline-block;width:450px;height:32px;'">
+            <a-col :span="6" :style="showOverlay && curStepVal==2?'z-index:1000;background:white;display:inline-block;width:150px;height:32px;position:relative;':'display:inline-block;width:600px;height:32px;'">
               <MenuOutlined @click="changeQuery(true)" v-if="!showQuery" data-v-step="2"  />
               <LineOutlined @click="changeQuery(false)" v-else/>
               <a-button type="primary" html-type="submit" @click="onQuery" style="margin-left: 10px;">查询</a-button>
@@ -172,6 +172,10 @@
                   <TableOutlined/>
                   卡片
                 </a-radio-button>
+                <a-radio-button v-if="!isHideChatMap"  @click="openList">
+                  <ShareAltOutlined/>
+                  新开
+                </a-radio-button>
               </a-radio-group>
             </a-col>
           </a-row>
@@ -308,7 +312,7 @@
         </a-spin>
       </div>
       <div :style="showOverlay&&curStepVal==5?'flex-grow: 1;overflow: auto;z-index:999;background:white;':'flex-grow: 1;overflow: auto;'" style="width:100%;height: 500px;" >
-        <ChartMap ref="chartMapRef" :isSearch="(true)" data-v-step="5"></ChartMap>
+        <ChartMap ref="chartMapRef" v-if="!isHideChatMap" :isSearch="(true)" data-v-step="5"></ChartMap>
       </div>
     </div>
     <a-modal v-model:visible="isShowDoc" title="相关文档" width="800px" :footer="null" @onCancel="isShowDoc=false">
@@ -359,7 +363,7 @@
 <script lang="ts">
 import {ref, defineComponent, computed, watch, reactive, getCurrentInstance} from 'vue';
 import type {FormInstance} from 'ant-design-vue';
-import {useRoute} from 'vue-router';
+import {useRoute, useRouter} from 'vue-router';
 import {get, postData} from "@/api/common";
 import {getPaginationTotalTitle} from "@/utils/common";
 import {message} from 'ant-design-vue';
@@ -379,6 +383,7 @@ export default defineComponent({
 
     const curTour = ref({});
     const route = useRoute();
+    const router = useRouter();
     const expand = ref(false);
     const formRef = ref<FormInstance>();
     const loading = ref(false);
@@ -397,6 +402,7 @@ export default defineComponent({
     const wellTypeList = ref([{label: "直井", value: "直井"}, {label: "定向井", value: "定向井"}, {label: "分支井", value: "分支井"}]);
     const wellPurposeList = ref([{label: "探井", value: "探井"}, {label: "开发井", value: "开发井"}, {label: "水井", value: "水井"}]);
     const chartMapRef = ref();
+    const isHideChatMap = ref(false);
 
     const steps = reactive([
       {
@@ -659,6 +665,12 @@ export default defineComponent({
         loadData();
       });
 
+    const openList = function () {
+      const query: any = {isHideChatMap: true, pageSize:20};
+      const fullPath = router.resolve({name: 'WELLINFO_LIST', query}).href;
+      window.open(fullPath, '_blank');
+    }
+
     const loadData = async function () {
       loading.value = true;
       const result: any = await postData('wellInfo/getList', formState);
@@ -935,6 +947,7 @@ export default defineComponent({
       handleTableChange,
       detail,
       formState,
+      openList,
       isShowDoc,
       showDoc,
       docKey,
@@ -969,11 +982,13 @@ export default defineComponent({
       handleResizeColumn: (w, col) => {
         col.width = w;
       },
-      curStepVal,steps,myOptions,curTour,showOverlay,myCallbacks,loadStyle,changeTree,changeQuery,showHelp
+      curStepVal,steps,myOptions,curTour,showOverlay,myCallbacks,loadStyle,changeTree,changeQuery,showHelp,
+      isHideChatMap
     };
 
   },
   mounted(){
+
     this.curTour = getCurrentInstance()?.appContext.config.globalProperties.$tours;
     console.log("tour2",this.curTour);
     if(this.curTour && this.curTour['wellInfoTour']){
@@ -987,6 +1002,11 @@ export default defineComponent({
       }
     }
 
+    if(this.route.name=="WELLINFO_LIST"){
+      this.isHideChatMap = this.route.query.isHideChatMap=="true";
+      const rows: any = this.route.query.pageSize;
+      this.formState.rows = rows;
+    }
   },
   beforeMount() {
     this.loadStyle();