From 9d65dcb2e35f8091f71110c4de7a04215b63b81e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 08 五月 2021 16:59:28 +0800
Subject: [PATCH] 2021-05-08

---
 src/tabviews/custom/components/group/normal-group/index.jsx |   48 +++++++++++++++++++++++++++++-------------------
 1 files changed, 29 insertions(+), 19 deletions(-)

diff --git a/src/tabviews/custom/components/group/normal-group/index.jsx b/src/tabviews/custom/components/group/normal-group/index.jsx
index bbb9588..2d6e1ff 100644
--- a/src/tabviews/custom/components/group/normal-group/index.jsx
+++ b/src/tabviews/custom/components/group/normal-group/index.jsx
@@ -44,7 +44,7 @@
 
     // 鑾峰彇涓绘悳绱㈡潯浠�
     let _mainSearch = 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') return
@@ -53,8 +53,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'
       }
@@ -76,22 +100,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

--
Gitblit v1.8.0