From 2aa5ab63b4bbce5c36dbb3511b205b3b5f6af9bd Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 07 五月 2024 11:34:20 +0800
Subject: [PATCH] 2024-05-07

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

diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx
index a1492a3..88851eb 100644
--- a/src/tabviews/custom/components/table/normal-table/index.jsx
+++ b/src/tabviews/custom/components/table/normal-table/index.jsx
@@ -1,7 +1,7 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
-import { notification, Collapse, Modal } from 'antd'
+import { Collapse } from 'antd'
 
 import Api from '@/api'
 import UtilsDM from '@/utils/utils-datamanage.js'
@@ -43,6 +43,7 @@
   }
 
   loaded = false
+  supModules = []
 
   /**
    * @description 鍒濆鍖栧鐞�
@@ -151,6 +152,10 @@
       _config.colsCtrls = null
     }
 
+    // if (_config.hasExtend) {
+
+    // }
+
     this.setState({
       pageSize: setting.pageSize || 10,
       BID: BID || '',
@@ -199,6 +204,8 @@
     }
 
     this.initExec()
+
+    this.autoExec()
   }
 
   /**
@@ -301,6 +308,25 @@
     }
   }
 
+  autoExec = (times) => {
+    const { config } = this.state
+
+    if (!config.wrap.autoExec) return
+
+    let btn = document.getElementById('button' + config.wrap.autoExec)
+
+    this.autoTimer && clearTimeout(this.autoTimer)
+
+    if (btn) {
+      MKEmitter.emit('triggerBtnId', config.wrap.autoExec, [])
+    } else if (!times || times < 20) {
+      times = times ? times + 1 : 1
+      this.autoTimer = setTimeout(() => {
+        this.autoExec(times)
+      }, 1000)
+    }
+  }
+
   transferSyncData = (syncId) => {
     const { config } = this.state
 
@@ -369,6 +395,7 @@
       this.setState({
         data: [],
         selectedData: [],
+        loading: false,
         total: 0
       })
       
@@ -379,6 +406,7 @@
       }
 
       this.loaded = true
+      this.requestId = ''
       return
     }
 
@@ -406,8 +434,12 @@
     let _orderBy = orderBy || setting.order
     let param = UtilsDM.getQueryDataParams(setting, searches, _orderBy, pageIndex, pageSize, BID)
 
-    let result = await Api.genericInterface(param)
+    this.requestId = config.uuid + new Date().getTime()
+
+    let result = await Api.genericInterface(param, '', '', this.requestId)
     if (result.status) {
+      if (result.$requestId && this.requestId !== result.$requestId) return
+      
       this.loaded = true
       if (config.$cache && type === 'init') {
         Api.writeCacheConfig(config.uuid, result.data || [], BID)
@@ -502,37 +534,14 @@
         }
       }
 
-      if (result.message) {
-        if (result.ErrCode === 'Y') {
-          Modal.success({
-            title: result.message
-          })
-        } else if (result.ErrCode === 'S') {
-          notification.success({
-            top: 92,
-            message: result.message,
-            duration: 2
-          })
-        }
-      }
+      UtilsDM.querySuccess(result)
     } else {
       this.setState({
         loading: false
       })
       this.timer && this.timer.stop()
       
-      if (!result.message) return
-      if (result.ErrCode === 'N') {
-        Modal.error({
-          title: result.message,
-        })
-      } else if (result.ErrCode !== '-2') {
-        notification.error({
-          top: 92,
-          message: result.message,
-          duration: 10
-        })
-      }
+      UtilsDM.queryFail(result)
     }
   }
 
@@ -658,11 +667,8 @@
       this.setState({
         loading: false
       })
-      notification.error({
-        top: 92,
-        message: result.message,
-        duration: 10
-      })
+      
+      UtilsDM.queryFail(result)
     }
   }
 
@@ -753,18 +759,41 @@
   }
 
   resetParentParam = (MenuID, id, data) => {
-    const { setting } = this.state
+    const { config, setting } = this.state
 
-    if (!setting.supModule || setting.supModule !== MenuID) return
+    if (config.supNodes) {
+      if (!config.supNodes.includes(MenuID)) return
+      this.supModules = this.supModules.filter(item => item.key !== MenuID)
+      let bid = ''
+      let _data = null
 
-    if (id !== this.state.BID || id !== '') {
-      this.setState({
-        pageIndex: 1,
-        BID: id,
-        BData: data
-      }, () => {
-        this.loadmaindata(true, 'true')
-      })
+      if (id) {
+        this.supModules.push({key: MenuID, value: id, data})
+      }
+      if (this.supModules.length > 0) {
+        bid = this.supModules[this.supModules.length - 1].value
+        _data = this.supModules[this.supModules.length - 1].data
+      }
+
+      if (bid !== this.state.BID || bid !== '') {
+        this.setState({ BID: bid, BData: _data, pageIndex: 1 }, () => {
+          this.loadmaindata(true, 'true')
+        })
+      }
+    } else {
+      if (!setting.supModule || setting.supModule !== MenuID) return
+  
+      if (id !== this.state.BID || id !== '') {
+        this.setState({
+          pageIndex: 1,
+          BID: id,
+          BData: data
+        }, () => {
+          if (!setting.checkBid) {
+            this.loadmaindata(true, 'true')
+          }
+        })
+      }
     }
   }
 
@@ -779,16 +808,41 @@
 
     if (config.uuid !== menuId) return
 
-    if (position === 'line' || position === 'line_grid') {
-      if (lines && lines.length === 1) {
-        this.loadLinedata(lines[0].$$uuid, position)
+    if (config.supNodes) {
+      if (position === 'mainline' || position === 'popclose') {
+        let supNode = this.supModules[this.supModules.length - 1]
+        config.supNodes.forEach((item, i) => {
+          setTimeout(() => {
+            if (supNode && supNode.key === item) {
+              MKEmitter.emit('reloadData', item, supNode.value)
+            } else {
+              MKEmitter.emit('reloadData', item)
+            }
+          }, i * 10)
+        })
+      } else {
+        if (position === 'line' || position === 'line_grid') {
+          if (lines && lines.length === 1) {
+            this.loadLinedata(lines[0].$$uuid, position)
+          } else {
+            this.reloadtable(btn, id)
+          }
+        } else {
+          this.reloadtable(btn, id)
+        }
+      }
+    } else {
+      if (position === 'line' || position === 'line_grid') {
+        if (lines && lines.length === 1) {
+          this.loadLinedata(lines[0].$$uuid, position)
+        } else {
+          this.reloadtable(btn, id)
+        }
+      } else if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠�
+        MKEmitter.emit('reloadData', config.setting.supModule, BID)
       } else {
         this.reloadtable(btn, id)
       }
-    } else if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠�
-      MKEmitter.emit('reloadData', config.setting.supModule, BID)
-    } else {
-      this.reloadtable(btn, id)
     }
   }
 

--
Gitblit v1.8.0