From 4f8ffec8fc4aa9918264a3b3b4952421d896f5eb Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 17 四月 2020 17:48:36 +0800
Subject: [PATCH] 2020-04-17

---
 src/utils/utils.js |  259 +++++++++++++++++++--------------------------------
 1 files changed, 97 insertions(+), 162 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index f93eb25..a3f9b02 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -96,103 +96,40 @@
 
     let salt = 'minKe' // 鐩愬��
     // 鍏抽敭瀛楄浆鎹㈣鍒�
-    let format = [{
-      key: 'select',
-      value: ' msltk '
-    }, {
-      key: 'from',
-      value: ' mfrmk '
-    }, {
-      key: 'where',
-      value: ' mwhrk '
-    }, {
-      key: 'order by',
-      value: ' modbk '
-    }, {
-      key: 'asc',
-      value: ' modack '
-    }, {
-      key: 'desc',
-      value: ' moddesk '
-    }, {
-      key: 'top',
-      value: ' mtpk '
-    }, {
-      key: 'like',
-      value: ' mlkk '
-    }, {
-      key: 'not like',
-      value: ' mnlkk '
-    }, {
-      key: 'between',
-      value: ' mbtnk '
-    }, {
-      key: 'and',
-      value: ' madk '
-    }, {
-      key: 'insert',
-      value: ' mistk '
-    }, {
-      key: 'into',
-      value: ' mitk '
-    }, {
-      key: 'update',
-      value: ' muptk '
-    }, {
-      key: 'delete',
-      value: ' mdelk '
-    }, {
-      key: 'begin',
-      value: ' mbgink '
-    }, {
-      key: 'end',
-      value: ' medk '
-    }, {
-      key: 'if',
-      value: ' mefk '
-    }, {
-      key: 'while',
-      value: ' mwilk '
-    }, {
-      key: 'create',
-      value: ' mcrtk '
-    }, {
-      key: 'alter',
-      value: ' matek '
-    }, {
-      key: 'len',
-      value: ' mlnk '
-    }, {
-      key: 'left',
-      value: ' mlftk '
-    }, {
-      key: 'right',
-      value: ' mritk '
-    }, {
-      key: 'union',
-      value: ' munok '
-    }, {
-      key: 'varchar',
-      value: ' mvcrk '
-    }, {
-      key: 'getdate',
-      value: ' mgtdtk '
-    }, {
-      key: 'TRY',
-      value: ' mtryonek '
-    }, {
-      key: 'TRAN',
-      value: ' mtrnk '
-    }, {
-      key: 'goto',
-      value: ' mgtk '
-    }, {
-      key: 'set',
-      value: ' mstk '
-    }, {
-      key: 'ROLLBACK',
-      value: ' mrlbkk '
-    }]
+    let format = [
+      { key: 'select', value: ' msltk ' },
+      { key: 'from', value: ' mfrmk ' },
+      { key: 'where', value: ' mwhrk ' },
+      { key: 'order by', value: ' modbk ' },
+      { key: 'asc', value: ' modack ' },
+      { key: 'desc', value: ' moddesk ' },
+      { key: 'top', value: ' mtpk ' },
+      { key: 'like', value: ' mlkk ' },
+      { key: 'not like', value: ' mnlkk ' },
+      { key: 'between', value: ' mbtnk ' },
+      { key: 'and', value: ' madk ' },
+      { key: 'insert', value: ' mistk ' },
+      { key: 'into', value: ' mitk ' },
+      { key: 'update', value: ' muptk ' },
+      { key: 'delete', value: ' mdelk ' },
+      { key: 'begin', value: ' mbgink ' },
+      { key: 'end', value: ' medk ' },
+      { key: 'if', value: ' mefk ' },
+      { key: 'while', value: ' mwilk ' },
+      { key: 'create', value: ' mcrtk ' },
+      { key: 'alter', value: ' matek ' },
+      { key: 'len', value: ' mlnk ' },
+      { key: 'left', value: ' mlftk ' },
+      { key: 'right', value: ' mritk ' },
+      { key: 'union', value: ' munok ' },
+      { key: 'varchar', value: ' mvcrk ' },
+      { key: 'getdate', value: ' mgtdtk ' },
+      { key: 'TRY', value: ' mtryonek ' },
+      { key: 'TRAN', value: ' mtrnk ' },
+      { key: 'goto', value: ' mgtk ' },
+      { key: 'set', value: ' mstk ' },
+      { key: 'ROLLBACK', value: ' mrlbkk ' }
+    ]
 
     if (!isUnFormat) { // 鍔犲瘑
       value = value.replace(/\n/ig, ' \n ')
@@ -536,8 +473,28 @@
     let _topline = btn.range || 0
     let upId = this.getuuid()
 
-    if (btn.scripts && btn.scripts.length > 0) {
-      btn.scripts = btn.scripts.filter(item => item.status !== 'false')
+    let _initCustomScript = '' // 鍒濆鍖栬剼鏈�
+    let _prevCustomScript = '' // 榛樿sql鍓嶆墽琛岃剼鏈�
+    let _backCustomScript = '' // 榛樿sql鍚庢墽琛岃剼鏈�
+
+    if (btn.scripts) {
+      btn.scripts.forEach(script => {
+        if (script.status === 'false') return
+
+        if (script.position === 'init') {
+          _initCustomScript += `
+          ${script.sql}
+          `
+        } else if (script.position === 'front') {
+          _prevCustomScript += `
+          ${script.sql}
+          `
+        } else {
+          _backCustomScript += `
+          ${script.sql}
+          `
+        }
+      })
     }
 
     let _Ltext = data.map((item, lindex) => {
@@ -682,31 +639,19 @@
 
       let _insert = ''
 
-      if (btn.scripts && btn.scripts.length > 0) {
-        btn.scripts.forEach(script => {
-          if (script.position !== 'front') return
-
-          _insert += `
-          ${script.sql}
-          `
-        })
+      if (_prevCustomScript) {
+        _insert += _prevCustomScript
       }
 
       if (btn.default !== 'false') {
-        _insert = `
+        _insert += `
         Insert into ${item.sheet} (${fields},createuserid,createuser,createstaff,bid) 
         Select ${fields},@userid@,@username,@fullname,@BID@ From @${item.sheet}
         `
       }
 
-      if (btn.scripts && btn.scripts.length > 0) {
-        btn.scripts.forEach(script => {
-          if (script.position === 'front') return
-
-          _insert += `
-          ${script.sql}
-          `
-        })
+      if (_backCustomScript) {
+        _insert += _backCustomScript
       }
 
       _sql = `declare @${item.sheet} table (${declarefields.join(',')},jskey nvarchar(50) )
@@ -715,7 +660,7 @@
       Select  @ErrorCode='', @retmsg=''
       
       select @UserName=UserName,@FullName=FullName from SUsers where UID=@UserID@
-      
+      ${_initCustomScript}
       Insert into  @${item.sheet} (${fields},jskey)
       ${_Ltext}
       ${_uniquesql}
@@ -749,6 +694,30 @@
 
     if (verify.default !== 'false') { // 鍒ゆ柇鏄惁浣跨敤榛樿sql
       _actionType = btn.sqlType
+    }
+
+    let _initCustomScript = '' // 鍒濆鍖栬剼鏈�
+    let _prevCustomScript = '' // 榛樿sql鍓嶆墽琛岃剼鏈�
+    let _backCustomScript = '' // 榛樿sql鍚庢墽琛岃剼鏈�
+
+    if (verify.scripts) {
+      verify.scripts.forEach(item => {
+        if (item.status === 'false') return
+
+        if (item.position === 'init') {
+          _initCustomScript += `
+          ${item.sql}
+          `
+        } else if (item.position === 'front') {
+          _prevCustomScript += `
+          ${item.sql}
+          `
+        } else {
+          _backCustomScript += `
+          ${item.sql}
+          `
+        }
+      })
     }
 
     // 闇�瑕佸0鏄庣殑鍙橀噺闆�
@@ -872,9 +841,6 @@
     if (verify.billcodes) {
       verify.billcodes = verify.billcodes.filter(item => item.status !== 'false')
     }
-    if (verify.scripts) {
-      verify.scripts = verify.scripts.filter(item => item.status !== 'false')
-    }
 
     let userName = sessionStorage.getItem('User_Name') || ''
     let fullName = sessionStorage.getItem('Full_Name') || ''
@@ -887,6 +853,10 @@
     // 鍒濆鍖栧嚟璇佸強鐢ㄦ埛淇℃伅瀛楁
     _sql += `select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}'
       `
+
+    if (_initCustomScript) {
+      _sql += _initCustomScript
+    }
 
     // 鍚敤璐︽湡楠岃瘉
     if (verify.accountdate === 'true') {
@@ -1077,16 +1047,8 @@
       let values = []
 
       formdata.forEach(item => {
-        if (item.type === 'funcvar') {
-          keys.push(item.key.toLowerCase())
-          values.push('@' + item.key)
-        } else if (item.type === 'number') {
-          keys.push(item.key.toLowerCase())
-          values.push(item.value)
-        } else {
-          keys.push(item.key.toLowerCase())
-          values.push('\'' + item.value + '\'')
-        }
+        keys.push(item.key.toLowerCase())
+        values.push('@' + item.key)
       })
 
       if (!keys.includes(primaryKey.toLowerCase())) {
@@ -1129,18 +1091,7 @@
 
       formdata.forEach(item => {
         _arr.push(item.key.toLowerCase())
-
-        if (item.type === 'funcvar') {
-          if (_actionType === 'update') {
-            _form.push(item.key + '=@' + item.key)
-          } else if (_actionType === 'insertOrUpdate') { // 娣诲姞鎴栦慨鏀规椂锛屽嚱鏁板彉閲忔坊鍔犺〃鍗曟暟鍊�
-            _form.push(item.key + '=\'' + item.value + '\'')
-          }
-        } else if (item.type === 'number') {
-          _form.push(item.key + '=' + item.value)
-        } else {
-          _form.push(item.key + '=\'' + item.value + '\'')
-        }
+        _form.push(item.key + '=@' + item.key)
       })
 
       if (!_arr.includes('modifydate')) {
@@ -1164,16 +1115,8 @@
       _updatesql = `update ${btn.sql} set ${_form} where ${primaryKey}=@${primaryKeyName};`
     }
 
-    // 鎷兼帴鑷畾涔夎剼鏈�
-    if (verify.scripts && verify.scripts.length > 0) {
-      let _scripts = ''
-      verify.scripts.forEach(item => {
-        if (item.position !== 'front') return
-
-        _scripts += `
-        ${item.sql}`
-      })
-      _sql += `${_scripts}`
+    if (_prevCustomScript) {
+      _sql += _prevCustomScript
     }
 
     // 娣诲姞銆佷慨鏀广�侀�昏緫鍒犻櫎銆佺墿鐞嗗垹闄�
@@ -1211,16 +1154,8 @@
       `
     }
 
-    // 鎷兼帴鑷畾涔夎剼鏈�
-    if (verify.scripts && verify.scripts.length > 0) {
-      let _scripts = ''
-      verify.scripts.forEach(item => {
-        if (item.position === 'front') return
-
-        _scripts += `
-        ${item.sql}`
-      })
-      _sql += `${_scripts}`
+    if (_backCustomScript) {
+      _sql += _backCustomScript
     }
 
     _sql += `

--
Gitblit v1.8.0