From 12d591d4ed4880ee87bdda444424b9acaa73d9f7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 20 二月 2024 18:12:11 +0800
Subject: [PATCH] 2024-02-20

---
 src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx |  101 +++++++-------------------------------------------
 1 files changed, 14 insertions(+), 87 deletions(-)

diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx
index 2bcd93c..444e507 100644
--- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx
@@ -7,8 +7,9 @@
 
 import Api from '@/api'
 import Utils from '@/utils/utils.js'
+import { checkSQL, getSearchFields } from '@/utils/utils-custom.js'
 import CodeMirror from '@/templates/zshare/codemirror'
-import './index.scss'
+// import './index.scss'
 
 class CustomForm extends Component {
   static propTpyes = {
@@ -26,12 +27,16 @@
   }
 
   UNSAFE_componentWillMount () {
-    this.resetfield(this.props.searches)
+    this.setState({
+      usefulfields: getSearchFields(this.props.searches)
+    })
   }
 
   UNSAFE_componentWillReceiveProps(nextProps) {
     if (!is(fromJS(this.props.searches), fromJS(nextProps.searches))) {
-      this.resetfield(nextProps.searches)
+      this.setState({
+        usefulfields: getSearchFields(nextProps.searches)
+      })
     }
   }
 
@@ -49,17 +54,18 @@
     
     let _scriptSql = `Select distinct func+Remark as funcname,longparam, s.Sort from聽 s_custom_script s inner join (select OpenID from sapp where ID=@Appkey@) p on s.openid = case when s.appkey='' then s.openid else p.OpenID end order by s.Sort`
 
-    _scriptSql = Utils.formatOptions(_scriptSql)
+    _scriptSql = Utils.formatOptions(_scriptSql, 'x')
 
     let _sParam = {
       func: 'sPC_Get_SelectedList',
       LText: _scriptSql,
       obj_name: 'data',
-      arr_field: 'funcname,longparam'
+      arr_field: 'funcname,longparam',
+      exec_type: 'x'
     }
     
     _sParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-    _sParam.secretkey = Utils.encrypt(_sParam.LText, _sParam.timestamp)
+    _sParam.secretkey = Utils.encrypt('', _sParam.timestamp)
     _sParam.open_key = Utils.encryptOpenKey(_sParam.secretkey, _sParam.timestamp) // 浜戠鏁版嵁楠岃瘉
     
     Api.getCloudConfig(_sParam).then(res => {
@@ -83,40 +89,6 @@
           duration: 5
         })
       }
-    })
-  }
-
-  resetfield = (searches) => {
-    let _usefulFields = []
-    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'].includes(item.type)) {
-        _usefulFields.push(item.field)
-        _usefulFields.push(item.field + '1')
-      } else if (item.type === 'daterange') {
-        let _skey = item.field
-        let _ekey = item.field + '1'
-
-        if (/,/.test(item.field)) {
-          _skey = item.field.split(',')[0]
-          _ekey = item.field.split(',')[1]
-        }
-        _usefulFields.push(_skey)
-        _usefulFields.push(_ekey)
-      } else if (item.type === 'date' && _usefulFields.includes(item.field)) {
-        _usefulFields.push(item.field + '1')
-      } else {
-        _usefulFields.push(item.field)
-      }
-    })
-
-    this.setState({
-      usefulfields: _usefulFields.join(', ')
     })
   }
 
@@ -147,54 +119,9 @@
         
         values.uuid = this.state.editItem ? this.state.editItem.uuid : ''
 
-        let _quot = values.sql.match(/'{1}/g)
-        let _lparen = values.sql.match(/\({1}/g)
-        let _rparen = values.sql.match(/\){1}/g)
+        let pass = checkSQL(values.sql, 'customscript')
 
-        _quot = _quot ? _quot.length : 0
-        _lparen = _lparen ? _lparen.length : 0
-        _rparen = _rparen ? _rparen.length : 0
-
-        if (_quot % 2 !== 0) {
-          notification.warning({
-            top: 92,
-            message: 'sql涓璡'蹇呴』鎴愬鍑虹幇',
-            duration: 5
-          })
-          return
-        } else if (_lparen !== _rparen) {
-          notification.warning({
-            top: 92,
-            message: 'sql涓�()蹇呴』鎴愬鍑虹幇',
-            duration: 5
-          })
-          return
-        } else if (/--/ig.test(values.sql)) {
-          notification.warning({
-            top: 92,
-            message: '鑷畾涔塻ql璇彞涓紝涓嶅彲鍑虹幇瀛楃 -- 锛屾敞閲婅鐢� /*鍐呭*/',
-            duration: 5
-          })
-          return
-        } else if (/,,/ig.test(values.sql)) {
-          notification.warning({
-            top: 92,
-            message: '鑷畾涔塻ql璇彞涓紝涓嶅彲鍑虹幇杩炵画鐨勮嫳鏂囬�楀彿锛�,,锛�',
-            duration: 5
-          })
-          return
-        }
-
-        let error = Utils.verifySql(values.sql, 'customscript')
-
-        if (error) {
-          notification.warning({
-            top: 92,
-            message: 'sql涓笉鍙娇鐢�' + error,
-            duration: 5
-          })
-          return
-        }
+        if (!pass) return
 
         this.setState({
           loading: true

--
Gitblit v1.8.0