From f3d4db769ba9b51b799d981511a710fd443d0e08 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 21 四月 2025 12:18:03 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/tabviews/custom/components/interfaces/interItem/index.jsx |   83 ++++++++++++++++++++++-------------------
 1 files changed, 45 insertions(+), 38 deletions(-)

diff --git a/src/tabviews/custom/components/interfaces/interItem/index.jsx b/src/tabviews/custom/components/interfaces/interItem/index.jsx
index 893397e..bd37fa6 100644
--- a/src/tabviews/custom/components/interfaces/interItem/index.jsx
+++ b/src/tabviews/custom/components/interfaces/interItem/index.jsx
@@ -1,6 +1,5 @@
-import {Component} from 'react'
+import { Component } from 'react'
 import PropTypes from 'prop-types'
-import { notification, Modal } from 'antd'
 
 import Api from '@/api'
 import UtilsDM from '@/utils/utils-datamanage.js'
@@ -16,6 +15,7 @@
   }
 
   loading = false
+  loadTimer = null
   
   state = {
     BID: ''
@@ -40,11 +40,13 @@
     }
 
     if (config.setting.onload !== 'false') {
-      setTimeout(() => {
-        this.loadData()
-      }, config.setting.delay)
+      this.loadData()
     } else {
       MKEmitter.addListener('initFinish', this.initFinish)
+    }
+
+    if (config.setting.useMSearch) {
+      MKEmitter.addListener('searchRefresh', this.searchRefresh)
     }
 
     MKEmitter.addListener('reloadData', this.reloadData)
@@ -63,7 +65,16 @@
     this.timer && this.timer.stop()
     MKEmitter.removeListener('initFinish', this.initFinish)
     MKEmitter.removeListener('reloadData', this.reloadData)
+    MKEmitter.removeListener('searchRefresh', this.searchRefresh)
     MKEmitter.removeListener('resetSelectLine', this.resetParentParam)
+  }
+
+  searchRefresh = (searchId) => {
+    const { config } = this.props
+
+    if (config.$searchId !== searchId) return
+    
+    this.loadData()
   }
 
   initFinish = (MenuID) => {
@@ -72,9 +83,7 @@
     if (config.MenuID !== MenuID) return
 
     if (config.setting.onload === 'false') {
-      setTimeout(() => {
-        this.loadData()
-      }, config.setting.delay)
+      this.loadData()
     }
   }
 
@@ -95,22 +104,43 @@
     this.loadData()
   }
 
-  async loadData () {
+  loadData = () => {
+    const { config } = this.props
+
+    this.loadTimer && clearTimeout(this.loadTimer)
+
+    this.loadTimer = setTimeout(() => {
+      this.execLoadData()
+    }, config.setting.delay)
+  }
+
+  async execLoadData () {
     const { config } = this.props
     const { BID } = this.state
 
     if (config.setting.supModule && !BID) {
-      MKEmitter.emit('mkPublicData', config.uuid, { $$empty: true, $$uuid: '' })
-      MKEmitter.emit('resetSelectLine', config.uuid, '', { $$empty: true, $$uuid: '' })
+      setTimeout(() => {
+        MKEmitter.emit('mkPublicData', config.uuid, { $$empty: true, $$uuid: '' })
+        MKEmitter.emit('resetSelectLine', config.uuid, '', { $$empty: true, $$uuid: '' })
+      }, 20)
       this.loading = false
       return
     }
 
     if (this.loading) return
 
+    let searches = []
+    if (config.setting.useMSearch) {
+      searches = window.GLOB.SearchBox.get(config.$searchId) || []
+
+      if (window.GLOB.SearchBox.has(config.$searchId + 'required') && searches.filter(item => item.required && item.value === '').length > 0) {
+        return
+      }
+    }
+
     this.loading = true
 
-    let param = UtilsDM.getQueryDataParams(config.setting, config.columns.map(col => col.field).join(','), [], config.setting.order, 1, 1, BID)
+    let param = UtilsDM.getQueryDataParams(config.setting, searches, config.setting.order, 1, 1, BID)
 
     let result = await Api.genericInterface(param)
     if (result.status) {
@@ -131,39 +161,16 @@
         MKEmitter.emit('interFinish', config.MenuID, config.uuid)
       }
 
-      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.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
-        })
-      }
 
       if (config.setting.loadlevel === 'init') {
         MKEmitter.emit('interFinish', config.MenuID, config.uuid)
       }
+
+      UtilsDM.queryFail(result)
     }
   }
 

--
Gitblit v1.8.0