king
2023-08-10 c2629f92132c4761f4415e62d30ee456c6ac23c7
src/templates/sharecomponent/settingcomponent/settingform/simplescript/index.jsx
@@ -17,7 +17,6 @@
class CustomForm extends Component {
  static propTpyes = {
    dict: PropTypes.object,         // 字典项
    setting: PropTypes.object,      // 设置
    scripts: PropTypes.array,       // 自定义脚本列表
    searches: PropTypes.array,      // 搜索条件
@@ -28,6 +27,7 @@
  }
  state = {
    wrapId: Utils.getuuid(),
    editItem: null,
    loading: false,
    usefulFields: '',
@@ -88,11 +88,11 @@
        dataIndex: 'operation',
        render: (text, record) =>
          (<div style={{textAlign: 'center'}}>
            <span className="operation-btn" title={this.props.dict['model.edit']} onClick={() => this.handleEdit(record)} style={{color: '#1890ff'}}><EditOutlined /></span>
            <span className="operation-btn" title={this.props.dict['header.form.status.change']} onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><SwapOutlined /></span>
            <span className="operation-btn" title="编辑" onClick={() => this.handleEdit(record)} style={{color: '#1890ff'}}><EditOutlined /></span>
            <span className="operation-btn" title="状态切换" onClick={() => this.handleStatus(record)} style={{color: '#8E44AD'}}><SwapOutlined /></span>
            <Popconfirm
              overlayClassName="popover-confirm"
              title={this.props.dict['model.query.delete']}
              title="确定删除吗?"
              onConfirm={() => this.handleDelete(record)
            }>
              <span className="operation-btn" style={{color: '#ff4d4f'}}><DeleteOutlined /></span>
@@ -151,6 +151,13 @@
  }
  getsysScript = () => {
    if (sessionStorage.getItem('mk_sys_scripts')) {
      this.setState({
        systemScripts: JSON.parse(sessionStorage.getItem('mk_sys_scripts'))
      })
      return
    }
    let _scriptSql = `Select distinct func+Remark as funcname,longparam, s.Sort from  s_custom_script s inner join (select OpenID from sapp where ID=@Appkey@) p on s.openid = case when s.appkey='' then s.openid else p.OpenID end order by s.Sort`
    _scriptSql = Utils.formatOptions(_scriptSql)
@@ -166,15 +173,16 @@
    _sParam.secretkey = Utils.encrypt(_sParam.LText, _sParam.timestamp)
    _sParam.open_key = Utils.encryptOpenKey(_sParam.secretkey, _sParam.timestamp) // 云端数据验证
    
    Api.getSystemConfig(_sParam).then(res => {
    Api.getCloudConfig(_sParam).then(res => {
      if (res.status) {
        let _scripts = res.data.map(item => {
          let _item = {
          return {
            name: item.funcname,
            value: window.decodeURIComponent(window.atob(item.longparam))
          }
          return _item
        })
        sessionStorage.setItem('mk_sys_scripts', JSON.stringify(_scripts))
        this.setState({
          systemScripts: _scripts
@@ -257,6 +265,13 @@
        duration: 5
      })
      return
    } else if (/,,/ig.test(values.sql)) {
      notification.warning({
        top: 92,
        message: '自定义sql语句中,不可出现连续的英文逗号(,,)',
        duration: 5
      })
      return
    }
    let error = Utils.verifySql(values.sql, 'customscript')
@@ -292,6 +307,8 @@
    param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
    param.LText = param.LText.replace(/@(BID|ID|LoginUID|SessionUid|UserID|Appkey|time_id)@/ig, `'${param.timestamp}'`)
    param.LText = param.LText.replace(/\n/g, ' ')
    param.LText = Utils.formatOptions(param.LText)
    param.secretkey = Utils.encrypt('', param.timestamp)
    
@@ -358,7 +375,7 @@
  }
  scrolltop = () => {
    let node = document.getElementById('model-setting-form-body').parentNode
    let node = document.getElementById(this.state.wrapId).parentNode
    if (node && node.scrollTop) {
      let inter = Math.ceil(node.scrollTop / 10)
@@ -406,7 +423,7 @@
  render() {
    const { setting, scripts } = this.props
    const { getFieldDecorator } = this.props.form
    const { usefulFields, scriptsColumns, systemScripts, urlFields } = this.state
    const { usefulFields, scriptsColumns, systemScripts, urlFields, wrapId } = this.state
    const formItemLayout = {
      labelCol: {
        xs: { span: 24 },
@@ -419,7 +436,7 @@
    }
    return (
      <div className="modal-menu-setting-script">
      <div className="modal-menu-setting-script" id={wrapId}>
        <Form {...formItemLayout}>
          <Row gutter={24}>
            <Col span={4}>
@@ -429,7 +446,7 @@
            </Col>
            <Col span={20}>
              <Form.Item labelCol={{span: 4}} wrapperCol={{span: 20}} label={'报错字段'} style={{margin: 0}}>
                ErrorCode(增加后缀NT表示数据不回滚,如ENT、NNT、FNT、NMNT), retmsg
                ErrorCode(增加后缀NT表示数据不回滚,如ENT、NNT、FNT、NMNT、CNT、-2NT), retmsg
              </Form.Item>
            </Col>
            <Col span={24} className="sqlfield">