From 803b93038ca16e21ea60a260ca4ac882b84a87ef Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 18 七月 2025 17:31:53 +0800
Subject: [PATCH] 2025.7.18 监管任务模块 1. 监管场景样式优化; 2. 新增监管场景GIS地图展示(待完成);

---
 src/components/table/FYTable.vue |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/src/components/table/FYTable.vue b/src/components/table/FYTable.vue
index 42c7a99..478a48d 100644
--- a/src/components/table/FYTable.vue
+++ b/src/components/table/FYTable.vue
@@ -28,6 +28,7 @@
     <slot name="options-expand2"></slot>
   </div>
   <el-table
+    id="fyTable"
     ref="tableRef"
     :data="tableData"
     v-loading="loading"
@@ -78,6 +79,14 @@
     size: {
       type: String,
       default: 'default'
+    },
+    data: {
+      type: Array,
+      default: () => []
+    },
+    totalCount: {
+      type: Number,
+      default: 0
     }
   },
   data() {
@@ -91,7 +100,7 @@
       fontSize: 'default'
     };
   },
-  emits: ['search', 'cellClick', 'tablePaste'],
+  emits: ['search', 'cellClick', 'tablePaste', 'sortChange'],
   watch: {
     currentPage(nValue, oValue) {
       if (nValue != oValue) {
@@ -110,13 +119,25 @@
         }
       },
       immediate: true
+    },
+    data(nValue, oValue) {
+      if (nValue != oValue) {
+        this.tableData = nValue;
+      }
+    },
+    totalCount(nValue, oValue) {
+      if (nValue != oValue) {
+        this.total = nValue;
+      }
     }
   },
   computed: {
     cTableHeight() {
       if (this.$refs.searchRef) {
         const h1 = this.$refs.searchRef.$el.offsetHeight;
-        const h2 = this.$refs.paginationRef ? this.$refs.paginationRef.$el.offsetHeight : 0;
+        const h2 = this.$refs.paginationRef
+          ? this.$refs.paginationRef.$el.offsetHeight
+          : 0;
         const h3 = this.$refs.expandRef.$el.offsetHeight;
         const h4 = this.$refs.expand2Ref.offsetHeight;
 
@@ -143,8 +164,14 @@
           pageSize: this.pageSize
         },
         (res) => {
-          this.tableData = res.data;
-          this.total = res.total ? res.total : 0;
+          if (res) {
+            if (res.data) {
+              this.tableData = res.data;
+            }
+            if (res.total) {
+              this.total = res.total;
+            }
+          }
           this.loading = false;
           this.doLayout();
         }
@@ -152,7 +179,9 @@
     },
     calcTableHeight() {
       const h1 = this.$refs.searchRef.$el.offsetHeight;
-      const h2 = this.$refs.paginationRef ? this.$refs.paginationRef.$el.offsetHeight : 0;
+      const h2 = this.$refs.paginationRef
+        ? this.$refs.paginationRef.$el.offsetHeight
+        : 0;
       const h3 = this.$refs.expandRef.$el.offsetHeight;
       const h4 = this.$refs.expand2Ref.offsetHeight;
 
@@ -177,11 +206,14 @@
     handlePaste(event) {
       this.$emit('tablePaste', event);
     },
-    doLayout(){
+    doLayout() {
       this.$refs.tableRef.doLayout();
     },
-    handleSortChange({column, prop, order }){
-
+    handleSortChange({ column, prop, order }) {
+      this.$emit('sortChange', { column, prop, order });
+    },
+    clearSort() {
+      this.$refs.tableRef.clearSort();
     }
   },
   mounted() {

--
Gitblit v1.9.3