From b35e3f0bacdbadf5823e06fe8dc6e047089aae38 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 19 一月 2020 00:25:45 +0800
Subject: [PATCH] 2020-01-19

---
 src/utils/utils.js |   42 +++++++++++++++++++-----------------------
 1 files changed, 19 insertions(+), 23 deletions(-)

diff --git a/src/utils/utils.js b/src/utils/utils.js
index 4d2c968..f4c00ea 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -166,25 +166,11 @@
     value = value.replace(/%/ig, 'mpercent')
     value = value.replace(/(^\s|\s$)/ig, '')
 
-    // value = value.replace(/>/ig, 'greateror')
-    //   .replace(/</ig, 'lessor')
-    //   .replace(/!=/ig, 'noequal')
-    //   .replace(/=/ig, 'equal')
-    //   .replace(/,/ig, 'comma')
-    //   .replace(/>=/ig, 'greaterorequal')
-    //   .replace(/<=/ig, 'lessorequal')
-    //   .replace(/@/ig, 'matk')
-    //   .replace(/\(/ig, 'mlbrktsk')
-    //   .replace(/\)/ig, 'mrbrktsk')
-    //   .replace(/\*/ig, 'mastrsk')
-    //   .replace(/'/ig, 'mqotek')
-    //   .replace(/\s/ig, 'mspace')
-
     // 1銆乪ncode缂栫爜锛堜腑鏂囧瓧绗﹁秴鍑篵ase64鍔犲瘑鑼冨洿锛夛紝2銆乥ase64鍔犲瘑
     value = window.btoa(window.encodeURIComponent(value))
 
-    // 闅忔満鎻掑叆瀛楃
-    let index = Math.floor(Math.random() * value.length)
+    // 鎻掑叆瀛楃
+    let index = Math.floor(value.length / 2)
     value = value.slice(0, index) + salt + value.slice(index)
 
     // base64鍔犲瘑
@@ -425,15 +411,24 @@
   static getSelectQuerySql (item) {
     let _datasource = item.dataSource
     let sql = ''
+    let _field = item.valueField + ',' + item.valueText
+
+    if (item.valueField === item.valueText) {
+      _field = item.valueField
+    }
 
     if (/\s/.test(_datasource)) { // 鎷兼帴鍒悕
       _datasource = '(' + _datasource + ') tb'
     }
 
     if (item.type === 'link') {
-      sql = 'select ' + item.valueField + ',' + item.valueText + ',' + item.linkField + ' from ' + _datasource
+      sql = 'select ' + _field + ',' + item.linkField + ' from ' + _datasource
     } else {
-      sql = 'select ' + item.valueField + ',' + item.valueText + ' from ' + _datasource
+      let _linkSubField = '' // 涓嬫媺鑿滃崟鍏宠仈琛ㄥ崟
+      if (item.linkSubField && item.linkSubField.length > 0) {
+        _linkSubField = ',' + item.linkSubField.join(',')
+      }
+      sql = 'select ' + _field + _linkSubField + ' from ' + _datasource
     }
 
     if (item.orderBy) {
@@ -449,7 +444,7 @@
    * @return {String} table  琛ㄥ悕
    */
   static getSysDefaultSql (btn, setting, formdata, param, data) {
-    let primaryId = param[setting.primaryKey]
+    let primaryId = param.ID
     let BID = param.BID
     let verify = btn.verify
     let _formFieldValue = {}
@@ -496,17 +491,18 @@
       verify.uniques.forEach(item => {
         let _fieldValue = [] // 琛ㄥ崟閿�煎field=value
         let _value = []      // 琛ㄥ崟鍊硷紝鐢ㄤ簬閿欒鎻愮ず
+        let _labels = item.fieldlabel.split(',')
 
-        item.field.split(',').forEach(_field => {
+        item.field.split(',').forEach((_field, index) => {
           _fieldValue.push(`${_field}='${_formFieldValue[_field]}'`)
-          _value.push(_formFieldValue[_field])
+          _value.push(`${_labels[index] || ''}锛�${_formFieldValue[_field] || ''}`)
         })
 
         _sql += `Select @tbid='', @ErrorCode='',@retmsg=''
           Select @tbid='X' from ${btn.sql} where ${_fieldValue.join(' and ')} and ${primaryKey} !='${_primaryId}'
           If @tbid!=''
           Begin
-            select @ErrorCode='${item.errorCode}',@retmsg='${item.fieldlabel || ''}锛�${_value.join(' ')} 宸插瓨鍦�' 
+            select @ErrorCode='${item.errorCode}',@retmsg='${_value.join(', ')} 宸插瓨鍦�'
             goto aaa
           end
           `
@@ -615,7 +611,7 @@
       _sql += `declare @UserName  nvarchar(50),@FullName nvarchar(50)
         select @UserName=UserName,@FullName=FullName from SUsers where UID=@UserID 
         `
-      _sql += `insert into ${btn.sql} (${keys},createuserid,CreateUser,CreateStaff,BID) select ${values},@BID,@userid,@username,@fullname`
+      _sql += `insert into ${btn.sql} (${keys},createuserid,CreateUser,CreateStaff,BID) select ${values},@userid,@username,@fullname,@BID`
     } else if (btn.OpenType === 'pop' && btn.sqlType === 'update') {
       let _form = []
       formdata.forEach(item => {

--
Gitblit v1.8.0