From 574ea3b532b625456c09f14fc11073aad6b61db7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 02 八月 2023 12:11:47 +0800
Subject: [PATCH] 2023-08-02

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

diff --git a/src/utils/utils.js b/src/utils/utils.js
index f09195e..967ae7e 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -216,12 +216,6 @@
   //   value = window.atob(value)
   //   value = value.replace('minKe', '')
   //   value = window.decodeURIComponent(window.atob(value))
-
-  //   // 澶栬仈鏁版嵁搴撴浛鎹�
-  //   if (window.GLOB.externalDatabase !== null && window.GLOB.externalDatabase) {
-  //     value = value.replace(window.GLOB.externalDatabase, '@db@')
-  //   }
-
   //   value = value.replace(/ mpercent /ig, '%')
     
   //   // 鏇挎崲鍏抽敭瀛�
@@ -230,7 +224,7 @@
   //     value = value.replace(reg, ' ' + item.key + ' ')
   //   })
 
-  //   // value = value.replace(/\n/ig, ' \n ')
+  //   value = value.replace(/ \n /ig, '\n')
 
   //   return value
   // }
@@ -292,12 +286,17 @@
    * @description 鍒濆鍖栨悳绱㈡潯浠跺垵濮嬪��
    * @param {Array}   searches     鎼滅储鏉′欢
    */
-  static initSearchVal (searches) {
-    if (!searches) return []
+  static initSearchVal (config) {
+    if (!config.search) {
+      config.search = []
+      return
+    }
 
     let roleId = sessionStorage.getItem('role_id') || ''
+    let required = false
+    let keys = []
 
-    return searches.map(item => {
+    config.search = config.search.map(item => {
       item.hidden = item.Hide === 'true'
       item.required = !item.hidden && item.required === 'true'
       item.advanced = item.advanced === 'true'
@@ -413,8 +412,28 @@
         }
       }
 
+      if (item.required) {
+        required = true
+      }
+
+      if (item.type === 'text' || item.type === 'select') {
+        if (/,/.test(item.field)) {
+          item.field.split(',').forEach(field => {
+            keys.push(field.toLowerCase())
+          })
+        } else {
+          keys.push(item.field.toLowerCase())
+        }
+      } else if (item.type === 'group') {
+        keys.push(item.field.toLowerCase())
+        keys.push(item.datefield.toLowerCase())
+      }
+
       return item
     })
+
+    config.$s_keys = keys
+    config.$s_req = required
   }
 
   /**
@@ -800,6 +819,8 @@
         arrfield.push(item.urlField)
       } else if (item.colorField) {
         arrfield.push(item.colorField)
+      } else if (item.parentField) {
+        arrfield.push(item.parentField)
       }
     }
 
@@ -807,6 +828,8 @@
       arrfield.push(item.linkField)
     }
     if (['select', 'radio', 'link', 'checkcard'].includes(item.type) && item.linkSubField && item.linkSubField.length > 0) {
+      arrfield.push(...item.linkSubField)
+    } else if (item.type === 'text' && item.editType === 'select' && item.linkSubField && item.linkSubField.length > 0) { // 鍙紪杈戣〃
       arrfield.push(...item.linkSubField)
     }
     if (item.disableField) {
@@ -831,10 +854,9 @@
     }
 
     if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
-      sql = sql.replace(/\$@/ig, '/*')
-      sql = sql.replace(/@\$/ig, '*/')
+      sql = sql.replace(/\$@/ig, '/*').replace(/@\$/ig, '*/').replace(/@datam@/ig, '\'Y\'')
     } else {
-      sql = sql.replace(/@\$|\$@/ig, '')
+      sql = sql.replace(/@\$|\$@/ig, '').replace(/@datam@/ig, '\'\'')
     }
 
     // 澶栬仈鏁版嵁搴撴浛鎹�
@@ -958,9 +980,7 @@
       let _position = (_topline + lindex + 1) + '琛� ' + _colindex + '鍒� '
 
       if (/^Nvarchar/ig.test(col.type)) {
-        if (typeof(val) === 'number') {
-          val = val.toString()
-        }
+        val = val + ''
 
         if (/'/.test(val)) {
           val = val.replace(/'/ig, '"')
@@ -980,38 +1000,15 @@
             }
           })
         }
