From fe21d23b147ed5cec22b4f76a88840b05495d4ad Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期六, 18 六月 2022 22:33:59 +0800
Subject: [PATCH] 2022-06-18

---
 src/menu/datasource/verifycard/customscript/index.jsx |   73 ++++++++++++++++++++++++++++--------
 1 files changed, 57 insertions(+), 16 deletions(-)

diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx
index 996e2ff..071c5c7 100644
--- a/src/menu/datasource/verifycard/customscript/index.jsx
+++ b/src/menu/datasource/verifycard/customscript/index.jsx
@@ -1,20 +1,19 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
+import { is, fromJS } from 'immutable'
 import { Form, Row, Col, Button, notification, Select } from 'antd'
 
 import Utils from '@/utils/utils.js'
 import CodeMirror from '@/templates/zshare/codemirror'
+import MKEmitter from '@/utils/events.js'
 import './index.scss'
 
 class CustomForm extends Component {
   static propTpyes = {
-    type: PropTypes.string,         // 鑿滃崟绫诲瀷
     dict: PropTypes.object,         // 瀛楀吀椤�
+    defaultsql: PropTypes.string,   // 榛樿sql
     setting: PropTypes.object,      // 璁剧疆
     searches: PropTypes.array,      // 鎼滅储鏉′欢
-    swhere: PropTypes.string,       // where鏉′欢
-    arr_field: PropTypes.string,    // 鍒楀瓧娈�
-    regoptions: PropTypes.array,    // 姝e垯鏇挎崲
     systemScripts: PropTypes.array, // 绯荤粺鑴氭湰
     scriptSubmit: PropTypes.func,   // 鑴氭湰楠岃瘉鍚庢彁浜�
     scriptsChange: PropTypes.func   // 鑴氭湰楠岃瘉
@@ -34,15 +33,13 @@
       if (!item.field) return
 
       if (item.type === 'group') {
-        if (item.transfer === 'true') {
-          _usefulFields.push(item.field)
-        }
+        _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)) {
+      } else if (item.type === 'date' && _usefulFields.includes(item.field)) {
         _usefulFields.push(item.field + '1')
       } else {
         _usefulFields.push(item.field)
@@ -52,6 +49,33 @@
     this.setState({
       usefulFields: _usefulFields.join(', ')
     })
+  }
+
+  UNSAFE_componentWillReceiveProps (nextProps) {
+    if (!is(fromJS(this.props.searches), fromJS(nextProps.searches))) {
+      
+      let _usefulFields = []
+      nextProps.searches.forEach(item => {
+        if (!item.field) return
+
+        if (item.type === 'group') {
+          _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 (item.type === 'date' && _usefulFields.includes(item.field)) {
+          _usefulFields.push(item.field + '1')
+        } else {
+          _usefulFields.push(item.field)
+        }
+      })
+
+      this.setState({
+        usefulFields: _usefulFields.join(', ')
+      })
+    }
   }
 
   edit = (record) => {
@@ -69,7 +93,7 @@
       editItem: null
     })
     this.props.form.setFieldsValue({
-      sql: ''
+      sql: ' '
     })
   }
 
@@ -127,10 +151,17 @@
             editItem: null,
             loading: false
           })
+
+          MKEmitter.emit('editLineId', values.uuid)
+
           this.props.form.setFieldsValue({
-            sql: ''
+            sql: ' '
           })
           this.props.scriptSubmit(values)
+        }, () => {
+          this.setState({
+            loading: false
+          })
         })
       }
     })
@@ -138,10 +169,16 @@
 
   selectScript = (value, option) => {
     let _sql = this.props.form.getFieldValue('sql')
-    if (_sql) {
+    if (_sql === ' ') {
+      _sql = ''
+    } else if (_sql) {
       _sql = _sql + ` 
 
       `
+    }
+
+    if (value === 'defaultsql') {
+      value = this.props.defaultsql
     }
 
     _sql = _sql.replace(/\s{6}$/, '')
@@ -178,23 +215,27 @@
               {setting.tableName}
             </Form.Item>
           </Col> : null}
-          <Col span={16}>
+          <Col span={8}>
             <Form.Item label={'鎶ラ敊瀛楁'} style={{margin: 0}}>
               ErrorCode, retmsg
             </Form.Item>
           </Col>
           <Col span={24} className="sqlfield">
             <Form.Item label={'鍙敤瀛楁'}>
-              id, bid, loginuid, sessionuid, userid, appkey, time_id, calendarDate, calendarDate1{usefulFields ? ', ' + usefulFields : ''}
+              id, bid, loginuid, sessionuid, userid, username, fullname, RoleID, mk_departmentcode, mk_organization, login_city, appkey, time_id, orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{window.GLOB.urlFields && window.GLOB.urlFields.length > 0 ? ', ' + window.GLOB.urlFields.join(', ') : ''}
             </Form.Item>
           </Col>
-          <Col span={10}>
-            <Form.Item label={'蹇嵎娣诲姞'} style={{marginBottom: 0}}>
+          <Col span={10} style={{width: '43%'}}>
+            <Form.Item label={'蹇嵎娣诲姞'} labelCol={{xs: { span: 24 }, sm: { span: 6 }}} wrapperCol={ {xs: { span: 24 }, sm: { span: 18 }} } style={{marginBottom: 0}}>
               <Select
                 showSearch
                 filterOption={(input, option) => option.props.children.toLowerCase().indexOf(input.toLowerCase()) >= 0}
-                onChange={this.selectScript}
+                onSelect={this.selectScript}
               >
+                <Select.Option style={{whiteSpace: 'normal'}} key="default" value="defaultsql">榛樿sql</Select.Option>
+                <Select.Option key="debugger" value={`z_debug: select @ErrorCode='E',@retmsg='娴嬭瘯鏂偣' goto aaa`}>
+                  娴嬭瘯鏂偣
+                </Select.Option>
                 {systemScripts.map((option, i) =>
                   <Select.Option style={{whiteSpace: 'normal'}} key={i} value={option.value}>{option.name}</Select.Option>
                 )}

--
Gitblit v1.8.0