From a29d9d644a2a30e9ef4afcc6d728c20c218dc359 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 15 六月 2023 14:25:28 +0800
Subject: [PATCH] 2023-06-15

---
 src/tabviews/custom/components/share/tabtransfer/index.jsx |   42 ++++++++++++++++++++++++++++++++++--------
 1 files changed, 34 insertions(+), 8 deletions(-)

diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx
index 2df9942..79c6827 100644
--- a/src/tabviews/custom/components/share/tabtransfer/index.jsx
+++ b/src/tabviews/custom/components/share/tabtransfer/index.jsx
@@ -22,6 +22,7 @@
 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 DoubleDataCard = asyncComponent(() => import('@/tabviews/custom/components/card/double-data-card'))
 const EditTable = asyncComponent(() => import('@/tabviews/custom/components/table/edit-table'))
 const PropCard = asyncComponent(() => import('@/tabviews/custom/components/card/prop-card'))
 const NormalGroup = asyncComponent(() => import('@/tabviews/custom/components/group/normal-group'))
@@ -37,6 +38,7 @@
 const TimeLine = asyncComponent(() => import('@/tabviews/custom/components/timeline/normal-timeline'))
 const CustomChart = asyncComponent(() => import('@/tabviews/custom/components/chart/custom-chart'))
 const MkBaseTable = asyncComponent(() => import('@/tabviews/custom/components/table/base-table'))
+const AntvG6 = asyncComponent(() => import('@/tabviews/custom/components/chart/antv-G6'))
 
 class TabTransfer extends Component {
   static propTpyes = {
@@ -123,14 +125,15 @@
    * @description 涓昏〃鏁版嵁鍔犺浇
    */ 
   loadmaindata = (params) => {
+    const { config } = this.props
     let BID = ''
-    let BData = window.GLOB.CacheData.get(this.props.config.$pageId)
+    let BData = window.GLOB.CacheData.get(config.$pageId)
 
     if (BData) {
       BID = BData.$BID || ''
     }
 
-    let param = getStructuredParams(params, this.props.config, BID)
+    let param = getStructuredParams(params, config, BID)
 
     Api.genericInterface(param).then(result => {
       if (result.status) {
@@ -138,6 +141,16 @@
         delete result.message
         delete result.ErrMesg
         delete result.ErrCode
+
+        if (config.$cache) {
+          params.forEach((item) => {
+            let _data = result[item.name] || ''
+            if (_data && !Array.isArray(_data)) {
+              _data = [_data]
+            }
+            Api.writeCacheConfig(item.uuid, _data)
+          })
+        }
 
         this.setState({
           data: result
@@ -161,13 +174,10 @@
     })
   }
 
-  getComponents = () => {
-    const { config } = this.props
+  getComponents = (components) => {
     const { mainSearch, data } = this.state
 
-    if (!config || !config.components || config.components.length === 0) return (<Empty description={false} />)
-
-    return config.components.map(item => {
+    return components.map(item => {
       let style = null
 
       if (item.style && item.style.clear === 'left') {
@@ -190,6 +200,12 @@
         return (
           <Col span={item.width} style={style} key={item.uuid}>
             <NormalTable config={item} data={data} mainSearch={mainSearch}/>
+          </Col>
+        )
+      } else if (item.type === 'card' && item.subtype === 'dualdatacard') {
+        return (
+          <Col span={item.width} style={style} key={item.uuid}>
+            <DoubleDataCard config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'bar' || item.type === 'line') {
@@ -323,6 +339,12 @@
             <CustomChart config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
+      } else if (item.type === 'antvG6') {
+        return (
+          <Col span={item.width} style={style} key={item.uuid}>
+            <AntvG6 config={item} data={data} mainSearch={mainSearch}/>
+          </Col>
+        )
       } else {
         return null
       }
@@ -330,8 +352,12 @@
   }
 
   render() {
+    const { config } = this.props
+
+    if (!config || !config.components || config.components.length === 0) return (<Empty description={false} />)
+
     return (
-      <Row className="component-wrap" gutter={8}>{this.getComponents()}</Row>
+      <Row className="component-wrap" id={'anchor' + config.uuid} gutter={8}>{this.getComponents(config.components)}</Row>
     )
   }
 }

--
Gitblit v1.8.0