From 5515a793e08f2c9f0c8116960d3043f5bd32ccad Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 15 六月 2021 11:07:02 +0800 Subject: [PATCH] 2021-06-15 --- src/tabviews/custom/components/form/normal-form/index.jsx | 70 ++++++++++++++++++++++------------ 1 files changed, 45 insertions(+), 25 deletions(-) diff --git a/src/tabviews/custom/components/form/normal-form/index.jsx b/src/tabviews/custom/components/form/normal-form/index.jsx index aa6387c..03e0350 100644 --- a/src/tabviews/custom/components/form/normal-form/index.jsx +++ b/src/tabviews/custom/components/form/normal-form/index.jsx @@ -33,7 +33,6 @@ BID: '', // 涓婄骇ID config: null, // 鍥捐〃閰嶇疆淇℃伅 loading: false, // 鏁版嵁鍔犺浇鐘舵�� - activeKey: '', // 閫変腑鏁版嵁 sync: false, // 鏄惁缁熶竴璇锋眰鏁版嵁 data: null, // 鏁版嵁 group: null, @@ -66,6 +65,7 @@ group.subButton.uuid = group.uuid group.subButton.$menuId = group.uuid group.subButton.Ot = 'requiredSgl' + group.subButton.$forbid = true group.subButton.OpenType = 'formSubmit' group.subButton.execError = 'never' @@ -180,6 +180,26 @@ MKEmitter.emit('reloadData', btn.syncComponentId) // 鍚岀骇鏍囩鍒锋柊 } + if (config.wrap.datatype !== 'static' && config.setting) { + this.loadData(btn) + } else { + this.execSuccess(btn) + } + } + + 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) { + this.setState({ BID: id }, () => { + this.loadData() + }) + } + } + + execSuccess = (btn) => { + const { config, group } = this.state + if (config.subcards.length > group.sort) { let _group = config.subcards.filter(item => item.sort === (group.sort + 1))[0] @@ -217,17 +237,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) { - this.setState({ BID: id }, () => { - this.loadData() - }) - } - } - - async loadData () { + async loadData (btn) { const { mainSearch, menuType } = this.props const { config, arr_field, BID, group } = this.state @@ -236,6 +246,7 @@ data: {}, loading: false }) + btn && this.execSuccess(btn) return } @@ -254,6 +265,7 @@ this.setState({ loading: false }) + btn && this.execSuccess(btn) return } @@ -267,20 +279,27 @@ let result = await Api.genericInterface(param) if (result.status) { let _data = result.data && result.data[0] ? result.data[0] : {} - let _group = group - if (config.wrap.statusControl && _data[config.wrap.statusControl]) { - let _status = _data[config.wrap.statusControl] - let _groups = config.subcards.filter(item => item.setting.status === _status)[0] - _group = _groups || _group - } - this.setState({ - group: _group, - step: _group.sort - 1, - activeKey: '', - data: _data || {}, - loading: false - }) + if (btn) { + this.setState({ + data: _data || {}, + loading: false + }) + this.execSuccess(btn) + } else { + let _group = group + if (config.wrap.statusControl && _data[config.wrap.statusControl]) { + let _status = _data[config.wrap.statusControl] + let _groups = config.subcards.filter(item => item.setting.status === _status)[0] + _group = _groups || _group + } + this.setState({ + group: _group, + step: _group.sort - 1, + data: _data || {}, + loading: false + }) + } } else { this.setState({ loading: false, @@ -290,6 +309,7 @@ message: result.message, duration: 10 }) + btn && this.execSuccess(btn) } } -- Gitblit v1.8.0