From 0227c25e4ed573d3095ada3f9c9a4ba5f18b0de5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 20 一月 2021 10:53:01 +0800
Subject: [PATCH] 2021-01-20

---
 src/mob/datasource/verifycard/customscript/index.jsx |  166 +++++++++++++++++++++++--------------------------------
 1 files changed, 69 insertions(+), 97 deletions(-)

diff --git a/src/mob/datasource/verifycard/customscript/index.jsx b/src/mob/datasource/verifycard/customscript/index.jsx
index 7191459..5267ea7 100644
--- a/src/mob/datasource/verifycard/customscript/index.jsx
+++ b/src/mob/datasource/verifycard/customscript/index.jsx
@@ -1,28 +1,55 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
-import { Form, Row, Col, Input, Button, notification, Modal, Tooltip, Icon, Radio, Select } from 'antd'
-import moment from 'moment'
+import { Form, Row, Col, Button, notification, Select } from 'antd'
 
 import Utils from '@/utils/utils.js'
-import Api from '@/api'
+import CodeMirror from '@/templates/zshare/codemirror'
 import './index.scss'
-
-const { TextArea } = Input
 
 class CustomForm extends Component {
   static propTpyes = {
+    type: PropTypes.string,         // 鑿滃崟绫诲瀷
     dict: PropTypes.object,         // 瀛楀吀椤�
-    btn: PropTypes.object,          // 鎸夐挳淇℃伅
-    usefulfields: PropTypes.string, // 鍙敤瀛楁
-    initsql: PropTypes.string,      // sql鍓嶇紑
+    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   // 琛ㄥ崟
+    scriptSubmit: PropTypes.func,   // 鑴氭湰楠岃瘉鍚庢彁浜�
+    scriptsChange: PropTypes.func   // 鑴氭湰楠岃瘉
   }
 
   state = {
     editItem: null,
-    loading: false
+    loading: false,
+    usefulFields: ''
+  }
+
+  UNSAFE_componentWillMount() {
+    const { searches } = this.props
+
+    let _usefulFields = []
+    searches.forEach(item => {
+      if (item.type === 'group') {
+        if (item.transfer === 'true') {
+          _usefulFields.push(item.field)
+        }
+        _usefulFields.push(item.datefield)
+        _usefulFields.push(item.datefield + '1')
+      } else if (['dateweek', 'datemonth', 'daterange'].includes(item.type)) {
+        _usefulFields.push(item.field)
+        _usefulFields.push(item.field + '1')
+      } else if (_usefulFields.includes(item.field)) {
+        _usefulFields.push(item.field + '1')
+      } else {
+        _usefulFields.push(item.field)
+      }
+    })
+
+    this.setState({
+      usefulFields: _usefulFields.join(', ')
+    })
   }
 
   edit = (record) => {
@@ -31,8 +58,16 @@
     })
 
     this.props.form.setFieldsValue({
-      sql: record.sql,
-      position: record.position || 'back'
+      sql: record.sql
+    })
+  }
+
+  handleCancel = () => {
+    this.setState({
+      editItem: null
+    })
+    this.props.form.setFieldsValue({
+      sql: ''
     })
   }
 
@@ -84,63 +119,18 @@
           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.position !== 'init') return
-
-          _initsql += `
-            ${script.sql}
-            `
-        })
-
-        let param = {
-          func: 's_debug_sql',
-          LText: this.props.initsql + _initsql + values.sql + tail
-        }
-
-        // 鏁版嵁鏉冮檺
-        param.LText = param.LText.replace(/@\$|\$@/ig, '')
-
-        param.LText = Utils.formatOptions(param.LText)
-        param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + '.000'
-        param.secretkey = Utils.encrypt(param.LText, param.timestamp)
-        
         this.setState({loading: true})
-        Api.getLocalConfig(param).then(res => {
-          if (res.status) {
-            this.setState({
-              loading: false,
-              editItem: null
-            }, () => {
-              this.props.scriptsChange(values)
-            })
-            this.props.form.setFieldsValue({
-              sql: ''
-            })
-          } else {
-            this.setState({loading: false})
-
-            Modal.error({
-              title: res.message
-            })
-          }
+        this.props.scriptsChange(values).then(() => {
+          this.setState({
+            editItem: null,
+            loading: false
+          })
+          this.props.form.setFieldsValue({
+            sql: ''
+          })
+          this.props.scriptSubmit(values)
         })
       }
-    })
-  }
-
-  handleCancel = () => {
-    this.setState({
-      editItem: null
-    })
-
-    this.props.form.setFieldsValue({
-      sql: ''
     })
   }
 
