Browse Source

单井详情-测井解释子表动态列

da-xian 2 weeks ago
parent
commit
deecd6f552

+ 0 - 1
vue/src/views/esdomain/result.vue

@@ -208,7 +208,6 @@ export default defineComponent({
       indexList.value = result;
     }
     const showWell = (well_id, well_common_name) => {
-      debugger;
       tabsViewStore.addTabByPath('/wellinfo/detail', {id: well_id});
       storeWell(well_common_name);
     }

+ 7 - 6
vue/src/views/wellinfo/columns.ts

@@ -1,7 +1,7 @@
 import {ref} from 'vue';
 
-export const boreholeInterColumns = ref([
-  {title: '层号(序号)', dataIndex: 'zone_no', key: 'zone_no', resizable: true, width: 120},
+export const defaultBoreholeInterColumns = ref(
+    [{title: '层号(序号)', dataIndex: 'zone_no', key: 'zone_no', resizable: true, width: 120},
   {title: '裸眼井解释成果类型', dataIndex: 'borehole_inter_type_name', key: 'borehole_inter_type_name', resizable: true, width: 120},
   {title: '起始深度', dataIndex: 'start_depth', key: 'start_depth', resizable: true, width: 120},
   {title: '终止深度', dataIndex: 'end_depth', key: 'end_depth', resizable: true, width: 120},
@@ -12,8 +12,9 @@ export const boreholeInterColumns = ref([
   {title: '井径', dataIndex: 'well_diameter', key: 'well_diameter', resizable: true, width: 120},
   {title: '体积密度', dataIndex: 'formation_volume_density', key: 'formation_volume_density', resizable: true, width: 120},
   {title: '声波时差', dataIndex: 'sonic_differential_time', key: 'sonic_differential_time', resizable: true, width: 120},
-  {title: '中子', dataIndex: 'compensated_neutron', key: 'compensated_neutron', resizable: true, width: 120},
-  {title: '浅电阻率', dataIndex: 'laterolog_shallow', key: 'laterolog_shallow', resizable: true, width: 120},
+  {title: '中子', dataIndex: 'compensated_neutron', key: 'compensated_neutron', resizable: true, width: 120}
+   ]);
+export const otherBoreholeInterColumns = ref([{key:"clo1", list:[{title: '浅电阻率', dataIndex: 'laterolog_shallow', key: 'laterolog_shallow', resizable: true, width: 120},
   {title: '深电阻率', dataIndex: 'laterolog_deep', key: 'laterolog_deep', resizable: true, width: 120},
   {title: '冲洗带电阻率', dataIndex: 'laterolog_flushed_zone', key: 'laterolog_flushed_zone', resizable: true, width: 120},
   {title: '密度孔隙度', dataIndex: 'density_porosity', key: 'density_porosity', resizable: true, width: 120},
@@ -22,7 +23,7 @@ export const boreholeInterColumns = ref([
   {title: '有效孔隙度', dataIndex: 'effective_porosity', key: 'effective_porosity', resizable: true, width: 120},
   {title: '总孔隙度', dataIndex: 'total_porosity', key: 'total_porosity', resizable: true, width: 120},
   {title: '渗透率', dataIndex: 'permeability', key: 'permeability', resizable: true, width: 120},
-  {title: '含油气饱和度', dataIndex: 'oil_gas_saturation', key: 'oil_gas_saturation', resizable: true, width: 120},
+   ]}, {key:"clo2", list:[{title: '含油气饱和度', dataIndex: 'oil_gas_saturation', key: 'oil_gas_saturation', resizable: true, width: 120},
   {title: '束缚水饱和度', dataIndex: 'irreducible_water_saturation', key: 'irreducible_water_saturation', resizable: true, width: 120},
   {title: '泥质含量', dataIndex: 'shale_content', key: 'shale_content', resizable: true, width: 120},
   {title: '砂质含量', dataIndex: 'sandy_content', key: 'sandy_content', resizable: true, width: 120},
@@ -40,7 +41,7 @@ export const boreholeInterColumns = ref([
       return record.update_date == null ? record.create_date : record.update_date;
     }
   }
-]);
+]}]);
 export const testHistoryColumns = ref([
   {title: '测试日期', dataIndex: 'testing_date', key: 'testing_date', resizable: true, width: 120},
   {title: '内容描述', dataIndex: 'construction_description', key: 'construction_description', resizable: true},

+ 26 - 1
vue/src/views/wellinfo/detail.vue

@@ -324,6 +324,7 @@
                             :style="cardSettings.buttonStyle"/>
       </template>
       <div v-if="cardSettings.cardExplain.expand">
+        <a-checkbox-group v-model:value="checkedBoreholeInterCheckboxList" :options="boreholeInterCheckboxOptions"/>
         <a-table :columns="boreholeInterColumns" :data-source="boreholeInterList" :scroll="{ x:'1500', y: 500 }"
                  :pagination="false" @resizeColumn="handleResizeColumn" :rowClassName = "rowClassName"
                  bordered>
@@ -357,6 +358,7 @@ import dayjs from "dayjs";
 import {useRoute} from "vue-router";
 import router from "@/router";
 import * as columns from './columns';
+import {defaultBoreholeInterColumns, otherBoreholeInterColumns} from "./columns";
 import ChartProdDynmics from '@/components/basic/chart/chart-prod-dynamics.vue'
 import ChartMap from '@/components/basic/chart/chart-map.vue'
 import filePreview from '@/components/basic/file-preview/index.vue'
@@ -388,6 +390,29 @@ export default defineComponent({
     })
     const wellId = ref(history.state.params?.id);
 
+    const boreholeInterColumns: any = ref(defaultBoreholeInterColumns.value);
+    const checkedBoreholeInterCheckboxList: any = ref([]);
+    const boreholeInterCheckboxOptions: any = ref(["clo1","clo2"]);
+    watch(
+        () => checkedBoreholeInterCheckboxList.value,
+        val => {
+           let list = defaultBoreholeInterColumns.value;
+          otherBoreholeInterColumns.value.filter(x=>val.indexOf(x.key)>=0).forEach(item=>{
+            list = list.concat(item.list);
+          });
+
+          boreholeInterColumns.value = list;
+        },
+    );
+    const onChangeBoreholeInterCheckbox = () =>{
+      boreholeInterColumns.value = defaultBoreholeInterColumns.value;
+        boreholeInterCheckboxOptions.value.filter(check=>check.checked===true).forEach((item: any)=>{
+          debugger;
+          console.log(item)
+          // cardSettings.value.cardExplain.column.includes(boreholeInterColumns.value.filter(x=>x.key===item.value)[0].list);
+        });
+    };
+
     const testHistoryPage = ref({
       total: 0,
       current: 1,
@@ -595,7 +620,7 @@ export default defineComponent({
       handleResizeColumn: (w, col) => {
         col.width = w;
       },
-      chartImageRef
+      chartImageRef, onChangeBoreholeInterCheckbox, boreholeInterColumns, boreholeInterCheckboxOptions,checkedBoreholeInterCheckboxList,
     };
   },
   created() {

+ 0 - 1
vue/src/views/wellinfo/index.vue

@@ -684,7 +684,6 @@ export default defineComponent({
       if(!isHideChatMap.value){
         chartMapRef.value.getDatas(formState);
         //通过菜单打开才更新缓存
-        debugger;
         localStorage.setItem("wellInfoFormState", JSON.stringify(formState));
       }
       const result: any = await postData('wellInfo/getList', formState);