From 113313a0496f958860a156b4330960e0d12522a7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 04 六月 2020 17:53:59 +0800
Subject: [PATCH] 2020-06-04

---
 src/utils/utils.js |   47 ++++++++++++++++++++++++++---------------------
 1 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 2cff539..8b14dfd 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -2,8 +2,6 @@
 import md5 from 'md5'
 import options from '@/store/options.js'
 
-const service = window.GLOB.service ? (/\/$/.test(window.GLOB.service) ? window.GLOB.service : window.GLOB.service + '/') : ''
-
 export default class Utils {
   /**
    * @description 鐢熸垚32浣島uid string + 鏃堕棿
@@ -67,10 +65,10 @@
       {key: 'alter', reg: /(^|\s)alter\s/ig},
       {key: 'truncate', reg: /(^|\s)truncate\s/ig},
       {key: 'if', reg: /(^|\s)if\s/ig},
-      {key: 'exec', reg: /exec/ig},
-      {key: 'OBJECT', reg: /object/ig},
-      {key: 'sys.', reg: /sys\./ig},
-      {key: 'kill', reg: /kill/ig}
+      {key: 'exec', reg: /(^|\s)exec(\s|\()/ig},
+      {key: 'OBJECT', reg: /(^|\s)object(\s|\()/ig},
+      {key: 'sys.', reg: /(^|\s)sys\./ig},
+      {key: 'kill', reg: /(^|\s)kill\s/ig}
     ]
 
     if (type === 'customscript') {
@@ -553,9 +551,9 @@
 
     let baseurl = ''
     if (process.env.NODE_ENV === 'production') {
-      baseurl = document.location.origin + '/' + service
+      baseurl = document.location.origin + '/' + window.GLOB.service
     } else {
-      baseurl = 'http://qingqiumarket.cn/' + service
+      baseurl = window.GLOB.location + window.GLOB.service
     }
     // if (!/Content\/images\/upload\//.test(url)) {
     //   baseurl = baseurl + 'Content/images/upload/'
@@ -576,7 +574,7 @@
     if (options.cloudServiceApi) {
       baseurl = options.cloudServiceApi.replace(/webapi(.*)$/, '')
     } else {
-      baseurl = document.location.origin + '/' + service
+      baseurl = document.location.origin + '/' + window.GLOB.service
     }
 
     return url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url
@@ -1051,10 +1049,15 @@
         datasource = '(' + datasource + ') tb'
       }
 
+      let _ID = '=@ID@'
+      if (btn.Ot === 'requiredOnce') {
+        _ID = ' in (select ID from  dbo.SplitComma(@ID@))'
+      }
+
       _sql += `
         /* 澶辨晥楠岃瘉 */
         select @tbid='', @ErrorCode='',@retmsg=''
-        select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ='${primaryId}'
+        select @tbid=${primaryKey} from ${datasource} where ${primaryKey} ${_ID}
         If @tbid=''
         Begin
           select @ErrorCode='E',@retmsg='鏁版嵁宸插け鏁�'
@@ -1130,18 +1133,20 @@
       }
 
       verify.uniques.forEach(item => {
-        console.log(item)
-        // `鏈夊悓绫绘暟鎹獙璇侊細
-        // 涓庡敮涓�鎬ч獙璇佷竴鏍凤紝鍙互閫夊嚑涓瓧娈�
-        // Set @tbid=鈥欌��
+        let _primaryKey = item.field.split(',').includes(primaryKey) ? '' : ',' + primaryKey
+
+        _sql += `
+        /* 鍚岀被鏁版嵁楠岃瘉 */
+        Set @tbid=''
+
+        Select top 1 @tbid='X' from (select ${item.field}${_primaryKey},1 as n from ${datasource} ) tb  inner join (select ID from  dbo.SplitComma(@ID@)) sp on tb.${primaryKey}=sp.ID group by ${item.field} having sum(n)>1
         
-        // Select top 1 @tbid=鈥橷鈥� from (select 澶氫釜瀛楁閫楀彿鍒嗛殧,涓婚敭,1 an n from 鏁版嵁婧� ) tb  inner join (select ID from  dbo.SplitComma(@ID@)) sp on tb.涓婚敭=sp.ID group by 澶氫釜瀛楁閫楀彿鍒嗛殧 having sum(n)>1
-        
-        // If @tbid!=鈥欌��
-        // Begin
-        //     Set @errorcode=鈥橢鈥� ,Set @remsg=鈥欏涓瓧娈甸�楀彿鍒嗛殧 鍊间笉鍞竴鈥� goto aaa
-        // end
-        // `
+        If @tbid!=''
+        Begin
+          Set @ErrorCode='E' Set @retmsg='${item.fieldlabel} 鍊间笉鍞竴'
+          goto aaa
+        end
+        `
       })
     }
     

--
Gitblit v1.8.0