From 49f09cc6f8ff8c30a75ed1a9d6f510b69b73962a Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 12 十二月 2023 21:05:37 +0800 Subject: [PATCH] 2023-12-12 --- src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx | 129 +++++++++++-------------------------------- 1 files changed, 33 insertions(+), 96 deletions(-) diff --git a/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx index 30dc05c..404d13d 100644 --- a/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx @@ -2,11 +2,9 @@ import PropTypes from 'prop-types' import { Form, Row, Col, Input, Radio, Tooltip, notification, Select, InputNumber } from 'antd' import { QuestionCircleOutlined } from '@ant-design/icons' -import moment from 'moment' -import Api from '@/api' import { formRule } from '@/utils/option.js' -import Utils from '@/utils/utils.js' +import { checkSQL } from '@/utils/utils-custom.js' import asyncComponent from '@/utils/asyncComponent' // import './index.scss' @@ -17,7 +15,6 @@ class SettingForm extends Component { static propTpyes = { config: PropTypes.object, // 椤甸潰閰嶇疆 - dict: PropTypes.object, // 瀛楀吀椤� menu: PropTypes.object, // 鑿滃崟淇℃伅 setting: PropTypes.object, // 鏁版嵁婧愰厤缃� columns: PropTypes.array, // 鍒楄缃� @@ -73,7 +70,6 @@ } handleConfirm = () => { - const { setting } = this.props // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� return new Promise((resolve, reject) => { this.props.form.validateFieldsAndScroll((err, values) => { @@ -88,69 +84,12 @@ reject() return } else if (values.interType === 'system' && values.default !== 'false' && values.dataresource) { - let _quot = values.dataresource.match(/'{1}/g) - let _lparen = values.dataresource.match(/\({1}/g) - let _rparen = values.dataresource.match(/\){1}/g) + let pass = checkSQL(values.dataresource) - _quot = _quot ? _quot.length : 0 - _lparen = _lparen ? _lparen.length : 0 - _rparen = _rparen ? _rparen.length : 0 - - if (_quot % 2 !== 0) { - notification.warning({ - top: 92, - message: '鏁版嵁婧愪腑\'蹇呴』鎴愬鍑虹幇', - duration: 5 - }) - reject() - return - } else if (_lparen !== _rparen) { - notification.warning({ - top: 92, - message: '鏁版嵁婧愪腑()蹇呴』鎴愬鍑虹幇', - duration: 5 - }) - reject() - return - } else if (/--/ig.test(values.dataresource)) { - notification.warning({ - top: 92, - message: '鏁版嵁婧愪腑锛屼笉鍙嚭鐜板瓧绗� -- 锛屾敞閲婅鐢� /*鍐呭*/', - duration: 5 - }) + if (!pass) { reject() return } - - let error = Utils.verifySql(values.dataresource) - - if (error) { - notification.warning({ - top: 92, - message: '鏁版嵁婧愪腑涓嶅彲浣跨敤' + error, - duration: 5 - }) - reject() - return - } - } - - // 鏁版嵁婧愪繚瀛� - if ( - values.interType === 'system' && values.default !== 'false' && - /[^\s]+\s+[^\s]+/ig.test(values.dataresource) && setting.dataresource !== values.dataresource - ) { - let param = { - func: 's_DataSrc_Save', - LText: values.dataresource, - MenuID: this.props.menu.MenuID - } - - param.LText = Utils.formatOptions(param.LText) - param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') - param.secretkey = Utils.encrypt(param.LText, param.timestamp) - - Api.genericInterface(param) } resolve(values) @@ -190,7 +129,7 @@ } render() { - const { setting, dict, menu, config, columns } = this.props + const { setting, menu, config, columns } = this.props const { getFieldDecorator } = this.props.form const { interType, funcRules, funcTooltip, tableType, controlField, sysInterface } = this.state @@ -215,24 +154,28 @@ rules: [ { required: true, - message: dict['form.required.input'] + '琛ㄥ悕!' + message: '璇疯緭鍏ヨ〃鍚�!' }, { max: 50, message: '琛ㄥ悕鏈�闀夸负50涓瓧绗�!' + }, + { + pattern: /^[a-zA-Z0-9@_]+$/, + message: '琛ㄥ悕鍙彲浣跨敤瀛楁瘝銆佹暟瀛椾互鍙奯' } ] })(<Input placeholder={''} autoComplete="off" />)} </Form.Item> </Col> <Col span={8}> - <Form.Item label={dict['header.form.intertype']}> + <Form.Item label="鎺ュ彛绫诲瀷"> {getFieldDecorator('interType', { initialValue: interType, rules: [ { required: true, - message: dict['form.required.select'] + dict['header.form.intertype'] + '!' + message: '璇烽�夋嫨鎺ュ彛绫诲瀷!' }, ] })( @@ -257,19 +200,24 @@ </Form.Item> </Col> {interType === 'outer' ? <Col span={8}> - <Form.Item label={dict['header.form.sysInterface']}> + <Form.Item label={ + <Tooltip placement="topLeft" title="鍗曠偣鐧诲綍绯荤粺"> + <QuestionCircleOutlined className="mk-form-tip" /> + 绯荤粺鎺ュ彛 + </Tooltip> + }> {getFieldDecorator('sysInterface', { initialValue: sysInterface, rules: [ { required: true, - message: dict['form.required.select'] + dict['header.form.sysInterface'] + '!' + message: '璇烽�夋嫨绯荤粺鎺ュ彛!' }, ] })( <Radio.Group onChange={(e) => {this.onRadioChange(e, 'sysInterface')}}> - <Radio value="true">{dict['model.true']}</Radio> - <Radio value="false">{dict['model.false']}</Radio> + <Radio value="true">鏄�</Radio> + <Radio value="false">鍚�</Radio> </Radio.Group>)} </Form.Item> </Col> : null} @@ -280,7 +228,7 @@ rules: [ { required: interType === 'outer' && sysInterface === 'true' ? false : true, - message: dict['form.required.input'] + '鎺ュ彛鍦板潃!' + message: '璇疯緭鍏ユ帴鍙e湴鍧�!' }, ] })(<TextArea rows={2} readOnly={interType === 'outer' && sysInterface === 'true'}/>)} @@ -310,7 +258,7 @@ rules: [ { required: true, - message: dict['form.required.input'] + '鍐呴儴鍑芥暟!' + message: '璇疯緭鍏ュ唴閮ㄥ嚱鏁�!' }, { max: formRule.func.max, @@ -339,7 +287,7 @@ </Col> : null} {interType === 'system' ? <Col span={24} className="mk-through-line3"> <Form.Item help={'鏁版嵁ID锛�' + menu.MenuID} labelCol={{xs: { span: 24 }, sm: { span: 4 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 20 }} } label={ - <Tooltip placement="topLeft" title={`浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� ''銆� @$ -> */ 鎴� ''锛涙煡璇㈡浛鎹㈢ $select@ -> /* 鎴� ''銆� @select$ -> */ 鎴� ''锛涚粺璁℃浛鎹㈢ $sum@ -> /* 鎴� ''銆� @sum$ -> */ 鎴� ''銆俙}> + <Tooltip placement="topLeft" title={`浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� ''銆� @$ -> */ 鎴� ''銆俙}> <QuestionCircleOutlined className="mk-form-tip" /> 鏁版嵁婧� </Tooltip> @@ -399,7 +347,7 @@ rules: [ { required: true, - message: dict['form.required.input'] + '榛樿鎺掑簭!' + message: '璇疯緭鍏ラ粯璁ゆ帓搴�!' }, { max: formRule.input.max, @@ -415,8 +363,8 @@ initialValue: setting.laypage || 'true' })( <Radio.Group> - <Radio value="true">{dict['model.true']}</Radio> - <Radio value="false">{dict['model.false']}</Radio> + <Radio value="true">鏄�</Radio> + <Radio value="false">鍚�</Radio> </Radio.Group>)} </Form.Item> </Col> @@ -434,15 +382,15 @@ {config.Template === 'CommonTable' ? <Col span={8}> <Form.Item label="鎸夐挳鍥哄畾"> {getFieldDecorator('actionfixed', { - initialValue: setting.actionfixed === 'true' || setting.actionfixed === true ? 'true' : 'false' + initialValue: setting.actionfixed === 'true' ? 'true' : 'false' })( <Radio.Group> - <Radio value="true">{dict['model.true']}</Radio> - <Radio value="false">{dict['model.false']}</Radio> + <Radio value="true">鏄�</Radio> + <Radio value="false">鍚�</Radio> </Radio.Group>)} </Form.Item> </Col> : null} - {config.Template === 'CommonTable' ? <Col span={8}> + {/* {config.Template === 'CommonTable' ? <Col span={8}> <Form.Item label={ <Tooltip placement="topLeft" title={'鍚湁鍚堝苟鍒楁垨琛ㄦ牸鍑虹幇妯悜婊氬姩鏃朵細鏄剧ず寮傚父锛岃鎱庣敤锛�'}> <QuestionCircleOutlined className="mk-form-tip" /> @@ -453,11 +401,11 @@ initialValue: setting.columnfixed === 'true' || setting.columnfixed === true ? 'true' : 'false' })( <Radio.Group> - <Radio value="true">{dict['model.true']}</Radio> - <Radio value="false">{dict['model.false']}</Radio> + <Radio value="true">鏄�</Radio> + <Radio value="false">鍚�</Radio> </Radio.Group>)} </Form.Item> - </Col> : null} + </Col> : null} */} <Col span={8}> <Form.Item label="杈规"> {getFieldDecorator('bordered', { @@ -484,17 +432,6 @@ <Radio value="middle">涓�</Radio> <Radio value="small">灏�</Radio> <Radio value="mini">杩蜂綘</Radio> - </Radio.Group>)} - </Form.Item> - </Col> - <Col span={8}> - <Form.Item label="浜嬪姟"> - {getFieldDecorator('transaction', { - initialValue: setting.transaction || 'false' - })( - <Radio.Group> - <Radio value="true">浣跨敤</Radio> - <Radio value="false">涓嶄娇鐢�</Radio> </Radio.Group>)} </Form.Item> </Col> -- Gitblit v1.8.0