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/normal-form/index.jsx | 40 +++++++++++++++++++++++++--------------- 1 files changed, 25 insertions(+), 15 deletions(-) diff --git a/src/tabviews/custom/components/form/normal-form/index.jsx b/src/tabviews/custom/components/form/normal-form/index.jsx index 3d7cd2b..1fdc49f 100644 --- a/src/tabviews/custom/components/form/normal-form/index.jsx +++ b/src/tabviews/custom/components/form/normal-form/index.jsx @@ -50,12 +50,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) { @@ -71,10 +71,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' @@ -125,7 +131,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) } }) } @@ -158,12 +166,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} } } if (config.wrap.statusControl && _data[config.wrap.statusControl]) { @@ -199,12 +207,12 @@ 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 (config.wrap.datatype !== 'static' && config.setting) { - this.loadData() + if (!btn.syncComponentId || btn.syncComponentId !== config.setting.supModule) { + if (config.wrap.datatype !== 'static' && config.setting) { + this.loadData() + } } if (id) { @@ -216,7 +224,9 @@ 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 || id !== '') { this.setState({ BID: id }, () => { this.loadData() @@ -262,7 +272,7 @@ if (config.wrap.datatype === 'static' || (config.setting.supModule && !BID)) { this.setState({ - data: {} + data: {$$empty: true} }) return } @@ -283,7 +293,7 @@ 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 if (type === 'refresh') { @@ -298,7 +308,7 @@ this.setState({ group: null, step: _group.sort - 1, - data: _data || {}, + data: _data || {$$empty: true}, loading: false }, () => { this.setState({group: _group}) @@ -382,7 +392,7 @@ btn={group.subButton} setting={config.setting} columns={config.columns} - selectedData={[data]} + selectedData={data.$$empty ? [] : [data]} /> {group.nextButton.enable === 'true' && group.sort !== config.subcards.length ? <Button type="link" className="skip" onClick={this.nextStep} style={group.nextButton.style}>{group.nextButton.label}</Button> : null} </div> : null} -- Gitblit v1.8.0