From 0227c25e4ed573d3095ada3f9c9a4ba5f18b0de5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 20 一月 2021 10:53:01 +0800 Subject: [PATCH] 2021-01-20 --- src/mob/datasource/verifycard/customscript/index.jsx | 166 +++++++++++++++++++++++-------------------------------- 1 files changed, 69 insertions(+), 97 deletions(-) diff --git a/src/mob/datasource/verifycard/customscript/index.jsx b/src/mob/datasource/verifycard/customscript/index.jsx index 7191459..5267ea7 100644 --- a/src/mob/datasource/verifycard/customscript/index.jsx +++ b/src/mob/datasource/verifycard/customscript/index.jsx @@ -1,28 +1,55 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { Form, Row, Col, Input, Button, notification, Modal, Tooltip, Icon, Radio, Select } from 'antd' -import moment from 'moment' +import { Form, Row, Col, Button, notification, Select } from 'antd' import Utils from '@/utils/utils.js' -import Api from '@/api' +import CodeMirror from '@/templates/zshare/codemirror' import './index.scss' - -const { TextArea } = Input class CustomForm extends Component { static propTpyes = { + type: PropTypes.string, // 鑿滃崟绫诲瀷 dict: PropTypes.object, // 瀛楀吀椤� - btn: PropTypes.object, // 鎸夐挳淇℃伅 - usefulfields: PropTypes.string, // 鍙敤瀛楁 - initsql: PropTypes.string, // sql鍓嶇紑 + setting: PropTypes.object, // 璁剧疆 + searches: PropTypes.array, // 鎼滅储鏉′欢 + swhere: PropTypes.string, // where鏉′欢 + arr_field: PropTypes.string, // 鍒楀瓧娈� + regoptions: PropTypes.array, // 姝e垯鏇挎崲 systemScripts: PropTypes.array, // 绯荤粺鑴氭湰 - customScripts: PropTypes.array, // 鑷畾涔夎剼鏈� - scriptsChange: PropTypes.func // 琛ㄥ崟 + scriptSubmit: PropTypes.func, // 鑴氭湰楠岃瘉鍚庢彁浜� + scriptsChange: PropTypes.func // 鑴氭湰楠岃瘉 } state = { editItem: null, - loading: false + loading: false, + usefulFields: '' + } + + UNSAFE_componentWillMount() { + const { searches } = this.props + + let _usefulFields = [] + searches.forEach(item => { + if (item.type === 'group') { + if (item.transfer === 'true') { + _usefulFields.push(item.field) + } + _usefulFields.push(item.datefield) + _usefulFields.push(item.datefield + '1') + } else if (['dateweek', 'datemonth', 'daterange'].includes(item.type)) { + _usefulFields.push(item.field) + _usefulFields.push(item.field + '1') + } else if (_usefulFields.includes(item.field)) { + _usefulFields.push(item.field + '1') + } else { + _usefulFields.push(item.field) + } + }) + + this.setState({ + usefulFields: _usefulFields.join(', ') + }) } edit = (record) => { @@ -31,8 +58,16 @@ }) this.props.form.setFieldsValue({ - sql: record.sql, - position: record.position || 'back' + sql: record.sql + }) + } + + handleCancel = () => { + this.setState({ + editItem: null + }) + this.props.form.setFieldsValue({ + sql: '' }) } @@ -84,63 +119,18 @@ return } - let tail = ` - aaa: - ` - - let _initsql = '' - this.props.customScripts.forEach(script => { - if (this.state.editItem && this.state.editItem.uuid === script.uuid) return - if (script.status === 'false' || script.position !== 'init') return - - _initsql += ` - ${script.sql} - ` - }) - - let param = { - func: 's_debug_sql', - LText: this.props.initsql + _initsql + values.sql + tail - } - - // 鏁版嵁鏉冮檺 - param.LText = param.LText.replace(/@\$|\$@/ig, '') - - param.LText = Utils.formatOptions(param.LText) - param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' - param.secretkey = Utils.encrypt(param.LText, param.timestamp) - this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { - if (res.status) { - this.setState({ - loading: false, - editItem: null - }, () => { - this.props.scriptsChange(values) - }) - this.props.form.setFieldsValue({ - sql: '' - }) - } else { - this.setState({loading: false}) - - Modal.error({ - title: res.message - }) - } + this.props.scriptsChange(values).then(() => { + this.setState({ + editItem: null, + loading: false + }) + this.props.form.setFieldsValue({ + sql: '' + }) + this.props.scriptSubmit(values) }) } - }) - } - - handleCancel = () => { - this.setState({ - editItem: null - }) - - this.props.form.setFieldsValue({ - sql: '' }) } @@ -164,8 +154,9 @@ } render() { - const { usefulfields, systemScripts, btn } = this.props + const { systemScripts, setting } = this.props const { getFieldDecorator } = this.props.form + const { usefulFields } = this.state const formItemLayout = { labelCol: { xs: { span: 24 }, @@ -178,11 +169,11 @@ } return ( - <Form {...formItemLayout} className="verify-form" id="verify-custom-scripts"> + <Form {...formItemLayout} className="modal-menu-setting-script"> <Row gutter={24}> - {btn.sql ? <Col span={8}> + {setting.tableName ? <Col span={8}> <Form.Item label={'琛ㄥ悕'} style={{whiteSpace: 'nowrap', margin: 0}}> - {btn.sql} + {setting.tableName} </Form.Item> </Col> : null} <Col span={16}> @@ -190,27 +181,9 @@ ErrorCode, retmsg </Form.Item> </Col> - {usefulfields ? <Col span={24} className="sqlfield"> + <Col span={24} className="sqlfield"> <Form.Item label={'鍙敤瀛楁'}> - {usefulfields} - </Form.Item> - </Col> : null} - <Col span={8} style={{whiteSpace: 'nowrap'}}> - <Form.Item style={{marginBottom: 0}} label={ - <Tooltip placement="bottomLeft" title={'鑷畾涔夎剼鏈笌榛樿sql浣嶇疆鍏崇郴銆�'}> - <Icon type="question-circle" style={{color: '#c49f47', marginRight: '5px'}} /> - 鎵ц浣嶇疆 - </Tooltip> - }> - {getFieldDecorator('position', { - initialValue: 'front' - })( - <Radio.Group> - <Radio value="init">鍒濆鍖�</Radio> - <Radio value="front">sql鍓�</Radio> - <Radio value="back">sql鍚�</Radio> - </Radio.Group> - )} + id, bid, loginuid, sessionuid, userid, appkey, time_id, orderBy{setting.laypage !== 'false' ? ', pageSize, pageIndex': ''}{usefulFields ? ', ' + usefulFields : ''} </Form.Item> </Col> <Col span={10}> @@ -219,19 +192,18 @@ showSearch filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0} onChange={this.selectScript} - getPopupContainer={() => document.getElementById('verify-custom-scripts')} > {systemScripts.map((option, i) => - <Select.Option key={i} value={option.value}>{option.name}</Select.Option> + <Select.Option style={{whiteSpace: 'normal'}} key={i} value={option.value}>{option.name}</Select.Option> )} </Select> </Form.Item> </Col> <Col span={6} className="add"> - <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginBottom: 15, marginLeft: 40}}> + <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginTop: 5, marginBottom: 15, marginLeft: 30}}> 淇濆瓨 </Button> - <Button onClick={this.handleCancel} style={{marginBottom: 15, marginLeft: 10}}> + <Button onClick={this.handleCancel} style={{marginTop: 5, marginBottom: 15, marginLeft: 10}}> 鍙栨秷 </Button> </Col> @@ -242,10 +214,10 @@ rules: [ { required: true, - message: this.props.dict['form.required.input'] + 'sql!' + message: this.props.dict['mob.required.input'] + 'sql!' } ] - })(<TextArea rows={15} />)} + })(<CodeMirror />)} </Form.Item> </Col> </Row> -- Gitblit v1.8.0