From 567cea64c520654876e8c1a7f4ca2baf2c1c773f Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 25 十一月 2022 11:16:39 +0800
Subject: [PATCH] 2022-11-25

---
 src/utils/utils.js |  135 ++++++++++++++++++++++++++++----------------
 1 files changed, 86 insertions(+), 49 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 3ceef58..af68c88 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -59,6 +59,25 @@
   }
 
   /**
+   * @description 鑾峰彇鍥捐〃楂樺害
+   */
+  static getHeight (val) {
+    if (typeof(val) === 'string') {
+      if (val.indexOf('px') > -1) {
+        val = parseFloat(val)
+      } else if (val.indexOf('vw') > -1) {
+        val = parseFloat(val)
+        val = document.body.clientWidth * val / 100
+      } else if (val.indexOf('vh') > -1) {
+        val = parseFloat(val)
+        val = document.body.clientHeight * val / 100
+      }
+    }
+  
+    return parseInt(val || 400) - 30
+  }
+
+  /**
    * @description 鏁版嵁婧愬悕绉帮紝鐢ㄤ簬缁熶竴鏌ヨ
    * @return {String}  name
    */
@@ -158,7 +177,7 @@
 
     let error = ''
     
-    sql = sql.replace(/sys\.fn_sqlvarbasetostr\(HashBytes\('MD5'/ig, '') // 璺宠繃MD5鍔犲瘑
+    sql = sql.replace(/sys\.fn_/ig, '') // 璺宠繃sys.fn_楠岃瘉
 
     chars.forEach(char => {
       if (!error && char.reg.test(sql)) {
@@ -730,14 +749,7 @@
   static getrealurl (url) {
     if (!url) return ''
 
-    let baseurl = ''
-    if (process.env.NODE_ENV === 'production') {
-      baseurl = document.location.origin + '/' + window.GLOB.service
-    } else {
-      baseurl = window.GLOB.location + '/' + window.GLOB.service
-    }
-
-    let realurl = url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url
+    let realurl = url.match(/^http/) || url.match(/^\/\//) ? url : window.GLOB.baseurl + url
     return realurl
   }
 
@@ -753,7 +765,7 @@
     if (options.cloudServiceApi) {
       baseurl = options.cloudServiceApi.replace(/webapi(.*)$/, '')
     } else {
-      baseurl = document.location.origin + '/' + window.GLOB.service
+      baseurl = window.GLOB.baseurl
     }
 
     return url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url
@@ -796,10 +808,8 @@
     arrfield = arrfield.join(',')
 
     if (item.orderBy) {
-      // sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield},${item.orderBy} as orderfield from ${_datasource} ) a order by orderfield ${item.orderType}`
       sql = `select distinct ${arrfield},${item.orderBy} as orderfield from ${_datasource} order by orderfield ${item.orderType}`
     } else {
-      // sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield} from ${_datasource}) a`
       sql = `select distinct ${arrfield} from ${_datasource}`
     }
 
@@ -817,10 +827,6 @@
 
     sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
     sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
-
-    if (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
-      console.info(sql)
-    }
 
     return {
       sql: sql,
@@ -1096,7 +1102,7 @@
     _sql = `
       /* 绯荤粺鐢熸垚 */
       declare @${sheet} table (${declarefields.join(',')},jskey nvarchar(50),BID nvarchar(50) )
-      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
+      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
       
       Select  @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}'
       ${_initCustomScript}
@@ -1131,7 +1137,7 @@
     _sql = `
       /* 绯荤粺鐢熸垚 */
       declare @${sheet} table (jskey nvarchar(50))
-      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
+      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
       
       Select  @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}'
       `
@@ -1314,7 +1320,7 @@
     _sql = `
       /* 绯荤粺鐢熸垚 */
       declare @${sheet} table (${declarefields.join(',')},jskey nvarchar(50),data_type nvarchar(50),BID nvarchar(50) )
-      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
+      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
       
       Select  @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}'
       ${_initCustomScript}
@@ -1349,7 +1355,7 @@
     _sql = `
       /* 绯荤粺鐢熸垚 */
       declare @${sheet} table (jskey nvarchar(50))
-      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
+      Declare @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@tbid Nvarchar(512)
       
       Select  @ErrorCode='', @retmsg='', @UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}'
       `
@@ -1376,17 +1382,16 @@
  * @return {Object}  param     璇锋眰鍙傛暟
  * @return {Array}   data      鍒楄〃琛屾暟鎹�
  * @return {Array}   columns   鏄剧ず鍒�
- * @return {Object}  tab       鏍囩淇℃伅
  * @return {Boolean} retmsg    鏄惁闇�瑕佹暟鎹繑鍥�
  */
-export function getSysDefaultSql (btn, setting, formdata, param, data, columns, tab, retmsg = false, moduleParams, getOptions) {
+export function getSysDefaultSql (btn, setting, formdata, param, data, columns, retmsg = false, moduleParams, getOptions) {
   let primaryId = param.ID
-  let BID = param.BID
+  let BID = param.BID || ''
   let verify = btn.verify || {}
   let datavars = {}                 // 澹版槑鐨勫彉閲忥紝琛ㄥ崟鍙婃樉绀哄垪
   let _actionType = null
   let _callbacksql = ''
-  let foreignKey = tab && tab.foreignKey ? tab.foreignKey.toLowerCase() : ''
+  let foreignKey = setting.foreignKey ? setting.foreignKey.toLowerCase() : ''
 
   if (verify.default !== 'false') { // 鍒ゆ柇鏄惁浣跨敤榛樿sql
     _actionType = btn.sqlType
@@ -1441,14 +1446,11 @@
 
       if (form.type === 'number' || form.type === 'rate') {
         let val = form.value
-        if (typeof(val) !== 'number') {
-          val = parseFloat(val)
-          if (isNaN(val)) {
-            val = 0
-          }
+        if (isNaN(val)) {
+          val = 0
         }
         _initFormfields.push(`@${_key}=${val}`)
-      } else if (['date', 'datemonth', 'datetime'].includes(form.type)) {
+      } else if (['date', 'datemonth'].includes(form.type)) {
         _initFormfields.push(`@${_key}='${form.value || '1949-10-01'}'`)
       } else {
         _initFormfields.push(`@${_key}='${form.value}'`)
@@ -1483,7 +1485,7 @@
   }
 
   // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃)
-  if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce') {
+  if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce' && columns && columns.length > 0) {
     datavars = {...data, ...datavars}
 
     const setField = (col) => {
@@ -1525,17 +1527,15 @@
       }
     }
 
-    if (columns && columns.length > 0) {
-      columns.forEach(col => {
-        if (col.type === 'colspan' || col.type === 'old_colspan') {
-          col.subcols.forEach(cell => {
-            setField(cell)
-          })
-        } else {
-          setField(col)
-        }
-      })
-    }
+    columns.forEach(col => {
+      if (col.type === 'colspan' || col.type === 'old_colspan') {
+        col.subcols.forEach(cell => {
+          setField(cell)
+        })
+      } else {
+        setField(col)
+      }
+    })
   }
 
   // 鍙橀噺澹版槑
@@ -1544,7 +1544,7 @@
     _declarefields = ',' + _declarefields
   }
   _sql = `/* 绯荤粺鐢熸垚 */
-      Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(50),@mk_organization nvarchar(50),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@bid nvarchar(50)${_declarefields}
+      Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50),@ModularDetailCode nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@RoleID nvarchar(512),@mk_departmentcode nvarchar(512),@mk_organization nvarchar(512),@mk_user_type nvarchar(20),@mk_nation nvarchar(50),@mk_province nvarchar(50),@mk_city nvarchar(50),@mk_district nvarchar(50),@mk_address nvarchar(100),@bid nvarchar(50)${_declarefields}
     `
 
   let userName = sessionStorage.getItem('User_Name') || ''
@@ -1567,7 +1567,7 @@
   // 鍒濆鍖栧嚟璇佸強鐢ㄦ埛淇℃伅瀛楁
   _sql += `
       /* 鍑瘉鍙婄敤鎴蜂俊鎭垵濮嬪寲璧嬪�� */
-      select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}', @BillCode='', @ModularDetailCode=''
+      select @BVoucher='',@FIBVoucherDate='',@FiYear='',@ErrorCode='',@retmsg='',@UserName='${userName}', @FullName='${fullName}', @RoleID='${RoleID}', @mk_departmentcode='${departmentcode}', @mk_organization='${organization}', @mk_user_type='${mk_user_type}', @mk_nation='${nation}', @mk_province='${province}', @mk_city='${city}', @mk_district='${district}', @mk_address='${address}', @bid='${BID}', @BillCode='', @ModularDetailCode=''
       `
 
   // 琛ㄥ崟鍙橀噺璧嬪��
@@ -1944,6 +1944,11 @@
       values.push('@BID@')
     }
 
+    if (!keys.includes('typename')) {
+      keys.push('typename')
+      values.push('@typename@')
+    }
+
     keys = keys.join(',')
     values = values.join(',')
     _insertsql = `insert into ${btn.sql} (${keys}) select ${values};`
@@ -1966,11 +1971,14 @@
       if (!_arr.includes('submitdate')) {
         _form.push('submitdate=getdate()')
       }
-      if (!_arr.includes('submituserid')) {
-        _form.push('submituserid=@userid@')
-      }
       if (!_arr.includes('submituser')) {
         _form.push('submituser=@username')
+      }
+      if (!_arr.includes('submitstaff')) {
+        _form.push('submitstaff=@fullname')
+      }
+      if (!_arr.includes('submituserid')) {
+        _form.push('submituserid=@userid@')
       }
     } else {
       if (!_arr.includes('modifydate')) {
@@ -1978,6 +1986,9 @@
       }
       if (!_arr.includes('modifyuser')) {
         _form.push('modifyuser=@username')
+      }
+      if (!_arr.includes('modifystaff')) {
+        _form.push('modifystaff=@fullname')
       }
       if (!_arr.includes('modifyuserid')) {
         _form.push('modifyuserid=@userid@')
@@ -1994,6 +2005,9 @@
       if (!_arr.includes('fiyear')) {
         _form.push('FiYear=@FiYear')
       }
+    }
+    if (!_arr.includes('typename')) {
+      _form.push('typename=@typename@')
     }
     _form = _form.join(',')
 
@@ -2047,7 +2061,7 @@
 
     _sql += `
       /* 榛樿sql */
-      insert into snote (remark,createuserid,CreateUser,CreateStaff) select left('鍒犻櫎琛�:${btn.sql} 鏁版嵁: ${_msg}${primaryKey}='+@ID@,200),@userid@,@username,@fullname
+      insert into snote (remark,createuserid,CreateUser,CreateStaff,typename) select left('鍒犻櫎琛�:${btn.sql} 鏁版嵁: ${_msg}${primaryKey}='+@ID@,200),@userid@,@username,@fullname,@typename@
       delete ${btn.sql} where ${primaryKey}${_ID};`
   } else if (_actionType === 'insertOrUpdate') {
     _sql += `
@@ -2070,6 +2084,20 @@
     _sql += _backCustomScript
   }
 
+  if (window.GLOB.breakpoint) {
+    let start = new RegExp('\\/\\*\\$breakpoint_begin_' + window.GLOB.breakpoint + '@', 'ig')
+    let end = new RegExp('@breakpoint_end_' + window.GLOB.breakpoint + '\\$\\*\\/', 'ig')
+
+    if (window.GLOB.breakpoint === 'all') {
+      start = /\/\*\$breakpoint_begin_[0-9a-z_]+@/ig
+      end = /@breakpoint_end_[0-9a-z_]+\$\*\//ig
+    }
+    
+    _sql = _sql.replace(start, '').replace(end, '').replace(/\$breakpoint_proc@/ig, window.GLOB.breakpoint)
+    _sql += `
+      z_debug_end: select @ErrorCode='E',@retmsg='debug_end' goto aaa`
+  }
+
   if (retmsg) {
     _sql += `
       aaa: if @ErrorCode!=''
@@ -2083,11 +2111,12 @@
   }
 
   _sql = _sql.replace(/@ID@/ig, `'${primaryId || ''}'`)
-  _sql = _sql.replace(/@BID@/ig, `'${BID || ''}'`)
+  _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 (window.GLOB.debugger === true || (window.debugger === true && options.sysType !== 'cloud')) {
     // _sql = _sql.replace(/\n\s{8}/ig, '\n')
@@ -2095,6 +2124,13 @@
   }
 
   if (retmsg) {
+    _callbacksql = _callbacksql.replace(/@ID@/ig, `'${primaryId || ''}'`)
+    _callbacksql = _callbacksql.replace(/@BID@/ig, `'${BID}'`)
+    _callbacksql = _callbacksql.replace(/@LoginUID@/ig, `'${sessionStorage.getItem('LoginUID') || ''}'`)
+    _callbacksql = _callbacksql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`)
+    _callbacksql = _callbacksql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`)
+    _callbacksql = _callbacksql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`)
+    
     return {
       sql: _sql,
       callbacksql: _callbacksql
@@ -2120,6 +2156,7 @@
 
     if (mark.field[1] === 'static') {
       contrastVal = mark.contrastValue
+      originVal = originVal + ''
     } else {
       contrastVal = record[mark.field[2]]
     }

--
Gitblit v1.8.0