From da64ab0923bf8817fc8599a6e37b953ce38f64c8 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 27 八月 2023 18:37:36 +0800 Subject: [PATCH] 2023-08-27 --- src/menu/datasource/verifycard/customscript/index.jsx | 156 +++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 123 insertions(+), 33 deletions(-) diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx index bca6509..63146d0 100644 --- a/src/menu/datasource/verifycard/customscript/index.jsx +++ b/src/menu/datasource/verifycard/customscript/index.jsx @@ -1,7 +1,10 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { Form, Row, Col, Button, notification, Select, Tooltip } from 'antd' +import { Form, Row, Col, Button, notification, Select, Tooltip, Modal, Switch, Radio } from 'antd' +import { QuestionCircleOutlined } from '@ant-design/icons' +import Toast from 'antd-mobile/es/components/toast' +import Dialog from 'antd-mobile/es/components/dialog' import Utils from '@/utils/utils.js' import CodeMirror from '@/templates/zshare/codemirror' @@ -10,6 +13,7 @@ class CustomForm extends Component { static propTpyes = { + type: PropTypes.string, // 缁勪欢绫诲瀷 defaultsql: PropTypes.string, // 榛樿sql setting: PropTypes.object, // 璁剧疆 searches: PropTypes.array, // 鎼滅储鏉′欢 @@ -19,6 +23,7 @@ } state = { + skip: false, editItem: null, loading: false, usefulFields: '' @@ -83,7 +88,8 @@ }) this.props.form.setFieldsValue({ - sql: record.sql + sql: record.sql, + position: record.position || 'front' }) } @@ -92,11 +98,13 @@ editItem: null }) this.props.form.setFieldsValue({ - sql: ' ' + sql: ' ', + position: 'front' }) } handleConfirm = () => { + const { skip } = this.state // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { @@ -160,11 +168,10 @@ return } - this.setState({loading: true}) - this.props.scriptsChange(values).then(() => { + if (skip) { this.setState({ editItem: null, - loading: false + skip: false }) if (values.uuid) { @@ -175,11 +182,28 @@ sql: ' ' }) this.props.scriptSubmit(values) - }, () => { - this.setState({ - loading: false + } else { + this.setState({loading: true}) + this.props.scriptsChange(values).then(() => { + this.setState({ + editItem: null, + loading: false + }) + + if (values.uuid) { + MKEmitter.emit('editLineId', values.uuid) + } + + this.props.form.setFieldsValue({ + sql: ' ' + }) + this.props.scriptSubmit(values) + }, () => { + this.setState({ + loading: false + }) }) - }) + } } }) } @@ -209,46 +233,108 @@ }) } - render() { - const { systemScripts, setting } = this.props - const { getFieldDecorator } = this.props.form - const { usefulFields } = this.state - const formItemLayout = { - labelCol: { - xs: { span: 24 }, - sm: { span: 8 } - }, - wrapperCol: { - xs: { span: 24 }, - sm: { span: 16 } + showError = (type) => { + let appType = sessionStorage.getItem('appType') + + if (type === 'S') { + if (appType === 'mob') { + Toast.show({ icon: 'success', content: '鎵ц鎴愬姛锛�', duration: 3000 }) + } else { + notification.success({ + top: 92, + message: '鎵ц鎴愬姛锛�', + duration: 2 + }) + } + + } else if (type === 'Y') { + if (appType === 'mob') { + Dialog.alert({content: '鎵ц鎴愬姛锛�', confirmText: '鐭ラ亾浜�'}) + } else { + Modal.success({ + title: '鎵ц鎴愬姛锛�' + }) + } + } else if (type === 'N') { + if (appType === 'mob') { + Dialog.alert({content: '鎵ц澶辫触锛�', confirmText: '鐭ラ亾浜�'}) + } else { + Modal.error({ + title: '鎵ц澶辫触锛�' + }) + } + } else { + if (appType === 'mob') { + Toast.show({ icon: 'fail', content: '鎵ц澶辫触锛�', duration: 3000 }) + } else { + notification.error({ + top: 92, + message: '鎵ц澶辫触锛�', + duration: 10 + }) } } + } + + render() { + const { systemScripts, setting, type } = this.props + const { getFieldDecorator } = this.props.form + const { usefulFields, skip } = this.state let urlFields = window.GLOB.urlFields ? window.GLOB.urlFields.join(', ') : '' return ( - <Form {...formItemLayout} className="modal-menu-setting-script"> + <Form className="modal-source-setting-script"> <Row gutter={24}> - {setting.tableName ? <Col span={8}> - <Form.Item label={'琛ㄥ悕'} style={{whiteSpace: 'nowrap', margin: 0}}> + {setting.tableName ? <Col span={6}> + <Form.Item label="琛ㄥ悕" style={{whiteSpace: 'nowrap', margin: 0}}> {setting.tableName} </Form.Item> </Col> : null} - <Col span={8}> - <Form.Item label={'鎶ラ敊瀛楁'} style={{margin: 0}}> + <Col span={18}> + <Form.Item label="鎶ラ敊瀛楁" style={{margin: 0}}> ErrorCode, retmsg + <span style={{marginLeft: 25}}> + 鎴愬姛锛� + <span className="error-val" onClick={() => {this.showError('S')}}> S </span>銆� + <span className="error-val" onClick={() => {this.showError('Y')}}> Y </span>銆� + -1锛堜笉鎻愮ず锛� + </span> + <span style={{marginLeft: 20}}> + 澶辫触锛� + <span className="error-val" onClick={() => {this.showError('N')}}> N </span>銆� + -2锛堜笉鎻愮ず锛夈�� + <span className="error-val" onClick={() => {this.showError('')}}> 鍏朵粬 </span> + </span> </Form.Item> </Col> - <Col span={24} className="sqlfield"> - <Form.Item label={'鍙敤瀛楁'}> + <Col span={24}> + <Form.Item label="鍙敤瀛楁" className="field-able"> <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鍏叡鍊硷紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}><span style={{color: '#1890ff'}}>BID, LoginUID, SessionUid, UserID, Appkey, time_id, typename</span></Tooltip>, <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞惰祴鍊笺��'}><span style={{color: '#fa8c16'}}>UserName, FullName, RoleID, mk_departmentcode, mk_organization, mk_user_type, mk_nation, mk_province, mk_city, mk_district, mk_address</span></Tooltip>, - <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}</Tooltip> + <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@鎴朄orderBy@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}</Tooltip> <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'url鍙橀噺锛岃鎸夌収@xxx@鏍煎紡浣跨敤銆�'}>{urlFields ? ', ' : ''}<span style={{color: '#13c2c2'}}>{urlFields}</span></Tooltip> </Form.Item> </Col> - <Col span={10} style={{width: '43%'}}> - <Form.Item label={'蹇嵎娣诲姞'} labelCol={{xs: { span: 24 }, sm: { span: 6 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 18 }} } style={{marginBottom: 0}}> + <Col span={8} style={{whiteSpace: 'nowrap'}}> + <Form.Item style={{marginBottom: 0}} label={ + <Tooltip placement="bottomLeft" title={'鑷畾涔夎剼鏈笌鏁版嵁婧愪綅缃叧绯汇��'}> + <QuestionCircleOutlined className="mk-form-tip" /> + 鎵ц浣嶇疆 + </Tooltip> + }> + {getFieldDecorator('position', { + initialValue: 'front' + })( + <Radio.Group> + <Radio value="front">鍓嶇疆</Radio> + <Radio value="back">鍚庣疆</Radio> + </Radio.Group> + )} + </Form.Item> + </Col> + <Col span={8}> + <Form.Item label="蹇嵎娣诲姞" labelCol={{xs: { span: 24 }, sm: { span: 6 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 18 }} } style={{marginBottom: 0}}> <Select showSearch filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0} @@ -264,7 +350,7 @@ </Select> </Form.Item> </Col> - <Col span={6} className="add"> + <Col span={5} style={{whiteSpace: 'nowrap'}}> <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginTop: 5, marginBottom: 15, marginLeft: 30}}> 淇濆瓨 </Button> @@ -272,6 +358,10 @@ 鍙栨秷 </Button> </Col> + <Col span={3} style={{paddingTop: '15px', fontSize: '12px', whiteSpace: 'nowrap'}}> + 寮哄埗淇濆瓨锛� + <Switch checked={skip} size="small" onChange={() => this.setState({skip: !skip})}/> + </Col> <Col span={24} className="sql"> <Form.Item label="sql"> {getFieldDecorator('sql', { -- Gitblit v1.8.0