From 5046d0d13dc6a8563b8e54e31913bc44cfa1072f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 26 四月 2022 19:23:18 +0800 Subject: [PATCH] 2022-04-26 --- src/tabviews/custom/components/form/tab-form/index.jsx | 40 ++++++++++++++++++++++++---------------- 1 files changed, 24 insertions(+), 16 deletions(-) diff --git a/src/tabviews/custom/components/form/tab-form/index.jsx b/src/tabviews/custom/components/form/tab-form/index.jsx index 20cfcac..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) @@ -233,7 +241,7 @@ if (config.wrap.datatype === 'static' || (config.setting.supModule && !BID)) { this.setState({ - data: {} + data: {$$empty: true} }) return } @@ -254,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}) @@ -328,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