From 3e8101e4b5afb513e21279a00abfa9c98bb81c19 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 31 八月 2023 16:16:23 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/utils/utils.js |  111 +++++++++++++++++++++++++++++--------------------------
 1 files changed, 58 insertions(+), 53 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 6965ff7..44c6a54 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -39,26 +39,6 @@
 
 export default class Utils {
   /**
-   * @description 鑾峰彇浼氬憳绛夌骇
-   * @return {String}  level
-   */
-  static getMemberLevel () {
-    let _level = 10
-    let _Mlevel = sessionStorage.getItem('Member_Level')
-
-    if (_Mlevel) {
-      if (_Mlevel === md5('mksoft' + window.GLOB.appkey + new Date().getFullYear() + new Date().getMonth() + 10)) {
-        _level = 10
-      } else if (_Mlevel === md5('mksoft' + window.GLOB.appkey + new Date().getFullYear() + new Date().getMonth() + 20)) {
-        _level = 20
-      } else if (_Mlevel === md5('mksoft' + window.GLOB.appkey + new Date().getFullYear() + new Date().getMonth() + 30)) {
-        _level = 30
-      }
-    }
-    return _level
-  }
-
-  /**
    * @description 鑾峰彇鍥捐〃楂樺害
    */
   static getHeight (val) {
@@ -943,6 +923,8 @@
           val = 0
         } else if (col.type === 'date') {
           val = '1949-10-01'
+        } else if (col.type === 'datetime') {
+          val = '1949-10-01 00:00:00'
         }
       } else if (/^Nvarchar/ig.test(col.type)) {
         val = val + ''
@@ -975,7 +957,7 @@
         } else if ((col.max || col.max === 0) && val > col.max) { // 鏈�澶у�兼楠�
           errors.push(_position + '澶т簬鏈�澶у��')
         }
