From c4d9e7a20dac267c5496ad3586c5053be279a17a Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期五, 26 四月 2024 20:09:59 +0800
Subject: [PATCH] 添加action,表单组件

---
 Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue |   62 ++++++++++++++++++-------------
 1 files changed, 36 insertions(+), 26 deletions(-)

diff --git a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
index dae2474..92ee092 100644
--- a/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
+++ b/Source/ProjectWeb/src/components/dynamic-components/dynamic-table.vue
@@ -16,7 +16,9 @@
                @selection-change="selectChange">
       <!--top鍖哄煙鎸夐挳-->
       <template slot="menuLeft" slot-scope="scope">
-        <dynamic-button :componentVO="componentVO" :butttonList="componentVO.buttons" :dataStore="selectList" LocationType="top" :sourceData="sourceData"
+        <dynamic-button :componentVO="componentVO"
+                        :key="areasName+'buttons-'+componentVO.oid"
+                        :butttonList="componentVO.buttons" :dataStore="selectList" LocationType="top" :sourceData="sourceData"
                         type="table"></dynamic-button>
       </template>
 
@@ -85,9 +87,11 @@
   },
   data() {
     return {
+      currentDefineVO:this.componentVO.uiComponentType=='table'?this.componentVO.tableDefineVO:this.componentVO.treeTableDefineVO,
       parentHeight: '100%',//褰撳墠缁勪欢鏍硅妭鐐瑰厓绱犻珮搴�
       form: {},
       query:{},
+      params:{},
       loading: false,
       page: {
         pageSize: 10,
@@ -112,7 +116,7 @@
         height: '100%',
         calcHeight: 15,
         indexFixed: false,
-        menuFixed: false,
+        menuFixed: this.areasName === 'westArea' ? false : 'right',
         searchMenuSpan:12,
         searchShow:false,
         column: [],
@@ -174,11 +178,16 @@
   created() {
     this.getParams();
     this.option.column = this.updatedColumns();
+    if (this.componentVO.uiComponentType == 'TreeTable') {
+      //鏍戣〃
+      this.option.rowKey = this.currentDefineVO.treeCurrentField || 'oid';
+      this.option.rowParentKey = this.currentDefineVO.treeParentField || 'parentOid'
+    }
     this.page = {
-      pageSize: this.componentVO.tableDefineVO.pageVO ? this.componentVO.tableDefineVO.pageVO.limit : 10,
-      currentPage: this.componentVO.tableDefineVO.pageVO? this.componentVO.tableDefineVO.pageVO.page :1,
+      pageSize: this.currentDefineVO.pageVO ? this.currentDefineVO.pageVO.limit : 10,
+      currentPage: this.currentDefineVO.pageVO ? this.currentDefineVO.pageVO.page : 1,
       total: 0,
-      pageSizes:this.componentVO.tableDefineVO.limits || [10, 20, 30, 40, 50, 100]
+      pageSizes: this.currentDefineVO.limits || [10, 20, 30, 40, 50, 100]
     };
   },
   mounted() {
@@ -189,10 +198,10 @@
   },
   methods: {
     updatedColumns: function () {
-      const queryFields = !validatenull(this.componentVO.tableDefineVO.queryColumns) ? this.componentVO.tableDefineVO.queryColumns.map(item => item.field) : [];
-      return this.componentVO.tableDefineVO.cols[0].map(item => {
+      const queryFields = !validatenull(this.currentDefineVO.queryColumns) ? this.currentDefineVO.queryColumns.map(item => item.field) : [];
+      return this.currentDefineVO.cols[0].map(item => {
         const search = queryFields.includes(item.field); // 鍒ゆ柇 field 鏄惁鍦� queryColumns 閲�
-        if (this.componentVO.tableDefineVO.btmType == 'fileobject' && item.field == 'name') {
+        if (this.currentDefineVO.btmType == 'fileobject' && item.field == 'name') {
           //鏄枃浠�
           item.formatter = function (d) {
             return '<a class="layui-btn layui-btn-intable"  lay-event="PREVIEW">' + d.name + '</a>'
@@ -230,34 +239,35 @@
         }
       }
 
-      return sourceDataMap;
-    },
-    getParams: function () {
-      const tableParams = {
-        btmname: this.componentVO.tableDefineVO.btmType,
-        btmType:this.componentVO.tableDefineVO.btmType,
-        tableDefineId: this.componentVO.tableDefineVO.id,
-        componentOid: this.componentVO.oid,
-        uiDefineId: this.uiContext,
-        linkTypeFlag: this.componentVO.tableDefineVO.linkTypeFlag
-      };
-
-      const sourceDataMapList = this.sourceDataMapParams;
-
-      if (this.paramVOS) {
+      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;
-          sourceDataMapList['sourceData["' + i + '"]'] = item
+          sourceDataMap['sourceData["' + i + '"]'] = item
         }
       }
+      return sourceDataMap;
+    },
+    getParams: function () {
+      const tableParams = {
+        btmname: this.currentDefineVO.btmType,
+        btmType:this.currentDefineVO.btmType,
+        tableDefineId: this.currentDefineVO.id,
+        componentOid: this.componentVO.oid,
+        uiDefineId: this.uiContext,
+        linkTypeFlag: this.currentDefineVO.linkTypeFlag,
+        treeTableFlag:this.componentVO.uiComponentType == 'TreeTable'
+      };
+
+      const sourceDataMapList = this.sourceDataMapParams;
+
       this.params = Object.assign({},tableParams, sourceDataMapList);
     },
     onLoad(page, params = {}) {
       if (Object.keys(this.sourceData).length>0 && this.isShow) {
         this.loading = true;
-        getList(page.currentPage, page.pageSize, Object.assign(params, this.params, this.query)).then(res => {
+        getList(page.currentPage, page.pageSize, Object.assign(params,this.params,this.query)).then(res => {
           let data = [];
           if (res.data && res.data.data) {
             data = res.data.data;
@@ -286,7 +296,7 @@
       this.$emit("setDataStore", {
         area: this.areasName,
         type:this.componentVO.uiComponentType,
-        btmType:this.componentVO.tableDefineVO.btmType,
+        btmType:this.currentDefineVO.btmType,
         dataStore:row
       });
     },

--
Gitblit v1.9.3