From 9a1416e0b5cdb40f49b3c2061b04b35551d77e99 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 19 九月 2023 18:14:21 +0800
Subject: [PATCH] 2023-09-19

---
 src/menu/datasource/verifycard/customscript/index.jsx |   72 ++++++++++++++++--------------------
 1 files changed, 32 insertions(+), 40 deletions(-)

diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx
index 7e7af73..aee86c2 100644
--- a/src/menu/datasource/verifycard/customscript/index.jsx
+++ b/src/menu/datasource/verifycard/customscript/index.jsx
@@ -19,7 +19,8 @@
     searches: PropTypes.array,      // 鎼滅储鏉′欢
     systemScripts: PropTypes.array, // 绯荤粺鑴氭湰
     scriptSubmit: PropTypes.func,   // 鑴氭湰楠岃瘉鍚庢彁浜�
-    scriptsChange: PropTypes.func   // 鑴氭湰楠岃瘉
+    scriptsChange: PropTypes.func,
+    addProcess: PropTypes.func
   }
 
   state = {
@@ -32,54 +33,41 @@
   UNSAFE_componentWillMount() {
     const { searches } = this.props
 
+    this.getSearchField(searches)
+  }
+
+  UNSAFE_componentWillReceiveProps (nextProps) {
+    if (!is(fromJS(this.props.searches), fromJS(nextProps.searches))) {
+      this.getSearchField(nextProps.searches)
+    }
+  }
+
+  getSearchField = (searches) => {
     let _usefulFields = []
     searches.forEach(item => {
-      if (!item.field) return
+      if (['dateweek', 'datemonth'].includes(item.type)) {
+        _usefulFields.push(item.key)
+        _usefulFields.push(item.key + '1')
+      } else if (item.type === 'daterange') {
+        let _skey = item.key
+        let _ekey = item.key + '1'
 
-      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')
+        if (/,/.test(item.key)) {
+          _skey = item.key.split(',')[0]
+          _ekey = item.key.split(',')[1]
+        }
+        _usefulFields.push(_skey)
+        _usefulFields.push(_ekey)
+      } else if (item.type === 'date' && _usefulFields.includes(item.key)) {
+        _usefulFields.push(item.key + '1')
       } else {
-        _usefulFields.push(item.field)
+        _usefulFields.push(item.key)
       }
     })
 
     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) => {
@@ -220,6 +208,9 @@
 
     if (value === 'defaultsql') {
       value = this.props.defaultsql
+    } else if (value === 'flowsql') {
+      value = `/* select a.*,w.remark as remark_w,w.statusname as statusname_w,w.status as status_w,w.works_flow_param from (鏁版嵁婧�) a inner join (select * from  s_my_works_flow  where works_flow_code=@works_flow_code@ and status=0 and deleted=0) w on a.id=w.works_flow_id */`
+      this.props.addProcess()
     }
 
     _sql = _sql.replace(/\s{6}$/, '')
@@ -312,7 +303,7 @@
             <Form.Item label="鍙敤瀛楁" className="field-able">
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鍏叡鍊硷紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}><span style={{color: '#1890ff'}}>BID, LoginUID, SessionUid, UserID, Appkey, time_id, typename</span></Tooltip>,&nbsp;
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞惰祴鍊笺��'}><span style={{color: '#fa8c16'}}>UserName, FullName, RoleID, mk_departmentcode, mk_organization, mk_user_type, mk_nation, mk_province, mk_city, mk_district, mk_address</span></Tooltip>,&nbsp;
-              <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}</Tooltip>
+              <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@鎴朄orderBy@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}</Tooltip>
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'url鍙橀噺锛岃鎸夌収@xxx@鏍煎紡浣跨敤銆�'}>{urlFields ? ', ' : ''}<span style={{color: '#13c2c2'}}>{urlFields}</span></Tooltip>
             </Form.Item>
           </Col>
@@ -341,6 +332,7 @@
                 onSelect={this.selectScript}
               >
                 <Select.Option style={{whiteSpace: 'normal'}} key="default" value="defaultsql">榛樿sql</Select.Option>
+                {window.GLOB.process ? <Select.Option style={{whiteSpace: 'normal'}} key="default" value="flowsql">榛樿sql锛堝伐浣滄祦锛�</Select.Option> : null}
                 <Select.Option key="debugger" value={`z_debug: select @ErrorCode='E',@retmsg='娴嬭瘯鏂偣' goto aaa`}>
                   娴嬭瘯鏂偣
                 </Select.Option>

--
Gitblit v1.8.0