From a9ac16fecc0cf9bc66dfaefe4e9b35fa3c722812 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 10 十一月 2020 16:58:43 +0800
Subject: [PATCH] 2020-11-10

---
 src/tabviews/custom/components/share/tabtransfer/index.jsx |   56 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx
index f2bb801..56ab3e9 100644
--- a/src/tabviews/custom/components/share/tabtransfer/index.jsx
+++ b/src/tabviews/custom/components/share/tabtransfer/index.jsx
@@ -17,6 +17,7 @@
 const AntvPie = asyncComponent(() => import('@/tabviews/custom/components/chart/antv-pie'))
 const AntvTabs = asyncComponent(() => import('@/tabviews/custom/components/tabs/antv-tabs'))
 const DataCard = asyncComponent(() => import('@/tabviews/custom/components/card/data-card'))
+const TableCard = asyncComponent(() => import('@/tabviews/custom/components/card/table-card'))
 const PropCard = asyncComponent(() => import('@/tabviews/custom/components/card/prop-card'))
 
 class TabTransfer extends Component {
@@ -68,16 +69,17 @@
     }
 
     let params = []
-    config.components.forEach(component => {
-      if (component.type === 'tabs') return
+    config.components.forEach(item => {
+      if (item.type === 'tabs') return
 
-      if (!component.format || (component.subtype === 'propcard' && component.wrap.datatype === 'static')) return
+      if (!item.setting || item.setting.interType !== 'system') return
+      if (!item.format || (item.subtype === 'propcard' && item.wrap.datatype === 'static')) return
 
-      if (component.dataName && !component.pageable && component.setting.interType === 'system' && component.setting.onload === 'true' && component.setting.sync === 'true') {
-        let param = this.getDefaultParam(component, _mainSearch)
+      if (item.dataName && (!item.pageable || (item.pageable && !item.setting.laypage)) && item.setting.onload === 'true' && item.setting.sync === 'true') {
+        let param = this.getDefaultParam(item, _mainSearch)
         params.push(param)
       } else {
-        component.setting.sync = 'false'
+        item.setting.sync = 'false'
       }
     })
 
@@ -103,8 +105,14 @@
     if (search && search.length > 0) {
       searchlist = Utils.initMainSearch(search)
     }
+
     if (setting.useMSearch === 'true') {
-      searchlist = [...mainSearch, ...searchlist]
+      let keys = searchlist.map(item => item.key)
+      mainSearch.forEach(item => {
+        if (!keys.includes(item.key)) {
+          searchlist.push(item)
+        }
+      })
     }
 
     let arr_field = columns.map(col => col.field)
@@ -251,22 +259,24 @@
             <AntvTabs config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
           </Col>
         )
-      } else if (item.type === 'card') {
-        if (item.subtype === 'datacard') {
-          return (
-            <Col span={item.width} key={item.uuid}>
-              <DataCard config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
-            </Col>
-          )
-        } else if (item.subtype === 'propcard') {
-          return (
-            <Col span={item.width} key={item.uuid}>
-              <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
-            </Col>
-          )
-        } else {
-          return null
-        }
+      } else if (item.type === 'card' && item.subtype === 'datacard') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
+          </Col>
+        )
+      } else if (item.type === 'card' && item.subtype === 'propcard') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
+          </Col>
+        )
+      } else if (item.type === 'table' && item.subtype === 'tablecard') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} />
+          </Col>
+        )
       } else {
         return null
       }

--
Gitblit v1.8.0