From 46fa548514ba2a438908586e2b54ed742777e9b0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 08 六月 2020 18:09:11 +0800
Subject: [PATCH] 2020-06-08

---
 src/templates/sharecomponent/settingcomponent/settingform/index.jsx |   50 ++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 40 insertions(+), 10 deletions(-)

diff --git a/src/templates/sharecomponent/settingcomponent/settingform/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/index.jsx
index 960fa2a..15cb953 100644
--- a/src/templates/sharecomponent/settingcomponent/settingform/index.jsx
+++ b/src/templates/sharecomponent/settingcomponent/settingform/index.jsx
@@ -118,14 +118,6 @@
     })
     arr_field = arr_field.join(',')
 
-    // 姝e垯鏇挎崲
-    let regoptions = allSearch.map(item => {
-      return {
-        reg: new RegExp('@' + item.key + '@', 'ig'),
-        value: `'${item.value}'`
-      }
-    })
-
     let _search = this.formatSearch(config.search)
     _search = Utils.joinMainSearchkey(_search)
 
@@ -136,7 +128,7 @@
       setting: _setting,
       search: _search,
       arr_field: arr_field,
-      regoptions: regoptions,
+      regoptions: allSearch,
       formlist: _formlist.map(item => {
         if (interType === 'inner' && ['sysInterface', 'interface', 'outerFunc'].includes(item.key)) {
           item.hidden = true
@@ -218,6 +210,37 @@
               reject()
               return
             } else if (values.interType === 'inner' && !values.innerFunc && values.default !== 'false' && values.dataresource) {
+              let _quot = values.dataresource.match(/'{1}/g)
+              let _lparen = values.dataresource.match(/\({1}/g)
+              let _rparen = values.dataresource.match(/\){1}/g)
+
+              _quot = _quot ? _quot.length : 0
+              _lparen = _lparen ? _lparen.length : 0
+              _rparen = _rparen ? _rparen.length : 0
+
+              if (_quot % 2 !== 0) {
+                notification.warning({
+                  top: 92,
+                  message: '鏁版嵁婧愪腑\'蹇呴』鎴愬鍑虹幇',
+                  duration: 5
+                })
+                return
+              } else if (_lparen !== _rparen) {
+                notification.warning({
+                  top: 92,
+                  message: '鏁版嵁婧愪腑()蹇呴』鎴愬鍑虹幇',
+                  duration: 5
+                })
+                return
+              } else if (/--/ig.test(values.dataresource)) {
+                notification.warning({
+                  top: 92,
+                  message: '鏁版嵁婧愪腑锛屼笉鍙嚭鐜板瓧绗� -- 锛屾敞閲婅鐢� /*鍐呭*/',
+                  duration: 5
+                })
+                return
+              }
+
               let error = Utils.verifySql(values.dataresource)
   
               if (error) {
@@ -470,7 +493,14 @@
         }
 
         if (setting.queryType === 'statistics') { // 缁熻鏁版嵁婧愶紝鍐呭鏇挎崲
-          regoptions.forEach(item => {
+          // 姝e垯鏇挎崲
+          let _regoptions = regoptions.map(item => {
+            return {
+              reg: new RegExp('@' + item.key + '@', 'ig'),
+              value: `'${item.value}'`
+            }
+          })
+          _regoptions.forEach(item => {
             _dataresource = _dataresource.replace(item.reg, item.value)
           })
 

--
Gitblit v1.8.0