From 3b43ee5ead5f625d532150afceddcf1b481b823d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 29 五月 2020 00:09:36 +0800 Subject: [PATCH] 2020-05-29 --- src/templates/sharecomponent/settingcomponent/settingform/customscript/index.jsx | 94 +++++++++++++++++------------------------------ 1 files changed, 34 insertions(+), 60 deletions(-) diff --git a/src/templates/sharecomponent/settingcomponent/settingform/customscript/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/customscript/index.jsx index cab711c..ce05920 100644 --- a/src/templates/sharecomponent/settingcomponent/settingform/customscript/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/settingform/customscript/index.jsx @@ -1,9 +1,10 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import { Form, Row, Col, Input, Button, notification, Modal, Select, Radio } from 'antd' +import { Form, Row, Col, Input, Button, notification, Modal, Select } from 'antd' import moment from 'moment' import Utils from '@/utils/utils.js' +import SettingUtils from '../utils.jsx' import Api from '@/api' import './index.scss' @@ -15,8 +16,10 @@ dict: PropTypes.object, // 瀛楀吀椤� 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 // 琛ㄥ崟 } @@ -58,8 +61,7 @@ }) this.props.form.setFieldsValue({ - sql: record.sql, - initsql: record.initsql || 'false' + sql: record.sql }) } @@ -73,8 +75,8 @@ } handleConfirm = () => { - const { searches, setting } = this.props - + const { setting, arr_field, regoptions, swhere } = this.props + // 琛ㄥ崟鎻愪氦鏃舵鏌ヨ緭鍏ュ�兼槸鍚︽纭� this.props.form.validateFieldsAndScroll((err, values) => { if (!err) { @@ -122,54 +124,38 @@ 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.initsql !== 'true') return - - _initsql += ` + let _customScript = '' + setting.scripts && setting.scripts.forEach(script => { + if (this.state.editItem && this.state.editItem.uuid === script.uuid) { + _customScript += ` + ${values.sql} + ` + } else if (script.status !== 'false') { + _customScript += ` ${script.sql} ` - }) - - let param = { - func: 's_debug_sql', - LText: _initsql + values.sql + tail - } - - param.LText = param.LText.replace(/@\$|\$@/ig, '') - - let allSearch = Utils.initMainSearch(searches) - allSearch = Utils.getAllSearchOptions(allSearch) - - let regoptions = allSearch.map(item => { - return { - reg: new RegExp('@' + item.key + '@', 'ig'), - value: `'${item.value}'` } }) - regoptions.push({ - reg: new RegExp('@orderBy@', 'ig'), - value: setting.order - }) - if (setting.laypage !== 'false') { - regoptions.push({ - reg: new RegExp('@pageSize@', 'ig'), - value: 10 - }, { - reg: new RegExp('@pageIndex@', 'ig'), - value: 1 - }) + if (!this.state.editItem) { + _customScript += ` + ${values.sql} + ` } - - regoptions.forEach(item => { - param.LText = param.LText.replace(item.reg, item.value) - }) + + if (_customScript) { + _customScript = `declare @ErrorCode nvarchar(50),@retmsg nvarchar(4000) select @ErrorCode='',@retmsg ='' + ${_customScript} + ` + } + + let _setting = {...setting, customScript: _customScript} + + + let param = { + func: 's_debug_sql', + LText: SettingUtils.getDebugSql(_setting, arr_field, regoptions, swhere) + } param.LText = Utils.formatOptions(param.LText) param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000' @@ -249,18 +235,6 @@ <Col span={24} className="sqlfield"> <Form.Item label={'鍙敤瀛楁'}> id, bid, loginuid, sessionuid, userid, appkey, {type === 'main' ? 'out_id, ' : '' }time_id, orderBy{setting.laypage !== 'false' ? ', pageSize, pageIndex': ''}{usefulFields ? ', ' + usefulFields : ''} - </Form.Item> - </Col> - <Col span={8} style={{whiteSpace: 'nowrap'}}> - <Form.Item style={{marginBottom: 0}} label="鍒濆鍖杝ql"> - {getFieldDecorator('initsql', { - initialValue: 'false' - })( - <Radio.Group> - <Radio value="true">鏄�</Radio> - <Radio value="false">鍚�</Radio> - </Radio.Group> - )} </Form.Item> </Col> <Col span={10}> -- Gitblit v1.8.0