From 0ae7068208a32226f8f8812641f31646fb8b54c9 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 29 十一月 2019 09:16:14 +0800 Subject: [PATCH] 2019-11-29-01 --- src/templates/comtableconfig/actionform/index.jsx | 193 ++++++++++++++++++++++++++---------------------- 1 files changed, 105 insertions(+), 88 deletions(-) diff --git a/src/templates/comtableconfig/actionform/index.jsx b/src/templates/comtableconfig/actionform/index.jsx index 449e8e0..e299728 100644 --- a/src/templates/comtableconfig/actionform/index.jsx +++ b/src/templates/comtableconfig/actionform/index.jsx @@ -66,32 +66,123 @@ formlist: null, openType: null, interType: null, - expand: false + reqOptionSgl: [{ + MenuID: 'requiredSgl', + text: this.props.dict['header.form.requiredSgl'] + }], + reqOptions: [{ + MenuID: 'notRequired', + text: this.props.dict['header.form.notRequired'] + }, { + MenuID: 'requiredSgl', + text: this.props.dict['header.form.requiredSgl'] + }], + reqOptionsMutil: [{ + MenuID: 'notRequired', + text: this.props.dict['header.form.notRequired'] + }, { + MenuID: 'requiredSgl', + text: this.props.dict['header.form.requiredSgl'] + }, { + MenuID: 'required', + text: this.props.dict['header.form.required'] + }, { + MenuID: 'requiredOnce', + text: this.props.dict['header.form.requiredOnce'] + }] + } + + + UNSAFE_componentWillMount () { + let _opentype = this.props.formlist.filter(form => form.key === 'OpenType')[0].initVal + let _intertype = this.props.formlist.filter(form => form.key === 'intertype')[0].initVal + let _options = null + if (_opentype === 'innerpage') { // 鏂伴〉闈紙鍐呴儴锛夛紝鍙�夋ā鏉� + _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'icon', 'class', 'position'] + } else if (_opentype === 'outerpage') { // 鏂伴〉闈紙澶栭儴锛夛紝闇�瑕侀〉闈㈠湴鍧� + _options = ['label', 'Ot', 'OpenType', 'url', 'icon', 'class', 'position'] + } else if (_opentype === 'blank' || _opentype === 'tab' || _opentype === 'popview') { + _options = ['label', 'Ot', 'OpenType', 'icon', 'class', 'position'] + } else { + if (_intertype === 'outer') { + _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'interface', 'outerFunc', 'callbackFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] + } else { + _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] + } + } + this.setState({ + openType: _opentype, + interType: _intertype, + formlist: this.props.formlist.map(item => { + if (item.key === 'class') { + item.options = btnClasses + } else if (item.key === 'icon') { + item.options = btnIcons + } else if (item.key === 'Ot') { + if (_opentype === 'innerpage') { + item.options = this.state.reqOptionSgl + } else if (['outerpage', 'blank', 'tab', 'pop', 'popview'].includes(_opentype)) { + item.options = this.state.reqOptions + } else { + item.options = this.state.reqOptionsMutil + } + } + item.hidden = !_options.includes(item.key) + return item + }) + }) } openTypeChange = (key, value) => { if (key === 'OpenType') { let _options = null - if (value === 'newpage') { + if (value === 'innerpage') { _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'icon', 'class', 'position'] + } else if (value === 'outerpage') { + _options = ['label', 'Ot', 'OpenType', 'url', 'icon', 'class', 'position'] } else if (value === 'blank' || value === 'tab' || value === 'popview') { _options = ['label', 'Ot', 'OpenType', 'icon', 'class', 'position'] } else { - _options = ['label', 'position', 'OpenType', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] + if (this.state.interType === 'inner') { + _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] + } else { + _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'interface', 'outerFunc', 'callbackFunc'] + } } this.setState({ openType: value, - expand: false, - interType: 'inner', formlist: this.state.formlist.map(item => { if (_options) { item.hidden = !_options.includes(item.key) if (item.key === 'intertype') { - item.initVal = 'inner' + item.initVal = this.state.interType } - item.readonly = ['interface', 'outerFunc', 'callbackFunc'].includes(item.key) + } + if (item.key === 'Ot') { + if (value === 'innerpage') { + item.options = this.state.reqOptionSgl + item.initVal = 'requiredSgl' + item.hidden = true + } else if (['outerpage', 'blank', 'tab', 'pop', 'popview'].includes(value)) { + item.options = this.state.reqOptions + item.initVal = 'requiredSgl' + item.hidden = true + } else { + item.options = this.state.reqOptionsMutil + } } return item + }) + }, () => { + if (!['innerpage', 'outerpage', 'blank', 'tab', 'pop', 'popview'].includes(value)) return + + this.setState({ + formlist: this.state.formlist.map(item => { + if (item.key === 'Ot') { + item.hidden = false + } + return item + }) }) }) } @@ -100,14 +191,16 @@ onChange = (e, key) => { let value = e.target.value if (key === 'intertype') { + let _options = null + if (value === 'inner') { + _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] + } else { + _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'interface', 'outerFunc', 'callbackFunc'] + } this.setState({ interType: value, formlist: this.state.formlist.map(item => { - if (value === 'inner') { - item.readonly = ['interface', 'outerFunc', 'callbackFunc'].includes(item.key) - } else { - item.readonly = false - } + item.hidden = !_options.includes(item.key) return item }) }) @@ -203,9 +296,6 @@ if (!err) { values.id = this.props.card.id values.uuid = this.props.card.uuid - if (!this.state.expand) { - values.intertype = 'inner' - } resolve({ type: 'action', values @@ -217,73 +307,7 @@ }) } - toggle = () => { - let expand = !this.state.expand - let _options = null - if (expand) { - _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'interface', 'outerFunc', 'callbackFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] - } else { - _options = ['label', 'position', 'OpenType', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] - } - if (!expand) { - this.setState({ - expand: !this.state.expand, - formlist: this.state.formlist.map(item => { - if (item.key === 'intertype') { - item.initVal = 'inner' - } - item.readonly = ['interface', 'outerFunc', 'callbackFunc'].includes(item.key) - item.hidden = !_options.includes(item.key) - return item - }) - }) - } else { - this.setState({ - expand: !this.state.expand, - formlist: this.state.formlist.map(item => { - item.hidden = !_options.includes(item.key) - return item - }) - }) - } - } - - UNSAFE_componentWillMount () { - let _opentype = this.props.formlist.filter(form => form.key === 'OpenType')[0].initVal - let _intertype = this.props.formlist.filter(form => form.key === 'intertype')[0].initVal - let _options = null - if (_opentype === 'newpage') { - _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'icon', 'class', 'position'] - } else if (_opentype === 'blank' || _opentype === 'tab' || _opentype === 'popview') { - _options = ['label', 'Ot', 'OpenType', 'icon', 'class', 'position'] - } else { - if (_intertype === 'outer') { - _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'interface', 'outerFunc', 'callbackFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] - } else { - _options = ['label', 'position', 'OpenType', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError'] - } - } - this.setState({ - openType: _opentype, - interType: _intertype, - expand: _intertype === 'outer' ? true : false, - formlist: this.props.formlist.map(item => { - if (item.key === 'class') { - item.options = btnClasses - } else if (item.key === 'icon') { - item.options = btnIcons - } - if (_intertype === 'inner') { - item.readonly = ['interface', 'outerFunc', 'callbackFunc'].includes(item.key) - } - item.hidden = !_options.includes(item.key) - return item - }) - }) - } - render() { - const { openType } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -297,13 +321,6 @@ return ( <Form {...formItemLayout} className="ant-advanced-search-form commontable-action-form" id="winter"> <Row gutter={24}>{this.getFields()}</Row> - {openType !== 'newpage' && openType !== 'blank' && openType !== 'tab' && openType !== 'popview' && <Row> - <Col span={24} style={{ textAlign: 'right' }}> - <span className="superconfig" onClick={this.toggle}> - 楂樼骇璁剧疆 <Icon type={this.state.expand ? 'up' : 'down'} /> - </span> - </Col> - </Row>} </Form> ) } -- Gitblit v1.8.0