From b6c698c8833836971184a0a9c2645a15f8174d37 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 08 五月 2025 16:31:18 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/tabviews/custom/components/form/simple-form/index.jsx |  122 +++++++++++++++++++++++++---------------
 1 files changed, 75 insertions(+), 47 deletions(-)

diff --git a/src/tabviews/custom/components/form/simple-form/index.jsx b/src/tabviews/custom/components/form/simple-form/index.jsx
index 9f8adb5..c3edeff 100644
--- a/src/tabviews/custom/components/form/simple-form/index.jsx
+++ b/src/tabviews/custom/components/form/simple-form/index.jsx
@@ -1,7 +1,7 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
-import { Spin, notification, Modal, Button } from 'antd'
+import { Spin, Button } from 'antd'
 
 import Api from '@/api'
 import UtilsDM from '@/utils/utils-datamanage.js'
@@ -46,8 +46,12 @@
     }
 
     if (_config.wrap.datatype === 'dynamic') {
-      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : 'true'
+      _config.setting.onload = _config.setting.sync === 'true' ? 'false' : _config.setting.onload || 'true'
 
+      if (_config.setting.supModule && !BID) {
+        _config.setting.onload = 'false'
+      }
+      
       if (_config.setting.sync === 'true' && window.GLOB.SyncData.has(_config.dataName)) {
         _data = window.GLOB.SyncData.get(_config.dataName) || []
         _data = _data[0] || {$$empty: true}
@@ -70,6 +74,10 @@
 
     let _group = _config.subcards[0]
 
+    if (_config.wrap.refocus) {
+      _group.setting.refocus = _config.wrap.refocus
+    }
+
     if (_group.subButton.enable === 'false' && (!_group.closeButton || _group.closeButton.enable !== 'true') && (!_group.resetButton || _group.resetButton.enable !== 'true')) {
       _group.subButton.style.display = 'none'
       _group.$button = 'no-button'
@@ -90,6 +98,7 @@
     MKEmitter.addListener('reloadData', this.reloadData)
     MKEmitter.addListener('mkFormSubmit', this.mkFormSubmit)
     MKEmitter.addListener('resetSelectLine', this.resetParentParam)
+    MKEmitter.addListener('queryModuleParam', this.queryModuleParam)
     MKEmitter.addListener('refreshByButtonResult', this.refreshByButtonResult)
 
     if (config.setting.sync === 'true') {
@@ -119,6 +128,7 @@
     MKEmitter.removeListener('searchRefresh', this.searchRefresh)
     MKEmitter.removeListener('resetSelectLine', this.resetParentParam)
     MKEmitter.removeListener('transferSyncData', this.transferSyncData)
+    MKEmitter.removeListener('queryModuleParam', this.queryModuleParam)
     MKEmitter.removeListener('refreshByButtonResult', this.refreshByButtonResult)
   }
 
@@ -175,6 +185,24 @@
     })
   }
 
+  /**
+   * @description 鑾峰彇缁勪欢鎼滅储
+   */
+  queryModuleParam = (menuId, callback) => {
+    const { config } = this.state
+
+    if (config.uuid !== menuId) return
+
+    let searches = []
+    if (config.setting.useMSearch) { // 涓昏〃鎼滅储鏉′欢
+      searches = window.GLOB.SearchBox.get(config.$searchId) || []
+    }
+
+    callback({
+      search: searches
+    })
+  }
+
   reloadData = (menuId, id) => {
     const { config, group } = this.state
 
@@ -213,33 +241,46 @@
 
   /**
    * @description 鎸夐挳鎵ц瀹屾垚鍚庨〉闈㈠埛鏂�
-   * @param {*} menuId     // 鑿滃崟Id
-   * @param {*} position   // 鍒锋柊浣嶇疆
-   * @param {*} btn        // 鎵ц鐨勬寜閽�
    */
-  refreshByButtonResult = (menuId, position, btn, id) => {
+  refreshByButtonResult = (menuId, position, btn, id, lines, res) => {
     const { config, group, BID } = this.state
 
-    if (group.uuid !== menuId) return
+    if (config.uuid !== menuId) return
 
-    if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) {
-      MKEmitter.emit('reloadData', config.setting.supModule, BID)
+    if (position === 'resetData') {
+      let _data = fromJS(this.state.data || {}).toJS()
+
+      Object.keys(_data).forEach(key => {
+        let _key = key.toLowerCase()
+        if (typeof(res[_key]) !== 'undefined') {
+          _data[key] = res[_key]
+        }
+      })
+
+      this.setState({
+        data: _data
+      })
+      return
+    }
+    if (position === 'grid' && config.wrap.refocus) {
+      let _group = fromJS(group).toJS()
+      _group.setting.focus = config.wrap.refocus
+
+      this.setState({
+        group: _group
+      })
+    }
+
+    if (['mainline', 'maingrid', 'popclose'].includes(position) && config.setting.supModule) {
+      MKEmitter.emit('reloadData', config.setting.supModule, position === 'maingrid' ? '' : BID)
     } else if (position === 'grid' && config.wrap.datatype === 'static') {
-      if (config.wrap.refocus && group.setting.focus === config.wrap.refocus) {
-        let _group = fromJS(group).toJS()
-        _group.setting.focus = config.wrap.focus
-  
-        this.setState({
-          group: _group
-        })
-      }
       this.setState({
         data: null
       }, () => {
         this.setState({data: {$$empty: true}})
       })
     } else {
-      this.loadData()
+      this.loadData(position === 'grid')
     }
 
     if (id) {
@@ -267,7 +308,9 @@
         })
       } else {
         this.setState({ BID: id, BData: data }, () => {
-          this.loadData()
+          if (config.wrap.datatype !== 'public') {
+            this.loadData()
+          }
         })
       }
     }
@@ -350,45 +393,22 @@
 
       MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid, _data)
 
-      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,
       })
       
-      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)
     }
   }
 
-  mkFormSubmit = (btnId, callback) => {
+  mkFormSubmit = (btnId, callback, formId) => {
     const { group } = this.state
 
     if (group.uuid !== btnId) return
 
-    this.formRef.handleConfirm().then(res => {
+    this.formRef.handleConfirm(formId).then(res => {
       MKEmitter.emit('triggerFormSubmit', {menuId: btnId, form: res})
     }, () => {
       callback && callback()
@@ -399,6 +419,14 @@
     const { group } = this.state
 
     MKEmitter.emit('closeTabView', group.subButton.$MenuID)
+
+    let tabId = ''
+    if (group.closeButton.refreshTab && group.closeButton.refreshTab.length > 0 && window.GLOB.appType !== 'pc') {
+      tabId = group.closeButton.refreshTab[group.closeButton.refreshTab.length - 1]
+    }
+    if (tabId && group.subButton.$MenuID !== tabId) { // 鍒锋柊褰撳墠鑿滃崟鏃舵棤鏁�
+      MKEmitter.emit('reloadMenuView', tabId)
+    }
   }
 
   resetTab = () => {
@@ -432,7 +460,7 @@
           data={data}
           action={group}
           unload={config.setting.supModule && !BID}
-          inputSubmit={() => this.mkFormSubmit(group.uuid)}
+          inputSubmit={(id) => this.mkFormSubmit(group.uuid, null, id)}
           wrappedComponentRef={(inst) => this.formRef = inst}
         /> : null}
         {data ? <div className={'mk-form-action ' + (group.$button || '')}>

--
Gitblit v1.8.0