From e543372cc70a19ff2630c79d8421c2c593e54e5f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 02 六月 2021 17:15:21 +0800 Subject: [PATCH] 2021-06-02 --- src/templates/sharecomponent/tabscomponent/tabform/index.jsx | 62 ++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 14 deletions(-) diff --git a/src/templates/sharecomponent/tabscomponent/tabform/index.jsx b/src/templates/sharecomponent/tabscomponent/tabform/index.jsx index eb0bedf..8f2cd9f 100644 --- a/src/templates/sharecomponent/tabscomponent/tabform/index.jsx +++ b/src/templates/sharecomponent/tabscomponent/tabform/index.jsx @@ -1,6 +1,6 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { Form, Row, Col, Input, Select, Icon, Tooltip, Radio } from 'antd' +import { Form, Row, Col, Input, Select, Icon, Tooltip, Radio, InputNumber, notification } from 'antd' import { formRule } from '@/utils/option.js' import Utils from '@/utils/utils.js' import './index.scss' @@ -11,6 +11,7 @@ tabs: PropTypes.array, // 鍙叧鑱旀爣绛鹃泦 dict: PropTypes.object, // 瀛楀吀椤� formlist: PropTypes.any, // 琛ㄥ崟 + levels: PropTypes.any, // 鏍囩鏄剧ず绾у埆 card: PropTypes.object, // 鏍囩椤典俊鎭� inputSubmit: PropTypes.any // 鍥炶溅鎻愪氦浜嬩欢 } @@ -25,9 +26,9 @@ UNSAFE_componentWillMount () { const { formlist } = this.props - let type = formlist.filter(cell => cell.key === 'type')[0].initVal + // let type = formlist.filter(cell => cell.key === 'type')[0].initVal - let _tabs = this.props.tabs.filter(tab => tab.type === type) + let _tabs = this.props.tabs.filter(tab => tab.type === 'SubTable') this.setState({ formlist: formlist.map(item => { @@ -79,20 +80,19 @@ ..._tabs ] item.initVal = '' - item.hidden = true } return item }) }, () => { - this.setState({ - formlist: this.state.formlist.map(item => { - if (item.key === 'linkTab') { - item.hidden = false - } - return item - }) - }) + if (this.props.form.getFieldValue('linkTab') !== undefined) { + this.props.form.setFieldsValue({linkTab: ''}) + } }) + } else if (key === 'supMenu' && this.props.levels) { + + if (value && value !== 'mainTable') { + this.props.form.setFieldsValue({level: this.props.levels[value]}) + } } } @@ -111,7 +111,7 @@ this.state.formlist.forEach((item, index) => { if (item.hidden || item.forbid) return - if (item.type === 'text') { // 鏂囨湰鎼滅储 + if (item.type === 'text') { let rules = [] if (item.key === 'foreignKey') { @@ -143,6 +143,28 @@ ...rules ] })(<Input placeholder="" autoComplete="off" disabled={item.readonly} onPressEnter={this.handleSubmit} />)} + </Form.Item> + </Col> + ) + } else if (item.type === 'number') { + fields.push( + <Col span={12} key={index}> + <Form.Item label={ + item.tooltip ? + <Tooltip placement="topLeft" title={item.tooltip}> + <Icon type="question-circle" /> + {item.label} + </Tooltip> : item.label + }> + {getFieldDecorator(item.key, { + initialValue: item.initVal, + rules: [ + { + required: !!item.required, + message: this.props.dict['form.required.input'] + item.label + '!' + } + ] + })(<InputNumber disabled={item.readonly} min={item.min} max={item.max} precision={0} />)} </Form.Item> </Col> ) @@ -248,6 +270,18 @@ if (!values.linkTab) { // 娌℃湁鍏宠仈鏍囩锛堟柊寤烘椂锛夛紝鍒涘缓鏂版爣绛綢d values.linkTab = Utils.getuuid() } + if (values.level === undefined) { + values.level = '' + } else if (values.supMenu && values.supMenu === 'mainTable' && values.level === 0) { + notification.warning({ + top: 92, + message: '鏄剧ず绾у埆涓�0鏃讹紝涓婄骇鏍囩涓嶅彲鍏宠仈涓昏〃锛�', + duration: 5 + }) + return + } + + values.type = 'SubTable' // 绫诲瀷涓哄瓙琛� resolve(values) } else { @@ -269,7 +303,7 @@ } } return ( - <Form {...formItemLayout} className="ant-advanced-search-form commontable-tab-form"> + <Form {...formItemLayout} className="model-tab-form"> <Row gutter={24}>{this.getFields()}</Row> </Form> ) -- Gitblit v1.8.0