From bf772e586c29b4858366dbad143b1eaeca3c46ed Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 17 四月 2020 10:18:09 +0800 Subject: [PATCH] 2020-04-17 --- src/utils/utils.js | 108 ++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 85 insertions(+), 23 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 4b68be0..39c4111 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -54,7 +54,7 @@ * @description sql鍔犲瘑 * @return {String} value */ - static formatOptions (value) { + static formatOptions (value, isUnFormat = false) { if (!value) return '' let salt = 'minKe' // 鐩愬�� @@ -157,25 +157,43 @@ value: ' mrlbkk ' }] - // 鏇挎崲鍏抽敭瀛� - format.forEach(item => { - let reg = new RegExp('(^|\\s)' + item.key + '(\\s|$)', 'ig') - value = value.replace(reg, item.value) - }) + if (!isUnFormat) { // 鍔犲瘑 + // 鏇挎崲鍏抽敭瀛� + format.forEach(item => { + let reg = new RegExp('(^|\\s)' + item.key + '(\\s|$)', 'ig') + value = value.replace(reg, item.value) + }) + + // 1銆佹浛鎹�%绗︼紙鏁版嵁搴撲腑瑙f瀽鍚巗ql鎶ラ敊锛� + value = value.replace(/%/ig, ' mpercent ') + + // 1銆乪ncode缂栫爜锛堜腑鏂囧瓧绗﹁秴鍑篵ase64鍔犲瘑鑼冨洿锛夛紝2銆乥ase64鍔犲瘑 + value = window.btoa(window.encodeURIComponent(value)) + + // 鎻掑叆瀛楃 + let index = Math.floor(value.length / 2) + value = value.slice(0, index) + salt + value.slice(index) + + // base64鍔犲瘑 + value = window.btoa(value) + } else { // 瑙e瘑 + try { + value = window.atob(value) + value = value.replace(salt, '') + value = window.decodeURIComponent(window.atob(value)) + value = value.replace(/\smpercent\s/g, '%') - // 1銆佹浛鎹�%绗︼紙鏁版嵁搴撲腑瑙f瀽鍚巗ql鎶ラ敊锛夛紝2銆佸幓闄ゆ敹灏惧浣欑┖鏍� - value = value.replace(/%/ig, ' mpercent ') - // value = value.replace(/(^\s|\s$)/ig, '') - - // 1銆乪ncode缂栫爜锛堜腑鏂囧瓧绗﹁秴鍑篵ase64鍔犲瘑鑼冨洿锛夛紝2銆乥ase64鍔犲瘑 - value = window.btoa(window.encodeURIComponent(value)) - - // 鎻掑叆瀛楃 - let index = Math.floor(value.length / 2) - value = value.slice(0, index) + salt + value.slice(index) - - // base64鍔犲瘑 - value = window.btoa(value) + format.forEach(item => { + let reg = new RegExp(item.value, 'g') + value = value.replace(reg, ' ' + item.key + ' ') + }) + + value = value.replace(/(^\s+|\s+$)/ig, '') + } catch { + console.warn('UnFormat Failure') + value = '' + } + } return value } @@ -477,6 +495,11 @@ let errors = [] 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 _Ltext = data.map((item, lindex) => { let vals = btn.columns.map((col, cindex) => { let val = item[col.Column] !== undefined ? item[col.Column] : '' @@ -619,6 +642,16 @@ let _insert = '' + if (btn.scripts && btn.scripts.length > 0) { + btn.scripts.forEach(script => { + if (script.position !== 'front') return + + _insert += ` + ${script.sql} + ` + }) + } + if (btn.default !== 'false') { _insert = ` Insert into ${item.sheet} (${fields},createuserid,createuser,createstaff,bid) @@ -628,7 +661,7 @@ if (btn.scripts && btn.scripts.length > 0) { btn.scripts.forEach(script => { - if (script.status === 'false') return + if (script.position === 'front') return _insert += ` ${script.sql} @@ -713,6 +746,10 @@ if (!_vars.includes(_key)) { _vars.push(_key) + if (form.fieldlen && form.fieldlen > 2048) { + form.fieldlen = 'max' + } + let _type = `nvarchar(${form.fieldlen})` if (form.type.match(/date/ig)) { @@ -748,6 +785,10 @@ if (!_vars.includes(_key)) { _vars.push(_key) + + if (col.fieldlength && col.fieldlength > 2048) { + col.fieldlength = 'max' + } let _type = `nvarchar(${col.fieldlength || 50})` @@ -894,7 +935,7 @@ // 鑷畾涔夐獙璇� if (verify.customverifys && verify.customverifys.length > 0) { - verify.customverifys.forEach(item => { + verify.customverifys.forEach(item => { _sql += `select @tbid='', @ErrorCode='',@retmsg='' select top 1 @tbid='X' from (${item.sql}) a If @tbid ${item.result === 'true' ? '!=' : '='}'' @@ -1031,6 +1072,9 @@ keys.push('bid') } values.push('@BID@') + } else if (tab && tab.foreignKey && !keys.includes(tab.foreignKey.toLowerCase())) { + keys.push(tab.foreignKey) + values.push('@BID@') } keys = keys.join(',') @@ -1047,7 +1091,11 @@ _arr.push(item.key.toLowerCase()) if (item.type === 'funcvar') { - _form.push(item.key + '=@' + item.key) + 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 { @@ -1076,6 +1124,18 @@ _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 (_actionType === 'insert') { _sql += _insertsql @@ -1095,7 +1155,7 @@ } }) } - _sql += `insert into snote (remark,createuserid,CreateUser,CreateStaff) select '鍒犻櫎琛�:${btn.sql} 鏁版嵁: ${_msg}${primaryKey}='+@${primaryKeyName},@userid@,@username,@fullname delete ${btn.sql} where ${primaryKey}=@${primaryKeyName};` + _sql += `insert into snote (remark,createuserid,CreateUser,CreateStaff) select left('鍒犻櫎琛�:${btn.sql} 鏁版嵁: ${_msg}${primaryKey}='+@${primaryKeyName},200),@userid@,@username,@fullname delete ${btn.sql} where ${primaryKey}=@${primaryKeyName};` } else if (_actionType === 'insertOrUpdate') { _sql += `select @tbid='' select @tbid='X' from ${btn.sql} where ${primaryKey}=@ID@ @@ -1115,6 +1175,8 @@ if (verify.scripts && verify.scripts.length > 0) { let _scripts = '' verify.scripts.forEach(item => { + if (item.position === 'front') return + _scripts += ` ${item.sql}` }) -- Gitblit v1.8.0