From 474c68f0fea10cc62977c67d186732b3346cdd53 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 17 一月 2023 18:04:45 +0800
Subject: [PATCH] 2023-01-17

---
 src/tabviews/custom/components/card/table-card/index.jsx |   28 ++++++++++++++++++++++++++++
 1 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/src/tabviews/custom/components/card/table-card/index.jsx b/src/tabviews/custom/components/card/table-card/index.jsx
index 50e2162..5629e18 100644
--- a/src/tabviews/custom/components/card/table-card/index.jsx
+++ b/src/tabviews/custom/components/card/table-card/index.jsx
@@ -34,6 +34,8 @@
     BData: ''
   }
 
+  loaded = false
+
   /**
    * @description 鍒濆鍖栧鐞�
    * 1銆� initdata 涓烘墦鍗版椂浣跨敤鐨勬暟鎹泦
@@ -104,6 +106,8 @@
 
     _config.wrap.pagestyle = _config.wrap.pagestyle || 'page'
 
+    this.loaded = _data !== null
+
     this.setState({
       sync: _sync,
       BID: BID || '',
@@ -137,6 +141,21 @@
         }, () => {
           this.loadData('timer')
         })
+      })
+    }
+
+    if (config.$cache && !this.loaded) {
+      Api.getLCacheConfig(config.uuid).then(res => {
+        if (!res || this.loaded) return
+
+        let _data = res.map((item, index) => {
+          item.key = index
+          item.$$uuid = item[config.setting.primaryKey] || ''
+          item.$Index = index + 1 + ''
+          return item
+        })
+
+        this.setState({data: _data})
       })
     }
   }
@@ -177,6 +196,8 @@
         item.$Index = index + 1 + ''
         return item
       })
+
+      this.loaded = true
 
       this.setState({sync: false, data: _data})
     } else if (config.setting.useMSearch && nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) {
@@ -263,6 +284,8 @@
         data: [],
         total: 0
       })
+
+      this.loaded = true
       return
     }
 
@@ -297,6 +320,11 @@
         start = config.setting.pageSize * (pageIndex - 1) + 1
       }
 
+      this.loaded = true
+      if (config.$cache && pageIndex === 1) {
+        Api.writeCacheConfig(config.uuid, result.data || '')
+      }
+
       let data = []
 
       if (type === 'plus') {

--
Gitblit v1.8.0