From e47f5f999cb20283ad99c00c5e771d44501cf3c9 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 26 十二月 2019 17:47:26 +0800
Subject: [PATCH] 2019-12-26

---
 src/templates/subtableconfig/actionform/index.jsx |   88 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 79 insertions(+), 9 deletions(-)

diff --git a/src/templates/subtableconfig/actionform/index.jsx b/src/templates/subtableconfig/actionform/index.jsx
index a027cb6..8745257 100644
--- a/src/templates/subtableconfig/actionform/index.jsx
+++ b/src/templates/subtableconfig/actionform/index.jsx
@@ -1,6 +1,6 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Select, Icon, Radio, notification, Tooltip } from 'antd'
+import { Form, Row, Col, Input, Select, Icon, Radio, notification, Tooltip, InputNumber, Button, Modal, message } from 'antd'
 import { btnIcons, btnClasses } from '@/utils/option.js'
 import './index.scss'
 
@@ -16,6 +16,7 @@
   state = {
     formlist: null,
     openType: null,
+    errorType: 'E',
     interType: null,
     position: null,
     reqOptionSgl: [{
@@ -59,10 +60,24 @@
 
   
   UNSAFE_componentWillMount () {
-    let _opentype = this.props.formlist.filter(form => form.key === 'OpenType')[0].initVal
-    let _intertype = this.props.formlist.filter(form => form.key === 'intertype')[0].initVal
-    let _position = this.props.formlist.filter(form => form.key === 'position')[0].initVal
+    let _opentype = ''
+    let _intertype = ''
+    let _position = ''
+    let _errorType = ''
     let _options = null
+
+    this.props.formlist.forEach(form => {
+      if (form.key === 'OpenType') {
+        _opentype = form.initVal
+      } else if (form.key === 'intertype') {
+        _intertype = form.initVal
+      } else if (form.key === 'position') {
+        _position = form.initVal
+      } else if (form.key === 'errorTip') {
+        _errorType = form.initVal
+      }
+    })
+
     if (_opentype === 'excelIn' || _opentype === 'excelOut') {
       if (_intertype === 'outer') {
         _options = ['label', 'OpenType', 'intertype', 'innerFunc', 'interface', 'outerFunc', 'callbackFunc', 'icon', 'class', 'execSuccess', 'execError', 'method']
@@ -71,15 +86,16 @@
       }
     } else {
       if (_intertype === 'outer') {
-        _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'interface', 'outerFunc', 'callbackFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'method']
+        _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'interface', 'outerFunc', 'callbackFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'errorTip', 'errorTime', 'method']
       } else {
-        _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'sql', 'sqlType']
+        _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'errorTip', 'errorTime', 'sql', 'sqlType']
       }
     }
     this.setState({
       openType: _opentype,
       interType: _intertype,
       position: _position,
+      errorType: _errorType,
       formlist: this.props.formlist.map(item => {
         if (item.key === 'class') {
           item.options = btnClasses
@@ -112,9 +128,9 @@
         }
       } else {
         if (this.state.interType === 'inner') {
-          _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'sql', 'sqlType']
+          _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'errorTip', 'errorTime', 'sql', 'sqlType']
         } else {
-          _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'interface', 'outerFunc', 'callbackFunc', 'method']
+          _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'errorTip', 'errorTime', 'interface', 'outerFunc', 'callbackFunc', 'method']
         }
       }
       this.setState({
@@ -186,6 +202,10 @@
           })
         })
       })
+    } else if (key === 'errorTip') {
+      this.setState({
+        errorType: value
+      })
     }
   }
 
@@ -198,6 +218,9 @@
       } else {
         _options = ['label', 'position', 'OpenType', 'intertype', 'innerFunc', 'Ot', 'icon', 'class', 'execSuccess', 'execError', 'interface', 'outerFunc', 'callbackFunc', 'method']
       }
+      if (['pop', 'prompt', 'exec'].includes(this.state.openType)) {
+        _options.push('errorTip', 'errorTime')
+      }
       this.setState({
         interType: value,
         formlist: this.state.formlist.map(item => {
@@ -205,6 +228,37 @@
           return item
         })
       })
+    }
+  }
+
+  showError = () => {
+    const { errorType } = this.state
+
+    if (errorType === 'S') {
+      notification.success({
+        top: 92,
+        message: '鎵ц鎴愬姛锛�',
+        duration: 2
+      })
+    } else if (errorType === 'F') {
+      notification.error({
+        className: 'notification-custom-error',
+        top: 92,
+        message: '鎵ц澶辫触锛�',
+        duration: 15
+      })
+    } else if (errorType === 'N') {
+      notification.error({
+        top: 92,
+        message: '鎵ц澶辫触锛�',
+        duration: 15
+      })
+    } else if (errorType === 'E') {
+      Modal.error({
+        title: '鎵ц澶辫触锛�'
+      })
+    } else if (errorType === 'NM') {
+      message.error('鎵ц澶辫触锛�')
     }
   }
 
@@ -248,9 +302,24 @@
             </Form.Item>
           </Col>
         )
-      } else if (item.type === 'select') { // 涓嬫媺鎼滅储
+      } else if (item.type === 'number') { // 鏂囨湰鎼滅储
         fields.push(
           <Col span={12} key={index}>
+            <Form.Item label={item.tooltip ?
+              <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}>
+                <Icon type="question-circle" />
+                {item.label}
+              </Tooltip> : item.label
+            }>
+              {getFieldDecorator(item.key, {
+                initialValue: item.initVal
+              })(<InputNumber min={1} max={10000} precision={0} />)}
+            </Form.Item>
+          </Col>
+        )
+      } else if (item.type === 'select') { // 涓嬫媺鎼滅储
+        fields.push(
+          <Col span={12} key={index} className={item.key === 'errorTip' ? 'with-button' : ''}>
             <Form.Item label={item.tooltip ?
               <Tooltip placement="topLeft" overlayClassName={item.tooltipClass} title={item.tooltip}>
                 <Icon type="question-circle" />
@@ -280,6 +349,7 @@
                 </Select>
               )}
             </Form.Item>
+            {item.key === 'errorTip' ? <Button onClick={this.showError}>鏌ョ湅</Button> : null}
           </Col>
         )
       } else if (item.type === 'radio') {

--
Gitblit v1.8.0