From f267d04e0561a0a20d1f2a9f558a273558ece90d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 24 五月 2021 17:50:19 +0800
Subject: [PATCH] 2021-05-24

---
 src/tabviews/custom/components/share/tabtransfer/index.jsx |   76 +++++++++++++++++++++++++++++---------
 1 files changed, 58 insertions(+), 18 deletions(-)

diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx
index 8b8a49b..555b730 100644
--- a/src/tabviews/custom/components/share/tabtransfer/index.jsx
+++ b/src/tabviews/custom/components/share/tabtransfer/index.jsx
@@ -26,6 +26,10 @@
 const NormalGroup = asyncComponent(() => import('@/tabviews/custom/components/group/normal-group'))
 const BraftEditor = asyncComponent(() => import('@/tabviews/custom/components/editor/braft-editor'))
 const SandBox = asyncComponent(() => import('@/tabviews/custom/components/code/sand-box'))
+const NormalForm = asyncComponent(() => import('@/tabviews/custom/components/form/normal-form'))
+const NormalTree = asyncComponent(() => import('@/tabviews/custom/components/tree/antd-tree'))
+const CarouselDataCard = asyncComponent(() => import('@/tabviews/custom/components/carousel/data-card'))
+const CarouselPropCard = asyncComponent(() => import('@/tabviews/custom/components/carousel/prop-card'))
 
 class TabTransfer extends Component {
   static propTpyes = {
@@ -58,6 +62,8 @@
       _mainSearch = fromJS(mainSearch).toJS()
     }
 
+    let isEmpty = _mainSearch.filter(item => item.required && (!item.value || item.value.length === 0)).length > 0
+
     let params = []
     config.components.forEach(item => {
       if (item.type === 'tabs' || item.type === 'group') return
@@ -66,8 +72,32 @@
       if (!item.format) return
 
       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)
+        if (isEmpty && item.setting.useMSearch === 'true') {
+          item.setting.sync = 'false'
+          item.setting.onload = 'false'
+        } else {
+          let searchlist = []
+          if (item.search && item.search.length > 0) {
+            searchlist = Utils.initMainSearch(item.search)
+          }
+
+          let _empty = searchlist.filter(cell => cell.required && (!cell.value || cell.value.length === 0)).length > 0
+  
+          if (_empty) {
+            item.setting.sync = 'false'
+            item.setting.onload = 'false'
+          } else {
+            if (item.setting.useMSearch === 'true') {
+              let keys = searchlist.map(item => item.key)
+              _mainSearch.forEach(item => {
+                if (!keys.includes(item.key)) {
+                  searchlist.push(item)
+                }
+              })
+            }
+            params.push(this.getDefaultParam(item, searchlist))
+          }
+        }
       } else {
         item.setting.sync = 'false'
       }
@@ -91,22 +121,8 @@
   /**
    * @description 鑾峰彇绯荤粺瀛樺偍杩囩▼ sPC_Get_TableData 鐨勫弬鏁�
    */
-  getDefaultParam = (component, mainSearch) => {
-    const { columns, search, setting, dataName, format } = component
-    
-    let searchlist = []
-    if (search && search.length > 0) {
-      searchlist = Utils.initMainSearch(search)
-    }
-
-    if (setting.useMSearch === 'true') {
-      let keys = searchlist.map(item => item.key)
-      mainSearch.forEach(item => {
-        if (!keys.includes(item.key)) {
-          searchlist.push(item)
-        }
-      })
-    }
+  getDefaultParam = (component, searchlist) => {
+    const { columns, setting, dataName, format } = component
 
     let arr_field = columns.map(col => col.field)
     let _dataresource = setting.dataresource
@@ -310,6 +326,18 @@
             <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
           </Col>
         )
+      } else if (item.type === 'carousel' && item.subtype === 'datacard') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <CarouselDataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
+      } else if (item.type === 'carousel' && item.subtype === 'propcard') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <CarouselPropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
       } else if (item.type === 'table' && item.subtype === 'tablecard') {
         return (
           <Col span={item.width} key={item.uuid}>
@@ -328,6 +356,18 @@
             <NormalGroup config={item} bids={bids} mainSearch={mainSearch} menuType={menuType} />
           </Col>
         )
+      } else if (item.type === 'form') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <NormalForm config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
+      } else if (item.type === 'tree') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <NormalTree config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
       } else if (item.type === 'editor') {
         return (
           <Col span={item.width} key={item.uuid}>

--
Gitblit v1.8.0