From 004176924ce35c96600f5c18e85478944de8bec6 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 14 一月 2023 16:46:50 +0800
Subject: [PATCH] 2023-01-14

---
 src/tabviews/custom/components/table/normal-table/index.jsx |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx
index 87c85cb..1d2123d 100644
--- a/src/tabviews/custom/components/table/normal-table/index.jsx
+++ b/src/tabviews/custom/components/table/normal-table/index.jsx
@@ -234,6 +234,10 @@
 
     let result = await Api.genericInterface(param)
     if (result.status) {
+      if (config.$cache && pageIndex === 1) {
+        Api.writeCacheConfig(config.uuid, result.data || '')
+      }
+      
       if ((setting.selected !== 'false' || (setting.orisel && id)) && result.data && result.data.length > 0) {
         setTimeout(() => {
           MKEmitter.emit('mkCheckTopLine', config.uuid, id, setting.selected)
@@ -657,7 +661,7 @@
   }
 
   componentDidMount () {
-    const { config } = this.state
+    const { config, sync, setting } = this.state
 
     MKEmitter.addListener('reloadData', this.reloadData)
     MKEmitter.addListener('resetSelectLine', this.resetParentParam)
@@ -675,6 +679,35 @@
         })
       })
     }
+
+    if (config.$cache && (config.setting.sync !== 'true' || sync)) {
+      Api.getLCacheConfig(config.uuid).then(res => {
+        if (!res) return
+
+        this.setState({data: res.map((item, index) => {
+          item.key = index
+          item.$$uuid = item[config.setting.primaryKey] || ''
+          item.$$key = '' + item.key + item.$$uuid
+          item.$Index = index + 1 + ''
+
+          if (config.absFields) {
+            config.absFields.forEach(f => {
+              if (!isNaN(item[f])) {
+                item[f] = Math.abs(item[f])
+              }
+            })
+          }
+
+          if (setting.controlField) {
+            if (setting.controlVal.includes(item[setting.controlField])) {
+              item.$disabled = true
+            }
+          }
+          
+          return item
+        })})
+      })
+    }
   }
 
   /**

--
Gitblit v1.8.0