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 |  102 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 82 insertions(+), 20 deletions(-)

diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx
index 01d2693..555b730 100644
--- a/src/tabviews/custom/components/share/tabtransfer/index.jsx
+++ b/src/tabviews/custom/components/share/tabtransfer/index.jsx
@@ -16,13 +16,20 @@
 const AntvBarAndLine = asyncComponent(() => import('@/tabviews/custom/components/chart/antv-bar-line'))
 const MainSearch = asyncComponent(() => import('@/tabviews/zshare/topSearch'))
 const AntvPie = asyncComponent(() => import('@/tabviews/custom/components/chart/antv-pie'))
+const AntvDashboard = asyncComponent(() => import('@/tabviews/custom/components/chart/antv-dashboard'))
 const AntvTabs = asyncComponent(() => import('@/tabviews/custom/components/tabs/antv-tabs'))
 const DataCard = asyncComponent(() => import('@/tabviews/custom/components/card/data-card'))
+const AntvScatter = asyncComponent(() => import('@/tabviews/custom/components/chart/antv-scatter'))
 const TableCard = asyncComponent(() => import('@/tabviews/custom/components/card/table-card'))
+const NormalTable = asyncComponent(() => import('@/tabviews/custom/components/table/normal-table'))
 const PropCard = asyncComponent(() => import('@/tabviews/custom/components/card/prop-card'))
 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 = {
@@ -55,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
@@ -63,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'
       }
@@ -88,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
@@ -167,6 +186,7 @@
     let diffUser = false
     let userName = sessionStorage.getItem('User_Name') || ''
     let fullName = sessionStorage.getItem('Full_Name') || ''
+    let city = sessionStorage.getItem('city') || ''
 
     if (sessionStorage.getItem('isEditState') === 'true') {
       userName = sessionStorage.getItem('CloudUserName') || ''
@@ -177,8 +197,8 @@
       let _script = item.script
 
       if (index === 0) {
-        _script = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50)
-          select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}'
+        _script = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000),@UserName nvarchar(50),@FullName nvarchar(50),@login_city nvarchar(50)
+          select @ErrorCode='',@retmsg ='',@UserName='${userName}', @FullName='${fullName}', @login_city='${city}'
           ${_script}
         `
       }
@@ -270,6 +290,18 @@
             <AntvPie data={data} config={item} BID={BID} mainSearch={mainSearch} menuType={menuType} />
           </Col>
         )
+      } else if (item.type === 'dashboard') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <AntvDashboard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
+      } else if (item.type === 'scatter') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <AntvScatter config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
       } else if (item.type === 'search') {
         return (
           <Col span={item.width} key={item.uuid}>
@@ -294,18 +326,48 @@
             <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}>
             <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
           </Col>
         )
+      } else if (item.type === 'table' && item.subtype === 'normaltable') {
+        return (
+          <Col span={item.width} key={item.uuid}>
+            <NormalTable config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} />
+          </Col>
+        )
       } else if (item.type === 'group' && item.subtype === 'normalgroup') {
         return (
           <Col span={item.width} key={item.uuid}>
             <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