From 8c14d194348465710826ed5740173e64bd803f71 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 08 十二月 2019 04:29:25 +0800 Subject: [PATCH] 2019-12-08 --- src/templates/modalconfig/groupform/index.jsx | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 51 insertions(+), 7 deletions(-) diff --git a/src/templates/modalconfig/groupform/index.jsx b/src/templates/modalconfig/groupform/index.jsx index 50c6010..f42676a 100644 --- a/src/templates/modalconfig/groupform/index.jsx +++ b/src/templates/modalconfig/groupform/index.jsx @@ -7,7 +7,35 @@ class SettingForm extends Component { static propTpyes = { dict: PropTypes.object, // 瀛楀吀椤� - data: PropTypes.object + group: PropTypes.object, // 瀛楀吀椤� + config: PropTypes.object + } + + state = { + source: null, + selectds: null, + default: null + } + + UNSAFE_componentWillMount () { + const { config, group } = this.props + + let _source = null + let _default = config.groups[config.groups.length - 1] + let _selectds = [] + + if (config.groups.length === 1) { + _source = config.fields.filter(item => !item.origin) + } else { + _source = [..._default.sublist, ...group.sublist] + _selectds = group.sublist.map(item => { return item.uuid }) + } + + this.setState({ + source: _source, + selectds: _selectds, + default: _default + }) } handleConfirm = () => { @@ -15,7 +43,17 @@ return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { - resolve(values) + let targetKeys = this.refs['fields-transfer'].state.targetKeys + let defaultlist = this.state.source.filter(item => !targetKeys.includes(item.uuid)) + + values.sublist = targetKeys.map(item => { + return this.state.source.filter(cell => cell.uuid === item)[0] + }) + + resolve({ + default: {...this.state.default, sublist: defaultlist}, + target: values + }) } else { reject(err) } @@ -24,7 +62,7 @@ } render() { - const { data } = this.props + const { group, config } = this.props const { getFieldDecorator } = this.props.form const formItemLayout = { @@ -42,20 +80,26 @@ <Row gutter={24}> <Col span={12}> <Form.Item label="鍒嗙粍鍚嶇О"> - {getFieldDecorator('title', { - initialValue: data.title + {getFieldDecorator('label', { + initialValue: group.label, + rules: [ + { + required: true, + message: this.props.dict['form.required.input'] + '鍒嗙粍鍚嶇О!' + } + ] })(<Input placeholder="" autoComplete="off"/>)} </Form.Item> </Col> <Col span={12}> <Form.Item label="鎺掑簭"> {getFieldDecorator('sort', { - initialValue: data.sort + initialValue: group.hasOwnProperty('sort') ? group.sort : config.groups.length })(<InputNumber min={0} max={100} precision={0} />)} </Form.Item> </Col> <Col span={24}> - <TransferForm dict={this.props.dict} columns={this.props.columns} ref="column-transfer" selected={this.props.card.sublist}/> + <TransferForm dict={this.props.dict} fields={this.state.source} ref="fields-transfer" selected={this.state.selectds}/> </Col> </Row> </Form> -- Gitblit v1.8.0