-      } else if (/^int/ig.test(col.type)) {
+      } else if (/^Decimal/ig.test(col.type) || /^int/ig.test(col.type)) {
         if (!val && val !== 0) {
           errors.push(_position + '鍐呭涓嶅彲涓虹┖')
-        } else {
-          let _val = val + ''
-
-          if (!/^(([^0][0-9]+|0)$)|^(([1-9]+)$)/.test(_val)) {               // 妫�楠屾槸鍚︿负鏁存暟
-            errors.push(_position + '鍐呭搴斾负鏁存暟')
-          } else if ((col.min || col.min === 0) && val < col.min) {          // 鏈�灏忓�兼楠�
-            errors.push(_position + '灏忎簬鏈�灏忓��')
-          } else if ((col.max || col.max === 0) && val > col.max) {          // 鏈�澶у�兼楠�
-            errors.push(_position + '澶т簬鏈�澶у��')
-          }
-        }
-      } else if (/^Decimal/ig.test(col.type)) {
-        if (!val && val !== 0) {
-          errors.push(_position + '鍐呭涓嶅彲涓虹┖')
-        } else {
-          let _val = val + ''
-          let _vals = _val.split('.')
-
-          if (!/^(([^0][0-9]+|0)\.([0-9]+)$)|^(([^0][0-9]+|0)$)|^(([1-9]+)\.([0-9]+)$)|^(([1-9]+)$)/.test(_val)) {                           // 妫�楠屾槸鍚︿负娴偣鏁�
-            errors.push(_position + '鍐呭搴斾负娴偣鏁�')
-          } else if (_vals[0].length > 18) {                          // 妫�楠屾暣鏁颁綅
-            errors.push(_position + '鏁存暟浣嶈秴鍑鸿寖鍥�')
-          } else if (_vals[1] && _vals[1].length > col.limit) {       // 鏈�灏忓�兼楠�
-            errors.push(_position + '灏忔暟浣嶈秴鍑鸿寖鍥�')
-          } else if ((col.min || col.min === 0) && val < col.min) {   // 鏈�灏忓�兼楠�
-            errors.push(_position + '灏忎簬鏈�灏忓��')
-          } else if ((col.max || col.max === 0) && val > col.max) {   // 鏈�澶у�兼楠�
-            errors.push(_position + '澶т簬鏈�澶у��')
-          }
+        } else if (isNaN(val)) {                                  // 妫�楠屾槸鍚︿负鏁板��
+          errors.push(_position + '鍐呭搴斾负鏁板��')
+        } else if ((col.min || col.min === 0) && val < col.min) { // 鏈�灏忓�兼楠�
+          errors.push(_position + '灏忎簬鏈�灏忓��')
+        } else if ((col.max || col.max === 0) && val > col.max) { // 鏈�澶у�兼楠�
+          errors.push(_position + '澶т簬鏈�澶у��')
         }
       } else if (col.type === 'date') {
         if (typeof(val) === 'number') {
@@ -1486,7 +1483,11 @@
         if (/'/.test(val)) {
           val = val.replace(/'/ig, '"')
         }
-        _initFormfields.push(`@${_key}='${val}'`)
+        if (form.isconst) {
+          _initFormfields.push(`@${_key}=N'${val}'`)
+        } else {
+          _initFormfields.push(`@${_key}='${val}'`)
+        }
       }
     }
     
@@ -2155,6 +2156,12 @@
   _sql = _sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
   _sql = _sql.replace(/@typename@/ig, `'admin'`)
 
+  if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
+    _sql = _sql.replace(/@datam@/ig, '\'Y\'')
+  } else {
+    _sql = _sql.replace(/@datam@/ig, '\'\'')
+  }
+
   if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
     // _sql = _sql.replace(/\n\s{8}/ig, '\n')
     console.info(_sql)
@@ -2168,6 +2175,12 @@
     _callbacksql = _callbacksql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
     _callbacksql = _callbacksql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
     _callbacksql = _callbacksql.replace(/@typename@/ig, `'admin'`)
+
+    if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺
+      _callbacksql = _callbacksql.replace(/@datam@/ig, '\'Y\'')
+    } else {
+      _callbacksql = _callbacksql.replace(/@datam@/ig, '\'\'')
+    }
     
     return {
       sql: _sql,

--
Gitblit v1.8.0