@@ -164,8 +154,9 @@
   }
 
   render() {
-    const { usefulfields, systemScripts, btn } = this.props
+    const { systemScripts, setting } = this.props
     const { getFieldDecorator } = this.props.form
+    const { usefulFields } = this.state
     const formItemLayout = {
       labelCol: {
         xs: { span: 24 },
@@ -178,11 +169,11 @@
     }
 
     return (
-      <Form {...formItemLayout} className="verify-form" id="verify-custom-scripts">
+      <Form {...formItemLayout} className="modal-menu-setting-script">
         <Row gutter={24}>
-          {btn.sql ? <Col span={8}>
+          {setting.tableName ? <Col span={8}>
             <Form.Item label={'琛ㄥ悕'} style={{whiteSpace: 'nowrap', margin: 0}}>
-              {btn.sql}
+              {setting.tableName}
             </Form.Item>
           </Col> : null}
           <Col span={16}>
@@ -190,27 +181,9 @@
               ErrorCode, retmsg
             </Form.Item>
           </Col>
-          {usefulfields ? <Col span={24} className="sqlfield">
+          <Col span={24} className="sqlfield">
             <Form.Item label={'鍙敤瀛楁'}>
-              {usefulfields}
-            </Form.Item>
-          </Col> : null}
-          <Col span={8} style={{whiteSpace: 'nowrap'}}>
-            <Form.Item style={{marginBottom: 0}} label={
-              <Tooltip placement="bottomLeft" title={'鑷畾涔夎剼鏈笌榛樿sql浣嶇疆鍏崇郴銆�'}>
-                <Icon type="question-circle" style={{color: '#c49f47', marginRight: '5px'}} />
-                鎵ц浣嶇疆
-              </Tooltip>
-            }>
-              {getFieldDecorator('position', {
-                initialValue: 'front'
-              })(
-                <Radio.Group>
-                  <Radio value="init">鍒濆鍖�</Radio>
-                  <Radio value="front">sql鍓�</Radio>
-                  <Radio value="back">sql鍚�</Radio>
-                </Radio.Group>
-              )}
+              id, bid, loginuid, sessionuid, userid, appkey, time_id, orderBy{setting.laypage !== 'false' ? ', pageSize, pageIndex': ''}{usefulFields ? ', ' + usefulFields : ''}
             </Form.Item>
           </Col>
           <Col span={10}>
@@ -219,19 +192,18 @@
                 showSearch
                 filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
                 onChange={this.selectScript}
-                getPopupContainer={() => document.getElementById('verify-custom-scripts')}
               >
                 {systemScripts.map((option, i) =>
-                  <Select.Option key={i} value={option.value}>{option.name}</Select.Option>
+                  <Select.Option style={{whiteSpace: 'normal'}} key={i} value={option.value}>{option.name}</Select.Option>
                 )}
               </Select>
             </Form.Item>
           </Col>
           <Col span={6} className="add">
-            <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginBottom: 15, marginLeft: 40}}>
+            <Button onClick={this.handleConfirm} loading={this.state.loading} className="mk-green" style={{marginTop: 5, marginBottom: 15, marginLeft: 30}}>
               淇濆瓨
             </Button>
-            <Button onClick={this.handleCancel} style={{marginBottom: 15, marginLeft: 10}}>
+            <Button onClick={this.handleCancel} style={{marginTop: 5, marginBottom: 15, marginLeft: 10}}>
               鍙栨秷
             </Button>
           </Col>
@@ -242,10 +214,10 @@
                 rules: [
                   {
                     required: true,
-                    message: this.props.dict['form.required.input'] + 'sql!'
+                    message: this.props.dict['mob.required.input'] + 'sql!'
                   }
                 ]
-              })(<TextArea rows={15} />)}
+              })(<CodeMirror />)}
             </Form.Item>
           </Col>
         </Row>

--
Gitblit v1.8.0