From 07c005cf28acf74e3afde82122e4c53e1000d70c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 12 六月 2023 12:06:18 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/tabviews/custom/components/share/tabtransfer/index.jsx |  186 +++++++++++++++++++++++++++++-----------------
 1 files changed, 118 insertions(+), 68 deletions(-)

diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx
index 1fbd303..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'))
@@ -34,11 +35,13 @@
 const CarouselDataCard = asyncComponent(() => import('@/tabviews/custom/components/carousel/data-card'))
 const CarouselPropCard = asyncComponent(() => import('@/tabviews/custom/components/carousel/prop-card'))
 const Balcony = asyncComponent(() => import('@/tabviews/custom/components/card/balcony'))
+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 = {
-    bids: PropTypes.any,             // 鐖剁骇Id闆�
     config: PropTypes.object,        // 缁勪欢閰嶇疆淇℃伅
     mainSearch: PropTypes.any,       // 鍏ㄥ眬鎼滅储鏉′欢
   }
@@ -74,7 +77,7 @@
       if (!item.setting || item.setting.interType !== 'system') return
       if (!item.format) return
 
-      if (item.dataName && (!item.pageable || (item.pageable && !item.setting.laypage)) && item.setting.onload === 'true' && item.setting.sync === 'true') {
+      if ((!item.pageable || (item.pageable && !item.setting.laypage)) && item.setting.onload === 'true' && item.setting.sync === 'true') {
         let searchlist = []
         if (item.search && item.search.length > 0) {
           searchlist = Utils.initMainSearch(item.search)
@@ -122,14 +125,32 @@
    * @description 涓昏〃鏁版嵁鍔犺浇
    */ 
   loadmaindata = (params) => {
-    let param = getStructuredParams(params, this.props.config, this.props.BID || '')
+    const { config } = this.props
+    let BID = ''
+    let BData = window.GLOB.CacheData.get(config.$pageId)
 
-    Api.getLocalConfig(param).then(result => {
+    if (BData) {
+      BID = BData.$BID || ''
+    }
+
+    let param = getStructuredParams(params, config, BID)
+
+    Api.genericInterface(param).then(result => {
       if (result.status) {
         delete result.status
         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
@@ -153,150 +174,175 @@
     })
   }
 
-  getComponents = () => {
-    const { bids, config } = this.props
+  getComponents = (components) => {
     const { mainSearch, data } = this.state
 
-    if (!config || !config.components || config.components.length === 0) return (<Empty description={false} />)
+    return components.map(item => {
+      let style = null
 
-    return config.components.map(item => {
-      let BID = this.props.BID || ''
-      let BData = ''
-      if (item.setting && item.setting.supModule) {
-        BID = bids[item.setting.supModule] || ''
-        BData = bids[item.setting.supModule + '_data'] || ''
+      if (item.style && item.style.clear === 'left') {
+        style = {clear: 'left'}
       }
 
-      if (item.type === 'bar' || item.type === 'line') {
+      if (item.type === 'card' && item.subtype === 'datacard') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <AntvBarAndLine data={data} config={item} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <DataCard config={item} data={data} mainSearch={mainSearch}/>
+          </Col>
+        )
+      } else if (item.type === 'card' && item.subtype === 'propcard') {
+        return (
+          <Col span={item.width} style={style} key={item.uuid}>
+            <PropCard config={item} data={data} mainSearch={mainSearch}/>
+          </Col>
+        )
+      } else if (item.type === 'table' && item.subtype === 'normaltable') {
+        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') {
+        return (
+          <Col span={item.width} style={style} key={item.uuid}>
+            <AntvBarAndLine data={data} config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'pie') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <AntvPie data={data} config={item} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <AntvPie data={data} config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'dashboard') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <AntvDashboard config={item} data={data} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <AntvDashboard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'scatter') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <AntvScatter config={item} data={data} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <AntvScatter config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'search') {
+        let BID = ''
+        let BData = window.GLOB.CacheData.get(item.$pageId)
+        if (BData) {
+          BID = BData.$BID || ''
+        }
         return (
-          <Col span={item.width} key={item.uuid}>
+          <Col span={item.width} style={style} key={item.uuid}>
             <MainSearch config={item} BID={BID} refreshdata={this.resetSearch} />
           </Col>
         )
       } else if (item.type === 'tabs') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <AntvTabs config={item} BID={BID} bids={bids} mainSearch={mainSearch}/>
-          </Col>
-        )
-      } else if (item.type === 'card' && item.subtype === 'datacard') {
-        return (
-          <Col span={item.width} key={item.uuid}>
-            <DataCard config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
-          </Col>
-        )
-      } else if (item.type === 'card' && item.subtype === 'propcard') {
-        return (
-          <Col span={item.width} key={item.uuid}>
-            <PropCard config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <AntvTabs config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'carousel' && item.subtype === 'datacard') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <CarouselDataCard config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <CarouselDataCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'carousel' && item.subtype === 'propcard') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <CarouselPropCard config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <CarouselPropCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
-      } else if (item.type === 'table' && item.subtype === 'tablecard') {
+      } else if (item.type === 'card' && item.subtype === 'tablecard') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <TableCard config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <TableCard config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
-      } else if (item.type === 'table' && item.subtype === 'normaltable') {
+      } else if (item.type === 'table' && item.subtype === 'basetable') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <NormalTable config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <MkBaseTable config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'table' && item.subtype === 'editable') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <EditTable config={item} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <EditTable config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'group' && item.subtype === 'normalgroup') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <NormalGroup config={item} BID={BID} bids={bids} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <NormalGroup config={item} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'form' && item.subtype === 'simpleform') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <SimpleForm config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <SimpleForm config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'form' && item.subtype === 'stepform') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <StepForm config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <StepForm config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'form' && item.subtype === 'tabform') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <TabForm config={item} data={data} BID={BID} BData={BData} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <TabForm config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'tree') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <NormalTree config={item} data={data} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <NormalTree config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'editor') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <BraftEditor config={item} data={data} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <BraftEditor config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'code') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <SandBox config={item} data={data} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <SandBox config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'balcony') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <Balcony config={item} data={data} BID={BID}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <Balcony config={item} data={data}/>
+          </Col>
+        )
+      } else if (item.type === 'timeline') {
+        return (
+          <Col span={item.width} style={style} key={item.uuid}>
+            <TimeLine config={item} data={data} mainSearch={mainSearch}/>
           </Col>
         )
       } else if (item.type === 'chart') {
         return (
-          <Col span={item.width} key={item.uuid}>
-            <CustomChart config={item} data={data} BID={BID} mainSearch={mainSearch}/>
+          <Col span={item.width} style={style} key={item.uuid}>
+            <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 {
@@ -306,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