From 21d92eff0e23974d76e3e5a79ba50e3fc1c0b879 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 15 四月 2022 01:08:15 +0800 Subject: [PATCH] 2022-04-15 --- src/tabviews/custom/components/form/tab-form/index.jsx | 45 ++++++++++++++++++++++++++------------------- 1 files changed, 26 insertions(+), 19 deletions(-) diff --git a/src/tabviews/custom/components/form/tab-form/index.jsx b/src/tabviews/custom/components/form/tab-form/index.jsx index 98bb970..a3f9f60 100644 --- a/src/tabviews/custom/components/form/tab-form/index.jsx +++ b/src/tabviews/custom/components/form/tab-form/index.jsx @@ -49,12 +49,12 @@ if (_sync && data && data[config.dataName]) { _data = data[config.dataName] if (Array.isArray(_data)) { - _data = _data[0] || {} + _data = _data[0] || {$$empty: true} } _sync = false } } else { - _data = {} + _data = {$$empty: true} } if (!config.wrap.groupLabel) { @@ -70,10 +70,16 @@ config.subcards = config.subcards.map(group => { group.subButton.uuid = group.uuid group.subButton.$menuId = group.uuid - group.subButton.Ot = 'requiredSgl' + group.subButton.Ot = config.wrap.datatype === 'static' ? 'notRequired' : 'requiredSgl' group.subButton.$forbid = true group.subButton.OpenType = 'formSubmit' group.subButton.execError = 'never' + + group.subButton.syncComponentId = group.subButton.syncComponent ? group.subButton.syncComponent.pop() : '' + + if (group.subButton.syncComponentId === config.uuid) { + group.subButton.syncComponentId = '' + } if (group.subButton.enable === 'false') { group.subButton.style.display = 'none' @@ -111,7 +117,9 @@ arr_field: config.columns.map(col => col.field).join(','), }, () => { if (config.wrap.datatype !== 'static' && config.setting && config.setting.sync !== 'true' && config.setting.onload === 'true') { - this.loadData() + setTimeout(() => { + this.loadData() + }, config.setting.delay || 0) } }) } @@ -144,12 +152,12 @@ const { sync, config, group } = this.state if (sync && !is(fromJS(this.props.data), fromJS(nextProps.data))) { - let _data = {} + let _data = {$$empty: true} let _group = group if (nextProps.data && nextProps.data[config.dataName]) { _data = nextProps.data[config.dataName] if (Array.isArray(_data)) { - _data = _data[0] || {} + _data = _data[0] || {$$empty: true} } } @@ -182,16 +190,16 @@ if (group.uuid !== menuId) return - if (btn.syncComponentId && btn.syncComponentId !== config.uuid && btn.syncComponentId !== config.setting.supModule) { - MKEmitter.emit('reloadData', btn.syncComponentId) // 鍚岀骇鏍囩鍒锋柊 + btn.syncComponentId && MKEmitter.emit('reloadData', btn.syncComponentId) + + if (!btn.syncComponentId || btn.syncComponentId !== config.setting.supModule) { + if (config.wrap.datatype !== 'static' && config.setting) { + this.loadData() + } } if (id) { MKEmitter.emit('resetSelectLine', config.uuid, id, '') - } - - if (config.wrap.datatype !== 'static' && config.setting) { - this.loadData() } this.execSuccess(btn, id) @@ -200,7 +208,7 @@ resetParentParam = (MenuID, id) => { const { config } = this.state if (config.wrap.datatype === 'static' || !config.setting.supModule || config.setting.supModule !== MenuID) return - if (id !== this.state.BID) { + if (id !== this.state.BID || id !== '') { this.setState({ BID: id }, () => { this.loadData() }) @@ -216,14 +224,13 @@ let newtab = { ...menu, - selected: true, param: {$BID: id || ''} } if (['linkage_navigation', 'linkage', 'menu_board'].includes(window.GLOB.navBar)) { MKEmitter.emit('modifyTabs', newtab, 'replace') } else { - MKEmitter.emit('modifyTabs', newtab, 'plus') + MKEmitter.emit('modifyTabs', newtab, 'plus', true) } } } @@ -234,7 +241,7 @@ if (config.wrap.datatype === 'static' || (config.setting.supModule && !BID)) { this.setState({ - data: {} + data: {$$empty: true} }) return } @@ -255,13 +262,13 @@ let result = await Api.genericInterface(param) if (result.status) { - let _data = result.data && result.data[0] ? result.data[0] : {} + let _data = result.data && result.data[0] ? result.data[0] : {$$empty: true} let _group = group this.setState({ group: null, - data: _data || {}, + data: _data || {$$empty: true}, loading: false }, () => { this.setState({group: _group}) @@ -329,7 +336,7 @@ btn={group.subButton} setting={config.setting} columns={config.columns} - selectedData={[data]} + selectedData={data.$$empty ? [] : [data]} /> </div> : null} </div> -- Gitblit v1.8.0