From 3659f0773a14b54c18ed0af8b64de4afe8227489 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 04 十二月 2020 19:31:12 +0800 Subject: [PATCH] 2020-12-04 --- src/utils/utils.js | 160 ++++++++++++++++++++++++++++++++++++---------------- 1 files changed, 110 insertions(+), 50 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 7e970f3..4631294 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -252,11 +252,21 @@ return window.btoa(_value) } + let len = value.length // 娉細LText 涓� LText1 椤哄簭棰犲�� - return { - LText: encodesql(value.substring(5000, 10000)), - LText1: encodesql(value.substring(0, 5000)), - LText2: encodesql(value.substring(10000)) + if (len > 1000) { + let limit = Math.floor(len / 3) + return { + LText1: encodesql(value.substring(0, limit)), + LText: encodesql(value.substring(limit, limit * 2)), + LText2: encodesql(value.substring(limit * 2)) + } + } else { + return { + LText1: '', + LText: encodesql(value), + LText2: '' + } } } @@ -514,7 +524,7 @@ } /** - * @description 鎷兼帴鎼滅储鏉′欢main + * @description 鑾峰彇鎼滅储鐢ㄤ簬姝e垯鏇挎崲 * @param {Array} searches 鎼滅储鏉′欢 * @return {String} searchText 鎷兼帴缁撴灉 */ @@ -528,9 +538,7 @@ key: search.key, match: search.match, type: search.type, - label: search.label, - value: search.value, - required: search.required + value: search.value } if (fieldmap.has(item.key)) { @@ -603,6 +611,50 @@ } /** + * @description 鑾峰彇鎼滅储鐢ㄤ簬姝e垯鏇挎崲 + * @param {Array} searches 鎼滅储鏉′欢 + * @return {String} searchText 鎷兼帴缁撴灉 + */ + static getRegOptions (searches) { + if (!searches || searches.length === 0) return [] + + let options = [] + let fieldmap = new Map() + searches.forEach(search => { + let item = { + key: search.field, + value: '0' + } + + if (fieldmap.has(item.key)) { + item.key = item.key + '1' + } + + fieldmap.set(item.key, true) + + if (search.type === 'group') { + options.push({ + key: search.datefield, + value: '0' + }) + if (search.transfer === 'true') { + options.push(item) + } + } else if (['datemonth', 'dateweek', 'daterange'].includes(search.type)) { + options.push(item) + options.push({ + key: item.key + '1', + value: '0' + }) + } else { + options.push(item) + } + }) + + return options + } + + /** * @description 鎷兼帴鎼滅储鏉′欢datamanage * @param {Array} searches 鎼滅储鏉′欢 * @return {String} searchText 鎷兼帴缁撴灉 @@ -642,9 +694,7 @@ } else { baseurl = window.GLOB.location + window.GLOB.service } - // if (!/Content\/images\/upload\//.test(url)) { - // baseurl = baseurl + 'Content/images/upload/' - // } + let realurl = url.match(/^http/) || url.match(/^\/\//) ? url : baseurl + url return realurl } @@ -697,7 +747,7 @@ 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}` } else { - sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield} from ${_datasource})` + sql = `select ${item.type === 'checkcard' ? 'top 20' : ''} ${arrfield} from (select distinct ${arrfield} from ${_datasource}) a` } return { @@ -967,7 +1017,7 @@ ${_sqlBottom} ` fsql = fsql.replace(/\n\s{8}/ig, '\n') - console.log(fsql) + console.info(fsql) } } else { // s_sDataDictb_excelIn 浜戠瀵嗛挜楠岃瘉鍙傛暟 _sql = ` @@ -998,7 +1048,7 @@ * @return {String} type 鎵ц绫诲瀷 * @return {String} table 琛ㄥ悕 */ - static getSysDefaultSql (btn, setting, formdata, param, data, logcolumns, tab) { + static getSysDefaultSql (btn, setting, formdata, param, data, columns, tab) { let primaryId = param.ID let BID = param.BID let verify = btn.verify || {} @@ -1046,7 +1096,8 @@ let _sql = '' let _initvars = [] // 宸茶祴鍊煎瓧娈甸泦 - let _initfields = [] + let _initFormfields = [] + let _initColfields = [] let _declarefields = [] // 鑾峰彇瀛楁閿�煎 @@ -1071,9 +1122,9 @@ val = 0 } } - _initfields.push(`@${_key}=${val}`) + _initFormfields.push(`@${_key}=${val}`) } else { - _initfields.push(`@${_key}='${form.value}'`) + _initFormfields.push(`@${_key}='${form.value}'`) } } @@ -1099,38 +1150,29 @@ // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃) if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce') { _formFieldValue = {...data, ..._formFieldValue} + const setField = (col) => { + if (!col.field) return + let _key = col.field.toLowerCase() - if (logcolumns && logcolumns.length > 0) { - logcolumns.forEach(col => { - let _key = col.field.toLowerCase() + if (!_initvars.includes(_key)) { + let _val = data.hasOwnProperty(col.field) ? data[col.field] : '' - if (!_initvars.includes(_key)) { - _initvars.push(_key) + _initvars.push(_key) + _initColfields.push(`@${_key}='${_val}'`) + } + + if (!_vars.includes(_key)) { + _vars.push(_key) - let _val = data.hasOwnProperty(col.field) ? data[col.field] : '' - - if (col.type === 'number') { - if (typeof(_val) !== 'number') { - _val = parseFloat(_val) - if (isNaN(_val)) { - _val = 0 - } - } - _initfields.push(`@${_key}=${_val}`) - } else { - _initfields.push(`@${_key}='${_val}'`) - } - } - - if (!_vars.includes(_key)) { - _vars.push(_key) - + if (col.datatype) { + _declarefields.push(`@${_key} ${col.datatype}`) + } else { if (col.fieldlength && col.fieldlength > 2048) { col.fieldlength = 'max' } let _type = `nvarchar(${col.fieldlength || 50})` - + if (col.type === 'number') { let _length = col.decimal ? col.decimal : 0 _type = `decimal(18,${_length})` @@ -1139,6 +1181,18 @@ } _declarefields.push(`@${_key} ${_type}`) + } + } + } + + 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) } }) } @@ -1153,12 +1207,18 @@ Declare @tbid nvarchar(50),@ErrorCode nvarchar(50),@retmsg nvarchar(4000),@BillCode nvarchar(50),@BVoucher nvarchar(50),@FIBVoucherDate nvarchar(50), @FiYear nvarchar(50), @UserName nvarchar(50),@FullName nvarchar(50),@ModularDetailCode nvarchar(50)${_declarefields} ` - // 鍙橀噺璧嬪�� - _initfields = _initfields.join(',') - if (_initfields) { + // 琛ㄥ崟鍙橀噺璧嬪�� + if (_initFormfields.length > 0) { _sql += ` - - select ${_initfields} + /* 琛ㄥ崟鍙橀噺璧嬪�� */ + select ${_initFormfields.join(',')} + ` + } + // 鏄剧ず鍒楀彉閲忚祴鍊� + if (_initColfields.length > 0) { + _sql += ` + /* 鏄剧ず鍒楀彉閲忚祴鍊� */ + select ${_initColfields.join(',')} ` } @@ -1566,10 +1626,10 @@ } else if (_actionType === 'delete') { // 鐗╃悊鍒犻櫎 let _msg = '' - if (data && logcolumns && logcolumns.length > 0) { + if (data && columns && columns.length > 0) { let _index = 0 - logcolumns.forEach(col => { - if (col.Hide !== 'true' && _index < 4) { + columns.forEach(col => { + if (col.Hide !== 'true' && col.type !== 'colspan' && col.type !== 'old_colspan' && _index < 4) { _msg += col.label + '=' + data[col.field] + ',' _index++ } @@ -1611,7 +1671,7 @@ if ((window.GLOB.systemType !== 'production' && options.sysType !== 'cloud') || window.debugger === true) { _sql = _sql.replace(/\n\s{8}/ig, '\n') - console.log(_sql) + console.info(_sql) } return _sql -- Gitblit v1.8.0