From e8edfdadb561cd83bf6e1c3e00d55b8cc2aee6d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 17 十月 2022 17:57:34 +0800
Subject: [PATCH] 2022-10-17

---
 src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx |  322 ++++++++++++++++++++++++++++------------------------
 1 files changed, 173 insertions(+), 149 deletions(-)

diff --git a/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx b/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx
index ef1f4cc..1a6de21 100644
--- a/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx
+++ b/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx
@@ -1,19 +1,20 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Radio, Tooltip, Icon, notification } from 'antd'
+import { Form, Row, Col, Input, Radio, Tooltip, notification } from 'antd'
+import { QuestionCircleOutlined } from '@ant-design/icons'
 import moment from 'moment'
 
 import Api from '@/api'
 import { formRule } from '@/utils/option.js'
 import Utils from '@/utils/utils.js'
 import CodeMirror from '@/templates/zshare/codemirror'
-import './index.scss'
+// import './index.scss'
+
+const { TextArea } = Input
 
 class SettingForm extends Component {
   static propTpyes = {
-    dict: PropTypes.object,       // 瀛楀吀椤�
     menuId: PropTypes.string,     // 鑿滃崟Id
-    permFuncField: PropTypes.any, // 鑿滃崟Id
     setting: PropTypes.object,    // 鏁版嵁婧愰厤缃�
     columns: PropTypes.array,     // 鍒楄缃�
     scripts: PropTypes.array,     // 鑷畾涔夎剼鏈�
@@ -21,6 +22,24 @@
 
   state = {
     interType: this.props.setting.interType || 'system',
+    usefulFields: []
+  }
+
+  UNSAFE_componentWillMount() {
+    let usefulFields = sessionStorage.getItem('permFuncField')
+    if (usefulFields) {
+      try {
+        usefulFields = JSON.parse(usefulFields)
+      } catch (e) {
+        usefulFields = []
+      }
+    } else {
+      usefulFields = []
+    }
+
+    this.setState({
+      usefulFields
+    })
   }
 
   handleConfirm = () => {
@@ -33,7 +52,7 @@
           if (values.interType === 'system' && values.execute !== 'false' && !values.dataresource) {
             notification.warning({
               top: 92,
-              message: '璇峰~鍐欏唴閮ㄥ嚱鏁版垨鏁版嵁婧愶紒',
+              message: '璇峰~鍐欐暟鎹簮锛�',
               duration: 5
             })
             reject()
@@ -98,10 +117,10 @@
             }
     
             param.LText = Utils.formatOptions(param.LText)
-            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
+            param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
             param.secretkey = Utils.encrypt(param.LText, param.timestamp)
     
-            Api.getLocalConfig(param)
+            Api.genericInterface(param)
           }
 
           resolve(values)
@@ -123,9 +142,9 @@
   }
 
   render() {
-    const { setting, permFuncField } = this.props
+    const { setting } = this.props
     const { getFieldDecorator } = this.props.form
-    const { interType } = this.state
+    const { interType, usefulFields } = this.state
 
     const formItemLayout = {
       labelCol: {
@@ -141,156 +160,161 @@
     let tooltip = null
     let rules = []
 
-    if (permFuncField && permFuncField.length > 0) {
-      tooltip = '寮�澶村彲鐢ㄥ瓧绗︼細' + permFuncField.join(', ')
-      let str = '^(' + permFuncField.join('|') + ')'
+    if (usefulFields.length > 0) {
+      tooltip = '寮�澶村彲鐢ㄥ瓧绗︼細' + usefulFields.join(', ')
+      let str = '^(' + usefulFields.join('|') + ')'
       let _patten = new RegExp(str + formRule.func.innerPattern + '$', 'g')
 
       rules.push({
+        required: true,
+        message: '璇疯緭鍏ュ唴閮ㄥ嚱鏁�!'
+      }, {
         pattern: _patten,
         message: formRule.func.innerMessage
       })
     }
 
     return (
-      <div className="model-datasource-setting-form-box">
-        <Form {...formItemLayout} className="model-setting-form">
-          <Row gutter={24}>
-            <Col span={8}>
-              <Form.Item label="琛ㄥ悕">
-                {getFieldDecorator('tableName', {
-                  initialValue: setting.tableName,
-                  rules: [
-                    {
-                      required: true,
-                      message: this.props.dict['form.required.input'] + '琛ㄥ悕!'
-                    },
-                  ]
-                })(<Input placeholder={''} autoComplete="off" />)}
-              </Form.Item>
-            </Col>
-            <Col span={8}>
-              <Form.Item label="鎺ュ彛绫诲瀷">
-                {getFieldDecorator('interType', {
-                  initialValue: interType,
-                  rules: [
-                    {
-                      required: true,
-                      message: this.props.dict['form.required.select'] + '鎺ュ彛绫诲瀷!'
-                    },
-                  ]
-                })(
-                <Radio.Group onChange={(e) => {this.onRadioChange(e, 'interType')}}>
-                  <Radio value="system">绯荤粺</Radio>
-                  <Radio value="inner">鍐呴儴</Radio>
-                  <Radio value="outer">澶栭儴</Radio>
-                </Radio.Group>)}
-              </Form.Item>
-            </Col>
-            {interType === 'inner' ? <Col span={8}>
-              <Form.Item label={tooltip ?
-                <Tooltip placement="topLeft" title={tooltip}>
-                  <Icon type="question-circle" />
-                  鍐呴儴鍑芥暟
-                </Tooltip> : '鍐呴儴鍑芥暟'
-              }>
-                {getFieldDecorator('innerFunc', {
-                  initialValue: setting.innerFunc || '',
-                  rules: rules
-                })(<Input placeholder={''} autoComplete="off" />)}
-              </Form.Item>
-            </Col> : null}
-            {interType === 'outer' ? <Col span={8}>
-              <Form.Item label="鎺ュ彛鍦板潃">
-                {getFieldDecorator('interface', {
-                  initialValue: setting.interface || '',
-                  rules: [
-                    {
-                      required: true,
-                      message: this.props.dict['form.required.input'] + '鎺ュ彛鍦板潃!'
-                    },
-                  ]
-                })(<Input placeholder={''} autoComplete="off" />)}
-              </Form.Item>
-            </Col> : null}
-            {interType === 'outer' ? <Col span={8}>
-              <Form.Item label="澶栭儴鍑芥暟">
-                {getFieldDecorator('outerFunc', {
-                  initialValue: setting.outerFunc || '',
-                  rules: [
+      <Form {...formItemLayout}>
+        <Row gutter={24}>
+          <Col span={8}>
+            <Form.Item label="琛ㄥ悕">
+              {getFieldDecorator('tableName', {
+                initialValue: setting.tableName,
+                rules: [
+                  {
+                    required: true,
+                    message: '璇疯緭鍏ヨ〃鍚�!'
+                  },
+                  {
+                    max: 50,
+                    message: '琛ㄥ悕鏈�闀夸负50涓瓧绗�!'
+                  }
+                ]
+              })(<Input placeholder={''} autoComplete="off" />)}
+            </Form.Item>
+          </Col>
+          <Col span={8}>
+            <Form.Item label="鎺ュ彛绫诲瀷">
+              {getFieldDecorator('interType', {
+                initialValue: interType,
+                rules: [
+                  {
+                    required: true,
+                    message: '璇烽�夋嫨鎺ュ彛绫诲瀷!'
+                  },
+                ]
+              })(
+              <Radio.Group onChange={(e) => {this.onRadioChange(e, 'interType')}}>
+                <Radio value="system">绯荤粺</Radio>
+                <Radio value="inner">鍐呴儴</Radio>
+                <Radio value="outer">澶栭儴</Radio>
+              </Radio.Group>)}
+            </Form.Item>
+          </Col>
+          {interType === 'inner' ? <Col span={8}>
+            <Form.Item label={tooltip ?
+              <Tooltip placement="topLeft" title={tooltip}>
+                <QuestionCircleOutlined className="mk-form-tip" />
+                鍐呴儴鍑芥暟
+              </Tooltip> : '鍐呴儴鍑芥暟'
+            }>
+              {getFieldDecorator('innerFunc', {
+                initialValue: setting.innerFunc || '',
+                rules: rules
+              })(<Input placeholder={''} autoComplete="off" />)}
+            </Form.Item>
+          </Col> : null}
+          {interType === 'outer' ? <Col span={8}>
+            <Form.Item label="澶栭儴鍑芥暟">
+              {getFieldDecorator('outerFunc', {
+                initialValue: setting.outerFunc || '',
+                rules: [
 
-                  ]
-                })(<Input placeholder={''} autoComplete="off" />)}
-              </Form.Item>
-            </Col> : null}
-            {interType === 'system' ? <Col span={24} className="data-source" style={{paddingLeft: '7px'}}>
-              <Form.Item labelCol={{xs: { span: 24 }, sm: { span: 2 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 22 }} } label={
-                <Tooltip placement="topLeft" title={'浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� \'\'銆� @$ -> */ 鎴� \'\''}>
-                  <Icon type="question-circle" />
-                  鏁版嵁婧�
-                </Tooltip>
-              }>
-                {getFieldDecorator('dataresource', {
-                  initialValue: setting.dataresource || ''
-                })(<CodeMirror />)}
-              </Form.Item>
-            </Col> : null}
-            {interType === 'system' ? <Col span={8}>
-              <Form.Item label={
-                <Tooltip placement="topLeft" title={'鏌ヨ鏃讹紝鎼滅储鏉′欢浠here鏉′欢鎷兼帴杩涘叆sql锛岀粺璁℃椂锛屽皢鏁版嵁婧愪腑浠モ�淍+鎼滅储瀛楁+@鈥濈殑鍐呭锛屼互鎼滅储鏉′欢涓殑鍊艰繘琛屾浛鎹㈠悗锛屾彁浜ゆ煡璇紝娉細鏌ヨ绫诲瀷浠呭湪浣跨敤绯荤粺鍑芥暟鏃舵湁鏁堛��'}>
-                  <Icon type="question-circle" />
-                  鏌ヨ绫诲瀷
-                </Tooltip>
-              }>
-                {getFieldDecorator('queryType', {
-                  initialValue: setting.queryType || 'query'
-                })(
-                <Radio.Group>
-                  <Radio value="query">鏌ヨ</Radio>
-                  <Radio value="statistics">缁熻</Radio>
-                </Radio.Group>)}
-              </Form.Item>
-            </Col> : null}
-            {/* <Col span={8}>
-              <Form.Item label="涓婚敭">
-                {getFieldDecorator('primaryKey', {
-                  initialValue: setting.primaryKey || ''
-                })(
-                  <Select>
-                    {columns.map((option, i) =>
-                      <Select.Option key={i} value={option.field}>
-                        {option.label}
-                      </Select.Option>
-                    )}
-                  </Select>
-                )}
-              </Form.Item>
-            </Col> */}
-            {interType === 'system' ? <Col span={8}>
-              <Form.Item label="榛樿sql">
-                {getFieldDecorator('execute', {
-                  initialValue: setting.execute || 'true'
-                })(
-                <Radio.Group>
-                  <Radio value="true">鎵ц</Radio>
-                  <Radio value="false">涓嶆墽琛�</Radio>
-                </Radio.Group>)}
-              </Form.Item>
-            </Col> : null}
-            <Col span={8}>
-              <Form.Item label="鍒濆鍖�">
-                {getFieldDecorator('onload', {
-                  initialValue: setting.onload || 'true'
-                })(
-                <Radio.Group>
-                  <Radio value="true">鍔犺浇鏁版嵁</Radio>
-                  <Radio value="false">涓嶅姞杞芥暟鎹�</Radio>
-                </Radio.Group>)}
-              </Form.Item>
-            </Col>
-          </Row>
-        </Form>
-      </div>
+                ]
+              })(<Input placeholder={''} autoComplete="off" />)}
+            </Form.Item>
+          </Col> : null}
+          {interType === 'outer' ? <Col span={24} className="mk-through-line3">
+            <Form.Item label="鎺ュ彛鍦板潃">
+              {getFieldDecorator('interface', {
+                initialValue: setting.interface || '',
+                rules: [
+                  {
+                    required: true,
+                    message: '璇疯緭鍏ユ帴鍙e湴鍧�!'
+                  },
+                ]
+              })(<TextArea rows={2}/>)}
+            </Form.Item>
+          </Col> : null}
+          {interType === 'system' ? <Col span={24} className="mk-through-line3">
+            <Form.Item labelCol={{xs: { span: 24 }, sm: { span: 2 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 22 }} } label={
+              <Tooltip placement="topLeft" title={'浣跨敤绯荤粺鍑芥暟鏃讹紝闇�濉啓鏁版嵁婧愩�傛敞锛氭暟鎹潈闄愭浛鎹㈢ $@ -> /* 鎴� \'\'銆� @$ -> */ 鎴� \'\''}>
+                <QuestionCircleOutlined className="mk-form-tip" />
+                鏁版嵁婧�
+              </Tooltip>
+            }>
+              {getFieldDecorator('dataresource', {
+                initialValue: setting.dataresource || ''
+              })(<CodeMirror />)}
+            </Form.Item>
+          </Col> : null}
+          {interType === 'system' ? <Col span={8}>
+            <Form.Item label={
+              <Tooltip placement="topLeft" title={'鏌ヨ鏃讹紝鎼滅储鏉′欢浠here鏉′欢鎷兼帴杩涘叆sql锛岀粺璁℃椂锛屽皢鏁版嵁婧愪腑浠モ�淍+鎼滅储瀛楁+@鈥濈殑鍐呭锛屼互鎼滅储鏉′欢涓殑鍊艰繘琛屾浛鎹㈠悗锛屾彁浜ゆ煡璇紝娉細鏌ヨ绫诲瀷浠呭湪浣跨敤绯荤粺鍑芥暟鏃舵湁鏁堛��'}>
+                <QuestionCircleOutlined className="mk-form-tip" />
+                鏌ヨ绫诲瀷
+              </Tooltip>
+            }>
+              {getFieldDecorator('queryType', {
+                initialValue: setting.queryType || 'query'
+              })(
+              <Radio.Group>
+                <Radio value="query">鏌ヨ</Radio>
+                <Radio value="statistics">缁熻</Radio>
+              </Radio.Group>)}
+            </Form.Item>
+          </Col> : null}
+          {/* <Col span={8}>
+            <Form.Item label="涓婚敭">
+              {getFieldDecorator('primaryKey', {
+                initialValue: setting.primaryKey || ''
+              })(
+                <Select>
+                  {columns.map((option, i) =>
+                    <Select.Option key={i} value={option.field}>
+                      {option.label}
+                    </Select.Option>
+                  )}
+                </Select>
+              )}
+            </Form.Item>
+          </Col> */}
+          {interType === 'system' ? <Col span={8}>
+            <Form.Item label="榛樿sql">
+              {getFieldDecorator('execute', {
+                initialValue: setting.execute || 'true'
+              })(
+              <Radio.Group>
+                <Radio value="true">鎵ц</Radio>
+                <Radio value="false">涓嶆墽琛�</Radio>
+              </Radio.Group>)}
+            </Form.Item>
+          </Col> : null}
+          <Col span={8}>
+            <Form.Item label="鍒濆鍖�">
+              {getFieldDecorator('onload', {
+                initialValue: setting.onload || 'true'
+              })(
+              <Radio.Group>
+                <Radio value="true">鍔犺浇鏁版嵁</Radio>
+                <Radio value="false">涓嶅姞杞芥暟鎹�</Radio>
+              </Radio.Group>)}
+            </Form.Item>
+          </Col>
+        </Row>
+      </Form>
     )
   }
 }

--
Gitblit v1.8.0