-      } else if (col.type === 'date') {
+      } else if (col.type === 'date' || col.type === 'datetime') {
         if (typeof(val) === 'number') {
           if (val > 2958465 || val <= 0) {                 // 鏃堕棿杩囧ぇ鎴栧皬浜庣瓑浜�0
             errors.push(_position + '鏃堕棿涓鸿礋鍊兼垨澶ぇ')
@@ -983,7 +965,14 @@
             if (val < 60) {                                // 1900-2-29锛宔xcel涓瓨鍦紝瀹為檯涓嶅瓨鍦�
               val++
             }
-            val = moment('19000101', 'YYYYMMDD').add(Math.floor(val - 2), 'days').format('YYYY-MM-DD')
+            if (col.type === 'datetime') {
+              val = val - 2
+              let day = Math.floor(val)
+              let seconds = Math.round((val - day) * 24 * 60 * 60)
+              val = moment('19000101', 'YYYYMMDD').add(day, 'days').add(seconds, 'seconds').format('YYYY-MM-DD HH:mm:ss')
+            } else {
+              val = moment('19000101', 'YYYYMMDD').add(Math.floor(val - 2), 'days').format('YYYY-MM-DD')
+            }
           }
         } else if (typeof(val) === 'string') {
           val = val.replace(/(^\s+$)|\t+|\v+/ig, '')
@@ -1016,27 +1005,35 @@
     let _initCustomScript = '' // 鍒濆鍖栬剼鏈�
     let _prevCustomScript = '' // 榛樿sql鍓嶆墽琛岃剼鏈�
     let _backCustomScript = '' // 榛樿sql鍚庢墽琛岃剼鏈�
-    let tb = new RegExp('(^|\\s)@' + sheet + '(\\s|$|(|))', 'ig')
+    let isDM = sessionStorage.getItem('dataM') === 'true'
+    let regs = [
+      {reg: new RegExp('(^|\\s)@' + sheet + '(\\s|$)', 'ig'), value: ` #${sheet} `},
+      {reg: new RegExp('(^|\\s)@' + sheet + '\\(', 'ig'), value: ` #${sheet}(`},
+      {reg: new RegExp('(^|\\s)@' + sheet + '\\)', 'ig'), value: ` #${sheet})`},
+      {reg: /@ID@/ig, value: `'${primaryId || ''}'`},
+      {reg: /@BID@/ig, value: `'${BID}'`},
+      {reg: /@LoginUID@/ig, value: `'${sessionStorage.getItem('LoginUID') || ''}'`},
+      {reg: /@SessionUid@/ig, value: `'${localStorage.getItem('SessionUid') || ''}'`},
+      {reg: /@UserID@/ig, value: `'${sessionStorage.getItem('UserID') || ''}'`},
+      {reg: /@Appkey@/ig, value: `'${window.GLOB.appkey || ''}'`},
+      {reg: /@typename@/ig, value: `'admin'`},
+      {reg: /\$@/ig, value: isDM ? '/*' : ''},
+      {reg: /@\$/ig, value: isDM ? '*/' : ''},
+      {reg: /@datam@/ig, value: isDM ? `'Y'` : `''`},
+    ]
+
+    if (window.GLOB.externalDatabase !== null) {
+      regs.push({reg: /@db@/ig, value: window.GLOB.externalDatabase})
+    }
 
     btn.scripts && btn.scripts.forEach(script => {
       if (script.status === 'false') return
 
       let _sql = script.sql
 
-      _sql = _sql.replace(tb, `#${sheet}`)
-      _sql = _sql.replace(/@ID@/ig, `'${primaryId || ''}'`)
-      _sql = _sql.replace(/@BID@/ig, `'${BID}'`)
-      _sql = _sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
-      _sql = _sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
-      _sql = _sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
-      _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
-      _sql = _sql.replace(/@typename@/ig, `'admin'`)
-
-      if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
-        _sql = _sql.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'')
-      } else {
-        _sql = _sql.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'')
-      }
+      regs.forEach(item => {
+        _sql = _sql.replace(item.reg, item.value)
+      })
 
       if (script.position === 'init') {
         _initCustomScript += `
@@ -1219,26 +1216,34 @@
     let _initCustomScript = '' // 鍒濆鍖栬剼鏈�
     let _prevCustomScript = '' // 榛樿sql鍓嶆墽琛岃剼鏈�
     let _backCustomScript = '' // 榛樿sql鍚庢墽琛岃剼鏈�
-    let tb = new RegExp('(^|\\s)@' + sheet + '(\\s|$|(|))', 'ig')
+    let isDM = sessionStorage.getItem('dataM') === 'true'
+    let regs = [
+      {reg: new RegExp('(^|\\s)@' + sheet + '(\\s|$)', 'ig'), value: ` #${sheet} `},
+      {reg: new RegExp('(^|\\s)@' + sheet + '\\(', 'ig'), value: ` #${sheet}(`},
+      {reg: new RegExp('(^|\\s)@' + sheet + '\\)', 'ig'), value: ` #${sheet})`},
+      {reg: /@BID@/ig, value: `'${BID}'`},
+      {reg: /@LoginUID@/ig, value: `'${sessionStorage.getItem('LoginUID') || ''}'`},
+      {reg: /@SessionUid@/ig, value: `'${localStorage.getItem('SessionUid') || ''}'`},
+      {reg: /@UserID@/ig, value: `'${sessionStorage.getItem('UserID') || ''}'`},
+      {reg: /@Appkey@/ig, value: `'${window.GLOB.appkey || ''}'`},
+      {reg: /@typename@/ig, value: `'admin'`},
+      {reg: /\$@/ig, value: isDM ? '/*' : ''},
+      {reg: /@\$/ig, value: isDM ? '*/' : ''},
+      {reg: /@datam@/ig, value: isDM ? `'Y'` : `''`},
+    ]
+
+    if (window.GLOB.externalDatabase !== null) {
+      regs.push({reg: /@db@/ig, value: window.GLOB.externalDatabase})
+    }
 
     btn.scripts && btn.scripts.forEach(script => {
       if (script.status === 'false') return
 
       let _sql = script.sql
 
-      _sql = _sql.replace(tb, `#${sheet}`)
-      _sql = _sql.replace(/@BID@/ig, `'${BID}'`)
-      _sql = _sql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
-      _sql = _sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
-      _sql = _sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
-      _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
-      _sql = _sql.replace(/@typename@/ig, `'admin'`)
-
-      if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
-        _sql = _sql.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'')
-      } else {
-        _sql = _sql.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'')
-      }
+      regs.forEach(item => {
+        _sql = _sql.replace(item.reg, item.value)
+      })
 
       if (script.position === 'init') {
         _initCustomScript += `
@@ -1453,7 +1458,7 @@
     if (!_vars.includes(_key)) {
       _vars.push(_key)
 
-      if (form.fieldlen && form.fieldlen > 2048) {
+      if (form.fieldlen && form.fieldlen > 4000) {
         form.fieldlen = 'max'
       }
 
@@ -1507,7 +1512,7 @@
         if (col.datatype) {
           _declarefields.push(`@${_key} ${col.datatype}`)
         } else {
-          if (col.fieldlength && col.fieldlength > 2048) {
+          if (col.fieldlength && col.fieldlength > 4000) {
             col.fieldlength = 'max'
           }
 

--
Gitblit v1.8.0