From 923004d8ca3cb956d33f1990b34a5f221da30669 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期三, 08 五月 2024 18:26:03 +0800
Subject: [PATCH] 列表右侧设置默认按钮

---
 Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue |   69 ++++++++++++++++++++++++++++------
 1 files changed, 56 insertions(+), 13 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index ce6fe70..4db1f97 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -13,19 +13,39 @@
                @size-change="sizeChange"
                @row-click="rowClickChange"
                @search-change='searchChange'
+               @filter-change="filterChange"
                @selection-change="selectChange">
       <!--top鍖哄煙鎸夐挳-->
       <template slot="menuLeft" slot-scope="scope">
         <dynamic-button :componentVO="componentVO"
                         :key="areasName+'buttons-'+componentVO.oid"
                         :butttonList="componentVO.buttons" :dataStore="selectList" LocationType="top" :sourceData="sourceData"
+                        @afterMethod="handleRefresh"
                         type="table"></dynamic-button>
       </template>
 
       <!--menu鍖哄煙鎸夐挳-->
       <template slot="menu" slot-scope="scope">
-        <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :scope="scope" :dataStore="selectList" :sourceData="sourceData" LocationType="menu"
+        <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :scope="scope" :dataStore="selectList" :sourceData="sourceData"
+                        LocationType="menu"
+                        @afterMethod="handleRefresh"
                         type="table"></dynamic-button>
+      </template>
+      <template  slot="menuRight" slot-scope="scope">
+        <el-button icon="el-icon-printer" title="鎵撳嵃"
+                   circle @click="$refs.dataTable.rowPrint()"
+                   :size="scope.size"></el-button>
+        <el-button icon="el-icon-download" title="瀵煎嚭"
+                   circle @click="rowExcel"
+                   :size="scope.size"></el-button>
+        <el-button icon="el-icon-tickets" circle title="绛涢��"  @click="$refs.dataTable.$refs.dialogFilter.box=!0"
+                  :size="scope.size"></el-button>
+        <el-button icon="el-icon-s-operation" circle title="鍒楁樉闅�"  @click="$refs.dataTable.$refs.dialogColumn.columnBox=!0"
+                   :size="scope.size"></el-button>
+        <el-button icon="el-icon-search" circle title="鏌ヨ" @click="$refs.dataTable.$refs.headerSearch.handleSearchShow()"
+                   :size="scope.size"></el-button>
+        <el-button icon="el-icon-refresh" circle title="鍒锋柊" @click="$refs.dataTable.refreshChange()"
+                   :size="scope.size"></el-button>
       </template>
     </avue-crud>
   </div>
@@ -116,6 +136,12 @@
         addBtn: false,
         editBtn: false,
         delBtn: false,
+        refreshBtn:false,
+        columnBtn:false,
+        searchShowBtn:false,
+        printBtn:false,
+        excelBtn:false,
+        filterBtn:false,
         selection: true,
         tip: false,
         height: '100%',
@@ -176,11 +202,13 @@
           this.$emit("setData", {
             area: this.areasName,
             type:this.componentVO.uiComponentType,
-            btmType:this.currentDefineVO.btmType,
+            currentDefineVO:this.currentDefineVO,
             data:newval
           });
         }
-      }
+      },
+      deep: true,
+      immediate: true
     },
     'sourceData':{
       handler(newval) {
@@ -189,7 +217,9 @@
           this.getParams();
           this.handleRefresh();
         }
-      }
+      },
+      deep: true,
+      immediate: true
     }
   },
   created() {
@@ -249,19 +279,18 @@
           sourceDataMap.sourceOid = this.sourceData.oid;
         }
         for (let i in this.sourceData) {
-          let item = this.sourceData[i]
-          if (item && item.constructor === Object) return;
-          if (i == 'type' || i == 'context' || i == 'content') return;
+          const item = this.sourceData[i]
+          if (item && item.constructor === Object) continue;
+          if (i == 'type' || i == 'context' || i == 'content') continue;
           sourceDataMap['sourceData["' + i + '"]'] = item
         }
       }
 
       if (Object.keys(this.paramVOS).length>0) {
-        for (let i in this.paramVOS) {
-          let item = this.paramVOS[i]
-          if (item && item.constructor === Object) return;
-          if (i == 'type' || i == 'context' || i == 'content') return;
-          sourceDataMap['sourceData["' + i + '"]'] = item
+        for (let j in this.paramVOS) {
+          if (this.paramVOS[j] && this.paramVOS[j].constructor === Object) continue;
+          if (j == 'type' || j == 'context' || j == 'content' || j == "getdataurl" || j == "getdatamethod" || j == "url" || j == "method" || j == "uploadfileurl" || j == "title") continue;
+          sourceDataMap['sourceData["' + j + '"]'] = this.paramVOS[j]
         }
       }
       return sourceDataMap;
@@ -329,6 +358,10 @@
       this.onLoad(this.page);
       done();
     },
+    filterChange(result){
+      debugger;
+
+    },
     searchReset() {
       this.query = {};
       this.onLoad(this.page);
@@ -341,8 +374,18 @@
 
       }
     },
-    handleRefresh() {
+    handleRefresh(type) {
       this.onLoad(this.page, this.query);
+    },
+    rowExcel() {
+      //瀵煎嚭
+      this.$refs.dataTable.$refs.dialogExcel.handleShow();
+      //瀵煎嚭寮圭獥涓殑纭畾鎸夐挳
+      this.$refs.dataTable.$refs.dialogExcel.handleSubmit = function () {
+        this.$Export.excel({title: this.$refs.dataTable.$refs.dialogExcel.form.name, columns: this.$refs.dataTable.$refs.dialogExcel.columns, data: this.$refs.dataTable.$refs.dialogExcel.handleSum()});
+        this.$refs.dataTable.$refs.dialogExcel.box = !1
+      }
+      //this.$refs.dataTable.rowExcel()
     }
   }
 }

--
Gitblit v1.9.3