From f3d4db769ba9b51b799d981511a710fd443d0e08 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 21 四月 2025 12:18:03 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/templates/zshare/pasteform/index.jsx | 60 ++++++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 48 insertions(+), 12 deletions(-) diff --git a/src/templates/zshare/pasteform/index.jsx b/src/templates/zshare/pasteform/index.jsx index e6ef04d..72b17fe 100644 --- a/src/templates/zshare/pasteform/index.jsx +++ b/src/templates/zshare/pasteform/index.jsx @@ -7,7 +7,7 @@ class MainSearch extends Component { static propTpyes = { - dict: PropTypes.object // 瀛楀吀椤� + inputSubmit: PropTypes.func // 鍥炶溅浜嬩欢 } componentDidMount () { @@ -16,7 +16,7 @@ if (_form && _form.select) { _form.select() } - } catch { + } catch (e) { console.warn('Form focusing error锛�') } } @@ -26,17 +26,45 @@ return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { - let _config = values.config + let _config = values.config.replace(/(\n|\s)+/g, '') + if (!_config) { + notification.warning({ + top: 92, + message: '璇疯緭鍏ラ厤缃俊鎭�', + duration: 5 + }) + reject() + return + } try { _config = JSON.parse(window.decodeURIComponent(window.atob(_config))) } catch (e) { - notification.warning({ - top: 92, - message: '瑙f瀽閿欒', - duration: 10 - }) - _config = '' + // 閫氳繃sql璇彞娣诲姞瀛楁闆� + if (/[a-zA-Z0-9_]+\s+(nvarchar\(\d+\)|Decimal\(18,\d+\)|Int|datetime|date)/ig.test(values.config)) { + _config = { + key: 'datasourcefield', + type: 'array', + data: [] + } + + let list = values.config.match(/[a-zA-Z0-9_]+\s+(nvarchar\(\d+\)|Decimal\(18,\d+\)|Int|datetime|date)/ig) + + list.forEach(item => { + _config.data.unshift({ + datatype: item.split(/\s+/)[1], + field: item.split(/\s+/)[0], + label: item.split(/\s+/)[0], + }) + }) + } else { + notification.warning({ + top: 92, + message: '瑙f瀽閿欒', + duration: 5 + }) + _config = '' + } } if (_config) { @@ -47,6 +75,14 @@ } }) }) + } + + enterPress = (e) => { + e.stopPropagation() + + setTimeout(() => { + this.props.inputSubmit && this.props.inputSubmit() + }, 200) } render() { @@ -65,16 +101,16 @@ <Form {...formItemLayout} className="config-paste-form"> <Row gutter={24}> <Col span={24}> - <Form.Item label="閰嶇疆淇℃伅" className="textarea"> + <Form.Item label="" className="textarea"> {getFieldDecorator('config', { initialValue: '', rules: [ { required: true, - message: this.props.dict['form.required.input'] + '閰嶇疆淇℃伅!' + message: '璇疯緭鍏ラ厤缃俊鎭�!' } ] - })(<TextArea autosize={{ minRows: 4, maxRows: 8 }} />)} + })(<TextArea autoSize={{ minRows: 6, maxRows: 6 }} onPressEnter={this.enterPress}/>)} </Form.Item> </Col> </Row> -- Gitblit v1.8.0