From a9b02f6862522b54d0824152017bf2acfec2af7b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 21 三月 2024 10:29:50 +0800
Subject: [PATCH] 2024-03-21
---
src/tabviews/custom/components/form/simple-form/index.jsx | 71 +++++++++++++++++++++++++++--------
1 files changed, 54 insertions(+), 17 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..b9928e1 100644
--- a/src/tabviews/custom/components/form/simple-form/index.jsx
+++ b/src/tabviews/custom/components/form/simple-form/index.jsx
@@ -70,6 +70,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 +94,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 +124,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 +181,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 +237,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 === '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 ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) {
MKEmitter.emit('reloadData', config.setting.supModule, 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) {
@@ -383,12 +420,12 @@
}
}
- 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()
@@ -432,7 +469,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